Commit Graph
157 Commits
Author SHA1 Message Date
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
Kenneth Hsu e964072690 Target .NET Framework 4.7.1.
This updates all projects to target .NET Framework 4.7.1.  The
TencentCOS and Tardigrade backends depend on .NET Standard 2.0.  When a
.NET Framework prior to 4.7.1 is targeted, the system cannot be sure
that all the dependencies exist, so it copies all dependent assemblies
to the output directory.  This causes many assemblies from the System
namespace to become bundled in the release.

https://stackoverflow.com/a/48875007

We had previously attempted to make individual projects target 4.7.1
(see pull request #4242), but this can cause compatibility issues when
4.6.2 projects depend on 4.7.1. projects.

This will require Mono 5.10.0 or greater (previously, we required 5.0.0
or greater).

https://www.mono-project.com/docs/about-mono/releases/5.10.0/#class-libraries

This fixes issue #4234.
2020-07-26 19:46:01 -07:00
warwickmmandGitHub e7daffcb31 Merge pull request #4256 from dferreyra/support_problematic_windows_paths
Support problematic Windows paths that end with spaces or periods.
2020-07-25 17:48:50 -07:00
Dean Ferreyra f53876d0a4 Fix Recovery Tool handling of paths with dashes
In Duplicati.CommandLine.RecoveryTool, the `index` and `list` commands
do not recognize Duplicati backup files when those files are in paths
containing dashes.

For example, without this change, if you call
```
Duplicati.CommandLine.RecoveryTool index C:\Temp\duplicati-tests\recovery-tool\backup-files
```
the Duplicati backup files are displayed, but the recovery tool
reports "Not a Duplicati file, ignoring" for each of them.
2020-07-19 18:01:52 -07:00
Dean Ferreyra fd186712b4 Support problematic Windows paths
Change "Duplicati.CommandLine.RecoveryTool restore" to support
restoring long paths, and files and directories that end in a dot or a
space when run on Windows.
2020-07-19 06:43:30 -07:00
Max b008aed1f3 migrate to net5 + runnable 2020-06-03 00:00:38 +02:00
Max 3f2eb254c3 buildable again 2020-05-31 14:38:14 +02:00
Max c882953fdd upstream 2020-05-31 13:50:13 +02:00
Kenneth Skovhede 3313f46b80 Include Tardigrade reference in all projects that include backends, as this makes it easier to use when debugging 2020-05-28 09:53:24 +02:00
Kenneth Hsu a734a365a3 Minor code cleanup. 2020-01-23 20:41:17 -08:00
Kenneth Hsu dce5943864 Create index in memory by default but allow option to use files.
Performance is greatly improved if we can create the index in memory.
We preserve the ability to create the index using files for recovery in
low resource environments.
2020-01-23 20:41:17 -08:00
Kenneth Hsu 3c778025f4 Salvage file-based index for recovery in low memory situations.
We will plan to default to the in-memory index, but allow one to use the
file-based index if the memory requirements are too high.
2020-01-23 20:31:43 -08:00
thomas.friedelandKenneth Hsu 8848ad4a74 use SortedDict to sort index in memory 2020-01-23 20:07:29 -08:00
Kenneth Hsu 25d7cea6c7 Dispose of HashLookupHelper after use.
The HashLookupHelper contains an open FileStream that needs to be
closed.
2020-01-18 14:44:05 -08:00
Kenneth Hsu bfbae6fcaf Add test for restoring files using RecoveryTool. 2020-01-18 09:36:03 -08:00
Max 7e2218663e Add Compat Analyzers 2019-12-25 19:08:52 +01:00
Max 28793ef204 packages update 2019-12-25 18:21:24 +01:00
Kenneth Hsu 53a35e6e06 Remove support for Amazon Cloud Drive.
Amazon discontinued access to the Cloud Drive API.

See https://forum.duplicati.com/t/amazon-cloud-drive-discontinued/7391.
2019-12-01 10:36:36 -08:00
BlueBlock 95584c2d0f set project type to netcoreapp 2019-09-06 16:55:42 -04:00
Max 62d64c3ab0 upstream 2019-09-05 15:34:09 +02:00
Kenneth Skovhede 2e36c7222e Revert "Updated app.config files to redirect newtonsoft versions 0.0.0.0-12.0.2.0 to 12.0.2.0."
This reverts commit 93ace63d4f.
2019-09-02 21:51:00 +02:00
Kenneth Skovhede 93ace63d4f Updated app.config files to redirect newtonsoft versions 0.0.0.0-12.0.2.0 to 12.0.2.0. 2019-09-02 14:49:19 +02:00
BlueBlock c7005ca95b remove system.net nuget packages
we should rely on the system.net packages on the system
2019-08-04 15:33:56 -04:00
BlueBlock e6588fbfc2 adjust config for known bug
A known bug causes the incorrect config entry for system.net.http where we must be adjusted to 4.2.0.0
This bug gets fixed in .NET 4.7.2
2019-08-04 15:32:10 -04:00
BlueBlock d281f67570 change exe projects to true for AutoGenerateBindingRedirects
resolves build warning for mismatching assemblies
2019-08-03 20:44:22 -04:00
BlueBlock 815e30b63b update csproj toolverion and nuget packages 2019-07-31 13:20:03 -04:00
BlueBlock 08a1e9998a initial upgrade to framework 4.6.2
- no code changes except those noted below
- projects upgrade to 4.6.2
- wixinstaller project upgraded automatically by VisualStudio
- wixinstaller updated to require 4.6.2
- Library.Encryption changed to Standard2.0 so accommodate update to SharpAesCrypt
2019-07-26 09:18:16 -04:00
Michal Naiman 787bcb57ae fixed Sharepoint backend 2019-05-01 10:29:38 +02:00
Michal Naiman ad2105aeb2 NuGet packages update 2019-05-01 09:28:46 +02:00
Michal Naiman aed2f4d5c8 Fixes related to DNC libraries interfaces 2019-04-29 00:57:02 +02:00
Michal Naiman 1bc1e58737 upstream 2019-04-28 13:45:26 +02:00
Kenneth Hsu 457254d9e1 Remove unused local variables. 2019-04-17 20:10:53 -07:00
Sean Templeton b02b19e683 Change Put method name to PutAsync 2019-03-17 18:28:45 -05:00
Sean Templeton 662627a98a Update AlternativeFtp Backend for async Put
Removed System.Net.FtpClient and added the FluentFTP Nuget package which
is the new name of System.Net.FtpClient.
2019-03-03 21:43:13 -06:00
Sean Templeton 0c122ff550 Change IBackend and IStreamingBackend to return Task for Put() 2019-03-03 21:43:10 -06:00
Kenneth Hsu 1ea1c58e58 Remove condition that is always true. 2019-01-02 15:44:40 -08:00
verhoek ab12be6bbd Renamed IsClientLinux to IsClientPosix . 2018-11-03 09:26:04 +01:00
verhoek 72b1f6b6f8 Updated project files. 2018-11-02 22:45:07 +01:00
verhoek 8bb406cd15 Migrated to use the platform class. 2018-11-02 22:17:16 +01:00
verhoek b2cc18426c Renamed Library.IO to Library.Common.IO.
Moved basic Platform functions to Library.Common.Platform.
Turned IO_OS into property within Library.Common.
2018-11-02 21:34:07 +01:00
verhoek 9fb38ebe9a Continuation of Util.DirectorySeparatorString replacements. 2018-11-02 17:48:17 +01:00
verhoek bc053df294 Moved basic IO helper functions to Library.IO. 2018-10-27 12:17:07 +02:00
Kenneth Hsu d4692e2d35 Use built-in method to expand environment variables.
After we removed the tilde expansion in revision c9aa6cf5fb ("Avoid
performing tilde expansion"), the Utility.ExpandEnvironmentVariables
method simply called System.Environment.ExpandEnvironmentVariables.  We
can simplify the code by just referencing the built-in method directly.
2018-09-22 19:59:46 -07:00
Max 881087f968 allow projects to execute 2018-09-10 14:44:44 +02:00
Max a22a7a7d24 remove of FasterHashing component 2018-09-09 14:42:40 +02:00
Max 30fab22340 unsinged whole solution 2018-09-09 14:21:55 +02:00
Max dd3271f685 recoverytool 2018-06-30 00:19:21 +02:00
Max e4997f1efc upstream 2018-06-24 12:49:51 +02:00
verhoek 3fb7175931 Merge remote-tracking branch 'origin/master' into feature/tempdir
# Conflicts:
#	Duplicati/Server/Runner.cs (copied readonly prop)
2018-06-07 16:37:40 +02:00
Kenneth Hsu 1605dc8ede Use utility method to read from stream. 2018-06-06 19:54:45 -07:00