Commit Graph
91 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub ec1975b5a7 Merge pull request #4269 from warwickmm/target_net_471
Target .NET Framework 4.7.1
2020-08-07 10:50:35 +02: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
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
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
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
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
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
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
Kenneth Skovhede e6535e2cfa Merge branch 'master' of github.com:duplicati/duplicati
# Conflicts:
#	Duplicati/Server/WebServer/RESTMethods/UISettings.cs
2018-06-04 10:48:11 +02:00
Kenneth Hsu afdae80716 Fix line ending issues. 2018-06-02 13:19:49 -07:00
Kenneth Hsu e2b671bf9e Provide missing values to format items. 2018-06-02 12:05:57 -07:00
Kenneth Hsu f12858e6a5 Mark fields that shouldn't be reassigned as readonly.
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2018-05-25 10:04:52 -07:00
verhoek 7bf1768f80 Implemented default tempdir for backend server. 2018-05-22 21:51:29 +02:00
Kenneth Hsu 8c0128b0f9 Provide missing value to format item. 2018-05-12 17:06:12 -07:00
Kenneth Skovhede 842fd96543 Implemented a new logging system that is more transparent and allows a more granular way of picking log messages.
Added ID's to each log message and each exception to allow later introduction of a Knowledgebase service that explains each error in more detail.
2018-03-15 09:12:34 +01:00
wjan 8500988d7c adds rclone UI and backend improvements 2018-01-10 15:33:28 +01:00
vnau e78c3f8650 Removed throw expressions to avoid Microsoft compiler bug. 2017-12-25 22:59:17 +07:00
vnau 62a7901aca Compression modules refactored to work with streams instead of filenames;
Added unit test to check compression reversibility
2017-12-25 04:12:19 +07:00
vnau 01ec66cdc5 Removed AutoGenerateBindingRedirects compile warnings. 2017-12-17 01:50:17 +07:00
Kenneth SkovhedeandGitHub 36aadc4ad1 Merge pull request #2910 from warwickmm/refactor/remove_redundant_tostring
Remove redundant calls to ToString
2017-11-27 08:50:00 +01:00
Kenneth Hsu 5fb1958ceb Remove redundant calls to ToString. 2017-11-26 15:44:34 -08:00
Kenneth Hsu 8810e0130d Make string comparisons use ordinal (binary) sort rules.
These string comparisons should not be culture-aware.
2017-11-26 11:19:54 -08:00
Kenneth Hsu 3d51e9153b Avoid signing assemblies.
Using strong-named assemblies can cause difficulties with the GNU LGPL
license, which allows for one to recombine or relink their application
with modified versions of the code.  While one solution is to share the
private key so that people can sign the assemblies themselves, this
would break the trust that is expected from signed assemblies.  For now,
the easiest fix is to simply not sign the assemblies.  Note that by
doing so, we prevent the code from being referenced from other signed
assemblies.

This also fixes an issue introduced in revision ba94d36a80 ("Added
auto-update for WindowsService and Service."), where the WindowsService
project (signed) referenced the AutoUpdater project (not signed).

We also removed instances of <SignAssembly>false</SignAssembly> to be
consistent with newly created .csproj files that do not contain the
SignAssembly element.

This was motivated by the discussion in issue #2814.
2017-10-15 22:00:23 -07:00