On the first connection attempt, the autentication can be a bit slower due to the setup, causing it to time out. This PR adds a specific timeout for authentication so the calls do not time out.
This PR adds a flag to the test method so we can choose to test for read-only access (needed for restore) or read-write (needed for backups).
Additionally, this PR fixes a logic bug in that the BackendSourceProvider would not actually test the connection, but just check the placeholder element returned (which is always returned). With this PR the backend's ListAsync command is tested fully.
Also renamed the methods on ISourceProvider to have the `...Async` prefix.
This replaces #6939
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.
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.
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.
This PR adds a new backend for Drime Cloud.
There is currently an issue with the rename API so the backend will fall back to download+upload+delete if the soft-delete feature is enabled in the general Duplicati options (soft-delete on the backend works).
Implementation supports both username+password login or API key.
Files larger than 5MiB are uploaded with multipart uploads.
This PR adds checks for free temporary space when starting the server and when restoring.
On systems that have limited space in the temp folder a warning will now be shown.
This is intended to capture issues on some Docker systems where /tmp is mounted in memory instead of being disk backed.
It will also detect the issue on other systems that are space constrained.
This PR now checks for the SSL certificate and the UI will offer to pin the certificate if this is not a trusted certificate.
Also, the sourceproviders and restoredestinationproviders now actually invoke the `Test` method when being tested.