Commit Graph
11766 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub fa2f7ada79 Merge pull request #6330 from duplicati/codex/increase-test-coverage-in-duplicati.library.main
Increase test coverage for ControllerMultiLogTarget
2025-06-12 22:21:00 +02:00
Kenneth SkovhedeandGitHub 524450092b Merge pull request #6329 from duplicati/codex/find-and-fix-bug
Fix block initialization bug in IssueTests
2025-06-12 22:20:39 +02:00
Kenneth Skovhede 6f0060ec81 Add tests for ControllerMultiLogTarget 2025-06-11 16:34:57 +02:00
Kenneth Skovhede ce79ace904 Use Span.Fill to init test blocks 2025-06-11 16:34:22 +02:00
Kenneth SkovhedeandGitHub 0d7b3f553a Merge pull request #6326 from duplicati/feature/bump-mailkit-and-dnsclient
Bumped MailKit and DnsClient to latest versions
2025-06-11 09:28:38 +02:00
Kenneth SkovhedeandGitHub e1406ecb8b Merge pull request #6324 from duplicati/feature/improve-secret-provider-matching
Improve secret matching
2025-06-11 09:28:25 +02:00
Kenneth Skovhede 481744a8a1 Bumped MailKit and DnsClient to latest versions 2025-06-10 10:17:07 +02:00
Kenneth SkovhedeandGitHub 8797d31305 Merge pull request #6323 from marceloduplicati/feature/detect-access-deniedonport
Proposed fix for issue 6321 - Detect access denied exception on startup bind
2025-06-10 09:41:31 +02:00
Kenneth Skovhede 38164d15cc Improve secret matching
This PR extends the allowed characters in names for secret keys to also include `-` and `_`, allowing keys like `$my-secret-key` which would previously not be matched.

This PR also adds detection of partial matches, so keys that start with the prefix, but do not match are reported as a warning. This could happen if the input key is `$my:secret` because the `:` is not matched. To prevent logging sensitive information, only the number of partial matches is reported, not the values.

It is possible that the user intended for such a value to be a matched key, but it is also possible that this value was meant to be verbatim. We can consider if this should stop the process instead of just emitting a warning, as the user should fix the issue in either case.

The fix for this would be to use the secret provider pattern and change to something that is not partially matched.
2025-06-10 09:40:35 +02:00
Marcelo C. e74937acb4 Proposed fix for issue 6321 - Detect access denied exception on startup bind
https://github.com/duplicati/duplicati/issues/6321
2025-06-06 11:53:16 -03:00
Kenneth SkovhedeandGitHub a89556f796 Merge pull request #6319 from duplicati/codex/write-tests-to-increase-code-coverage
Add tests for CLIDatabaseLocator and Utility
2025-06-04 06:38:33 +02:00
Kenneth Skovhede 76a8d92c3f Fixed test 2025-06-03 20:37:23 +02:00
Kenneth SkovhedeandGitHub d8d2508e3b Merge pull request #6320 from duplicati/codex/add-support-for-ssh.net.agent
Add ssh-agent support for SSH backend
2025-06-03 19:43:45 +02:00
Kenneth Skovhede bc9c9ac56b Fixed tests 2025-06-03 10:34:38 +02:00
Kenneth Skovhede fa6343fb71 Added exception guards for testing for key availability. 2025-06-03 10:17:49 +02:00
Kenneth Skovhede f2b7ed3bfd Bumped SSH.Net to 2025.0.0 2025-06-03 09:48:10 +02:00
Kenneth Skovhede 4337d0d478 Fixed wrong package.
Fixed wrong loading of keys.
Added support for MacOS KeyChain keys.
2025-06-03 09:47:39 +02:00
Kenneth Skovhede 1420bed3c5 Rename option to disable ssh agent 2025-06-03 06:23:45 +02:00
Kenneth Skovhede f8e6fff0e9 Add unit tests for CLIDatabaseLocator and Utility 2025-06-02 08:48:00 +02:00
Kenneth SkovhedeandGitHub 2b4cf848a9 Merge pull request #6312 from duplicati/feature/prevent-reporting-unsupported-features
Disable API extensions for websocket because Agent does not support t…
2025-05-30 15:57:38 +02:00
Kenneth SkovhedeandGitHub c5a510b988 Merge pull request #6313 from duplicati/feature/ignore-ci-warnings
Ignore Windows CI generating warnings
2025-05-30 15:57:28 +02:00
Kenneth SkovhedeandGitHub d23fe3a83a Merge pull request #6311 from duplicati/feature/filter-report-duplicates
Filter report messages to limit double-reporting issues
2025-05-30 10:09:31 +02:00
Kenneth Skovhede bac8bd414b Ignore Windows CI generating warnings 2025-05-30 10:07:58 +02:00
Kenneth SkovhedeandGitHub b3b5ea3d91 Merge pull request #6310 from duplicati/feature/enhance-logging-for-remote-control
Adjusted logging to prevent logging messages with no useful information
2025-05-30 10:04:09 +02:00
Kenneth SkovhedeandGitHub 06e625bda5 Merge pull request #6309 from duplicati/feature/support-resume-builds-overnight
Support resume builds overnight
2025-05-30 10:03:39 +02:00
Kenneth Skovhede 05059574cb Disable API extensions for websocket because Agent does not support those yet 2025-05-30 10:03:00 +02:00
Kenneth Skovhede 6044d19662 Filter report messages to limit double-reporting issues 2025-05-30 08:16:20 +02:00
Kenneth Skovhede 91836deb5a Adjusted logging to prevent logging messages with no useful information 2025-05-30 08:11:21 +02:00
Kenneth Skovhede 80d4b5a571 Added retry for reading key files 2025-05-30 07:56:45 +02:00
Kenneth Skovhede 8353ab2569 Added support for resuming builds when the date changes. 2025-05-30 07:49:24 +02:00
Kenneth SkovhedeandGitHub 6ffd61b0f5 Merge pull request #6307 from duplicati/release/canary-2.1.0.119
Version bump to v2.1.0.119-2.1.0.119_canary_2025-05-29
2025-05-29 08:39:01 +02:00
Kenneth Skovhede d53ea79177 Version bump to v2.1.0.119-2.1.0.119_canary_2025-05-29
You can download this build from:

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

