Commit Graph
11025 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub fb62da8fa6 Merge pull request #6059 from duplicati/feature/honor-insecure-permissions
Honor insecure permissions.
2025-03-19 23:31:16 +01:00
Kenneth SkovhedeandGitHub 7d94d86643 Merge pull request #6057 from duplicati/feature/unified-timeout-and-options
Unified options
2025-03-19 21:20:53 +01:00
Kenneth Skovhede fef0431144 Honor insecure permissions.
This commit changes the logic so permissions are only set on files, if the `insecure-permissions.txt` file is not found in the folder.

Prior to this commit, new files would be locked down without condition.
2025-03-19 21:20:07 +01:00
Kenneth Skovhede 8f38c82f1e Changed order of function arguments for improved readability 2025-03-19 15:48:01 +01:00
Kenneth SkovhedeandGitHub 49e68292c5 Merge branch 'master' into feature/unified-timeout-and-options 2025-03-19 15:27:47 +01:00
Kenneth SkovhedeandGitHub af7bbb4164 Merge pull request #6055 from duplicati/feature/guard-livecontrol-startup-range
Add guards to startup interval
2025-03-19 15:27:26 +01:00
Kenneth Skovhede 6c7843b332 Unified options
This PR adds a unified way of supplying timeouts to each of the backends.

It also adds an opt-in way of adding commonly used options, so parsing and usage can be standardized across multiple backends.
2025-03-19 15:27:02 +01:00
Kenneth SkovhedeandGitHub 3f5705a309 Merge pull request #6053 from duplicati/feature/more-cleanup
Additional cleanup in database files
2025-03-19 09:15:31 +01:00
Kenneth Skovhede 10359cb5b3 Add guards to startup interval
In some cases the stored database state would be misinterpreted causing abnormal wait periods that crashes the program on startup.

This change converts all time compares to UTC asn the database value was already UTC.

It also adds a clamping function to prevent crashes on extreme values (using 24h pause instead of crash).
2025-03-19 09:14:34 +01:00
Kenneth SkovhedeandGitHub 1e84d887af Merge pull request #6049 from duplicati/feature/add-additional-file-check
Probe for additional file
2025-03-18 20:30:51 +01:00
Kenneth Skovhede 4a46918760 Additional cleanup in database files 2025-03-18 20:30:27 +01:00
Kenneth SkovhedeandGitHub b1f705f71a Merge pull request #6048 from duplicati/feature/timezone-aware-compare
Making comparison in local time
2025-03-17 14:21:47 +01:00
Kenneth Skovhede 6dc542f1fa Probe for additional file 2025-03-17 14:21:16 +01:00
Kenneth SkovhedeandGitHub 84065cb34c Merge pull request #6046 from duplicati/feature/fix-warning-icon-state
Added warning state back
2025-03-17 13:33:53 +01:00
Kenneth SkovhedeandGitHub 815ebc84df Merge pull request #6044 from duplicati/feature/retries-for-http-message
Added retries for HTTP messages
2025-03-17 13:33:31 +01:00
Kenneth Skovhede 902bd22185 Making comparison in local time 2025-03-17 13:32:39 +01:00
Kenneth Skovhede 5509693137 Added warning state back 2025-03-16 17:26:12 +01:00
Kenneth SkovhedeandGitHub 2b5aad34c8 Merge branch 'master' into feature/retries-for-http-message 2025-03-16 16:53:11 +01:00
Kenneth SkovhedeandGitHub a439d06786 Merge pull request #6043 from duplicati/release/canary-2.1.0.111
Release/canary 2.1.0.111
2025-03-16 16:52:49 +01:00
Kenneth Skovhede e37f20aedd Added retries for HTTP messages
This adds a retry count and a retry delay for posting backup reports via HTTP requests. This will make the report delivery more reliable if the network is unstable or server is briefly unreachable.
2025-03-16 16:52:30 +01:00
Kenneth Skovhede d44673c23b Version bump to v2.1.0.111-2.1.0.111_canary_2025-03-15
You can download this build from:

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

Signature file: https://updates.duplicati.com/canary/duplicati-2.1.0.111_canary_2025-03-15.signatures.zip
v2.1.0.111-2.1.0.111_canary_2025-03-15 v2.1.0.111_canary_2025-03-15
2025-03-15 12:06:44 +01:00
Kenneth Skovhede 359fd50767 Bump ngclient to 0.0.97 2025-03-15 10:43:07 +01:00
marceloduplicatiandGitHub 35da99c64c Merge pull request #6041 from marceloduplicati/feature/scan-root-certificates
Re-work of SSL Validation + Root Certificate feature
2025-03-14 17:44:41 -03:00
Kenneth SkovhedeandGitHub c84a9fb86c Merge pull request #6040 from duplicati/feature/safeguard-compile
Safeguards for release compile
2025-03-14 16:45:06 +01:00
Marcelo C. 12f53513d0 Re-work of SSL Validation + Root Certificate feature
Initially the idea was to allow scanning not only the certificate but scan the whole certificate chain for a explicitly supplied hash to be accepted unconditionally.

A review of the validation revealed it was always missing a fallback to the certificate.verify()

