Commit Graph
13925 Commits
Author SHA1 Message Date
Kenneth Skovhede 3986366f7a Update ngclient to 0.0.223 2026-05-22 08:07:43 +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 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 SkovhedeandGitHub 3166223508 Merge pull request #6927 from duplicati/feature/fix-timeout-onedrive
Fix OneDrive timeout
2026-05-21 11:10:07 +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
Kenneth SkovhedeandGitHub 5e8479d574 Merge pull request #6923 from duplicati/feature/improve-snapshot-error-message
Improved error message on snapshot failure
2026-05-19 08:42:26 +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
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 36d4c9ec9d Merge pull request #6919 from duplicati/feature/make-options-detached
Detatch options on controller
2026-05-15 09:37:37 +02:00
Kenneth Skovhede e377bce6d1 Fixed run-script tests 2026-05-14 22:45:40 +02:00
Kenneth Skovhede e613142bca More option passing cleanup 2026-05-14 22:45:11 +02:00
Kenneth Skovhede 21c1f899ce Fixed a failing test due to options 2026-05-14 22:37:18 +02:00
Kenneth Skovhede 65eadb815c Fixed restore in recovery tool 2026-05-14 22:25:41 +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 SkovhedeandGitHub 16d3bdb16c Merge pull request #6918 from duplicati/feature/update-mega-s4-endpoints
Update Mega S4 endpoints
2026-05-14 09:08:12 +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
Kenneth SkovhedeandGitHub 4b1847bfd0 Merge pull request #6916 from duplicati/features/hide-internal-options
Hide test options
2026-05-13 17:14:04 +02:00
Kenneth Skovhede 3db5e09004 Fixed helpIds in rsync tool 2026-05-13 17:09:39 +02:00
Kenneth Skovhede a37e187bc8 Fixed reflection-based test 2026-05-13 17:00:57 +02:00
Kenneth Skovhede 93c99e84f7 Guard against invalid timestamps on MacOS 2026-05-13 16:07:04 +02:00
Kenneth SkovhedeandGitHub 8a80ed4080 Merge pull request #6914 from duplicati/feature/fix-folders-as-files
Fixed some files returned as folders
2026-05-13 16:03:16 +02:00
Kenneth Skovhede f5e07dec6b Hide test options
This PR hides the `--unittest-mode` option that is used to treat all warnings as errors which is helpful when testing things, but is not intended to be used elsewhere.

The option is simply not shown in the list of supported options but still works in case anyone wants to use it.
2026-05-13 15:42:36 +02:00
Kenneth Skovhede 179d1ceb47 Make controller Async
This PR has a large blast radius because it takes the final step and bumps up the Controller to be fully async.

We have historically done a piece-by-piece update, so all operations were already async but the controller interface was kept synchronous.

With this update, the controller is now fully async and all tests are updated.

Most places where the new C# compiler warns about function names not ending in `Async` were also adressed, giving a massive refactor change.

Functionally, no changes are done.
2026-05-13 15:04:13 +02:00
Kenneth SkovhedeandGitHub 131df8f58b Merge pull request #6913 from duplicati/feature/deprecate-backends
Deprecate old SharePoint
2026-05-13 14:46:21 +02:00
Kenneth SkovhedeandGitHub 322bd82270 Merge pull request #6912 from duplicati/feature/improve-restore-message
Improve restore message
2026-05-13 14:45:53 +02:00
Kenneth Skovhede f573f9d37a Fixed some files returned as folders 2026-05-13 14:45:33 +02:00
Kenneth Skovhede 55c2ebf6c7 Deprecate old SharePoint
This PR deprecates the `mssp` and `od4b` backends as they stopped working when the APIs were turned off.

The upgrade path is to use `sharepoint` instead (which used to be named "SharePoint v2").

This PR also adds a small amount of metadata to modules so they can be marked as "untested" or "deprecated", and the configuration for marking modules has been set up in `BackendModules.cs`.

The backends that we currently cannot test (usualy due to not having public signups) are now marked as untested.
2026-05-13 13:30:39 +02:00
Kenneth Skovhede 94f42a312b Improve restore message
This PR changes the restore message when no files are restored.

The logic now keeps track of existing files that do not need to be restored, as well as the actual number of bytes written.

The size of restored files was tracked previously, but was instead reporting the size of the written data.

With this update the legacy restore and new restore report the same numbers.

