Kenneth Skovhede
f70748359a
Merge pull request #5211 from duplicati/feature/remove-alphafs
...
Removing unsupported AlphaFS.
2024-06-11 10:44:49 +02:00
Kenneth Skovhede
7c9f964eeb
Removing unsupported AlphaFS.
...
This updates #5210
2024-05-30 20:46:25 +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
c49e5609a9
Merge remote-tracking branch 'origin/master' into feature/kestrel-avalonia-upgrade
2024-03-07 06:35:15 +01:00
Kenneth Skovhede
550b7d985d
Merge pull request #5062 from Jojo-1000/improve-list-speed
...
Improve file backend list speed
2024-03-04 13:39:38 +01:00
Kenneth Skovhede
473c6cbbb8
Merge commit '4f577c65a4d8806f79637c50c21ca3a683c5a07a' into feature/kestrel-avalonia-upgrade
2024-03-04 12:21:53 +01:00
Kenneth Skovhede
fb863ea14e
Updated the common library, using the Nuget Posix package
2024-03-01 14:30:28 +01:00
Kenneth Skovhede
40dd3c6816
Updated all license mentions to MIT
2024-02-28 15:45:30 +01:00
Jojo-1000
f7e435b1dd
Improve file backend list speed.
...
Directly list FileInfo instead of lookups by filename. This greatly speeds up backup verify on exFAT.
Closes #5061
2023-11-19 20:04:37 +01:00
Thomas Suckow
78197453a1
Merge remote-tracking branch master into feature/net5-avalonia
...
# Conflicts:
# Duplicati CommandLine Only.sln
# Duplicati.sln
# Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
# Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
# Duplicati/CommandLine/Duplicati.CommandLine.csproj
# Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
# Duplicati/Library/AutoUpdater/UpdaterManager.cs
# Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
# Duplicati/Library/Main/Duplicati.Library.Main.csproj
# Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
# Duplicati/Library/Utility/Utility.cs
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/app.config
# Duplicati/Service/app.config
# Duplicati/UnitTest/BackendToolTests.cs
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
# guiTests/guiTest.py
2022-11-11 21:40:08 -08:00
Thomas Suckow
817b1d5bc2
Try to debug time discrepency
2022-05-06 21:52:19 -07:00
albertony
15ccf8130a
Ignore exception when file access time is not valid
...
When getting the value from FileSystemInfo.LastAccessTime, it will internally convert
the FILETIME value from Windows API to a DateTime. If the value represents a date after
12/31/9999 it will throw ArgumentOutOfRangeException, because this is not supported by
DateTime. Some file systems seem to set strange access timestamps on files, which
may lead to this exception being thrown. Since the last accessed timestamp is not
important such exceptions are now just silently ignored.
2022-04-02 20:56:20 +02:00
Thomas Suckow
d528703fe7
Merge branch 'master' into experiment/net5-split
...
# Conflicts:
# .github/workflows/tests.yml
# Duplicati.sln
# Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
# Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
# Duplicati/CommandLine/Duplicati.CommandLine.csproj
# Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/Library/Backend/AzureBlob/AzureBlobWrapper.cs
# Duplicati/Library/Backend/Mega/Duplicati.Library.Backend.Mega.csproj
# Duplicati/Library/Backend/Mega/packages.config
# Duplicati/Library/Backend/OAuthHelper/Duplicati.Library.OAuthHelper.csproj
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/Tardigrade/Properties/AssemblyInfo.cs
# Duplicati/Library/Backend/Tardigrade/packages.config
# Duplicati/Library/Common/Duplicati.Library.Common.csproj
# Duplicati/Library/Common/IO/SystemIOWindows.cs
# Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
# Duplicati/Library/Modules/Builtin/packages.config
# Duplicati/Library/Utility/Utility.cs
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/packages.config
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
2022-02-22 19:04:01 -08:00
Dean Ferreyra
c50223eafe
Renames relating to the extended device path prefix, \\?\
2021-11-12 07:29:43 -08:00
Dean Ferreyra
158614d59a
Refactor \\?\ prefix tests, rename source files, plus other review issues
2021-11-09 22:50:41 -08:00
Dean Ferreyra
459d1f27f6
Formalize inclusion of code from https://github.com/dotnet
...
Fix SystemIOWindows.PathGetFullPath per review comments.
Add unit tests for SystemIOWindows.PathGetFullPath and SystemIOWindows.PrefixWithUNC. Also, fix a bug in the SystemIOWindows.PrefixWithUNC change that was exposed by these new unit tests.
In BackendToolTests, remove unused [Setup] and [TearDown] methods.
2021-11-08 07:42:07 -08:00
Dean Ferreyra
0e8280f6f3
Fix SystemIOWindows handling of relative paths
...
The handling of relative paths in SystemIOWindows was broken by changes for #4256 .
Change SystemIOWindows.PrefixWithUNC to only prefix paths with `\\?\` when they can be prefixed; i.e., only prefix paths that are fully qualified and that don't contain relative path components like `.` or `..`. This way, relative paths passed to SystemIOWindows methods work correctly again. Also support network paths specified using forward slashes; e.g., `//example.com/share/foo.txt`.
Simplify SystemIOWindows.GetFullPath since Path.GetFullPath will honor `\\?\` prefixes and can replace forward slashes with backslashes, etc.
Copy and adapt source for Path.IsPathFullyQualified from https://github.com/dotnet/runtime , which is MIT licensed.
Add unit test for Duplicati.CommandLine.BackendTool to validate the fix.
This fixes #4632 .
2021-11-06 17:14:18 -07:00
Kenneth Skovhede
4911cfdaa4
Reworked AlphaFS and AlphaVSS to use pre-built versions targeting netstandard2.0 to avoid excessive warnings on build.
...
Still needs to include he native files.
2021-04-03 21:50:52 +02:00
Thomas Suckow
acea2fe10f
upstream
...
Update Telegram SharpAESCrypt dep
Update SystemIOWindows to split the difference
# Conflicts:
# BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.csproj
# BuildTools/AutoUpdateBuilder/packages.config
# BuildTools/DependencyFinder/DependencyFinder.csproj
# BuildTools/DependencyFinder/packages.config
# BuildTools/GnupgSigningTool/GnupgSigningTool.csproj
# BuildTools/UpdateVersionStamp/UpdateVersionStamp.csproj
# BuildTools/UpdateVersionStamp/app.config
# 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/RecoveryTool/packages.config
# Duplicati/CommandLine/app.config
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
# Duplicati/GUI/Duplicati.GUI.TrayIcon/packages.config
# Duplicati/Library/AutoUpdater/Duplicati.Library.AutoUpdater.csproj
# Duplicati/Library/AutoUpdater/app.config
# Duplicati/Library/AutoUpdater/packages.config
# Duplicati/Library/Backend/AlternativeFTP/Duplicati.Library.Backend.AlternativeFTP.csproj
# Duplicati/Library/Backend/AlternativeFTP/app.config
# Duplicati/Library/Backend/AlternativeFTP/packages.config
# Duplicati/Library/Backend/AzureBlob/Duplicati.Library.Backend.AzureBlob.csproj
# Duplicati/Library/Backend/AzureBlob/packages.config
# Duplicati/Library/Backend/Backblaze/Duplicati.Library.Backend.Backblaze.csproj
# Duplicati/Library/Backend/Backblaze/packages.config
# Duplicati/Library/Backend/Box/Duplicati.Library.Backend.Box.csproj
# Duplicati/Library/Backend/Box/packages.config
# Duplicati/Library/Backend/CloudFiles/Duplicati.Library.Backend.CloudFiles.csproj
# Duplicati/Library/Backend/CloudFiles/app.config
# Duplicati/Library/Backend/Dropbox/Duplicati.Library.Backend.Dropbox.csproj
# Duplicati/Library/Backend/Dropbox/packages.config
# Duplicati/Library/Backend/FTP/Duplicati.Library.Backend.FTP.csproj
# Duplicati/Library/Backend/FTP/app.config
# Duplicati/Library/Backend/File/Duplicati.Library.Backend.File.csproj
# Duplicati/Library/Backend/File/app.config
# Duplicati/Library/Backend/GoogleServices/Duplicati.Library.Backend.GoogleServices.csproj
# Duplicati/Library/Backend/GoogleServices/packages.config
# Duplicati/Library/Backend/HubiC/Duplicati.Library.Backend.HubiC.csproj
# Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
# Duplicati/Library/Backend/Mega/Duplicati.Library.Backend.Mega.csproj
# Duplicati/Library/Backend/Mega/packages.config
# Duplicati/Library/Backend/OAuthHelper/Duplicati.Library.OAuthHelper.csproj
# Duplicati/Library/Backend/OAuthHelper/packages.config
# Duplicati/Library/Backend/OneDrive/Duplicati.Library.Backend.OneDrive.csproj
# Duplicati/Library/Backend/OneDrive/packages.config
# Duplicati/Library/Backend/OpenStack/Duplicati.Library.Backend.OpenStack.csproj
# Duplicati/Library/Backend/OpenStack/packages.config
# Duplicati/Library/Backend/Rclone/Duplicati.Library.Backend.Rclone.csproj
# Duplicati/Library/Backend/Rclone/packages.config
# Duplicati/Library/Backend/S3/Duplicati.Library.Backend.S3.csproj
# Duplicati/Library/Backend/S3/app.config
# Duplicati/Library/Backend/S3/packages.config
# Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
# Duplicati/Library/Backend/SSHv2/packages.config
# Duplicati/Library/Backend/SharePoint/Duplicati.Library.Backend.SharePoint.csproj
# Duplicati/Library/Backend/SharePoint/app.config
# Duplicati/Library/Backend/Sia/Duplicati.Library.Backend.Sia.csproj
# Duplicati/Library/Backend/Sia/packages.config
# Duplicati/Library/Backend/TahoeLAFS/Duplicati.Library.Backend.TahoeLAFS.csproj
# Duplicati/Library/Backend/TahoeLAFS/packages.config
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/Tardigrade/packages.config
# Duplicati/Library/Backend/WEBDAV/Duplicati.Library.Backend.WEBDAV.csproj
# Duplicati/Library/Backend/WEBDAV/app.config
# Duplicati/Library/Common/Duplicati.Library.Common.csproj
# Duplicati/Library/Common/IO/SystemIOWindows.cs
# Duplicati/Library/Common/app.config
# Duplicati/Library/Common/packages.config
# Duplicati/Library/Compression/Duplicati.Library.Compression.csproj
# Duplicati/Library/Compression/app.config
# Duplicati/Library/Compression/packages.config
# Duplicati/Library/DynamicLoader/Duplicati.Library.DynamicLoader.csproj
# Duplicati/Library/DynamicLoader/app.config
# Duplicati/Library/Encryption/Duplicati.Library.Encryption.csproj
# Duplicati/Library/Encryption/packages.config
# Duplicati/Library/Interface/Duplicati.Library.Interface.csproj
# Duplicati/Library/Localization/Duplicati.Library.Localization.csproj
# Duplicati/Library/Localization/packages.config
# Duplicati/Library/Logging/Duplicati.Library.Logging.csproj
# Duplicati/Library/Logging/app.config
# Duplicati/Library/Main/Duplicati.Library.Main.csproj
# Duplicati/Library/Main/app.config
# Duplicati/Library/Main/packages.config
# Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
# Duplicati/Library/Modules/Builtin/packages.config
# Duplicati/Library/SQLiteHelper/Duplicati.Library.SQLiteHelper.csproj
# Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
# Duplicati/Library/Snapshots/app.config
# Duplicati/Library/Snapshots/packages.config
# Duplicati/Library/UsageReporter/Duplicati.Library.UsageReporter.csproj
# Duplicati/Library/UsageReporter/packages.config
# Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
# Duplicati/Library/Utility/app.config
# Duplicati/Library/Utility/packages.config
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.Serialization/Duplicati.Server.Serialization.csproj
# Duplicati/Server/Duplicati.Server.Serialization/packages.config
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/app.config
# Duplicati/Server/packages.config
# Duplicati/Service/Duplicati.Service.csproj
# Duplicati/Service/app.config
# Duplicati/Tools/Duplicati.Tools.csproj
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
# Duplicati/UnitTest/RestoreHandlerTests.cs
# Duplicati/UnitTest/app.config
# Duplicati/UnitTest/packages.config
# Duplicati/WindowsService/App.config
# Duplicati/WindowsService/WindowsService.csproj
# Tools/SQLiteTool/App.config
# Tools/SQLiteTool/SQLiteTool.csproj
# thirdparty/TlsTest/TlsTest.csproj
# thirdparty/UnixSupport/UnixSupport.csproj
# thirdparty/mozroots/mozroots.csproj
2020-12-29 09:59:42 -08:00
Dean Ferreyra
2e777b2711
Change tests to work with long paths in Windows
...
Change SystemIOWindows.PathGetFullPath() to convert forward
slashes to backslashes.
Change Duplicati.UnitTest.BasicSetupHelper.ZipFileExtractToDirectory()
to rely on slash fix-ups.
2020-07-30 05:08:18 -07:00
Dean Ferreyra
73e31a79a1
Change tests to work with long paths in Windows
...
Even in .NET 4.6.2
`System.IO.Compression.ZipFile.ExtractToDirectory()` cannot handle
long paths. Replace call to
`System.IO.Compression.ZipFile.ExtractToDirectory()` with an
equivalent that extracts files to a temporary location and uses I/O
functions that support long paths to move them to their final
location.
In CommandLineOperationsTests.cs, use ISystemIO functions to handle
potentially long paths.
Add a fix to RecoveryTool for long paths that was missed by #4258 .
This fixes #3863 .
2020-07-28 05:51:53 -07:00
Dean Ferreyra
d154702020
Support problematic Windows paths
...
Fix pull request string comparisons in SystemIOWindows.cs to use
StringComparison.Ordinal.
Fix pull request to use SystemIO.IO_WIN.PathCombine() in
WindowsSnapshot.cs.
2020-07-19 16:24:51 -07:00
Dean Ferreyra
6acbbf2136
Support problematic Windows paths
...
Allow historically problematic Windows paths (i.e., files or
directories that end in a dot or a space) to be backed up with
Duplicati in Windows.
This fixes #3839 .
2020-07-17 21:50:29 -07:00
Max
c882953fdd
upstream
2020-05-31 13:50:13 +02:00
Kenneth Hsu
1249267f6e
Remove unused members from Duplicati.Library.Common.
2020-04-05 14:36:28 -07:00
Rod Savard
c247d01c6e
remove spaces
2020-03-18 04:57:25 -07:00
Rod Savard
b30fdfe34d
add comment and simplify key value assignment
2020-03-17 21:35:19 -07:00
Rod Savard
4c41fd691a
only store inheritance breaks in metadata when true
2020-03-17 06:48:00 -07:00
warwickmm
e32d14fa12
Merge pull request #4031 from drwtsn32x/fix-broken-inheritance
...
Fix issue restoring permissions with inheritance breaks.
2020-01-01 11:42:52 -08:00
drwtsn32x
e0c940fb45
variable name change
2019-12-28 20:37:23 -08:00
drwtsn32x
ab23d646b6
remove serializer since we only store single bool
2019-12-26 08:32:31 -08:00
drwtsn32x
ddce687b14
don't read rules unless we are restoring permissions
2019-12-26 08:03:06 -08:00
drwtsn32x
aa7d4150b3
clean up if block
2019-12-26 07:51:30 -08:00
drwtsn32x
9bca37f29f
tweak
2019-12-25 21:17:02 -08:00
drwtsn32x
e76be20e34
back up and restore inheritance breaks
2019-12-25 20:56:28 -08:00
Max
4d62e9584d
Upgrade of AlphaVSS
2019-12-25 18:34:40 +01:00
Max
41a5591532
upstream
2019-12-25 16:34:56 +01:00
warwickmm
578faba5bc
Merge pull request #4030 from drwtsn32x/fix-issue-4028
...
Fix bug in restoring file permissions on Windows.
2019-12-24 18:35:32 -08:00
User
5f06b4ac0c
Add JsonProperty
2019-12-24 07:21:25 -08:00
Kenneth Hsu
83ac03843d
Fix spelling errors in comments.
...
In doing so, we also normalized some line endings.
2019-12-14 09:52:55 -08:00
User
74b0811061
add comment
2019-12-03 19:33:45 -08:00
User
b1b45228c2
fix long path test
2019-12-03 18:07:23 -08:00
Kenneth Hsu
2aa76881a5
Mark fields that don't need to be reassigned as readonly.
...
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2019-10-19 13:59:22 -07:00
Kenneth Hsu
772cd5aaef
Use dedicated method to create symbolic links to directories.
...
The methods that accepted a SymbolicLinkTarget parameter have been
deprecated.
2019-09-14 10:44:12 -07:00
Michal Naiman
cff004df76
fixes for AlphaFS long path
2019-04-28 23:32:30 +02:00
Kenneth Hsu
b5d9451b33
Remove redundant casts.
2019-01-21 19:30:52 -08:00
verhoek
e2c2bc1a79
Moved method to bottom to let the PathTooLong* methods group together.
2018-11-29 09:37:10 +01:00
verhoek
9ce8471bde
Cache serializer.
2018-11-29 09:32:42 +01:00
verhoek
bb7062d34b
Regrouped methods.
2018-11-29 09:13:13 +01:00