Commit Graph
10886 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub 447c2b3238 Feature/improve ci testing (#5781)
* Added options to insert delays in backend tester

* Added wait delays to Azure and GoogleDrive to see it the CI is more stable with small delays

* Added more debug output to the backend tester

* Fixed dropbox reporting OAuth quota errors, when it is likely Dropbox API quota errors

* Implemented exception detection on AzureBlob backend

* Also showing sleep times in output

* Fixed a bug with the dropbox quota response

* Fixed error message to report correct number of files

* Fixed suppressed warning
2024-12-20 16:10:08 +01:00
Kenneth SkovhedeandGitHub 68627c06bf Feature/alternate windows eventlog (#5784)
* Improved Windows Eventlog support.

Added support for logging to a different log with a Log:Source format.
Backwards compatible by treating "Source" as "Application:Source", where "Source" is default "Duplicati".

* Changed default log-level for eventlog to `Warning`.
This fixes #5770

* Fixed issue where checking for event log would crash the process.
Changed default log to `Duplicati` (was `Application`).
New default source names for service, agent and server.

* Reverted windows log-level back to information, now that there is a separate log for it

* Using "Duplicati 2" as the log name because "Duplicati" may be registered as a source name.

* Attempt to stop service before uninstalling

* Added additional diagnostics messages

* Fixed bug with starting the agent as a service

* Default to not use WindowsService for Agent as it requires permissions to create the event log

* Reduced log message levels for ongoing communication in agent

* Prevent double-logging from agent into Windows EventLog

* Made the agent log under a separate log source name
2024-12-20 16:09:42 +01:00
Carl-Johannes JohnsenandGitHub 77af6a1401 Merge pull request #5801 from carljohnsen/bugfix/disruptiontest-filesetfiles-filter 2024-12-20 14:22:25 +01:00
Carl Johnsen 4b0033d8e8 Fixed bug where if the parent folder contained the name "10", the DisruptionTests.FilesetFiles test would fail 2024-12-20 08:23:32 +01:00
Kenneth SkovhedeandGitHub 0023dfd19f Removed the use of WebClient in MicrosoftGraphBackend in favor of HttpClient. (#5799) 2024-12-19 22:40:18 +01:00
Kenneth SkovhedeandGitHub 8593887184 Rename OneDrive v2 (#5795)
* Change displayname of OneDrive v2

Since OneDrive v1 is removed, there is no need to name the current backend `v2`.

* Renamed everything but the protocol key
2024-12-19 22:38:35 +01:00
Kenneth SkovhedeandGitHub b69d9ae37b Fixed a thread crash on stop (#5798) 2024-12-19 22:37:44 +01:00
Kenneth SkovhedeandGitHub cd6dae5a87 Made read-write-timeout a short time interval (#5800) 2024-12-19 22:37:20 +01:00
Kenneth SkovhedeandGitHub 86f3f6b178 Fixed issues with timeout in msgraph (#5790)
* Fixed issues with timeout in msgraph

Fixed a place where the cancellation token was not applied.

Fixed a problem with msgraph not sending correct DNS information.

Fixed a problem with msgraph downloading the entire file before streaming it, bypassing throttle and tripping the timeout.

Added `ITimeoutExemptBackend` to selectively disable timeouts for backends that do not support it.

Updated the backendmanager to support `ITimeoutExemptBackend`.

Updated the backendmanager to abort as soon as a timeout happens.

* Updated BackendTester to use the `TimeoutObservingStream` and support the `--read-write-timeout` setting.

Updated backend tester code to use `var`

* Fixed a bug reading the `read-write-timeout`

* Updated to using constants with names instead of `-1`.
2024-12-19 09:31:06 +01:00
marceloduplicatiandGitHub e0264fda49 Merge pull request #5789 from marceloduplicati/feature/change-ci-concurrency
Limiting concurrency on Backend LiveTests
2024-12-18 11:14:17 -03:00
Marcelo C. 62bc920ecd Limiting concurrency on Backend LiveTests
By using a concurrency group called "duplicati-ci-livetests' the goal so to avoid having issues with multiple PRs triggering the live tests in parallel which causes false-fails on tests because they share credentials for cloud provided backends and running in parallel during tests causes file conflicts.
2024-12-18 11:00:01 -03:00
marceloduplicatiandGitHub e8c352e5db Merge pull request #5782 from marceloduplicati/feature/ftp-folder-escaping-fix
Fix to re-introduce Unscaping directory names for FTP Client
2024-12-18 09:57:21 -03:00
Kenneth SkovhedeandGitHub ff1b2b7990 Simplified task control (#5753)
* Simplified task control by having all logic in a single class and using async control mechanism
* Fixed the tests
* Made the marking of a backup partial explicitly communicated if the enumeration process is stopped.
* Added support for pausing active transfers
* Introduced transfer token to abort operations.
* Updated the way LiveControl is emitting events.
* Retains the paused state of the server across reboots, this fixes #5760.
* Reworked the way throttle speeds are propagated through LiveControls.
* Added option to pause transfers in the UI.
* Removed throttle settings from the LiveControls class so it is exclusively handled by the ApplicationSettings.
* Removed `thread-priority` as it does not work at all when tasks are used.
* Fixed the stop dialog and API to only support stop and abort.
* Removed unused variables
2024-12-18 08:27:59 +01:00
Kenneth SkovhedeandGitHub 3a4fd11926 Merge pull request #5783 from duplicati/feature/reduce-logspam
Added a filter to not log application exceptions.
2024-12-18 08:25:12 +01:00
Kenneth SkovhedeandGitHub 32ec5593a6 Merge pull request #5785 from duplicati/feature/fix-bugreport-download
Fixed bugreport download.
2024-12-18 08:24:43 +01:00
Kenneth Skovhede 22d7426e07 Fixed bugreport download.
This fixes #5758
2024-12-17 21:38:18 +01:00
Kenneth Skovhede 7436d1271e Added a filter to not log application exceptions.
Unknown exceptions are still logged, so we can collect reports of these and eventually wrap them in user information exceptions.
2024-12-17 14:53:00 +01:00
Marcelo C. c8c79d09eb Fix to re-introduce Unscaping directory names for FTP Client
The need for this was detected by forum post: https://forum.duplicati.com/t/ftp-without-ssl-fails-with-2-1-0-2-beta-2024-11-29/19691/12
2024-12-17 10:11:45 -03:00
Kenneth SkovhedeandGitHub a4adbf65ec Merge pull request #5779 from duplicati/feature/update-synchronous-upload-docs
Updated documentation for `--synchronous-upload`.
2024-12-17 13:08:09 +01:00
Kenneth Skovhede 20a6973ffd Updated documentation for --synchronous-upload.
This fixes #4207
2024-12-17 12:13:34 +01:00
Kenneth SkovhedeandGitHub 7ebbd5e998 Merge pull request #5774 from duplicati/feature/prevent-config-probing
Disabled probing of openid config
2024-12-17 09:19:27 +01:00
Kenneth SkovhedeandGitHub a8ddc5d03c Merge pull request #5772 from duplicati/fix-scanning-issue-20
Fixed incorrect suffix check
2024-12-16 23:14:26 +01:00
Kenneth Skovhede a2a974098e Disabled probing of openid config 2024-12-16 22:47:04 +01:00
Kenneth SkovhedeandGitHub 32de107795 Merge pull request #5771 from duplicati/alert-autofix-19
Fix code scanning alert no. 19: Incorrect suffix check
2024-12-16 12:47:15 +01:00
Kenneth SkovhedeandGitHub 997c775dc9 Merge pull request #5773 from duplicati/alert-autofix-16
Fix code scanning alert no. 16: Useless regular-expression character escape
2024-12-16 12:46:45 +01:00
Kenneth SkovhedeGitHubCopilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
9d2463a64a Fix code scanning alert no. 16: Useless regular-expression character escape
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2024-12-16 11:40:34 +01:00
Kenneth Skovhede 9a384fcdde Fixed incorrect suffix check 2024-12-16 11:35:00 +01:00
Kenneth SkovhedeGitHubCopilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
c65e009c14 Fix code scanning alert no. 19: Incorrect suffix check
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2024-12-16 11:33:44 +01:00
Kenneth SkovhedeandGitHub c2720d3382 Merge pull request #5769 from duplicati/feature/update-preload-path-probing
Updated preload probing logic.
2024-12-16 11:17:51 +01:00
Kenneth SkovhedeandGitHub 367b742c7a Merge pull request #5768 from duplicati/feature/update-macos-launchagents
Updated launchagent installs on MacOS.
2024-12-16 11:17:25 +01:00
Kenneth Skovhede b610e412d7 Updated preload probing logic.
This updates the logic to not emit any console messags unless the environment variable `DUPLICATI_PRELOAD_SETTINGS_DEBUG=1` is set.
This changes the paths used on MacOS to not use the `/usr/share/Duplicati` folder which is write procted, but rather the `/usr/share/local/Duplicati`.

Added the `/usr/share/local/Duplicati` path for Linux as well.

Added detection for portable mode and only using relative/specific paths for preload in portable mode.

Added support for also probing `%LOCALAPPDATA% folder, which is where other settings are loaded, to allow "all settings in one place". Note that it is possible to use the preload to choose a different folder for anything but the `preload.json` file.

Added an option for specifying `DUPLICATI_PRELOAD_SETTINGS=!<path to file>`, where the leading `!` signifies that **only** that file is loaded and all other locations are ignored.
2024-12-13 11:07:40 +01:00
Kenneth Skovhede 250bea997c Updated launchagent installs on MacOS.
This changes the way launchagents are installed via `.pkg` files.

The installers are updated to no longer use `launchtctl load` but rely on `launchctl bootstrap` instead to load in the current user context.

For the Agent, this fixes a problem where the installer would initially start in a root context.
For the GUI package this changes to not rely on `open` to start Duplicati, as that appears to be incompatible with `bootstrap`
The uninstallers are updated handle both `load` / `unload` and `bootstrap` / `bootout` before removing the launchagents.

This fixes #5766
2024-12-13 09:55:25 +01:00
Kenneth SkovhedeandGitHub 46e5bf3f6f Merge pull request #5767 from duplicati/release/canary-2.1.0.102
Release/canary 2.1.0.102
2024-12-12 16:02:00 +01:00
Kenneth Skovhede 4ce419aba6 Version bump to v2.1.0.102-2.1.0.102_canary_2024-12-12
You can download this build from:

Binaries: https://updates.duplicati.com/canary/?version=2.1.0.102

Signature file: https://updates.duplicati.com/canary/duplicati-2.1.0.102_canary_2024-12-12.signatures.zip
v2.1.0.102-2.1.0.102_canary_2024-12-12
2024-12-12 15:26:11 +01:00
Kenneth Skovhede d2955d4c98 Push current branch 2024-12-12 15:24:36 +01:00
Kenneth Skovhede d1418bb3e1 Implemented assertions to avoid sleep during build 2024-12-12 12:22:55 +01:00
Kenneth SkovhedeandGitHub 7abd3a10c5 Merge pull request #5763 from duplicati/feature/support-forever-tokens
Implemented a forever-token feature
v2.1.0.102_canary_2024-12-12
2024-12-12 11:50:43 +01:00
Kenneth Skovhede feeda8d9dc Formatted the output for generating a forever token 2024-12-12 11:07:40 +01:00
Kenneth Skovhede c9665da91b Reworked the tokens to only support emitting a single token per server startup 2024-12-12 11:05:09 +01:00
Kenneth Skovhede ee9566b153 Typo fix 2024-12-12 09:23:01 +01:00
Kenneth Skovhede 7d4f9ffab3 Implemented a forever-token feature 2024-12-12 08:59:59 +01:00
Kenneth SkovhedeandGitHub 4eef98857f Merge pull request #5754 from duplicati/feature/transfer-readwrite-timeout
Implemented read-write timeout.
2024-12-11 10:59:51 +01:00
Kenneth SkovhedeandGitHub 08ca30f79e Merge pull request #5756 from duplicati/feature/add-e3-format-to-help
Adding e2 url format to description.
2024-12-11 10:57:16 +01:00
Kenneth Skovhede 4dfc4f586e Adding e2 url format to description.
This fixes #5755
2024-12-11 08:38:06 +01:00
Kenneth Skovhede 5363bf0d96 Implemented read-write timeout.
This fixes #5725
2024-12-10 22:12:20 +01:00
Carl-Johannes JohnsenandGitHub bd91776e23 Merge pull request #5728 from carljohnsen/performance/restoreopt
Performance/Restore optimization
2024-12-10 12:08:33 +01:00
Carl Johnsen c13482cf4c Removed unnecessary CoCoL channel scope 2024-12-10 10:28:44 +01:00
Carl Johnsen 5bc12e3d46 Changed the reporting of broken local and remote files during restore to only report the first 10 filenames. 2024-12-10 06:57:56 +01:00
Carl Johnsen eed626298d Changed the reporting of broken files to be a filebackedlist, to ensure that there's enough memory in case of a massive failure. 2024-12-10 06:44:55 +01:00
Carl Johnsen ce9a85c3ff Reintroduced comment and version fix, which shouldn't have been removed. 2024-12-10 06:43:51 +01:00