Commit Graph
1588 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub c613083352 Merge pull request #6592 from duplicati/feature/dynamic-toggle-of-streaming
Add dynamic streaming toggle
2025-11-04 10:51:14 +01:00
Kenneth SkovhedeandGitHub b537db9f28 Merge pull request #6594 from duplicati/feature/expose-pcloud-options
Expose pCloud options
2025-11-03 19:25:47 +01:00
Kenneth Skovhede 57048b7776 Merge remote-tracking branch 'origin/master' into feature/dynamic-toggle-of-streaming 2025-11-03 19:25:15 +01:00
Kenneth Skovhede 5e32ee6ef9 Expose pCloud options
This PR fixes an issue with pCloud where the timeout options were not shown as supported even though they are parsed.
2025-11-03 19:01:08 +01:00
Kenneth Skovhede 012aeed7de Add dynamic streaming toggle
This PR adds a dynamic property so a backend can signal if it supports streaming, based on the settings.

This is currently used for the File backend, so that toggling `--use-move-for-put` will disable streaming on the backend instead of relying on the `--disable-streaming-transfers` flag.
2025-11-03 12:48:37 +01:00
Kenneth Skovhede d02d7feb63 Added extended parsing for WebDAV propfind
This adreses #6576
2025-11-03 11:51:07 +01:00
Kenneth Skovhede b4e80abab1 Auto-correct S3 hostname
This PR updates the S3 backend to automatically remove leading and trailing `/` characters so upgrades are less likely to encounter the error, as the previous version did not fail on such hostnames.

The check still captures cases where the user attempts to input a path or URL into the hostname field.
2025-11-02 09:07:12 +01:00
Kenneth Skovhede 58a3884503 Fix timeout issue on MSGraph
This fixes the reported timeout issue with MicrosoftGraphBackend cause by each fragment being required to be uploaded within the `--short-timeout` value.

With this PR the overall progress is monitored with `--read-write-timeout` (as before) and each fragment's speed is not measured.

Also updated the fragment numbers with +1 so the first fragment is "1/5" instead of "0/5", such that the last fragment is "5/5".
2025-10-31 13:41:10 +01:00
Kenneth Skovhede f54ea3fa0f Added more guards on MSGraph errors
This PR handles empty responses with the status code 204 - No Content.

Prior to this PR a 204 response when cancelling an upload session would cause an error due to not being able to parse the empty body.

This should get us one step closer to figuring out what is triggering the errors.
2025-10-26 16:14:34 +01:00
Kenneth Skovhede 15db2198a9 Add explicit status code check for B2 upload
This PR adds an explicit check for the status code for a B2 upload to ensure that non-success status codes are treated as failures.

Prior to this PR an upload would be considered a success if it has a failed status code but returns a valid JSON document with a `contentLength` property.
2025-10-10 18:48:34 +02:00
Kenneth Skovhede 9adca8b706 Downgrade mac package 2025-10-02 21:56:31 +02:00
Kenneth Skovhede 817390999f Updated uplink.NET packages to 2.14.3598.
This addresses #5793
2025-10-02 21:39:12 +02:00
Kenneth Skovhede 4b1d2f1538 Fixed a warning 2025-09-25 11:15:43 +02:00
Kenneth SkovhedeandGitHub 060d83e0d9 Merge branch 'master' into feature/simplify-webmodule-lookups 2025-09-23 13:14:44 +02:00
Kenneth Skovhede 48a5e8cf0e Google IAM support
This adds support for using a Google Service Account JSON instead of the OAuth-based AuthID.

This fixes #3835
2025-09-22 16:07:23 +02:00
Kenneth Skovhede cdc3b88b03 Updated MSGraph parsing of JSON
This PR updates the parsing code for errors/messags to avoid trying to read the stream twice.

This also removes the support for the unused HttpWebResponse (which is deprecated).
2025-09-19 15:34:40 +02:00
Kenneth SkovhedeandGitHub 360253c062 Merge branch 'master' into feature/hyperv-and-mssql-sources 2025-09-12 09:07:04 +02:00
Smyja 067ac5554d fix(S3): validate endpoint does not contain path 2025-09-11 08:43:04 +01:00
Kenneth Skovhede 0497de7e9f Revert MinIO to version 6.0.0
This fixes #6489
2025-09-06 15:34:38 +02:00
Kenneth Skovhede 2822e95626 Simplify webmodule lookups
This PR adds the lookup data to the module output, such that the FE does not need to call a webmodule to get the dictionaries with lookup values.
2025-09-05 10:49:20 +02:00
Svend Roperos c1e22faa03 fix: make string.Split calls explicit to resolve ambiguous overloads 2025-09-04 20:14:52 +02:00
Kenneth Skovhede 69157d7ba8 Add override for sigv4 hash in AWS client 2025-08-18 10:03:12 +02:00
Kenneth Skovhede bee147c79e Don't lowercase base64 2025-08-15 11:34:08 +02:00
Kenneth Skovhede a673bd0fab Fixed pre-calc SHA256 on AWS S3
This fixes pre-calculating the SHA256 hash for AWS SDK requests to S3.
This fixes an issue where a throttled stream would not be throttled correctly, because the AWS library would read the throttled stream twice (once for hashing, and once for transmitting).

