Files
duplicati/Duplicati/CommandLine/BackendTool
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
..
2015-01-20 21:44:52 +01:00