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
2022-06-23Disable automatic use of v2 authid for Jottacloudalbertony
2021-03-24Move Retry-After logic to RetryAfterHelper to make it easier for other ↵Tyler Gill
backends to incorporate it.
2021-03-22OAuthHttpClient should behave the same as the WebRequest code path and treat ↵Tyler Gill
no http-operation-timeout override as meaning to use an infinite timeout.
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.
2020-05-10The purpose of this update is to provide better error messages from servers ↵Kenneth Skovhede
that return error messages, but are expected to return JSON data. In the current setup, the response stream is parsed by the JSON decoder, which throws an exception due to reading a non-json formatted error message. The reported exception simply states that the first character on the first line was not valid json, which is true, but does not help diagnose the problem. In many cases this is a human readable message, such as "over quota", "permission denied", etc. This update adds a stream that keeps the first 2kb of the response in an internal buffer, which can then be printed in case the JSON parsing fails. Most of the added code is just simple redirects for calling the base stream in the peeking stream.
2020-03-25Merge pull request #4145 from tygill/feature/ms-graph-non-httpclientKenneth Skovhede
Allow MS Graph backends (e.g., OneDrive v2) to use OAuthHelper instead of OAuthHttpClient
2020-03-24Add ConfigureAwait(false) to JSONWebHelper.csTyler Gill
2020-03-23Add --use-http-client=false parameter to backends based on Microsoft Graph ↵Tyler Gill
APIs (OneDrive v2, SharePoint v2, etc.) to make them use the OAuthHelper and HttpWebRequest infra used by most / all other backends for HTTP requests. This lives in parallel to the original implementation that uses the OAuthHttpClient class, but is intended to see if this prevents the memory leaks and problems seen in some versions of Mono when using the OneDrive v2 backend.
2020-03-05Throw TimeoutException when an HTTP timeout occurs.Kenneth Hsu
The HttpClient.GetAsync method throws an OperationCanceledException when the timeout is exceeded. In order to provide a more informative exception, we will detect this case and throw a TimeoutException instead. This is related to issue #3772.
2019-12-14Fix spelling errors in comments.Kenneth Hsu
In doing so, we also normalized some line endings.
2019-10-23Support BufferRequests in HttpClient based backendsTyler Gill
2019-10-21Merge pull request #3953 from warwickmm/make_fields_readonlyKenneth Skovhede
Mark fields that don't need to be reassigned as readonly
2019-10-19Mark fields that don't need to be reassigned as readonly.Kenneth Hsu
This makes it explicit at compile-time that these fields should not be reassigned outside the constructor.
2019-10-19Use pattern matching to simplify casts.Kenneth Hsu
2019-09-09Add workaround for bug in Mono HttpClient.Kenneth Hsu
There is a regression in Mono 6.0 where an HttpClient with a BaseAddress cannot make requests to URLs that begin with '/'. This addresses issue #3852.
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-07-07Remove unused variable that caused compiler warning.Kenneth Hsu
2019-05-27Rename method parameter.Kenneth Hsu
2019-05-27Add XML comment for method parameter.Kenneth Hsu
2019-05-27Throw TimeoutException upon HTTP timeout.Kenneth Hsu
The HttpClient.SendAsync method throws an OperationCanceledException when the timeout is exceeded. In order to provide a more informative exception, we will detect this case and throw a TimeoutException instead. This will also allow the BackendUploader to differentiate between cancellations requested by the user and those generated by an HTTP timeout. Previously, a ThreadAbortException or OperationCanceledException would be rethrown in the BackendUploader.DoWithRetry method. However, the modifications made in revision 61f511c087ae0e3fbb6295484a8bd9e36720f1b7 from pull request #3684 appear to have let this case slip through. See the following links for more information: https://stackoverflow.com/questions/10547895/how-can-i-tell-when-httpclient-has-timed-out https://thomaslevesque.com/2018/02/25/better-timeout-handling-with-httpclient This addresses issue #3772.
2019-05-27Provide cancellation token to async methods.Kenneth Hsu
2019-05-05Use AsyncHttpRequest to handle async HttpWebRequests.Kenneth Hsu
For some reason, when using HttpWebRequest.GetRequestStreamAsync, the Amazon Cloud Drive and Box backends would fail when attempting to upload larger amounts of data (these are the only backends that use the PostMultipartAsync method). This fixes issue #3756.
2019-03-14Fix several Codacy issuesSean Templeton
2019-03-06Update HubiC and OpenStack backends for async PutSean Templeton
2019-03-06Update Azure Blob and Backblaze B2 backends for async PutSean Templeton
2019-03-06Update Amazon Cloud Drive backend for async PutSean Templeton
2018-10-16Remove unused members.Kenneth Hsu
2018-09-21Simplify method resolution by removing default parameters.Kenneth Hsu
The previous implementations resulted in an overload being hidden by one without a default parameter, making it unclear which method was being called. For example, consider the following signatures: public MultipartItem(string content, string contenttype = null, string name = null, string filename = null) public MultipartItem(string contenttype, string name = null, string filename = null) From https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments, > If two candidates are judged to be equally good, preference goes to a > candidate that does not have optional parameters for which arguments > were omitted in the call. This is a consequence of a general preference > in overload resolution for candidates that have fewer parameters.
2018-06-22Allow tasks to complete on any thread when context is irrelevant.Kenneth Hsu
When the code following the await can be executed on any thread, it's recommended to use ConfigureAwait(false) to avoid unnecessary context switching and potential deadlocks.
2018-06-07Merge remote-tracking branch 'origin/master' into feature/tempdirverhoek
# Conflicts: # Duplicati/Server/Runner.cs (copied readonly prop)
2018-06-04Fix typo in OAuthHttpClientTyler Gill
2018-05-26Added multiple context setting keys to callcontextsettings, exploitingverhoek
reflection. Contextsettings don't destroy each other anymore.
2018-05-09Renamed variable to indicate meaning properly.verhoek
2018-03-24Add new utility class, OAuthHttpClient.Tyler Gill
This class extends HttpClient and uses an OAuthHttpMessageHandler under the covers to automatically authenticate requests. Additionally, it automatically respects the global HttpContextSettings for overall timeout, read/write timeout, and SSL certificate validation. (BufferRequests isn't currently handled, as HttpClient doesn't seem to easily expose that flag, and as of .NET 4.5, seems to not buffer by default.)
2018-03-21Make m_oauth readonly in OAuthHttpMessageHandler.Tyler Gill
2018-03-20Merge branch 'master' of https://github.com/duplicati/duplicati into ↵Tyler Gill
feature/ms-graph-backends
2018-03-20Add OAuthHttpMessageHandler helper class to OAuthHelper library.Tyler Gill
This class implements the abstract HttpMessageHandler class (mostly via the default HttpClientHandler implementation). This abstract class is used by System.Net.Http.HttpClient as the underlying HTTP mechanism, and in this particular case is used to automatically add an authorization header to each request. It also provides a method for marking a request as one that should not be authenticated.
2018-03-20Update JSONWebHelper.PostAndGetJSONData to remove parameters that aren't ↵Tyler Gill
actually being used (setup and setupreq). These parameters weren't being used in the method body, or being passed in by any callers (it looks like a copy / paste error when a previous method was converted into this one) These are replaced with a new optional parameter (method) which allows the caller to request a custom HTTP method to be used.
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.
2017-11-27Remove redundant calls to ToString.Kenneth Hsu
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-23Updated all Newtonsoft.Json packagesKenneth Skovhede
2017-09-04Implemented call-context aware settings for HTTP options, temp folder ↵Kenneth Skovhede
settings, buffers sizes and oauth settings. This makes it more smooth to run multiple operations in parellel, but it should be possible to launch an operation in a separate app-domain
2017-05-17Updated NewtonSoft.JsonKenneth Skovhede
2017-03-03Spelling fix in documentationKenneth Skovhede
2017-01-09Implemented better default error messsagesKenneth Skovhede
2016-12-30Disabled MSBuild for much faster builds on MacOSKenneth Skovhede
2016-09-15Fixed all whitespace to be 4 spaces instead of tabsKenneth Skovhede
2016-09-08Extended OAuthHelper to work better with the Dropbox OAuth implementationKenneth Skovhede