To ensure compatibility with Wasabi S3, the hash is also lowercased.
2025-08-15 10:59:38 +02:00
Kenneth Skovhede 94058f8ac0 Handle nulls in file paths
This PR updates the File backend to sanitize filenames returned when listing the directory. For now, the sanitization only removes trailing/leading null characters.

This fixes #6449
2025-08-12 08:36:10 +02:00
Kenneth Skovhede 21061b15a6 Fixed more incorrect nullability in AWS S3 2025-08-08 15:16:22 +02:00
Kenneth Skovhede 79c03d4601 Avoid null values in commonprefixes (defective nullable marker in AWS library) 2025-08-08 14:07:14 +02:00
Kenneth SkovhedeandGitHub 61b7e806fc Merge branch 'master' into 0nbrsf-codex/find-outdated-packages 2025-08-07 23:17:33 +02:00
Kenneth Skovhede d94ca804ea Fixed CodeQL compile issue + a warning 2025-08-07 11:24:10 +02:00
Kenneth SkovhedeandGitHub ba7bee397c Merge branch 'master' into 0nbrsf-codex/find-outdated-packages 2025-08-07 10:48:59 +02:00
Kenneth Skovhede c1bef62d8b Bumped AWSSDK libraries to be in sync 2025-08-07 10:47:35 +02:00
Kenneth Skovhede 3a294d95fb Fixed compile warnings 2025-08-07 08:06:24 +02:00
Marcelo C. 0a545120cc Removing chunksize from B2 backend
This fixes issue #6438
2025-07-30 09:44:31 -03:00
Kenneth Skovhede 79811dc4c6 Added correct encode and decode of paths in urls.
The URLs passed to the custom URL parser were not decoding the path part, but passing it directly. This caused problems if the input was correctly URL encoded.

The updated code now correctly decodes the hostname+path parts, and encodes them again.
2025-07-11 12:08:04 +02:00
Kenneth Skovhede 4fe678b5e1 Improve OAuth error handling
This PR updates OAuth handling to not retry if the request has been cancelled, as no further attempts will work, but the wait delay would still be applied.

Now the cancellation triggers immediately, even if we are in the wait stage.

If the server returns an error message, that message is now propagated to the client so the user can see what the problem might be.
2025-07-07 15:40:32 +02:00
Kenneth Skovhede fa19725a9a Fixed creating folder with Google Drive
This fixes #6389
2025-07-07 11:46:20 +02:00
Kenneth Skovhede 1692428406 Fix build by reverting breaking package updates 2025-06-25 20:03:02 +02:00
Kenneth Skovhede 819af9e66f Update .NET dependencies 2025-06-24 07:51:26 +02:00
Carl Johnsen e71adc8ad9 Added specific package versions to the Storj backend, as the default would pull in old sqlite packages that could conflict with the newer sqlite packages pulled in by Microsoft.Data.Sqlite 2025-06-23 13:28:37 +02:00
Kenneth Skovhede bf9c0e1a95 Added Mega S4 endpoints to list of destinations 2025-06-17 09:14:06 +02:00
Kenneth Skovhede 930764a323 Update WebDAV backend
This re-introduces the debug-propfind feature to dump the PROPFIND response to a file.

It also introduces constants for the option names to be less error prone.

A few minor adjustements were made to the timeouts and the dispose flag.
2025-06-13 11:33:46 +02:00
Kenneth SkovhedeandGitHub d432006207 Merge branch 'master' into feature/http-client-timeout-revision 2025-06-12 22:27:12 +02:00
Marcelo C. 477f70508e Applying suggested changes 2025-06-12 11:29:44 -03:00
Marcelo C. 614f047dbb Sets infinite timeout for HTTP clients
Ensures that long-running HTTP requests, such as downloads and uploads, do not timeout prematurely.

This change configures specific HttpClient instances with an infinite timeout to accommodate operations that may take an extended period. The default 100s timeout is retained for some operations like registration, where a long delay may indicate a problem.
2025-06-12 10:33:13 -03:00
Kenneth Skovhede 35058d333e Update handling of alternate OAuth url
This PR removes the `OAuthContextSettings` class, and makes the `--oauth-url` option available on each backend that uses it, so it can be configured as part of the destination.

To assemble everything related to configuring OAuth, the code was moved to the `AuthIdOptionsHelper`, such that the usage can be shared between implementations.

This PR also adds the option to set the default OAuth url from the environment variable `DUPLICATI_OAUTH_SERVICE`.

The server can then be set in the following locations (most important last):
- Environment variable
- Server-wide advanced settings
- Backup job advanced settings (or commandline)
- Destination url
2025-06-11 09:27:40 +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 SkovhedeandGitHub e99bcd84f3 Merge pull request #6291 from duplicati/feature/remote-oauth-helper
Remove OAuthHelper
2025-05-26 08:28:44 +02:00