The warning that is shown if no files are restored has been updated to check if existing files were present, and if so, the restore is assumed to have worked as expected, and an information message is logged, instead of the warning message.
2026-05-13 10:57:28 +02:00
Kenneth SkovhedeandGitHub d12e0a5d07 Merge pull request #6911 from duplicati/feature/enforce-metahash
Enforce metahash in filelist
2026-05-13 10:40:42 +02:00
Kenneth SkovhedeandGitHub 1cdc498a35 Merge pull request #6908 from duplicati/feature/more-failsafe-synthetic-list
Add safeguard to synthetic filelist
2026-05-13 10:39:55 +02:00
Kenneth SkovhedeandGitHub 9f1f19896b Merge pull request #6910 from duplicati/feature/fix-filen-ci
Fix Filen backend tests in CI
2026-05-13 10:39:30 +02:00
Kenneth Skovhede 475f846ff7 Fixed rename to send correct fields 2026-05-13 08:45:23 +02:00
Kenneth Skovhede e51f16827c Enforce metahash in filelist
This PR adds a small change when writing the `filelist.json`. The code now *requires* that a metahash is present when writing an entry.

Previously, the code would handle cases where there was no metahash and output the `filelist.json` without these fields.

However, the recreate fails if the fields are missing due to database consistency requirements.

Also, there appear to be no regular code paths that should end up creating an entry without the metahash.

This may need to be reverted, but for now it will help track down if there are any cases where a missing metahash is needed, and if we find that, we can fix the relevant functions and revert this change.
2026-05-13 07:00:22 +02:00
Kenneth Skovhede 27eca5b0b6 Fix Filen backend tests in CI 2026-05-13 06:53:08 +02:00
Kenneth Skovhede 8fad3dce78 Removed unused function 2026-05-12 13:24:12 +02:00
Kenneth Skovhede 89654c2474 Add safeguard to synthetic filelist
This adds an extra clause when building a synthetic filelist to avoid cases where the synthetic filelist fails to be generated because some entries are orphans.

The tests that reproduce this are quite slow and require some tampering with the database to get into the faulty state, so the tests will not run in CI testing but can manually be executed.
2026-05-12 13:00:02 +02:00
Kenneth SkovhedeandGitHub 4e1b9891f5 Merge pull request #6907 from duplicati/release/canary-2.3.0.102
Version bump to v2.3.0.102-2.3.0.102_canary_2026-05-09
2026-05-09 16:24:40 +02:00
Kenneth Skovhede 7fce7c56e5 Version bump to v2.3.0.102-2.3.0.102_canary_2026-05-09
You can download this build from:

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

Signature file: https://updates.duplicati.com/canary/duplicati-2.3.0.102_canary_2026-05-09.signatures.zip
v2.3.0.102-2.3.0.102_canary_2026-05-09 v2.3.0.102_canary_2026-05-09
2026-05-09 12:02:47 +02:00
Kenneth SkovhedeandGitHub deeae0746a Merge pull request #6906 from duplicati/release/canary-2.3.0.101
Version bump to v2.3.0.101-2.3.0.101_canary_2026-05-04
2026-05-09 09:55:02 +02:00
Kenneth SkovhedeandGitHub 9b078d43b3 Merge pull request #6904 from duplicati/feature/bump-ngclient-221
Bump ngclient to 0.0.221
2026-05-09 09:44:05 +02:00
Kenneth SkovhedeandGitHub c276e6b171 Merge pull request #6905 from duplicati/dependabot/npm_and_yarn/npm_and_yarn-053c9c4054
Bump fast-uri from 3.0.1 to 3.1.2 in the npm_and_yarn group across 1 directory
2026-05-09 09:43:50 +02:00
Kenneth SkovhedeandGitHub 5c94c07f3e Merge pull request #6903 from duplicati/feature/websocket-for-remotemanagement
Websocket for remote management
2026-05-09 09:43:30 +02:00
dependabot[bot]andGitHub bdd90576f1 Bump fast-uri in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [fast-uri](https://github.com/fastify/fast-uri).


Updates `fast-uri` from 3.0.1 to 3.1.2
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.0.1...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-08 21:27:55 +00:00
Kenneth Skovhede a692416ee2 Bump ngclient to 0.0.221 2026-05-08 19:37:37 +02:00
Kenneth SkovhedeandGitHub 7a289ce1c9 Merge pull request #6902 from duplicati/feature/update-usage-reporter
Handle immediate usagereporter update
2026-05-08 19:11:10 +02:00