Signature file: https://updates.duplicati.com/canary/duplicati-2.1.0.119_canary_2025-05-29.signatures.zip
v2.1.0.119_canary_2025-05-29 v2.1.0.119-2.1.0.119_canary_2025-05-29
2025-05-29 08:14:27 +02:00
Kenneth Skovhede 0894747746 Bump ngclient to .130 2025-05-28 23:00:33 +02:00
Kenneth SkovhedeandGitHub cc6e57fd61 Merge pull request #6303 from duplicati/feature/remove-http-options
Removed HttpOptions
2025-05-28 22:50:28 +02:00
Kenneth Skovhede 720062b60b Merge remote-tracking branch 'origin/master' into feature/remove-http-options 2025-05-28 21:40:41 +02:00
Kenneth SkovhedeandGitHub 0207ad1516 Merge pull request #6299 from duplicati/feature/correct-transfer-progress-api
Websocket subscriptions
2025-05-28 21:40:21 +02:00
Kenneth Skovhede d13094a82a Added OAuth info to systeminfo 2025-05-28 21:39:54 +02:00
Kenneth Skovhede ff141d9456 Improved stop handling during backend retries 2025-05-28 21:39:31 +02:00
Kenneth SkovhedeandGitHub 06d2b602f7 Merge pull request #6301 from duplicati/feature/repair-broken-index-files
Adding repair for index files
2025-05-28 16:01:18 +02:00
Kenneth Skovhede 868711ec89 Reduced test time
Removed unused file
2025-05-28 15:05:33 +02:00
Kenneth SkovhedeandGitHub fb2ad7c4a2 Merge pull request #6306 from duplicati/feature/notify-on-invalid-backend
Give a custom error message if the backend is not supported.
2025-05-28 14:48:06 +02:00
Kenneth Skovhede f592029c3d Fixed rare deadlock on restore failure 2025-05-28 14:35:00 +02:00
Kenneth Skovhede 02439a1f3a Give a custom error message if the backend is not supported.
This fixes #1920
2025-05-28 12:58:30 +02:00
Kenneth Skovhede fb08a0b174 Fixed an issue with retry downloads causing errors 2025-05-28 12:49:29 +02:00
Kenneth Skovhede 55d821add1 Added support for disabling API extensions from the commandline
Also added extension that signals if websocket is supported.

Also removed the option to disable visual captcha as it is no longer used.
2025-05-28 12:47:42 +02:00
Kenneth SkovhedeandGitHub 6444e9a018 Merge pull request #6302 from duplicati/feature/test-cleanup
Minor test cleanups
2025-05-27 18:53:52 +02:00
Kenneth Skovhede bf29b6e3a3 Minor test cleanups 2025-05-27 17:17:11 +02:00
Kenneth Skovhede 3ebc50a89d Adding repair for index files
Since index files only contains information related to recreating the database, they can be recreated directly from a working database.

This PR adds an automatic repair feature that replaces index files if they are missing content. This will gradually repair remote index files if they are affected by the compact bug that re-wrote index files without the blocklists.

To fully repair, it is possible to run the `Test` command with the option `--full-remote-verification=indexonly` and a large number of samples. Since the new option `--replace-faulty-index-files` is default set to `true` this will repair any defective index files and ignore all others.

This update uncovered that the Test method would previously not verify the presence of blocklists in the index files. This is likely a very old bug, caused by the fact that the original implementation did not place blocklisthashes in the index files. The omission of this check is the reason the extent of the compact issue was not discovered earlier.

With this PR it is now also visible that there is ample room for error in creating the index files during the backup process. This is caused by the parallel processing and carry-over, where the index files are created on-the-go, so they are ready to upload once the blocks are filled.

While this is likely good for performance, it has some drawbacks.
- A failed block upload will cause a rewrite of the index file
- An elaborate callback system is needed to update the index file
- It is possible to race against the database and create extra blocklist hashes, bloating the index files (causes problems on verification)

A subsequent task is to rewrite the logic to not touch the index files outside the backend manager, so the backend manager will just use the database to create the index file. This means the same code will be invoked for both the create, the recreate, and the replacement.

For now, extra content in index files is logged with the verbose log level.

This fixes #6296
2025-05-27 17:15:02 +02:00
Kenneth SkovhedeandGitHub fcbf57638a Merge pull request #6300 from duplicati/feature/remove-old-files
Removed old defunct manual test files
2025-05-27 12:14:16 +02:00
Kenneth Skovhede d62b3e540b Removed old defunct manual test files 2025-05-27 12:13:40 +02:00