Commit Graph
6613 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub 04a0619296 Merge pull request #6952 from duplicati/feature/allow-disable-default-secret-provider
Allow disable default secret provider
2026-06-09 10:13:41 +02:00
Kenneth SkovhedeandGitHub a096b3ca24 Merge pull request #6950 from duplicati/feature/case-change-usn
Fixed a case-change issue with USN
2026-06-08 17:33:15 +02:00
Kenneth Skovhede 0e36faab78 Allow disable default secret provider
This PR adds a new option `--disable-default-secret-provider` that will fully disable probing for the default secret provider.

This is to assist in cases where the secret provider is broken or shows unwanted popup dialogs.
2026-06-08 17:32:21 +02:00
Kenneth Skovhede 98ce287522 Rename to fix warnings
Recent C# compilers warn if async methods are not suffixed with `Async`.

This PR fixes a number of such warnings.
2026-06-08 13:16:17 +02:00
Kenneth Skovhede ba55762261 Fixed a case-change issue with USN
This fixes a case where an unmodified file that was renamed, but only had changes to the casing (i.e., `file.txt` to `FILE.txt`) would ignore the new name.

If the file contents or metadata were changed, the filename would be updated, but for pure renames, the new name would not be picked up.

This issue is only present if USN was also applied, and the bug is only present on Windows.
2026-06-08 11:03:37 +02:00
Kenneth Skovhede 736df8173b Bump ngclient to 225
This updates ngclient to 225, and also adds `--duplicati-webservice-suppress-welcome-page` to automatically disable the welcome page that is shown on new installs.
2026-06-04 20:09:04 +02:00
Kenneth SkovhedeandGitHub 732e4f63b6 Merge pull request #6947 from duplicati/feature/handle-extended-win32-fileattributes
Handle extended Win32 file attributes
2026-06-04 16:07:15 +02:00
Kenneth Skovhede aceafbd52c Fixed option name typo 2026-06-04 10:38:33 +02:00
Kenneth Skovhede ba58064de8 Handle extended Win32 file attributes
This PR extends the handling of excluded file attributes on Windows to include additional values that are present in Windows 10+11, but are not yet part of the .NET file attributes.

Specifically, this handles the `FILE_ATTRIBUTE_RECALL_ON_OPEN` and `FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS` attributes which are used to signal files are not available locally and will be fetched on access.

On Windows, a new option `--exclude-non-local-files` is added which will simply update `--exclude-files-attributes` with `Offline,RecallOnOpen,RecallOnDataAccess` such that setting the option will exclude offline files from the backup, without requiring that the user is aware of the attribute names or effects.

For all platforms, this PR also updates the parsing of the `--exclude-files-attributes` so it is now a flags-type enum and will validate the input as well as show the possible options in help and dropdowns.
2026-06-04 10:14:29 +02:00
Kenneth Skovhede 4ff6e0f5cc Get correct S3 lock mode values
This fixes an issue with reading S3 Lock Mode values, causing the UI to not display any values.

This fixes #6941
2026-06-04 09:01:52 +02:00
Kenneth SkovhedeandGitHub 4cdc0d5233 Merge pull request #6925 from carljohnsen/feature/autotune-tool
Feature/AutoTune tool
2026-06-03 22:54:18 +02:00
Kenneth SkovhedeandGitHub 1250b1c964 Merge pull request #6945 from duplicati/feature/context-aware-testing
Added read-only testing to backends
2026-06-03 21:35:14 +02:00
Kenneth SkovhedeandGitHub 8b5a802808 Merge pull request #6943 from duplicati/feature/make-fs-parsing-experimental
Make FS parsing experimental
2026-06-03 21:30:28 +02:00
Kenneth SkovhedeandGitHub b33f81d8e8 Merge branch 'master' into feature/autotune-tool 2026-06-03 17:43:44 +02:00
Kenneth SkovhedeandGitHub 0adf2d5d68 Merge pull request #6944 from duplicati/feature/fix-locking-on-windows
Fix remote file locking on Windows
2026-06-03 17:42:17 +02:00
Kenneth SkovhedeandGitHub 0d0b90767d Merge pull request #6938 from realtek2017/smb-file-as-folder-issue
Fix SMB source listing misclassifying directories as files
2026-06-03 17:31:55 +02:00
Kenneth Skovhede 4d569c51e4 Added read-only testing to backends
This PR adds a flag to the test method so we can choose to test for read-only access (needed for restore) or read-write (needed for backups).

