Commit Graph
374 Commits
Author SHA1 Message Date
Kenneth Skovhede 67c3039814 Updated example script docs 2025-10-15 12:00:04 +02:00
Svend Roperos c1e22faa03 fix: make string.Split calls explicit to resolve ambiguous overloads 2025-09-04 20:14:52 +02:00
Svend Roperos c261d3a550 feat: add server selections on MSSQL 2025-09-04 20:14:52 +02:00
Kenneth SkovhedeandSvend Roperos 9322c732fa Fixed the regex for MSSQL path matching 2025-09-04 20:14:52 +02:00
Kenneth SkovhedeandSvend Roperos 0d57f2ceea Rewrote HyperV and MSSQL parser to support paths under each instance.
This also cleans up the filters slightly, so the logic for "first match" still holds.

If an item is excluded, and subfolders are also automatically excluded.
2025-09-04 20:14:52 +02:00
Kenneth Skovhede c2b8814056 Resolve deterministic transitive dependencies 2025-08-08 13:47:57 +02:00
Kenneth Skovhede 98deb8c576 Update support for VSS
This updates VSS to default use Vanara in favor of AlphaVSS which is no longer maintained.

The build for Vanara requires targeting `net8.0-windows7.0`, which will cause significant build overhead and complexity for cross platform builds.
To counter this, the setup is to have a single project, `Duplicati.Library.WindowsModules`, that is targeting `net8.0-windows7.0`.
The output from this project is then hoisted into the TrayIcon project for Windows builds so the files are available when debugging on Windows.
A top-level dummy executable project is added to ensure the project always builds.
The built modules are then loaded with reflection when requested.

With the use of Vanara there is now also support for using BackupRead to read files without making a VSS snapshot.
With BackupRead, it is possible to read locked files, but it still requires the SeBackupPrivilege as VSS does as well.

Unfortunately, the `vssapi.dll` file is not shipped for Arm64 on Windows, so even with Vanara this will not work, and only WMIC is supported on Arm64.
A workaround is to run Duplicati with x64 emulation if more advanced VSS features are needed (HyperV and MSSQL support).

This PR also updates options and filters out unsupported options for each operating system, so options that are not supported by the current OS are not reported and will give warnings if they are used, as opposed to just being ignored.

The release builder project has been updated to exclude the unused project, and purge unwanted outputs.
2025-07-01 16:32:19 +02:00
Kenneth SkovhedeandGitHub 15eb009594 Merge pull request #6343 from duplicati/feature/fix-module-loading
Handle loading and unloading of modules
2025-06-13 10:47:26 +02:00
Kenneth SkovhedeandGitHub 423338cfec Merge pull request #6341 from marceloduplicati/feature/http-client-timeout-revision
Sets infinite timeout for HTTP clients
2025-06-13 07:36:45 +02:00
Kenneth SkovhedeandGitHub 225fd1f3c9 Merge pull request #6344 from duplicati/feature/better-handling-of-wrong-email
Add null checks to send-mail
2025-06-13 07:36:31 +02:00
Kenneth SkovhedeandGitHub d432006207 Merge branch 'master' into feature/http-client-timeout-revision 2025-06-12 22:27:12 +02:00
Kenneth SkovhedeandGitHub 131f8a25d6 Merge pull request #6328 from duplicati/feature/improve-alternate-oauth-url-support
Update handling of alternate OAuth url
2025-06-12 22:21:56 +02:00
Kenneth Skovhede 151afe5d82 Add null checks to send-mail
This PR adds null checks to the email module to prevent crashes when sending email.

It also guards against improper reuse of the modules. This is related to #6343.

This fixes #6315
2025-06-12 22:17:02 +02:00
Kenneth Skovhede f6094baddb Handle loading and unloading of modules
This PR fixes the issues with not correctly loading and disposing modules.

Prior to this PR, there would be only a single instance of each module loaded, which would be configured and later disposed, meaning that the same instance would be used after being disposed, and disposed multiple times.

This mostly worked, but it could carry configuration details over between unrelated runs.

This fixes #6314
2025-06-12 22:13:55 +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 3812f1df0a Updated Windows example script
This fixes #6322
2025-06-12 11:44:50 +02: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 481744a8a1 Bumped MailKit and DnsClient to latest versions 2025-06-10 10:17:07 +02:00
Kenneth Skovhede 6044d19662 Filter report messages to limit double-reporting issues 2025-05-30 08:16:20 +02:00
Kenneth Skovhede d00264639f Removed HttpOptions
This fixes #5582
2025-05-26 14:13:16 +02:00
Kenneth Skovhede d3b65f1e92 Remove OAuthHelper
This PR removes OAuthHelper.

