Commit Graph
845 Commits
Author SHA1 Message Date
Kenneth Skovhede 6ed507c0b3 Add option to limit modules
This PR adds the option to limit the available modules to just the set of specified choices.

If no option is set, all modules are available (default).
If the option is set, only those in the list are available (whitelisting).

The options are:
- `--allowed-backend-modules`
- `--allowed-encryption-modules`
- `--allowed-compression-modules`
2025-10-17 10:01:31 +02:00
Kenneth Skovhede 1d772127df Fixed wrong downgrade script 2025-09-22 14:29:52 +02:00
Kenneth Skovhede 34b6f9ea55 Implemented remotely managed backup configurations
This PR adds the ability to manage backup configurations outside of the the client.

The implementation ensures that locally created configurations cannot be affected by the remotely managed backups.

If the instance is not connected to a remote console, this has no effect.

This PR updates the local database to add the column `ExternalID` that tracks backups that are managed remotely.
2025-09-17 15:07:09 +02:00
Kenneth Skovhede 31eeebd69b Added support for retries in backend tester
This PR adds support for retries in the backend tester.

The CI tests have been updated to retry operations 3 times, which will hopefully make the CI tests more stable.
2025-09-10 14:47:23 +02:00
Kenneth SkovhedeandGitHub b732374d87 Merge pull request #6473 from duplicati/feature/improve-non-persisted-login
Implemented a nonce for refresh tokens
2025-08-08 13:09:04 +02:00
Kenneth Skovhede dc3b7fc56c Add detailed output to backup lists
This PR adds a `--detailed` flag to ServerUtil that reports additional data for each backup. The JSON output now also includes the schedule and any metadata.
2025-08-08 10:52:45 +02:00
Kenneth Skovhede eef7eb3191 Fixed server-util wait with refresh token.
This fixes #5904
2025-08-08 08:29:52 +02:00
Kenneth Skovhede 6b9788b239 Fixed issue with saving non-persistent tokens 2025-08-08 08:27:04 +02:00
Kenneth Skovhede e3f1aefec2 Implemented a nonce for refresh tokens
This adds a nonce to the refresh token such that each request to obtain a refresh token must now also provide a matching nonce.

When using non-persisted logins, the request to the server is the same, but the "remember me" flag toggles a shorter duration for the refresh token.

The FE can then store the nonce in either local storage for persisted logins or in session storage for non-persisted logins.

The default is currently to always issue refresh tokens with a nonce, but this can be toggled with the JWT configuration.

The ngax client does not have the non-persisted login so it stores the nonce in local storage, using a name that is compatible with ngclient so the user can swap between them without needing to re-login.

The server util was updated to also store the nonce.

This fixes #6451
2025-08-07 23:10:54 +02:00
Marcelo C. 02d0c12e14 Moves timeout output to correct location
Ensures that the timeout value is correctly applied either from environment variables or command line areguments before the output to console.
2025-07-29 08:48:31 -03:00
Kenneth Skovhede fc478146f3 Update ServerUtil probing
This PR updates the probing logic to not try the database if a password is supplied on the commandline.

It also fixes a crash that could happen at an unwanted place, if the user does not have write access to the supplied data folder. After this, the application will still crash due to not having  a place to write information, but it does not crash in the preloader logic. This also prevents creating the folder while probing for the database.

This PR also fixes a case where the database could become encrypted, if the ServerUtil was providing an encryption key to an unencrypted database. Before this fix, the database would be encrypted with the key provided to ServerUtil, which would most likely cause the Server/TrayIcon to fail starting and perhaps crash.

