Kenneth Skovhede
a0c0cbf3d5
Removed mentions of Mono in code, and fixed some entry paths pointing to the dll instead of the exe
2024-04-15 13:20:39 +02:00
Kenneth Skovhede
473c6cbbb8
Merge commit '4f577c65a4d8806f79637c50c21ca3a683c5a07a' into feature/kestrel-avalonia-upgrade
2024-03-04 12:21:53 +01:00
Kenneth Skovhede
5c1d6bda76
Fixes for OAuth
2024-03-01 14:30:28 +01:00
Kenneth Skovhede
aa20088c39
Tool based upgrade of all projects with some manual update
2024-03-01 14:29:54 +01:00
Kenneth Skovhede
35cc847df7
Merge branch 'master' into feature/upgrade-to-sdk-style-projects
2024-03-01 14:28:55 +01:00
Thomas Suckow
a3bbf63561
Merge remote-tracking branch 'origin/feature/upgrade-to-sdk-style-projects' into feature/net5-kestrel
...
# Conflicts:
# .appveyor.yml
# .github/workflows/tests.yml
# BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.csproj
# BuildTools/DependencyFinder/DependencyFinder.csproj
# BuildTools/GnupgSigningTool/GnupgSigningTool.csproj
# BuildTools/UpdateVersionStamp/UpdateVersionStamp.csproj
# Duplicati CommandLine Only.sln
# Duplicati.Library.RestAPI/RESTMethods/RequestInfo.cs
# Duplicati.Library.RestAPI/Runner.cs
# Duplicati.sln
# Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
# Duplicati/CommandLine/BackendTester/app.config
# Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
# Duplicati/CommandLine/BackendTool/app.config
# Duplicati/CommandLine/ConfigurationImporter/Duplicati.CommandLine.ConfigurationImporter.csproj
# Duplicati/CommandLine/Duplicati.CommandLine.csproj
# Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
# Duplicati/CommandLine/app.config
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Assets/icons/normal-warning.png
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Program.cs
# Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
# Duplicati/Library/AutoUpdater/Duplicati.Library.AutoUpdater.csproj
# Duplicati/Library/Backend/AlternativeFTP/Duplicati.Library.Backend.AlternativeFTP.csproj
# Duplicati/Library/Backend/AzureBlob/Duplicati.Library.Backend.AzureBlob.csproj
# Duplicati/Library/Backend/Backblaze/Duplicati.Library.Backend.Backblaze.csproj
# Duplicati/Library/Backend/Box/Duplicati.Library.Backend.Box.csproj
# Duplicati/Library/Backend/CloudFiles/Duplicati.Library.Backend.CloudFiles.csproj
# Duplicati/Library/Backend/Dropbox/Duplicati.Library.Backend.Dropbox.csproj
# Duplicati/Library/Backend/FTP/Duplicati.Library.Backend.FTP.csproj
# Duplicati/Library/Backend/File/Duplicati.Library.Backend.File.csproj
# Duplicati/Library/Backend/GoogleServices/Duplicati.Library.Backend.GoogleServices.csproj
# Duplicati/Library/Backend/HubiC/Duplicati.Library.Backend.HubiC.csproj
# Duplicati/Library/Backend/Idrivee2/Duplicati.Library.Backend.Idrivee2.csproj
# Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
# Duplicati/Library/Backend/Mega/Duplicati.Library.Backend.Mega.csproj
# Duplicati/Library/Backend/OAuthHelper/Duplicati.Library.OAuthHelper.csproj
# Duplicati/Library/Backend/OneDrive/Duplicati.Library.Backend.OneDrive.csproj
# Duplicati/Library/Backend/OpenStack/Duplicati.Library.Backend.OpenStack.csproj
# Duplicati/Library/Backend/Rclone/Duplicati.Library.Backend.Rclone.csproj
# Duplicati/Library/Backend/S3/Duplicati.Library.Backend.S3.csproj
# Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
# Duplicati/Library/Backend/SharePoint/Duplicati.Library.Backend.SharePoint.csproj
# Duplicati/Library/Backend/Sia/Duplicati.Library.Backend.Sia.csproj
# Duplicati/Library/Backend/Storj/Duplicati.Library.Backend.Storj.csproj
# Duplicati/Library/Backend/TahoeLAFS/Duplicati.Library.Backend.TahoeLAFS.csproj
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/TencentCOS/Duplicati.Library.Backend.TencentCOS.csproj
# Duplicati/Library/Backend/WEBDAV/Duplicati.Library.Backend.WEBDAV.csproj
# Duplicati/Library/Common/Duplicati.Library.Common.csproj
# Duplicati/Library/Compression/Duplicati.Library.Compression.csproj
# Duplicati/Library/DynamicLoader/Duplicati.Library.DynamicLoader.csproj
# Duplicati/Library/Encryption/Duplicati.Library.Encryption.csproj
# Duplicati/Library/Interface/Duplicati.Library.Interface.csproj
# Duplicati/Library/Localization/Duplicati.Library.Localization.csproj
# Duplicati/Library/Logging/Duplicati.Library.Logging.csproj
# Duplicati/Library/Main/Duplicati.Library.Main.csproj
# Duplicati/Library/Modules/Builtin/CheckMonoSSL.cs
# Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
# Duplicati/Library/Modules/Builtin/SendJabberMessage.cs
# Duplicati/Library/SQLiteHelper/Duplicati.Library.SQLiteHelper.csproj
# Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
# Duplicati/Library/UsageReporter/Duplicati.Library.UsageReporter.csproj
# Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
# Duplicati/Library/Utility/HashAlgorithmHelper.cs
# Duplicati/Library/Utility/Power/WindowsPowerSupplyState.cs
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.Serialization/Duplicati.Server.Serialization.csproj
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/app.config
# Duplicati/Service/Duplicati.Service.csproj
# Duplicati/Service/app.config
# Duplicati/Tools/Duplicati.Tools.csproj
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
# Duplicati/UnitTest/GeneralBlackBoxTesting.cs
# Duplicati/UnitTest/app.config
# Duplicati/WindowsService/WindowsService.csproj
# Installer/debian/docker/debian/control
# Tools/SQLiteTool/SQLiteTool.csproj
# Tools/ZipFileDebugger/ZipFileDebugger.csproj
# guiTests/guiTest.py
# thirdparty/UnixSupport/UnixSupport.csproj
# thirdparty/alphavss/Homepage.txt
# thirdparty/alphavss/License.txt
# thirdparty/alphavss/licensedata.json
2024-02-29 21:55:17 -08:00
Kenneth Skovhede
40dd3c6816
Updated all license mentions to MIT
2024-02-28 15:45:30 +01:00
Kenneth Skovhede
3bf6b162ca
Upgraded utility projects.
...
Removed redundant packages files.
Removed `mozroots` in prepare of switch to non-mono releases.
2024-02-26 08:24:48 +01:00
Kenneth Skovhede
22acb8bdda
Fixed compile issues after upgrade
2024-02-26 06:59:30 +01:00
Kenneth Skovhede
d7b6dd90be
Updated all projects to use SDK-style projects using upgrade-assist
2024-02-25 16:19:25 +01:00
gpatel-fr
cf17f488d1
update Newtonsoft lib to 13.02
2023-03-24 23:17:11 +01:00
Thomas Suckow
78197453a1
Merge remote-tracking branch master into feature/net5-avalonia
...
# Conflicts:
# Duplicati CommandLine Only.sln
# Duplicati.sln
# Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
# Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
# Duplicati/CommandLine/Duplicati.CommandLine.csproj
# Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
# Duplicati/Library/AutoUpdater/UpdaterManager.cs
# Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
# Duplicati/Library/Main/Duplicati.Library.Main.csproj
# Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
# Duplicati/Library/Utility/Utility.cs
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/app.config
# Duplicati/Service/app.config
# Duplicati/UnitTest/BackendToolTests.cs
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
# guiTests/guiTest.py
2022-11-11 21:40:08 -08:00
albertony
637cde474b
Disable automatic use of v2 authid for Jottacloud
2022-06-23 14:30:11 +02:00
Thomas Suckow
d528703fe7
Merge branch 'master' into experiment/net5-split
...
# Conflicts:
# .github/workflows/tests.yml
# Duplicati.sln
# Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
# Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
# Duplicati/CommandLine/Duplicati.CommandLine.csproj
# Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/Library/Backend/AzureBlob/AzureBlobWrapper.cs
# Duplicati/Library/Backend/Mega/Duplicati.Library.Backend.Mega.csproj
# Duplicati/Library/Backend/Mega/packages.config
# Duplicati/Library/Backend/OAuthHelper/Duplicati.Library.OAuthHelper.csproj
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/Tardigrade/Properties/AssemblyInfo.cs
# Duplicati/Library/Backend/Tardigrade/packages.config
# Duplicati/Library/Common/Duplicati.Library.Common.csproj
# Duplicati/Library/Common/IO/SystemIOWindows.cs
# Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
# Duplicati/Library/Modules/Builtin/packages.config
# Duplicati/Library/Utility/Utility.cs
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/packages.config
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
2022-02-22 19:04:01 -08:00
Kenneth Skovhede
b550e61d9b
Re-added compatibility analyzers
2021-04-03 21:49:51 +02:00
Kenneth Skovhede
557415c9ad
Changed implementation to target netstandard2.0.
...
Added builds for .Net 4.8
2021-04-03 14:13:32 +02:00
Kenneth Skovhede
8892ff7df3
Cleaned up all .csproj files.
...
Moved things around to make cleaner build files.
Implementing everything with `netstandard2.1` and then thin wrapper executables using .net5
2021-04-03 13:57:02 +02:00
Kenneth Skovhede
63d8ab7c11
Changed all non-entry methods to use netstandard2.1
2021-04-01 22:37:26 +02:00
Tyler Gill
b64c2f1df0
Move Retry-After logic to RetryAfterHelper to make it easier for other backends to incorporate it.
2021-03-23 17:28:39 -06:00
Tyler Gill
1ec1e18634
OAuthHttpClient should behave the same as the WebRequest code path and treat no http-operation-timeout override as meaning to use an infinite timeout.
2021-03-22 10:47:25 -06: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
Max
b008aed1f3
migrate to net5 + runnable
2020-06-03 00:00:38 +02:00
Max
c882953fdd
upstream
2020-05-31 13:50:13 +02:00
Kenneth Skovhede
2f1f5bb7e0
The purpose of this update is to provide better error messages from servers 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-05-10 14:14:35 +02:00
Kenneth Skovhede and GitHub
6a8912c473
Merge pull request #4145 from tygill/feature/ms-graph-non-httpclient
...
Allow MS Graph backends (e.g., OneDrive v2) to use OAuthHelper instead of OAuthHttpClient
2020-03-25 07:09:44 +01:00
Tyler Gill
1ae534e45e
Add ConfigureAwait(false) to JSONWebHelper.cs
2020-03-23 20:22:22 -06:00
Tyler Gill
e742205f65
Add --use-http-client=false parameter to backends based on Microsoft Graph 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-23 14:10:40 -06:00
Kenneth Hsu
21d0247e6d
Throw TimeoutException when an HTTP timeout occurs.
...
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 .
2020-03-05 12:00:23 -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
Max
41a5591532
upstream
2019-12-25 16:34:56 +01:00
Kenneth Hsu
83ac03843d
Fix spelling errors in comments.
...
In doing so, we also normalized some line endings.
2019-12-14 09:52:55 -08:00
Tyler Gill
7012c49b8f
Support BufferRequests in HttpClient based backends
2019-10-22 15:55:11 -06:00
Kenneth Skovhede and GitHub
99d0cb3c57
Merge pull request #3953 from warwickmm/make_fields_readonly
...
Mark fields that don't need to be reassigned as readonly
2019-10-21 08:36:17 +02:00
Kenneth Hsu
2aa76881a5
Mark fields that don't need to be reassigned as readonly.
...
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2019-10-19 13:59:22 -07:00
Kenneth Hsu
afab61a05b
Use pattern matching to simplify casts.
2019-10-19 10:15:38 -07:00
Kenneth Hsu
31a89f142a
Add workaround for bug in Mono HttpClient.
...
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-09-08 19:34:12 -07:00
BlueBlock
815e30b63b
update csproj toolverion and nuget packages
2019-07-31 13:20:03 -04:00
Max
7aea21ef35
upstream
2019-07-28 12:44:20 +02: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
51e0298597
Remove unused variable that caused compiler warning.
2019-07-07 10:15:13 -07:00
Kenneth Hsu
a30f578071
Rename method parameter.
2019-05-26 15:14:42 -07:00
Kenneth Hsu
6b04625cea
Add XML comment for method parameter.
2019-05-26 15:09:24 -07:00
Kenneth Hsu
fe5e17a3fa
Throw TimeoutException upon HTTP timeout.
...
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 61f511c087
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-26 14:57:05 -07:00
Kenneth Hsu
988c445233
Provide cancellation token to async methods.
2019-05-26 14:55:31 -07:00
Michal Naiman
f4eef557ee
upstream
2019-05-07 11:48:40 +02:00
Kenneth Hsu
ffaaa55f2f
Use AsyncHttpRequest to handle async HttpWebRequests.
...
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-05-04 16:38:36 -07:00
Michal Naiman
ad2105aeb2
NuGet packages update
2019-05-01 09:28:46 +02:00
Michal Naiman
1bc1e58737
upstream
2019-04-28 13:45:26 +02:00
Sean Templeton
8bd4b825c8
Fix several Codacy issues
2019-03-13 21:51:05 -05:00