Additionally, this PR fixes a logic bug in that the BackendSourceProvider would not actually test the connection, but just check the placeholder element returned (which is always returned). With this PR the backend's ListAsync command is tested fully.

Also renamed the methods on ISourceProvider to have the `...Async` prefix.

This replaces #6939
2026-06-03 17:27:34 +02:00
Kenneth Skovhede 56d5bd51e4 Switched from bit manipulation for directory flags to using the HasFlag method for easier readability. 2026-06-03 14:38:49 +02:00
Kenneth Skovhede bc968cbaf0 Fix remote file locking on Windows
This fixes a locked database issue on Windows.

The issue was caused by the backup process having an open database, and then not passing that connection to the lock handler.
The lock handler would then attempt to open a new connection to the same database, which would fail.

This PR fixes the issue by passing an instance of the database to the lock handler.
Also addressed a logic issue where the dbpath was checked, even if an existing database connection was found.
Also fixed the lock results not setting the EndTime property, causing the reported lelapsed time to be off.
2026-06-03 12:45:57 +02:00
Kenneth SkovhedeandGitHub ec38a2fe54 Merge pull request #6934 from duplicati/feature/improve-msi-service
Improve MSI installer package for Service
2026-06-03 10:38:53 +02:00
Kenneth Skovhede eeb323b51d Make FS parsing experimental
This PR flips the logic so filesystem parsing is not enabled by default. This means that any disk source will be treated as an opaque stream of blocks.

Brave users can still try out the filesystem parsing, but we need more time to ensure the logic works across variations on filesystems.
2026-06-03 10:37:58 +02:00
Kenneth Skovhede 6bea04e2a5 Fixed logic to avoid resetting the password when re-installing the service. 2026-05-29 12:38:13 +02:00
Nick Rawlins 6967a869e5 Fix SMB source listing misclassifying directories as files 2026-05-28 23:30:37 +01:00
Kenneth Skovhede a0e672f2cf Added support for configuring TLS certificates as part of the install 2026-05-28 22:57:25 +02:00
Kenneth Skovhede 7f6b212df9 Simplify console handling
This PR changes so the ReleaseBuilder uses the regular secret reading code instead of a replicated version.

The TrayIcon's attachment code now explicitly maps up the streams if possible.
2026-05-28 13:55:50 +02:00
Kenneth Skovhede d88ef81a8d Remove explicit defaults
This modifies the `newbackup.json` embedded file that specifies how to configure a new backup to no longer set the compression module or the dblock-size.

These options have a default value already defined, so there is no need to store the settings in the database.
2026-05-26 15:24:18 +02:00
Kenneth Skovhede 6367e8bf56 Prepared autotune to be included in the release packages 2026-05-22 11:41:53 +02:00
Kenneth SkovhedeandGitHub d0ddf1716c Merge pull request #6821 from redmars27/movistarCloud
Movistar cloud
2026-05-22 11:01:49 +02:00
Kenneth SkovhedeandGitHub 0d53a0f2a0 Merge pull request #6928 from duplicati/feature/update-duplicati-backend
Update Duplicati-backend
2026-05-21 13:56:29 +02:00
Kenneth Skovhede c3ad6fb697 Fixed timeout logic to guard all Http calls 2026-05-21 12:48:42 +02:00
Kenneth Skovhede 703a86cb09 Mark module as untested 2026-05-21 11:13:08 +02:00
Kenneth SkovhedeandGitHub a60bb1757d Merge branch 'master' into movistarCloud 2026-05-21 11:11:44 +02:00
Kenneth SkovhedeandGitHub 63d0a44d71 Merge pull request #6921 from duplicati/feature/add-ipc-for-controller
Added IPC for operations
2026-05-21 11:10:44 +02:00
Kenneth Skovhede e896548656 Update Duplicati-backend
Updated the Duplicati backend to support direct backups where the storage server returns keys to an AWS compatible storage and lets the client communicate directly with the storage.

