Kenneth Skovhede
9dfe977d3f
Changed logic so the source providers are now logically mounted into the source directory structure.
...
This fixes the restore issues as all sources will now appear as if they were originally part of the source file system.
The backend implementation has now been simplified so the backends only return names of entries with no path information. Most backends already do this, but the S3 backends did not, so this was fixed as well.
This also clears up the interfaces, so the backend does not know about the `ISourceProviderEntry`. All mapping is done by the `BackendSourceProvider`, making it simpler to support other backends as sources.
2025-02-21 16:06:55 +01:00
Kenneth Skovhede
b1488dae0c
Switched to vssadmin for listing VSS enabled drives
2025-02-19 15:48:00 +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
ac603a4d8f
Renamed SourceFolders to SourceEntries as it can contain files as well
2025-02-18 22:32:37 +01:00
Kenneth Skovhede
73d0ad905f
Fixed USN support
2025-02-18 22:12:37 +01:00
Kenneth Skovhede
12d0c9710d
Added additional fix for VSS
2025-02-18 17:17:16 +01:00
Kenneth Skovhede
f61a1d0ad8
Fixed Windows VSS support
2025-02-18 15:13:46 +01:00
Kenneth Skovhede
a99aa87dbb
Fixed issue with Windows paths being stored in extended format
2025-02-17 19:51:26 +01:00
Kenneth Skovhede
bb5fd80a29
Implemented support for some backends as sources: SSH, CIFS, and S3
2025-02-17 14:01:08 +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
356d117b86
Ensure directory paths end with a separator
2025-02-16 16:08:28 +01:00
Kenneth Skovhede
8c935a7344
This creates a new ISourceProvider interface for describing a data source.
...
With this interface it is possible to wrap the current support for snapshots and USN and simplify the enumeration.
This makes a number of assumptions into fields such as `IsMetaEntry` and `IsRootEntry` that removes code that was checking for various properties.
This first commit has support for VSS and USN as well as "naked" files, keeping feature parity.
There is also an experimental support for loading a backend-as-a-source. The support for this is currently limited as the backends need to be extended to support a folder concept.
2025-02-09 16:14:22 +01:00
Kenneth Skovhede
ebdfc774c2
Removed static IO_WIN and IO_SYS as cross-platform calls are not possible.
2025-02-06 16:57:12 +01:00
marceloduplicati and GitHub
03b7fac65c
Merge pull request #5889 from marceloduplicati/feature/unified-help-arguments
...
Help Command unification
2025-01-30 10:23:10 -03:00
Kenneth Skovhede and GitHub
997891525a
Updated license-updater to update csproj files ( #5898 )
...
* Updated license-updater to update csproj files
* License updates
2025-01-22 21:04:19 +01:00
Marcelo C.
cee1b8428d
Centralizing the check on Helper function.
2025-01-21 12:45:53 -03:00
Marcelo C.
2e502ea7be
Help Command unification
...
All CLI tools and executables now accept a unified set of help command variants:
"help", "/help","--help", "usage", "/usage", "--usage", "/h", "-h"
Affected executables:
Duplicati.Agent
Duplicati.CommandLine
Duplicati.CommandLine.AutoUpdater
Duplicati.CommandLine.BackendTester
Duplicati.CommandLine.BackendTool
Duplicati.CommandLine.ConfigurationImporter
Duplicati.CommandLine.SecretTool
Duplicati.CommandLine.Snapshots
Duplicati.GUI.TrayIcon
Duplicati.Server
Duplicati.Service
Duplicati.WindowsService
Note that SharpAesCrypt command is not included in this because the parameter parsing is part of the SharpAesCrypt code base.
2025-01-17 14:00:14 -03:00
Kenneth Skovhede and GitHub
6bbd64a655
Fixed nullability warnings in Utility.cs ( #5861 )
...
* Fixed nullability warnings in `Utility.cs`
* Fixed a number of nullability issues and warnings
* More nullable fixes
* Fixed the overwrite issue
* Fixed additional nullability issues
* Removed additional nullability issues
* More nullability fixes and added some xmldoc
* Added more xmldocs and removed an unused argument
* Removed more warnings
2025-01-14 14:03:48 +01:00
Kenneth Skovhede and GitHub
9464caf622
Feature/update license 2025 ( #5851 )
...
* Fixed some minor whitespace issues
* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Kenneth Skovhede
7e479788d7
Added the missing crashlog feature.
...
The crashlog feature was lost during the removal of the auto-updater.
This commit adds it back, in a slightly different way.
2024-11-21 20:23:42 +01:00
Marcelo Ceccon
d4d9c47824
Further progress on removal of build warnings.
...
None of these changes have impact on code execution, they are mainly part of the effort to remove all build warnings.
The removal of Thread.ResetAbort leaves a TODO for us to integrate CancelationToken when it gets propagated down here on future changes.
2024-11-07 18:02:15 +01:00
Kenneth Skovhede and GitHub
366016ec2d
Merge pull request #5578 from marceloduplicati/feature/unix-file-lock
...
Proposed change to open locked files on linux
2024-10-15 11:08:11 +02:00
Kenneth Skovhede
91ea81f537
Added commandline option to toggle locks
2024-10-08 09:35:00 +02:00
Marcelo Ceccon
7d6964b5b2
Simplified version of handling
...
Macos and Linux were working, ubuntu errors with 'close_nointr(fd) != -EBADF
It seems to be related to both FileStream behavior around closing handles when a SafeFilehandle is provided by an fopen call.
2024-10-04 10:40:39 +02:00
Marcelo Ceccon
3c7cba0927
Removing safehandle force dispose
2024-10-04 10:04:48 +02:00
Marcelo Ceccon
467a4434f9
Enforcing disposal and closure of filehandles.
2024-10-04 09:30:34 +02:00
Marcelo Ceccon
dc91f3836a
Another attempt to get the correct error code
...
Errors only manifest on macos action tests.
2024-10-03 21:21:34 +02:00
Marcelo Ceccon
0c4e10df9d
Adding extended error detection if fopen fails
2024-10-03 19:50:56 +02:00
Marcelo Ceccon
cd513ef53a
Proposed change to open locked files on linux
...
This makes it unnecessary to use DOTNET_SYSTEM_IO_DISABLEFILELOCKING on environment variables.
Relevant issue: https://github.com/duplicati/duplicati/issues/5569
2024-10-03 16:34:49 +02:00
Kenneth Skovhede
d46188427f
Merge remote-tracking branch 'origin/master' into feature/remote-control-support
2024-10-02 14:53:00 +02:00
Kenneth Skovhede
f49359eaf3
Removed use of Environment.OSVersion which is now deprecated.
...
Fallback to getting Windows version with `cmd /v ver`, which should be supported way back to DOS v6.
2024-09-18 16:02:01 +02:00
Kenneth Skovhede
8c0e4329f7
Fixed additional ReadOnly issues
2024-09-18 11:39:26 +02:00
Kenneth Skovhede
092e28811b
Fixed two deprecation issues in USNJournal
2024-09-10 08:57:38 +02:00
Suguru Hirahara
6e28017a81
Remove WinNativeMethod
2024-07-30 03:30:56 -04:00
Suguru Hirahara
556f1ee958
Change eg. to e.g.
2024-07-27 22:51:10 -04:00
Grzegorz Łagocki
9b19bac7da
Add Copyright Property to *.csproj files
2024-07-09 00:37:18 +02:00
Jojo-1000
917e2cd0c4
Remove obsolete custom platform detection.
2024-05-30 02:14:05 +02:00
Jojo-1000
930f1c8bd3
Fix most unsupported platform warnings.
2024-05-30 01:50:02 +02:00
Jojo-1000
1dc1fd83af
Add SupportedOSPlatform attribute and target windows where appropriate.
2024-05-30 01:22:16 +02:00
Kenneth Skovhede
095a84dd4b
Fixed name for snapshot executable
2024-05-21 11:19:54 +02:00
Kenneth Skovhede
84d7a56ab1
Added executables for SharpAESCrypt and Snapshots
2024-05-21 09:54:01 +02:00
Kenneth Skovhede
69a6c09699
Added null guard for disposing (dispose should not throw)
2024-05-17 12:16:55 +02:00
Kenneth Skovhede
f77f77ad3a
Fixed types to allow building release executables
2024-03-15 15:20:28 +01:00
Kenneth Skovhede
115e887802
Implemented new updater logic that supports multi-arch distributions.
2024-03-15 14:18:56 +01:00
Kenneth Skovhede
2303f9151f
Cleanup after merge
2024-03-04 14:00:55 +01:00
Kenneth Skovhede
473c6cbbb8
Merge commit '4f577c65a4d8806f79637c50c21ca3a683c5a07a' into feature/kestrel-avalonia-upgrade
2024-03-04 12:21:53 +01:00
Kenneth Skovhede
d3d4fc1434
More cleanup after using Mono.Posix
2024-03-01 14:30:28 +01:00
Kenneth Skovhede
aa20088c39
Tool based upgrade of all projects with some manual update
2024-03-01 14:29:54 +01:00
Kenneth Skovhede
35cc847df7
Merge branch 'master' into feature/upgrade-to-sdk-style-projects
2024-03-01 14:28:55 +01:00
Thomas Suckow
a3bbf63561
Merge remote-tracking branch 'origin/feature/upgrade-to-sdk-style-projects' into feature/net5-kestrel
...
# Conflicts:
# .appveyor.yml
# .github/workflows/tests.yml
# BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.csproj
# BuildTools/DependencyFinder/DependencyFinder.csproj
# BuildTools/GnupgSigningTool/GnupgSigningTool.csproj
# BuildTools/UpdateVersionStamp/UpdateVersionStamp.csproj
# Duplicati CommandLine Only.sln
# Duplicati.Library.RestAPI/RESTMethods/RequestInfo.cs
# Duplicati.Library.RestAPI/Runner.cs
# Duplicati.sln
# Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
# Duplicati/CommandLine/BackendTester/app.config
# Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
# Duplicati/CommandLine/BackendTool/app.config
# Duplicati/CommandLine/ConfigurationImporter/Duplicati.CommandLine.ConfigurationImporter.csproj
# Duplicati/CommandLine/Duplicati.CommandLine.csproj
# Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
# Duplicati/CommandLine/app.config
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Assets/icons/normal-warning.png
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Program.cs
# Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
# Duplicati/Library/AutoUpdater/Duplicati.Library.AutoUpdater.csproj
# Duplicati/Library/Backend/AlternativeFTP/Duplicati.Library.Backend.AlternativeFTP.csproj
# Duplicati/Library/Backend/AzureBlob/Duplicati.Library.Backend.AzureBlob.csproj
# Duplicati/Library/Backend/Backblaze/Duplicati.Library.Backend.Backblaze.csproj
# Duplicati/Library/Backend/Box/Duplicati.Library.Backend.Box.csproj
# Duplicati/Library/Backend/CloudFiles/Duplicati.Library.Backend.CloudFiles.csproj
# Duplicati/Library/Backend/Dropbox/Duplicati.Library.Backend.Dropbox.csproj
# Duplicati/Library/Backend/FTP/Duplicati.Library.Backend.FTP.csproj
# Duplicati/Library/Backend/File/Duplicati.Library.Backend.File.csproj
# Duplicati/Library/Backend/GoogleServices/Duplicati.Library.Backend.GoogleServices.csproj
# Duplicati/Library/Backend/HubiC/Duplicati.Library.Backend.HubiC.csproj
# Duplicati/Library/Backend/Idrivee2/Duplicati.Library.Backend.Idrivee2.csproj
# Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
# Duplicati/Library/Backend/Mega/Duplicati.Library.Backend.Mega.csproj
# Duplicati/Library/Backend/OAuthHelper/Duplicati.Library.OAuthHelper.csproj
# Duplicati/Library/Backend/OneDrive/Duplicati.Library.Backend.OneDrive.csproj
# Duplicati/Library/Backend/OpenStack/Duplicati.Library.Backend.OpenStack.csproj
# Duplicati/Library/Backend/Rclone/Duplicati.Library.Backend.Rclone.csproj
# Duplicati/Library/Backend/S3/Duplicati.Library.Backend.S3.csproj
# Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
# Duplicati/Library/Backend/SharePoint/Duplicati.Library.Backend.SharePoint.csproj
# Duplicati/Library/Backend/Sia/Duplicati.Library.Backend.Sia.csproj
# Duplicati/Library/Backend/Storj/Duplicati.Library.Backend.Storj.csproj
# Duplicati/Library/Backend/TahoeLAFS/Duplicati.Library.Backend.TahoeLAFS.csproj
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/TencentCOS/Duplicati.Library.Backend.TencentCOS.csproj
# Duplicati/Library/Backend/WEBDAV/Duplicati.Library.Backend.WEBDAV.csproj
# Duplicati/Library/Common/Duplicati.Library.Common.csproj
# Duplicati/Library/Compression/Duplicati.Library.Compression.csproj
# Duplicati/Library/DynamicLoader/Duplicati.Library.DynamicLoader.csproj
# Duplicati/Library/Encryption/Duplicati.Library.Encryption.csproj
# Duplicati/Library/Interface/Duplicati.Library.Interface.csproj
# Duplicati/Library/Localization/Duplicati.Library.Localization.csproj
# Duplicati/Library/Logging/Duplicati.Library.Logging.csproj
# Duplicati/Library/Main/Duplicati.Library.Main.csproj
# Duplicati/Library/Modules/Builtin/CheckMonoSSL.cs
# Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
# Duplicati/Library/Modules/Builtin/SendJabberMessage.cs
# Duplicati/Library/SQLiteHelper/Duplicati.Library.SQLiteHelper.csproj
# Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
# Duplicati/Library/UsageReporter/Duplicati.Library.UsageReporter.csproj
# Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
# Duplicati/Library/Utility/HashAlgorithmHelper.cs
# Duplicati/Library/Utility/Power/WindowsPowerSupplyState.cs
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.Serialization/Duplicati.Server.Serialization.csproj
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/app.config
# Duplicati/Service/Duplicati.Service.csproj
# Duplicati/Service/app.config
# Duplicati/Tools/Duplicati.Tools.csproj
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
# Duplicati/UnitTest/GeneralBlackBoxTesting.cs
# Duplicati/UnitTest/app.config
# Duplicati/WindowsService/WindowsService.csproj
# Installer/debian/docker/debian/control
# Tools/SQLiteTool/SQLiteTool.csproj
# Tools/ZipFileDebugger/ZipFileDebugger.csproj
# guiTests/guiTest.py
# thirdparty/UnixSupport/UnixSupport.csproj
# thirdparty/alphavss/Homepage.txt
# thirdparty/alphavss/License.txt
# thirdparty/alphavss/licensedata.json
2024-02-29 21:55:17 -08:00