Commit Graph
13179 Commits
Author SHA1 Message Date
Kenneth Skovhede 90c6f4fa54 Fixed task restore 2026-02-16 12:43:54 +01:00
Kenneth Skovhede 4d83a62635 Fixed restore of keep notes 2026-02-16 11:51:20 +01:00
Kenneth Skovhede a256e774bf Refactored deserializer to shared class.
Removed use of deprecated props, they are internally linked anyway.
2026-02-16 11:50:46 +01:00
Kenneth Skovhede 61dcb52863 Implemented chat restore 2026-02-16 11:31:19 +01:00
Kenneth Skovhede 42bf8f217c Fixed restoring contacts 2026-02-15 23:07:24 +01:00
Kenneth Skovhede 48db6834f4 Cleaned up some extra empty levels in the source tree 2026-02-15 22:44:56 +01:00
Kenneth Skovhede 910c56b3c4 Reworked the use of scopes.
Instead of requesting all scopes up front, each sub-section of the backup/restore will request the permissions that are relevant for the operation.

The effect is that it is not required to grant all permissions to get a backup running. If permissions are failing, that part of the backup will generate warnings for items that are excluded.
2026-02-15 22:03:57 +01:00
Kenneth Skovhede 3bc449281a Similar naming on modules.
Added sourceprovider/destinationprovider to list of collected password fields
2026-02-15 10:42:19 +01:00
Kenneth Skovhede 1acf24a78f Merge remote-tracking branch 'origin/master' into feature/add-google-workspace-backup 2026-02-15 10:36:13 +01:00
Kenneth Skovhede d7a97915a1 Make service-account-json a password 2026-02-15 10:26:21 +01:00
Kenneth Skovhede e5eec7b531 Fixed chat attachments and better display name for chat messages 2026-02-13 14:42:55 +01:00
Kenneth Skovhede ce73f05534 Fixed impersonation on user items 2026-02-13 13:46:07 +01:00
Kenneth Skovhede f72366bd01 Fixed loading shared drive contents 2026-02-13 12:55:03 +01:00
Kenneth Skovhede bbe3e12468 Added support for backup of group conversations 2026-02-12 17:13:03 +01:00
Kenneth Skovhede cac45377ee More shared Mime logic, fixed not reading revisions from sites. 2026-02-12 12:02:10 +01:00
Kenneth Skovhede bfb39d8a92 Defensive fixes 2026-02-11 16:26:18 +01:00
Kenneth Skovhede b1c9c5ec1c Fixed group settings returning XML by default 2026-02-11 16:24:11 +01:00
Kenneth Skovhede 9511d60711 Fixed contact photo 2026-02-11 16:23:50 +01:00
Kenneth Skovhede 5eb80854ae Normalized Id across all files and moved mimetypes into a shared place 2026-02-11 16:23:35 +01:00
Kenneth SkovhedeandGitHub 1a498f3ed6 Merge pull request #6756 from duplicati/feature/fix-guess-scheme-on-short-paths
Fixed bug with scheme detection
2026-02-09 11:56:47 +01:00
Kenneth Skovhede 7a993421f2 Fixed bug with scheme detection
This PR fixes a reported issue with strings that are less than 3 characters.

This is unlikely, but happens if the code tries to get the scheme of a path, like `/a` or `/`.

The updated logic returns the scheme if one exists, and it is less than 15 characters (to avoid leaking sensitive information).
2026-02-07 16:13:52 +01:00
Kenneth SkovhedeandGitHub d9ee48f900 Merge pull request #6755 from duplicati/release/canary-2.2.0.104
Version bump to v2.2.0.104-2.2.0.104_canary_2026-02-06
2026-02-07 15:50:55 +01:00
Kenneth Skovhede b267d78df0 Version bump to v2.2.0.104-2.2.0.104_canary_2026-02-06
You can download this build from:

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

