Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/duplicati/duplicati.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-13Fix bug in PutAsync implementations.Kenneth Hsu
Without await, the using statement can dispose the Stream before the call to PutAsync completes, resulting in an ObjectDisposedException. This fixes #4556.
2021-05-18Simplify exception handling when testing for ECDSA support.Kenneth Hsu
.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-18Cache knowledge of ECDSA support using static field.Kenneth Hsu
This is simpler, and would potentially allow us to query this without an instance.
2021-05-18Cache knowledge of ECDSA support.Kenneth Hsu
2021-05-18Assume we have ECDSA support if our test throws exception.Kenneth Hsu
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-18Construct instance of ECDsaCng to test for ECDSA support.Kenneth Hsu
This more closely reflects the SSH.NET code.
2021-05-17Test for ECDSA support explicitly.Kenneth Hsu
The previous implementation could possibly fail for reasons unrelated to ECDSA support.
2021-05-12Enumerate items to list before modifying collection.Kenneth Hsu
2021-05-11SSH: Avoid advertising support for ECDSA algorithms with Mono.Kenneth Hsu
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-01-24Update SSH.NET to version 2020.0.1.Kenneth Hsu
From the release notes: Even though RFC 4253 requires that an identification string MUST be terminated by a carriage return and line feed, this fix restores support for banners and identification strings that are only terminated by a line feed. This is a workaround for an issue in version 7.4 of OpenSSH which was fixed in version 7.5.
2020-12-31Update SSH.NET to version 2020.0.0.Kenneth Hsu
This includes support for additional key exchange algorithms, host key algorithms, and private key formats. https://github.com/sshnet/SSH.NET/releases/tag/2020.0.0 This fixes #2808, #2950, #3360, and #4378.
2020-07-27Target .NET Framework 4.7.1.Kenneth Hsu
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.
2019-12-18Indentation cleanup.verhoek
2019-12-12Esthetical changes to SSH2 backend code.verhoek
Mostly auto suggested from IDE.
2019-07-31update csproj toolverion and nuget packagesBlueBlock
2019-07-26initial upgrade to framework 4.6.2BlueBlock
- 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-03-18Change Put method name to PutAsyncSean Templeton
2019-03-04Change IBackend and IStreamingBackend to return Task for Put()Sean Templeton
2018-12-12Use invariant culture in calls to ToLower and ToUpper.Kenneth Hsu
2018-11-22Remove unnecessary local variable.Kenneth Hsu
2018-11-22Use 'this' keyword to improve readability.Kenneth Hsu
2018-11-22Create parent directories as needed for SFTP backend.Kenneth Hsu
If the user specifies a path with multiple directories that do not exist, the SftpClient.CreateDirectory method does not create all the missing parent directories. As such, we have to do so ourselves. This addresses issue #2080.
2018-11-03Updated project files.verhoek
2018-11-02Renamed Library.IO to Library.Common.IO.verhoek
Moved basic Platform functions to Library.Common.Platform. Turned IO_OS into property within Library.Common.
2018-10-27Moved basic IO helper functions to Library.IO.verhoek
2018-10-07Replace chained LINQ calls with call to overload with predicate.Kenneth Hsu
This simplifies the code by reducing the number of enumerators created while also making the code slightly more readable.
2018-09-22Use utility method to append trailing slash.Kenneth Hsu
This removes some duplicated code.
2018-09-20Use ordinal case-insensitive comparison instead of ToLower.Kenneth Hsu
2018-06-04Merge pull request #3242 from warwickmm/remove_ineffective_statementsKenneth Skovhede
Remove ineffective statements
2018-05-26Remove ineffective statements.Kenneth Hsu
The removed code was introduced in revision ba58651e5a ("Fix for CreateFolder with SSH"), presumably to fix an issue where some SSH backends did not like the trailing slash when creating new folders. However, since we are not using the output argument of the call to Substring, these statements have no effect.
2018-05-25Mark fields that shouldn't be reassigned as readonly.Kenneth Hsu
This makes it explicit at compile-time that these fields should not be reassigned outside the constructor.
2018-03-15Implemented a new logging system that is more transparent and allows a more ↵Kenneth Skovhede
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-02-26Added support for returning multiple DNS names for cache invalidation.Kenneth Skovhede
Updated most backends to return the actual DNS names for cache invalidation.
2018-02-22changed from NYI to null returns. Added check to skip DNS check if no ↵Rune Henriksen
DNSName is provided
2018-02-18added DNSName getter on Backend interface and added NotImplementedException ↵Rune Henriksen
methods on each backend class
2017-11-27Merge pull request #2910 from warwickmm/refactor/remove_redundant_tostringKenneth Skovhede
Remove redundant calls to ToString
2017-11-27Remove redundant calls to ToString.Kenneth Hsu
2017-11-26Make string comparisons use ordinal (binary) sort rules.Kenneth Hsu
These string comparisons should not be culture-aware.
2017-11-19Added a friendly error message if the SSH key fails to parse/load.Kenneth Skovhede
This fixes #2856
2017-10-16Avoid signing assemblies.Kenneth Hsu
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-09-26Change IBackend.List() to return IEnumerable instead of ListTyler Gill
By changing to IEnumerable, it is possible to iterate only a portion of the list, which is useful when not all entries are needed (e.g., when testing a connection). All existing backends have been updated, and any which were able to be changed to yield return results in a straightforward way now do. Many backends had a try/catch in the List() method. Due to the fact that yield returns can't be placed within a try/catch block, these have been refactored to either scope the try/catch to the parts that (should) be the only places throwing exceptions, so that exceptions are still caught and handled. Note that lazy evaluation may cause some changes in behavior - exceptions that were previously thrown at the point of invokation of List() may now be thrown while it is being enumerated. I believe this will not be problematic though, as the only well-known exception seems to be FolderMissingException, which should be thrown by Test(), but TestList() attempts to enumerate the list to force this exception. Any places that require the legacy behavior can get it by simply converting the lazy enumerable to a List()
2017-09-23Updated Renci.SSHKenneth Skovhede
2017-09-23Bugfix: better error message when there is no password for SSH backendKenneth Skovhede
2017-09-19Replace all instances of InvariantCultureIgnoreCase with OrdinalIgnoreCase ↵Tyler Gill
in string comparisons. InvariantCulture is useful when comparing / sorting human language strings in a culturely correct way. It handles things like accented letters in a way that makes sense to humans (e.g., 'a' should be sorted next to 'á', rather than after 'z'). Ordinal looks just at the raw code points of the characters. As such, it is recommended for use in cases when comparing system strings (file paths, command line parameters, config settings, etc.). Since it doesn't need to use the culture specific sorting rules, this method can often be faster. For more information, see https://stackoverflow.com/questions/492799/difference-between-invariantculture-and-ordinal-string-comparison (and other related questions)
2017-09-01String fixKenneth Skovhede
2017-08-29Updated SSH library to 2016.1.0-beta2 to see if speed improvements are workingKenneth Skovhede
2017-08-06Added extra options to SSH that exposes the operation timeout and keep-alive ↵Kenneth Skovhede
properties.
2017-01-09Implemented better default error messsagesKenneth Skovhede
2016-12-30Disabled MSBuild for much faster builds on MacOSKenneth Skovhede
2016-12-03Removed custom handling of the SSH fingerprints.Kenneth Skovhede
This fixes #2109