Initial commit is removal of OAuthHelper in GoogleCommon, GoogleDrive and GCS.
2025-05-23 10:40:55 +02:00
Carl Johnsen 388e849324 Converted tabs to spaces 2025-05-16 10:25:08 +02:00
Carl Johnsen 8be97bcefd Whitespace changes 2025-05-16 10:22:51 +02:00
Carl Johnsen 04153d2c12 Removed Microsoft.DotNet.Analyzers.Compatibility from csproj's as it's deprecated. 2025-05-16 09:53:26 +02:00
Marcelo C. 728080a911 Fix Notification Parsing Failure by Defaulting to Text-Only Mode
Resolved markdown parsing issues in notifications (see [Issue #5909](https://github.com/duplicati/duplicati/issues/5909)) by switching to text-only mode for reliable delivery.

Tested.
2025-04-01 10:11:48 -03:00
Kenneth SkovhedeandGitHub 4f81771681 Merge pull request #6085 from duplicati/feature/report-current-update-channel-in-reports
Added metadata to reports to report current update channel
2025-03-25 16:36:50 +01:00
Kenneth SkovhedeandGitHub 99ad60571e Merge pull request #6083 from duplicati/feature/handle-backspace-for-password-input
Handle backspace for passphrase input
2025-03-25 12:36:23 +01:00
Kenneth Skovhede b754caccc3 Added metadata to reports to report current update channel 2025-03-25 12:34:54 +01:00
Kenneth SkovhedeandGitHub 38c492c33b Merge branch 'master' into feature/handle-backspace-for-password-input 2025-03-25 08:54:28 +01:00
Kenneth SkovhedeandGitHub 631dc172c8 Merge branch 'master' into feature/support-large-form-body-reports 2025-03-25 08:53:25 +01:00
Kenneth Skovhede 9530e8ab36 Handle backspace for passphrase input
This fixes #976
2025-03-24 23:23:51 +01:00
Kenneth Skovhede aabfbb8df6 Added support for large http reports
When sending large http reports with URL encoding, they are now encoded in chunks to avoid the encoding limitations in .NET.

This fixes #2843
2025-03-24 22:28:44 +01:00
Kenneth Skovhede 6d2137d9e4 Removed JSON example as it trips up the localization on Linux 2025-03-24 17:23:25 +01:00
Kenneth Skovhede 4036d18566 Fixed non-translateable strings 2025-03-24 17:18:41 +01:00
Kenneth Skovhede bf3ff44e32 Collapsed into single option 2025-03-24 14:43:00 +01:00
Kenneth Skovhede 646b1f9b97 Add extra parameters to reports.
This adds the option to set additional parameters to any report sent.

This fixes #3448
2025-03-24 14:35:16 +01:00
Kenneth Skovhede ddf90196cd Update serialized results to omit task control
The `TaskControl` and `TaskReader` properties contain no information that can be used in serialized form, but they were added to the output anyway.

With this commit, the unwanted extra data is no longer emitted.
2025-03-20 16:06:11 +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 SkovhedeandGitHub e614b08bb3 Merge pull request #5955 from duplicati/feature/alternate-source-provider
Alternate source provider
2025-02-28 10:07:53 +01:00
Kenneth Skovhede 11a27042bc Merge remote-tracking branch 'origin/master' into feature/alternate-source-provider 2025-02-26 19:25:46 +01:00
Kenneth Skovhede 0b61e0d0bc Yet another way to find out if the RID is for Windows 2025-02-25 15:14:37 +01:00
Kenneth Skovhede 3bfd12bf76 Fixed rid detection 2025-02-24 13:32:26 +01:00
Kenneth Skovhede 39ba3ab89e More exact rid match 2025-02-24 13:25:47 +01:00
Kenneth Skovhede ea07ac4288 Updated build logic to use target os 2025-02-24 13:24:58 +01:00
Kenneth Skovhede a9f328ae95 Add back missing Windows example script.
This adds back the missing `run-script-example.bat`.

It also makes the output conditional, so the Windows builds get the `.bat` and others get the `.sh` version.
2025-02-19 16:11:37 +01:00
Kenneth Skovhede cf5b4bb24d Added support for Wmic based Windows VSS snapshots.
Refactored code a bit to be easier to understand.
2025-02-19 14:00:14 +01:00
Kenneth Skovhede 6bbc93b8df Merge remote-tracking branch 'origin/master' into feature/alternate-source-provider 2025-02-16 16:37:12 +01:00
Kenneth Skovhede 439d10b53d Improve shell-script arguments 2025-02-12 09:23:07 +01:00
Kenneth SkovhedeandGitHub 5b66d06370 Merge pull request #5961 from duplicati/feature/do-not-escape-http-form-parameters
Do not encode http form extra parameters.
2025-02-11 09:26:07 +01:00