This fixes #6377
2025-07-10 21:03:16 +02:00
Carl Johnsen 2412800c0c Removed the sqlite page cache option. It should be set through the environment variable, or some other way of providing a custom database configurotion 2025-06-19 11:41:39 +02:00
Carl Johnsen 9b0d89363b Removed whitespace 2025-06-19 11:40:23 +02:00
Carl Johnsen 78d649f5a3 All of the non-internal-library methods calling the database functions forwards CancellationToken.None 2025-06-19 11:00:24 +02:00
Carl Johnsen 9ac583db94 Made all relevant using statements use await to use DisposeAsync 2025-06-18 11:53:11 +02:00
Carl Johnsen f221098c28 Formatted SQL queries - mainly adding double quotes where they were missing. 2025-06-18 10:42:08 +02:00
Carl Johnsen e81100de04 Started on adding docstrings 2025-06-17 09:59:22 +02:00
Carl Johnsen 3d11a05400 Added .ConfigureAwait(false) to all of the await statements 2025-06-12 08:34:29 +02:00
Carl Johnsen 17cabeb329 Updated the DatabaseTool to use the new async database backend 2025-06-11 08:57:14 +02:00
Carl Johnsen eda3d5321b Removed whitespace 2025-06-11 08:56:58 +02:00
Kenneth Skovhede d62b3e540b Removed old defunct manual test files 2025-05-27 12:13:40 +02:00
Kenneth Skovhede 9ea0ab673f Added explanation for using parameters file to hide passphrases.
This fixes #2312
2025-05-21 12:50:31 +02:00
Kenneth SkovhedeandGitHub 8a2f028f7a Merge branch 'master' into feature/add-blocksetentry-index 2025-05-16 19:02:26 +02:00
Kenneth SkovhedeandGitHub 292107b9de Merge pull request #6262 from duplicati/feature/fix-dbtool-tests-should-fail
Check exit code in dbtool tests
2025-05-16 19:01:47 +02:00
Kenneth Skovhede b3f43830cf Fixed query for Windows/Linux 2025-05-16 15:51:30 +02:00
Kenneth Skovhede 531664cb23 Added missing index for blocksetentry 2025-05-16 15:36:24 +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
Kenneth SkovhedeandGitHub adbad3a4b2 Merge branch 'master' into feature/fix-wait-timeout-issue 2025-05-12 15:34:08 +02:00
Kenneth SkovhedeandGitHub 6dbed549da Merge pull request #6247 from duplicati/feature/fix-queue-order-of-backups
Changed logic for scheduling requested backups to follow queue order
2025-05-12 14:44:53 +02:00
Kenneth Skovhede 44653f506e Fixed retries when token times out.
This fixes #5904
2025-05-12 14:44:03 +02:00
Kenneth Skovhede 7fb4391d67 Changed logic for scheduling requested backups to follow queue order by default 2025-05-12 13:49:28 +02:00
Kenneth Skovhede 424ef6c5bf Rolled in index from #4706
This closes #4706
2025-05-10 22:30:05 +02:00
Kenneth Skovhede c3b082e9f5 Fixed rollback script 2025-05-10 22:13:41 +02:00
Kenneth Skovhede 2f12473398 Added missing index on remotevolume name 2025-05-10 10:02:08 +02:00
Kenneth Skovhede c9f985ecdd Final removal of FIXMEGlobal 2025-05-05 16:13:46 +02:00
Kenneth SkovhedeandGitHub 9b3328daef Merge pull request #6210 from duplicati/feature/improve-backup-listing-speed
Improve backup listing speed for restore
2025-04-30 12:47:13 +02:00
Kenneth Skovhede 39dca1eb79 Improve list-broken-files output
This hand-picks the changes from #5049 by @gpatel-fr.

The change is to use a left-join to include all broken files, even if there are no entries in the Blockset table.

The update is only visual but makes the results consistent with the actual operation performed by purge-broken-files.

This close #5049
2025-04-30 09:22:24 +02:00
Kenneth Skovhede a3bc9b80ca Implemented 4 new list methods that are optimized for a single operation 2025-04-29 10:03:57 +02:00
Kenneth Skovhede 32f44a1ea7 Fixed issues with compile after merges 2025-04-25 17:21:39 +02:00
Kenneth SkovhedeandGitHub af9465d8e3 Merge pull request #6187 from duplicati/feature/fix-throttle-speeds
Fixed throttle support
2025-04-25 15:36:44 +02:00
Kenneth Skovhede 0d413737b9 Set defaults for downgrade version to match 2.1.0.5 stable 2025-04-25 13:44:57 +02:00
Kenneth Skovhede ba298df915 Added an upgrade command to the database tool 2025-04-25 12:30:03 +02:00
Kenneth Skovhede 1eb95c046f Added option to scan for databases that are not connected to CLI or server database. 2025-04-25 11:13:50 +02:00
Kenneth Skovhede c8f8fb1a37 Less cryptic script comment 2025-04-24 16:42:57 +02:00
Kenneth Skovhede a0ecc5e05d Added a database downgrade tool 2025-04-24 16:36:14 +02:00
Kenneth Skovhede f393c00030 Fixed throttle support
This moves the throttle support to the StreamUtil throttled stream, which allows multiple streams to share a throttle value, such that the throttle setting is applied to the entire communication from Duplicati, and not for each connection.

This also cleans up a bit in the progress reporting, where the backend manager now keeps track of the "active" transfer and only emits progress on that. Once it finishes, a new transfer is promoted a "active".
2025-04-22 22:54:48 +02:00
Kenneth Skovhede e392658e35 Fixed multiple retention settings in delete.
The delete call would select the same fileset multiple times if multiple retention options were present.

This fixes the selection to a distinct set.
This fixes #6127
2025-04-15 12:13:47 +02:00
marceloduplicatiandGitHub 4d560af9c9 Merge pull request #6121 from marceloduplicati/feature/refactor-permission-set
Refactoring of how permissions are set whilst obtaining DataFolder
2025-04-03 10:16:27 -03:00
Marcelo C. bf22d7e178 Changed parameter from boolean to Enum for clarity of purpose 2025-04-02 10:15:21 -03:00