Also decided that even when a hash is supplied and matched, the validity date supersedes other criteria except the acceptAll.
2025-03-14 12:09:01 -03:00
Kenneth SkovhedeandGitHub 0edcf0fcf0 Merge pull request #6039 from duplicati/feature/cleanup-namespaces
Cosmetic cleanup
2025-03-14 15:35:29 +01:00
Kenneth Skovhede 27032048a3 Added Armv7 agent builds 2025-03-14 15:12:03 +01:00
Kenneth Skovhede a15dd4f2e0 Safeguards for release compile
This adds additional checks for the compile phase to avoid missing files in the released builds.

The build is now done into isolated folders, and then copied into the shared target folder to avoid issues with the compiler replacing or removing files.
2025-03-14 15:11:38 +01:00
Kenneth Skovhede bb1aa8e1f7 Cosmetic cleanup
Removed superfluous namespaces.
Using `var` most places.
Using extension methods for common setup of commands.
2025-03-14 14:34:56 +01:00
Kenneth SkovhedeandGitHub e038a23c44 Merge pull request #6036 from duplicati/feature/invariant-format-sql-strings
Implemented forced invariant locale on all SQL strings.
2025-03-14 13:35:10 +01:00
Kenneth Skovhede 7234d43961 Fixed all SQL strings to use interpolation and forced them into the FormattableString handler using the invariant formatting. 2025-03-14 12:13:17 +01:00
Kenneth SkovhedeandGitHub 724570b82c Merge pull request #6037 from duplicati/feature/more-async-operations
Async operation handlers
2025-03-14 12:10:49 +01:00
Kenneth Skovhede c1bdaa069e Async operation handlers
Rewrote all operation handlers to be async.
This moves the async/sync threshold out into the controller.

Fixed all the uses of cancellation token in the handlers to use the provided cancellation token.

Introduced a new ReusableTransaction that can be passed around, avoiding a ref parameter passing of the transaction instance.
2025-03-14 10:41:14 +01:00
Kenneth Skovhede f342d70819 Implemented forced invariant locale on all SQL strings.
This fixes #6023
2025-03-13 23:06:32 +01:00
Kenneth SkovhedeandGitHub 748fe9c4b9 Merge pull request #6034 from duplicati/feature/prevent-blocksize-larger-than-volume-size
Prevent blocksize near remote volume size
2025-03-13 14:58:46 +01:00
Kenneth Skovhede 30ec975469 Relaxed size requirement to better work with tests 2025-03-13 13:34:55 +01:00
Kenneth Skovhede 5edfcc5c6a Prevent blocksize near remote volume size
If the user selects the blocksize to be the same as the remote volume size, this will cause each block to be in a separate volume and will trigger repeated compact calls.

This commit adds a check that ensures the volume size is large enough to hold at least two blocks.

Also fixed an issue where the compact could create volumes larger than the set limit (at most one block larger).
2025-03-13 12:09:57 +01:00
marceloduplicatiandGitHub 4268eda62d Merge pull request #6030 from marceloduplicati/feature/use-ipv4-v6-auto
Integrating the IPv6 & IPv4 detection
2025-03-12 12:19:04 -03:00
marceloduplicatiandGitHub c4600e4237 Merge pull request #6033 from marceloduplicati/feature/fix-to-stop-unit-test
Fix to StopNow tests
2025-03-12 12:18:44 -03:00
Kenneth SkovhedeandGitHub eac394f0a3 Merge pull request #6011 from duplicati/feature/improved-failure-resilience
Improved failure resilience
2025-03-12 14:48:14 +01:00
Marcelo C. 64d40ef0ea Fix to StopNow tests
Since the core changes in the cancelation process where now cancellationTokens are observed rather than a thread.abort attempt, the expected exception is now OperationCanceledException when calling .Abort on the controller.

Also eliminated the time based awaiting to abort in favor of monitoring the backup phase to ensure the .Abort happens after the controller has had time to initiate the backend and backend is at Backup_ProcessingFiles state.
2025-03-12 10:40:20 -03:00
Marcelo C. b035c69e4d Integrating the IPv6 & IPv4 detection
It should be noted that I was unable to completely remove IPv4 on Windows 11 to a state where it would not provide the 127.0.0.1 loopback, even when disabling Ipv4 in various ways, including with registry flags.

On ubuntu/linux, after completely disabling ipv4 the ipv6 loopback was returned.
2025-03-11 16:24:15 -03:00
Carl-Johannes JohnsenandGitHub 354a804bf0 Merge pull request #6028 from carljohnsen/performance/restore-async-setresult
Performance/restore async setresult
2025-03-11 17:00:31 +01:00
Kenneth Skovhede b63869448a Ignore warning when reparing broken database 2025-03-11 17:00:14 +01:00
Carl Johnsen ebb04ddd08 Made waking up a waiting block request on the BlockManagers cache async to lower time spent by the volume consumer task 2025-03-11 14:23:37 +01:00
Carl Johnsen b61d594180 Added higher resolution internal profiling timers for the BlockManager 2025-03-11 14:22:49 +01:00
Kenneth Skovhede 351fb89509 Ignoring timestamps in with dirty database test 2025-03-11 10:45:44 +01:00
Kenneth Skovhede a0c1676bca Added option to force repair with an older database. 2025-03-11 10:45:22 +01:00
Kenneth Skovhede 0274fc2b6e Added sleeps to ensure timestamps have space for repairs 2025-03-11 08:08:28 +01:00
Kenneth Skovhede 5d45baacbf Renamed tests away from "Failed" to make searching for failed tests easier. 2025-03-10 22:04:48 +01:00