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
Thomas Suckow
70727b9f68
Merge remote-tracking branch 'duplicati/master'
...
# Conflicts:
# .appveyor.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/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
# Duplicati/Library/Backend/SSHv2/packages.config
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/Telegram/Duplicati.Library.Backend.Telegram.csproj
# Duplicati/Library/Backend/Telegram/Properties/AssemblyInfo.cs
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
# Duplicati/UnitTest/PurgeTesting.cs
# Installer/fedora/duplicati-binary.spec
# Installer/fedora/duplicati.spec
# guiTests/guiTest.py
# pipeline/shared/duplicati.sh
# pipeline/stage_build/trigger.sh
# pipeline/stage_integrationtests/job.sh
# pipeline/stage_integrationtests/trigger.sh
# pipeline/stage_unittests/trigger.sh
2021-04-01 20:30:19 -07:00
Kenneth Skovhede
63d8ab7c11
Changed all non-entry methods to use netstandard2.1
2021-04-01 22:37:26 +02:00
Kenneth Skovhede
4f565a004f
Merge branch 'netstandard' of https://github.com/mnaiman/duplicati into netstandard
...
# Conflicts:
# 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/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
# Duplicati/Library/Backend/SSHv2/packages.config
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/Telegram/Duplicati.Library.Backend.Telegram.csproj
# Duplicati/Library/Backend/Telegram/Properties/AssemblyInfo.cs
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
2021-04-01 15:08:42 +02:00
aureliandevel
baf489e8a9
Fix column name typo
2021-03-20 13:26:53 +11:00
Kenneth Skovhede and GitHub
90a8c34c06
Merge pull request #4398 from warwickmm/bugfix/repair_missing_blocklists
...
Fix bug in repairing multiple missing blocklist hashes
2021-03-06 14:23:20 +01:00
Thomas Suckow
360d819c0d
Threads are not longer abortable
2021-01-03 08:54:09 -08:00
Kenneth Hsu
bacc50513e
Provide explicit column names when creating temp table.
...
If we do not use an AS clause, the name of the column in the result set
is unspecified and may change depending on the version of SQLite.
https://www.sqlite.org/c3ref/column_name.html
This fixes #4403 .
2020-12-29 19:58:06 -08:00
Thomas Suckow
acea2fe10f
upstream
...
Update Telegram SharpAESCrypt dep
Update SystemIOWindows to split the difference
# Conflicts:
# BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.csproj
# BuildTools/AutoUpdateBuilder/packages.config
# BuildTools/DependencyFinder/DependencyFinder.csproj
# BuildTools/DependencyFinder/packages.config
# BuildTools/GnupgSigningTool/GnupgSigningTool.csproj
# BuildTools/UpdateVersionStamp/UpdateVersionStamp.csproj
# BuildTools/UpdateVersionStamp/app.config
# 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/RecoveryTool/packages.config
# Duplicati/CommandLine/app.config
# Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
# Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
# Duplicati/GUI/Duplicati.GUI.TrayIcon/packages.config
# Duplicati/Library/AutoUpdater/Duplicati.Library.AutoUpdater.csproj
# Duplicati/Library/AutoUpdater/app.config
# Duplicati/Library/AutoUpdater/packages.config
# Duplicati/Library/Backend/AlternativeFTP/Duplicati.Library.Backend.AlternativeFTP.csproj
# Duplicati/Library/Backend/AlternativeFTP/app.config
# Duplicati/Library/Backend/AlternativeFTP/packages.config
# Duplicati/Library/Backend/AzureBlob/Duplicati.Library.Backend.AzureBlob.csproj
# Duplicati/Library/Backend/AzureBlob/packages.config
# Duplicati/Library/Backend/Backblaze/Duplicati.Library.Backend.Backblaze.csproj
# Duplicati/Library/Backend/Backblaze/packages.config
# Duplicati/Library/Backend/Box/Duplicati.Library.Backend.Box.csproj
# Duplicati/Library/Backend/Box/packages.config
# Duplicati/Library/Backend/CloudFiles/Duplicati.Library.Backend.CloudFiles.csproj
# Duplicati/Library/Backend/CloudFiles/app.config
# Duplicati/Library/Backend/Dropbox/Duplicati.Library.Backend.Dropbox.csproj
# Duplicati/Library/Backend/Dropbox/packages.config
# Duplicati/Library/Backend/FTP/Duplicati.Library.Backend.FTP.csproj
# Duplicati/Library/Backend/FTP/app.config
# Duplicati/Library/Backend/File/Duplicati.Library.Backend.File.csproj
# Duplicati/Library/Backend/File/app.config
# Duplicati/Library/Backend/GoogleServices/Duplicati.Library.Backend.GoogleServices.csproj
# Duplicati/Library/Backend/GoogleServices/packages.config
# Duplicati/Library/Backend/HubiC/Duplicati.Library.Backend.HubiC.csproj
# Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
# 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/OAuthHelper/packages.config
# Duplicati/Library/Backend/OneDrive/Duplicati.Library.Backend.OneDrive.csproj
# Duplicati/Library/Backend/OneDrive/packages.config
# Duplicati/Library/Backend/OpenStack/Duplicati.Library.Backend.OpenStack.csproj
# Duplicati/Library/Backend/OpenStack/packages.config
# Duplicati/Library/Backend/Rclone/Duplicati.Library.Backend.Rclone.csproj
# Duplicati/Library/Backend/Rclone/packages.config
# Duplicati/Library/Backend/S3/Duplicati.Library.Backend.S3.csproj
# Duplicati/Library/Backend/S3/app.config
# Duplicati/Library/Backend/S3/packages.config
# Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
# Duplicati/Library/Backend/SSHv2/packages.config
# Duplicati/Library/Backend/SharePoint/Duplicati.Library.Backend.SharePoint.csproj
# Duplicati/Library/Backend/SharePoint/app.config
# Duplicati/Library/Backend/Sia/Duplicati.Library.Backend.Sia.csproj
# Duplicati/Library/Backend/Sia/packages.config
# Duplicati/Library/Backend/TahoeLAFS/Duplicati.Library.Backend.TahoeLAFS.csproj
# Duplicati/Library/Backend/TahoeLAFS/packages.config
# Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
# Duplicati/Library/Backend/Tardigrade/packages.config
# Duplicati/Library/Backend/WEBDAV/Duplicati.Library.Backend.WEBDAV.csproj
# Duplicati/Library/Backend/WEBDAV/app.config
# Duplicati/Library/Common/Duplicati.Library.Common.csproj
# Duplicati/Library/Common/IO/SystemIOWindows.cs
# Duplicati/Library/Common/app.config
# Duplicati/Library/Common/packages.config
# Duplicati/Library/Compression/Duplicati.Library.Compression.csproj
# Duplicati/Library/Compression/app.config
# Duplicati/Library/Compression/packages.config
# Duplicati/Library/DynamicLoader/Duplicati.Library.DynamicLoader.csproj
# Duplicati/Library/DynamicLoader/app.config
# Duplicati/Library/Encryption/Duplicati.Library.Encryption.csproj
# Duplicati/Library/Encryption/packages.config
# Duplicati/Library/Interface/Duplicati.Library.Interface.csproj
# Duplicati/Library/Localization/Duplicati.Library.Localization.csproj
# Duplicati/Library/Localization/packages.config
# Duplicati/Library/Logging/Duplicati.Library.Logging.csproj
# Duplicati/Library/Logging/app.config
# Duplicati/Library/Main/Duplicati.Library.Main.csproj
# Duplicati/Library/Main/app.config
# Duplicati/Library/Main/packages.config
# Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
# Duplicati/Library/Modules/Builtin/packages.config
# Duplicati/Library/SQLiteHelper/Duplicati.Library.SQLiteHelper.csproj
# Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
# Duplicati/Library/Snapshots/app.config
# Duplicati/Library/Snapshots/packages.config
# Duplicati/Library/UsageReporter/Duplicati.Library.UsageReporter.csproj
# Duplicati/Library/UsageReporter/packages.config
# Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
# Duplicati/Library/Utility/app.config
# Duplicati/Library/Utility/packages.config
# Duplicati/License/Duplicati.License.csproj
# Duplicati/Server/Duplicati.Server.Serialization/Duplicati.Server.Serialization.csproj
# Duplicati/Server/Duplicati.Server.Serialization/packages.config
# Duplicati/Server/Duplicati.Server.csproj
# Duplicati/Server/app.config
# Duplicati/Server/packages.config
# Duplicati/Service/Duplicati.Service.csproj
# Duplicati/Service/app.config
# Duplicati/Tools/Duplicati.Tools.csproj
# Duplicati/UnitTest/Duplicati.UnitTest.csproj
# Duplicati/UnitTest/RestoreHandlerTests.cs
# Duplicati/UnitTest/app.config
# Duplicati/UnitTest/packages.config
# Duplicati/WindowsService/App.config
# Duplicati/WindowsService/WindowsService.csproj
# Tools/SQLiteTool/App.config
# Tools/SQLiteTool/SQLiteTool.csproj
# thirdparty/TlsTest/TlsTest.csproj
# thirdparty/UnixSupport/UnixSupport.csproj
# thirdparty/mozroots/mozroots.csproj
2020-12-29 09:59:42 -08:00
Thomas Suckow
624a5d698b
Add a catch to prevent the database being locked when migrations fail.
2020-12-28 12:18:58 -08:00
Thomas Suckow
7b40e8df20
Fix naming mismatch causing migrations to not be found
2020-12-28 12:17:33 -08:00
Kenneth Hsu
534b71e409
Fix bug with repairing multiple missing blocklist hashes.
...
If there is more than one missing blocklist hash, we must reset the
offset index before copying hashes from the next blocklist into the
buffer.
This fixes #4397 .
2020-12-26 21:37:52 -08:00
Kenneth Skovhede and GitHub
e070af3dd1
Merge pull request #4386 from warwickmm/catch_symlink_read_error
...
Catch and log exceptions encountered when getting symlink target
2020-12-19 15:02:09 +01:00
Kenneth Skovhede and GitHub
ca073a2d0c
Merge pull request #4380 from warwickmm/fix_purge_broken_files_dry_run
...
Fix error encountered during dry-run of purge-broken-files
2020-12-19 14:44:21 +01:00
Kenneth Skovhede and GitHub
8002d3d225
Merge pull request #4376 from warwickmm/fix_indentation
...
Fix incorrect or misleading indentations
2020-12-19 14:43:31 +01:00
Kenneth Skovhede and GitHub
ebc30c7f02
Merge pull request #4366 from warwickmm/improve_missing_source_message
...
Fix misleading error message about missing source path
2020-12-19 14:40:35 +01:00
Kenneth Skovhede and GitHub
5af8e1c38b
Merge pull request #4367 from warwickmm/fix_variable_name
...
Fix typo in variable name
2020-12-19 14:39:15 +01:00
Kenneth Hsu
a39a24beae
Catch and log exceptions encountered when getting symlink target.
...
Since the GetSymlinkTarget method can throw an exception, we should log
the failure case and avoid further processing of the symlink target.
This concerns #2171 , which describes issues with symlinks created using
Windows Subsystem for Linux.
2020-12-06 10:08:46 -08:00
Kenneth Hsu
9952babf0b
Commit or rollback transaction before beginning new ones.
...
The PurgeFilesHandler begins new transactions using the same database
connection. During a dry-run, these transactions are rolled back, and a
subsequent attempt to rollback in the PurgeBrokenFilesHandler then
resulted in an exception.
To avoid this, we perform the rollback in the PurgeBrokenFilesHandler as
soon as we can.
I'm not entirely confident that this is the correct fix, but it appears
to resolve issue #4379 .
This fixes #4379 .
2020-11-30 19:55:20 -08:00
warwickmm and GitHub
1c3065aa81
Merge pull request #4336 from barfoo4711/master
...
Add logging statements for issues encountered when restoring empty files.
2020-11-22 10:23:06 -08:00
Kenneth Hsu
47270d1979
Change log level for entry regarding restoring empty files.
...
Restoring empty files is expected to be quick, so profiling is not
necessary.
2020-11-22 09:05:25 -08:00
Kenneth Hsu
8b010888e2
Make log entries for restore errors consistent.
...
This concerns #4315 .
2020-11-22 09:05:25 -08:00
Kenneth Hsu
31a4eab7e7
Fix casing in log entry.
2020-11-22 09:05:25 -08:00
Kenneth Hsu
5951047ff1
Fix incorrect or misleading indentations.
...
This also adds braces to clarify scope where beneficial.
2020-11-21 13:58:16 -08:00
Kenneth Hsu
20e599586a
Fix typo in variable name.
2020-11-15 12:23:46 -08:00
Kenneth Hsu
14de767738
Fix misleading error message about missing source path.
...
The source path can be a file, so the error message should not assume
that the path represents a folder. This also provides the user with
some hints on what steps should be taken to address the issue.
This fixes #3522 .
2020-11-15 12:21:05 -08:00
Achim Schaefer
5fa8e58f8d
Bugfix issue #3920
...
only "best-effort" and "realtime" allow a priotity level
"none" and "idle" have no prioity level
2020-11-05 15:49:48 +01:00
Sean Templeton
a9c16fcefa
Upload filesets last during a backup
...
If parallel uploads are enabled it is possible for the fileset to be uploaded before all dblocks are uploaded.
When the fileset is placed in the queue to be uploaded place it in a separate list and only upload it after all dblocks have been uploaded.
Fixes #4341
2020-10-29 21:19:15 -05:00
Kai
8b1d2cfafa
Merge branch 'master' of https://github.com/barfoo4711/duplicati into master
2020-10-03 14:20:08 +02:00
Kai
8e3a52654b
Update RestoreHandler.cs
...
fixed #4315 by adding catching of exceptions when creating empty files Not sure if it is ok to create WARN messages or if it should be ERROR messages instead
2020-10-03 14:09:50 +02:00
Kenneth Skovhede and GitHub
a3ff9f6a0d
Merge pull request #4307 from warwickmm/remove_misleading_comment
...
Remove misleading comment
2020-09-23 11:11:22 +02:00
Kenneth Hsu
dd902ce7b2
Remove misleading comment.
...
The retention policy logic was changed, and this comment was leftover
from the old implementation.
https://forum.duplicati.com/t/new-retention-policy-deletes-old-backups-in-a-smart-way/2195/34?u=ts678
This fixes #3306 .
2020-09-03 19:48:47 -07:00
Dean Ferreyra
5f972c2437
Make FilterEntry of type Simple for @ again
...
Switch back to using `FilterType.Simple` for `@` filters to fix the
restore picker again.
In LocalDatabase.cs, replace code that was explicitly looking for the
presence of wildcard characters to instead trigger off of
`FilterType.Wildcard`. This fixes the "find" command.
Change FilterEntry.ToString() to prefix Simple filters with `@` so
that if simple filters with wildcard characters make the round-trip
through a string, their `FilterType.Simple` type is preserved.
2020-09-01 23:04:03 -07:00
Honoré Vasconcelos
71494826f9
Improve query performence used in GetFilesAndSourceBlocksFast
...
Tree changes in query
* Move inner selection S to a temporary table
* Reorder join field in outer query
* Remove intersection with File view in outer selection
File view is already intersected with in selection S
With the above-mentioned changes, on a specific testset, query took 9s instead of 6min.
2020-08-26 10:10:54 +01:00
Daniel Gehriger
d143f8b3f9
Improved speed of AppendFilesFromPreviousSetWithPredicate, making USN backups usable when there are large file sets
2020-08-18 11:43:23 +02:00
Daniel Gehriger
82c54dde31
Fixing AppendFilesFromPreviousSetWithPredicate
2020-08-17 23:01:20 +02:00
Daniel Gehriger
c5bef5c2e0
Improved Improved speed of AppendFilesFromPreviousSetWithPredicate, making USN backups usable when there are large file sets
2020-08-17 18:06:38 +02:00
Daniel Gehriger
8e8c758c65
Improved speed of AppendFilesFromPreviousSetWithPredicate, making USN backups usable when there are large file sets
2020-08-17 17:27:45 +02:00
Daniel Gehriger
7d2c6befb0
Using USN journal in CountFilesHandler
2020-08-17 15:08:15 +02:00
Kenneth Skovhede and GitHub
ec1975b5a7
Merge pull request #4269 from warwickmm/target_net_471
...
Target .NET Framework 4.7.1
2020-08-07 10:50:35 +02: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
Kenneth Hsu
fea55b9981
Avoid removing files unrelated to backup being deleted.
...
This fixes issues #3845 and #4244 .
2020-07-21 12:59:28 -07:00
warwickmm and GitHub
45da5a4e2b
Merge pull request #4249 from jpschewe/report-compression-errors
...
Ensure that compression errors are thrown and logged.
This also prevents FilesetVolumeWriter.Dispose from calling Close prematurely, which
can result in a JsonWriter exception.
2020-07-11 16:49:10 -07:00
Jon Schewe
e5f57e8f66
Remove unused LOGTAG field
2020-07-11 18:12:59 -05:00
Jon Schewe
2747f78c40
Remove unneeded catch statement
...
Using the finally block to close out the writer allows the exception to
show up in the log.
2020-07-11 17:33:38 -05:00
Jon Schewe
36336ac6f1
Rethrow exception after logging
...
This ensures that the backup properly fails.
2020-07-10 06:55:41 -05:00
Jon Schewe
e41c0d8bf9
Catch compression errors and report them
...
When the file list is over 4GB one needs to have the zip64 option
enabled. This commit catches the exception and reports it as an error so
that the user knows what the problem is.
Fixes duplicati/duplicati#/4206
2020-07-08 07:55:25 -05:00
Kenneth Hsu
be44b785ce
Remove unnecessary local variable.
2020-07-01 16:50:29 -07:00