The gateway mode is stil supported.
2026-05-21 11:09:50 +02:00
Kenneth Skovhede 4bad50eda6 Updated to a more maintainable setup, inplementing the interface more directly.
Added a test for IPC callbacks.
2026-05-20 18:17:10 +02:00
Kenneth Skovhede 09106aa977 Fix OneDrive timeout
This removes a built-in HTTP timeout of 100s that is applied to all requests.

Since Duplicati sometimes need more than 100s to transfer a file, this could cause problems.

Duplicati already handles timeouts, but this timeout was happening regardless of Duplicati's other timeouts.
2026-05-20 15:27:33 +02:00
Carl Johnsen eee9b505f2 Merge branch 'master' into feature/autotune-tool 2026-05-19 10:53:30 +02:00
Carl Johnsen 68d3ee3252 Meta appeared twice in FileProcessor internal timings report 2026-05-18 08:26:57 +02:00
Kenneth Skovhede 491ce24119 Refined permission check indicator slightly 2026-05-18 08:23:09 +02:00
Kenneth Skovhede 15b432779e Improved error message on snapshot failure 2026-05-18 08:16:34 +02:00
redmars27 f741647477 cleaning up comments 2026-05-16 23:37:00 +02:00
redmars27 cd1870b314 remove --root-folder-path to use standard path offered by the URL config 2026-05-16 23:32:16 +02:00
redmars27 4a309dc4ba Honor DefaultWaitForValidation. Another alternative could be to add to Library.Utility.Utility.ParseBoolOption a default behavior like other methods 2026-05-16 21:27:50 +02:00
redmars27 d8c88fee64 Adding a warning on the logs if file is not uploaded with status=U within deadline 2026-05-16 20:52:54 +02:00
Kenneth Skovhede bc945f4a29 Added IPC for operations
This PR adds experimental support for running the backup in an isolated process.

The motivation for this is to protect the server from a faulty process and later enable running server and processing with different security levels.

This needs to be toggled on, and then it will run the process isolated. When running as an isolated process, the "Abort" call will kill the process so it can no longer become "stuck".
2026-05-15 17:13:21 +02:00
Kenneth SkovhedeandGitHub 0508afde1c Merge branch 'master' into movistarCloud 2026-05-15 09:44:07 +02:00
Kenneth Skovhede f03cf2f7a3 Detatch options on controller
When creating a new controller, the options dictionary was used by-reference.

This meant that code could update the options dictionary *after* creating the controller, which would not be thread-safe.

It does not have much effect on regular operations as the normal method is to create the dictionary, pass it, and not modify it.

But in the tests, we frequently re-use the dictionary and update it with new values to test various cases.

Due to the dictionary being a reference, the controller would update the dictionary to fit the operations, but this would reflect back into the tests, meaning that some tests were being run with options that were not supposed to be there.

This meant that at least two edge cases that we test for were never found to have errors, even though they do.

The first issue is the listing of files using a non-default blocksize. The second issue is recreating the database with a non-default file-hash algorithm.

This PR removes the reference passing, and fixes the issues that were uncovered.
2026-05-14 17:59:49 +02:00
Kenneth Skovhede d6917b0e9c Update Mega S4 endpoints 2026-05-14 09:07:49 +02:00
Kenneth SkovhedeandGitHub 0d29006317 Merge pull request #6915 from duplicati/feature/make-controller-async
Make controller Async
2026-05-13 20:06:25 +02:00
Kenneth SkovhedeandGitHub e1dbc1e44b Merge pull request #6917 from duplicati/feature/defensive-macos-timestamps
Guard against invalid timestamps on MacOS
2026-05-13 18:01:25 +02:00