Commit Graph
4937 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub 976173fd49 Merge pull request #4512 from warwickmm/make_filters_match_newline
Make dot in filter regex match newline characters
2021-08-11 10:30:59 +02:00
Kenneth Hsu 356f270b12 Fix handling of FTP paths that contain escaped characters.
This fixes #4587.
2021-08-10 11:08:31 -07:00
Max bfdeae06d8 Fix server certificate on Linux 2021-07-27 12:48:03 +02:00
warwickmmandGitHub 184dfeae78 Merge pull request #4492 from TopperDEL/storj-dcs-update
Add Storj DCS backend and deprecated Tardigrade DCS backend.

Storj renamed their "Tardigrade Decentralized Cloud Storage" product to "Storj DCS".  This adds a new Storj DCS backend and deprecates the old Tardigrade one.  A warning is issued to inform Tardigrade users to modify their configurations to use the new backend.

This also adds a passphrase verification field to ensure that the user has provided the correct encryption passphrase.
2021-07-20 08:28:54 -07:00
TopperDEL ad63833a32 fix: Remove unnecessary backend-parameter "secret-verify" 2021-07-20 10:17:44 +02:00
TopperDEL a2a7e4b7ba fix: New GUID in AssemblyInfo, too 2021-07-19 09:26:58 +02:00
TopperDEL a785324102 fix: Add "Deprecated" to Tardigrade-Strings 2021-07-19 09:22:05 +02:00
TopperDEL 0c9435fe7b fix: Use fresh GUID for Tardigrade-Backend-Project 2021-07-19 09:21:08 +02:00
TopperDEL fc55b16992 fix: More info in deprecation-warning 2021-07-16 08:34:01 +02:00
TopperDEL 64d33e7923 fix: Guid in AssemblyInfo 2021-07-16 08:31:06 +02:00
TopperDEL 7a96d3d7ed fix: build errors 2021-07-15 20:26:26 +02:00
TopperDEL ff6cc959eb feat: Update MacOS-binaries 2021-07-15 17:44:55 +02:00
TopperDEL 2cec06252c feat: Update uplink.NET to latest version + binaries 2021-07-15 17:43:18 +02:00
TopperDEL 5d36791aa5 feat: Inform user about deprecated Tardigrade-Backend with a warning 2021-07-15 17:37:22 +02:00
TopperDEL 7e335d36ec fix: Correctly loading of the backends in the UI 2021-07-15 17:20:57 +02:00
TopperDEL 0960fdfbd8 cleanup: Remove unnecessary old binaries 2021-07-15 17:15:41 +02:00
TopperDEL 0981c66465 feat: Create a copy of old Tardigrade-Backend with reuse of new Storj-Backend 2021-07-15 17:15:03 +02:00
Valentin c2dc922866 Mega Strings const review 2021-07-05 21:10:23 +02:00
Kenneth Hsu f2bcf470d2 Add factory method to get default AmazonS3Config instance.
This adds a method to get a default instance of AmazonS3Config.  This
accomplishes two key things:

1. Previously, the documentation for the default buffer size (8192) was
   inconsistent with the actual default value (65536).  This was due to
   differences in the property values betwen the instance used to
   generate the documentation, and that used in the actual backend
   client.

2. Disables the use of Amazon Resource Names (ARN).  This does not seem
   critical to our application.  Moreover, if the UseArnRegion property
   is not set, accessing it triggers an expensive operation (~30
   seconds) to get the region endpoint.  This causes the loading of the
   backend modules to take a long time and run afoul of HTTP request
   timeouts, causing the application to think that no backends are
   available.

   The previous version of the AWSSDK.S3 library that we used did not
   have this property, so this was not an issue until we started
   migrating away from .NET Framework.

This fixes #4543.
2021-06-28 09:52:13 -07:00
Thomas SuckowandKenneth Hsu 060b4886da Just use the nuget version of the sqlite library
This fixes #4526.
2021-06-28 09:52:13 -07:00
Valentin eda3666bc7 Add support for mega.nz two fa authentication 2021-06-26 13:39:05 +02:00
Kenneth Hsu de2a651763 Fix bug in PutAsync implementations.
Without await, the using statement can dispose the Stream before the
call to PutAsync completes, resulting in an ObjectDisposedException.

This fixes #4556.
2021-06-12 15:12:13 -07:00
Serge 5404fed634 Do not use StreamWriter 2021-06-02 19:35:40 +10:00
Serge 955dbebc03 Check contents of written test file
Before performing test write, reset stream Position to 0, otherwise test performs zero-byte write.
When performing test read, verify that file was written correctly.
2021-06-01 02:51:42 +10:00
warwickmmandGitHub ed86cca3e4 Merge pull request #4509 from sergethedev17/feature/azure-storage-sastoken
Add ability to provide SAS token for Azure backend
2021-05-30 10:15:43 -07:00
Kenneth SkovhedeandGitHub 8ee90fdf64 Merge pull request #4506 from warwickmm/mono_ssh_avoid_ecdsa_algorithms
Avoid ECDSA algorithms when using SFTP with Mono
2021-05-29 12:22:52 +02:00
Kenneth SkovhedeandGitHub 368a3a9a9b Merge branch 'master' into feature/azure-storage-sastoken 2021-05-29 12:20:30 +02:00
Kenneth SkovhedeandGitHub 2bcb0f511c Merge pull request #4513 from warwickmm/fix_bug_handlings_deprecated_options
Fix bug in handling deprecated Azure and S3 options
2021-05-29 12:17:44 +02:00
Kenneth Hsu e90eb3b2a3 Create custom Exception for remote list verification failures.
Previously, we would catch any Exception thrown by VerifyRemoteList and
perform an auto-cleanup (if specified in the options).  However, we
should only perform the auto-cleanup if VerifyRemoteList detected an
issue with the uploaded files.  Otherwise, an unrelated exception can
cause the database repair to be performed unnecessarily.  In the case of
a connection issue, this can leave the database in a corrupted state.

