Commit Graph
193 Commits
Author SHA1 Message Date
Kenneth Skovhede b67a73553a Added unified interface for remote browsing.
This PR adds a single API endpoint for listing contents of remote source or backend. With this API, we can greatly simplify the FE as it does not need to know about webmodules for each provider, but can just use the single API.

To support this, the fulldisk module was updated slightly to return enumerable meta entries, similar to ms365 and gws providers.
2026-06-12 11:06:21 +02:00
Kenneth Skovhede 1e216110e1 Merge commit '1250b1c9641bef873c60df8a02b1194fe4ed36ca' into feature/full-disk-ntfs 2026-06-03 22:01:37 +02:00
Kenneth SkovhedeandGitHub 1250b1c964 Merge pull request #6945 from duplicati/feature/context-aware-testing
Added read-only testing to backends
2026-06-03 21:35:14 +02:00
Kenneth Skovhede 4d569c51e4 Added read-only testing to backends
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
2026-06-03 17:27:34 +02:00
Kenneth Skovhede eeb323b51d Make FS parsing experimental
This PR flips the logic so filesystem parsing is not enabled by default. This means that any disk source will be treated as an opaque stream of blocks.

Brave users can still try out the filesystem parsing, but we need more time to ensure the logic works across variations on filesystems.
2026-06-03 10:37:58 +02:00
Kenneth Skovhede 8d9ebaa0a4 Minor style fixes 2026-05-04 11:15:51 +02:00
Carl Johnsen 4aeb7b2f0b Bumped year in license 2026-04-29 14:06:05 +02:00
Carl Johnsen 9a7e6d2c1e Merge branch 'master' into feature/full-disk-ntfs 2026-04-29 14:05:20 +02:00
Carl Johnsen 523b5012ea _position and _length are relative to the current partition, not where it's placed globally 2026-04-29 11:45:53 +02:00
Carl Johnsen 17022c0ad3 MFTs with changed clusters can affect other clusters, so they should all be checked during backup. 2026-04-29 10:56:19 +02:00
Carl Johnsen 10aed49bbc Only read from disk when the read is requested 2026-04-29 10:21:57 +02:00
Carl Johnsen 66abac4797 GUID check was failing because it was stored in lower case, but the constant was upper case. 2026-04-20 13:49:02 +02:00
Carl Johnsen 9eb5a4340b Fixed incorrect NTFS attribute header offsets 2026-04-17 08:24:22 +02:00
Carl Johnsen f213ebc672 Added NTFS detection to GPT and MBR 2026-04-17 06:56:53 +02:00
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Carl Johnsen 4a044e53d2 Added NTFS to the source items and restore provider 2026-03-24 19:26:35 +01:00
Carl Johnsen 9e81d2ca9c Added NTFS orchestrator class 2026-03-24 18:59:37 +01:00
Carl Johnsen 2ede4e477a Added NTFS MFT walker for getting modified time of files 2026-03-24 18:41:25 +01:00
Carl Johnsen 4e3cefd7a3 Added NTFS bitmap file parsing 2026-03-24 17:57:41 +01:00
Carl Johnsen af3e0ee8af Added NTFS boot sector parsing 2026-03-24 13:56:40 +01:00
Carl Johnsen b41c613347 Paths handled by the disk image feature doesn't treat all separators as / 2026-03-18 07:03:52 +01:00
Carl Johnsen d80f4f80df Paths handled by the Duplicati disk image feature uses / as delimiter regardless of operating system 2026-03-16 16:52:55 +01:00
Carl Johnsen 2d193fe491 Added proper handling of the geometry file path 2026-03-16 12:24:42 +01:00
Carl Johnsen 2b5db218ad Post restructure namespace fixes 2026-03-16 11:10:20 +01:00
Carl Johnsen 20ff1c73b1 Restructured Disk Image related files 2026-03-16 11:10:20 +01:00
Carl Johnsen de98dd2b9e Added missing Linux branches in the source provider 2026-03-16 11:10:20 +01:00
Carl Johnsen e6fbc8150c Added option to disable filesystem-aware functionality 2026-03-13 17:37:51 +01:00
Carl Johnsen 5085f19103 Disk reading optimization zero stream should be the actual size, not just block size. 2026-03-13 16:56:56 +01:00
Carl Johnsen b0811503fd Added more rigorous stream boundary checking 2026-03-13 14:11:17 +00:00
Carl Johnsen f4038ac7d1 Ensure everything that doesn't have a timestamp reports UtcNow to make sure it's backed up. 2026-03-13 13:50:38 +00:00
Carl Johnsen 3c27f9f932 Unknown file system blocks should always be backed up, since there's no way of tracking them. 2026-03-13 13:42:38 +00:00
Carl Johnsen be2c7176f3 Added FAT32 to the restore, with fallback to Unknown filesystem, e.g. for blank disks. 2026-03-13 12:49:13 +01:00
Carl Johnsen 4267fffa95 Have auto detection of file system on partition when the type cannot be determined from the partition table 2026-03-13 12:48:21 +01:00
Carl Johnsen f5e7adf19e Added more rigorous FAT32 boot sector parsing 2026-03-13 12:40:39 +01:00
Carl Johnsen e45cc6b44c Regardless of file system, the files are blocks, hence the file name is the address. 2026-03-13 11:39:58 +01:00
Carl Johnsen e9c0a65c21 Handled FAT32 detection error due to endianness 2026-03-13 10:55:13 +01:00
Carl Johnsen 4bb5837326 Added FAT32 streams 2026-03-12 15:08:22 +01:00
Carl Johnsen d6e96c3346 Added FAT32 file system support 2026-03-12 15:08:03 +01:00
Carl Johnsen ad89e7155a Enabled FAT32 as part of the partition source entry 2026-03-12 15:07:30 +01:00
Carl Johnsen 33c7029e58 Added FAT32 metadata to the source entry 2026-03-12 15:07:08 +01:00
Carl Johnsen 39f16f471d Added last modified timestamp to file system files 2026-03-12 15:06:43 +01:00
Carl Johnsen c1cdf58dce Added FAT32 directory walker 2026-03-12 14:36:57 +01:00
Carl Johnsen 2ff2de5e83 Added FAT32 table reader 2026-03-12 14:23:26 +01:00
Carl Johnsen 2b9d699fcc Added a parser for FAT32 boot sector 2026-03-12 14:05:39 +01:00
Carl Johnsen f8e0f4df2b Linux should use helper class for calling scripts, not another implementation of the same functionality 2026-03-12 11:22:40 +01:00
Carl Johnsen 9d9ecca963 Made Linux native library calls compile like the Mac one for multiple architectures. 2026-03-12 08:45:47 +00:00
Carl Johnsen 41e811aac4 Added shortcut return 0 for when a request to disk is of size 0 2026-03-12 08:51:26 +01:00
Carl Johnsen 0be0aa227b Mac doesn't have O_DIRECT, but it has F_NOCACHE 2026-03-12 06:23:26 +01:00
Carl Johnsen b24278f627 Fixed error related to backslashes in paths 2026-03-11 14:58:23 +00:00
Carl Johnsen 64aacdabf2 Windows' WriteBytesAsync returned incorrect number of bytes 2026-03-11 15:33:20 +01:00