Signature file: https://updates.duplicati.com/canary/duplicati-2.2.0.104_canary_2026-02-06.signatures.zip
v2.2.0.104_canary_2026-02-06 v2.2.0.104-2.2.0.104_canary_2026-02-06
2026-02-06 19:00:49 +01:00
Kenneth SkovhedeandGitHub 6e675f9aaf Merge pull request #6750 from duplicati/feature/guard-against-duplicati-source-paths
Handle duplicate source paths
2026-02-06 16:35:07 +01:00
Kenneth SkovhedeandGitHub 18c12b66c3 Merge pull request #6753 from duplicati/feature/check-temp-space
Check free temporary space
2026-02-06 15:56:29 +01:00
Kenneth SkovhedeandGitHub a8255fa5ab Merge pull request #6749 from duplicati/feature/bump-ngclient-203
Bumped ngclient to 0.0.205
2026-02-06 15:55:09 +01:00
Kenneth Skovhede be761b3a62 More agressive FS path matching in test 2026-02-06 14:59:36 +01:00
Kenneth SkovhedeandGitHub fd51ec2927 Merge pull request #6754 from duplicati/feature/add-selectel-s3-hosts
Added Selectel to list of S3 providers
2026-02-06 14:38:20 +01:00
Kenneth Skovhede 917f059626 Bumped ngclient to .205 2026-02-06 14:37:11 +01:00
Kenneth Skovhede efac1ed06e Added extra info tro track a rare unittest failure 2026-02-06 14:37:01 +01:00
Kenneth SkovhedeandGitHub baca571ef8 Merge pull request #6727 from duplicati/feature/prevent-restore-target-escape
Prevent restore target escape
2026-02-06 14:33:01 +01:00
Kenneth Skovhede 4c9983f677 Added Selectel to list of S3 providers 2026-02-06 14:22:39 +01:00
Kenneth Skovhede 1abbd3e008 Fixed UI test 2026-02-06 14:15:09 +01:00
Kenneth Skovhede c2fcd5a261 Bump to .204 2026-02-06 14:07:21 +01:00
Kenneth Skovhede 1937e285bc Fixed a renamed button in test 2026-02-06 14:05:45 +01:00
Kenneth Skovhede afeb5ca632 Added support for using a single environment variable for registering both agent and others. 2026-02-06 14:05:19 +01:00
Kenneth Skovhede c606dba53a Fixed issues with testing remote sources when masked 2026-02-06 14:04:51 +01:00
Kenneth Skovhede 05ea1dfafe Check free temporary space
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.
2026-02-06 10:37:27 +01:00
Kenneth Skovhede 0f811308be Fixed symlinks tests by allowing restores outside target 2026-02-06 10:24:51 +01:00
Kenneth Skovhede 458fe8013e Don't normalize paths with test lookups 2026-02-05 17:22:01 +01:00
Kenneth Skovhede a31d6d4655 Fixed checks handling path traversal with mixed directory separator characters 2026-02-05 17:15:06 +01:00
Kenneth Skovhede 8ec1493d55 Fixed tests also working on Windows 2026-02-05 15:18:11 +01:00
Kenneth Skovhede cf8ef437c9 Fixed an edge case where the code would attempt to create a parent folder outside the restore target prior to applying metadata 2026-02-05 15:17:14 +01:00
Kenneth Skovhede e7aa60fba0 Handle duplicate source paths
This PR adds guards to prevent creating filesets with multiple files that have the same path.

While it should technically be impossible to have multiple entries that have the same path, it could happend either due to glitches or because the source data (manual lists, remote sources, etc) returns duplicates.

This PR adds a simple check for each folder to ensure that on a folder-level, duplicate paths cannot be introduced.

There is also a post-backup check to evict any duplicates, and the recreate process will reject duplicate paths.

Finally, the repair command will remove duplicates if they somehow manage to get into the database anyway.

A database-level prevention is not currently feasible as it needs a cross-table check for uniqueness, which requires more work from the database to check for each added file. Since this is expected to be a very rare event, the added processing was not justified.
2026-02-05 11:06:41 +01:00
Kenneth Skovhede 601ee64b2c Bumped ngclient to 0.0.203 2026-02-05 10:02:08 +01:00
Kenneth Skovhede 56f74803fc Fixed edge cases for path traversal protection 2026-02-05 09:21:24 +01:00
Kenneth SkovhedeandGitHub e6c0b9b045 Merge pull request #6747 from duplicati/feature/macos-snapshot-support
Implement support for filesystem snapshots on macOS using APFS
2026-02-04 16:45:35 +01:00
Kenneth Skovhede ce8c1aab7f Grabbing subject for better restore experience 2026-02-04 16:04:07 +01:00
Kenneth Skovhede da246874ec Initial implementation of Google Workspace backup.
This is a WIP and still needs the restore part implemented.

Not all resources are fully tested but basic elements work.
2026-02-04 15:44:23 +01:00
Kenneth SkovhedeandGitHub 364f67822f Merge pull request #6738 from duplicati/feature/encrypt-and-mask-remote-sources
Remote source masking and encrypting
2026-02-04 15:38:27 +01:00