This fixes #4516.
2021-05-20 13:42:41 -07:00
Kenneth Hsu a5fbee0335 Simplify exception handling when testing for ECDSA support.
.NET 5 moves the responsibility to the operating system, and since
SSH.NET currently relies on the ECDsaCng class, we will simply interpret
all exceptions to mean lack of ECDSA support.
2021-05-18 12:19:49 -07:00
Kenneth Hsu c246976fbb Cache knowledge of ECDSA support using static field.
This is simpler, and would potentially allow us to query this without an
instance.
2021-05-18 10:18:14 -07:00
Kenneth Hsu 22564bb2a3 Cache knowledge of ECDSA support. 2021-05-18 10:07:33 -07:00
Kenneth Hsu bfa240c8ec Assume we have ECDSA support if our test throws exception.
It's possible that our test will no longer be valid (e.g., due to
changes in SSH.NET), so we don't want the backend to fail if our test
is no longer valid.
2021-05-18 09:06:00 -07:00
Kenneth Hsu 90dfce81b2 Construct instance of ECDsaCng to test for ECDSA support.
This more closely reflects the SSH.NET code.
2021-05-18 09:00:40 -07:00
Kenneth Hsu 3d8817608e Test for ECDSA support explicitly.
The previous implementation could possibly fail for reasons unrelated to
ECDSA support.
2021-05-16 17:29:00 -07:00
marodev a156c511da Reorder parameters of previously wrongly refactored string interpolation 2021-05-16 09:12:00 +02:00
Kenneth Hsu 29f1d2c3cb Fix bug handling deprecated Azure and S3 options.
In pull request #4443, we renamed some of the Azure and S3 options to
use dashes '-' instead of underscores '_' for consistency.  However, our
treatment of the options in the backend constructors still required that
the underscore versions be present even if the dashed version was
provided.

Now, we allow for either option to be present, but the value for the
dashed version will take precedence.
2021-05-15 14:37:53 -07:00
marodev e87688d9d3 Fix ReSharper's "Use string interpolation expression" / Code Smell 2021-05-15 17:02:57 +02:00
Serge 5b3d85fc25 Add authentication using Shared access signature token
Allow users to authenticate using a Shared access signature (SAS) token. SAS tokens are more secure because they:
 * have a start and expiry date/time
 * can be restricted to specified IP addresses
 * can limit access scope to a single Storage blob container
2021-05-15 21:22:50 +10:00
Serge 5172119864 Bugfix read non-present key from dictionary
The lines with null-coalescing operator (??) throw an exception when the dictionary does not contain the first key (eg azure_account_name). Exception thrown: "The given key was not present in the dictionary".
2021-05-15 21:03:26 +10:00
Kenneth Hsu 8d99be95d8 Make period in regex filters match newline characters.
By default, the dot (.) element matches every character _except_ the
newline character.  This causes issues with files that have a newline
character in the name.  For example, they are excluded when restoring
the containing directory.

By specifying the RegexOptions.Singleline option, the dot (.) element
will match every character, including the newline character.

This fixes #4508.
2021-05-14 18:34:41 -07:00
Kenneth Hsu b80845a176 Enumerate items to list before modifying collection. 2021-05-11 15:40:33 -07:00
Kenneth Hsu 3e2103335b SSH: Avoid advertising support for ECDSA algorithms with Mono.
SSH.NET relies on the System.Security.Cryptography.ECDsaCng class for
ECDSA algorithms, which is not implemented in Mono (as of 6.12.0.144).
This prevents clients from connecting if one of the ECDSA algorithms is
chosen as the host key algorithm.  In the event that this causes a
connection failure, we will prevent the client from advertising support
for ECDSA algorithms and make another connection attempt.

Related forum discussion:

	https://forum.duplicati.com/t/release-2-0-6-1-beta-2021-sftp-failure-synology/12358
2021-05-11 12:42:34 -07:00
warwickmmandGitHub 7b4f475762 Merge pull request #4502 from samuel-w/master
Make file extension compression hints case-insensitive.
2021-05-09 14:29:59 -07:00
samuel-wandGitHub fa79b406a2 Improve comment 2021-05-09 15:16:31 -05:00
samuel-w d05d83cf4b Add comment 2021-05-08 15:51:10 -05:00
Kenneth SkovhedeandGitHub a2fba718ba Merge pull request #4501 from warwickmm/fix_typo_in_script_examples
Fix typo in example scripts
2021-05-08 11:50:19 +02:00
Kenneth SkovhedeandGitHub a43f7c8c91 Merge pull request #4503 from samuel-w/dar-sql
Add Disk Archive files to compression hints
2021-05-08 11:48:59 +02:00
Kenneth SkovhedeandGitHub 8ce34c084b Merge pull request #4488 from warwickmm/file_backend_should_truncate
Make File backend truncate existing files when overwriting
2021-05-08 11:40:23 +02:00
samuel-w bfa24581c1 Add Disk Archive files to compression hints 2021-05-08 01:45:07 -05:00