Commit Graph
129 Commits
Author SHA1 Message Date
Kenneth Skovhede 40dd3c6816 Updated all license mentions to MIT 2024-02-28 15:45:30 +01:00
Janandgpatel-fr 71eb03130a Improve result reporting for interrupted/failed backups (Fix #4829)
Direct import of PR#4978
Update web UI for new result reports.
For operations with fatal errors, write logs to same operation ID.
Test that Interrupted flag is correct in RunScriptTests.
Update backup log display for new result reporting.
Hide file statistics for fatal errors and change fatal icon.
2023-09-21 20:01:17 +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 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 33ee3a2cf6 Remove unused Strings.Common members.
The last references were removed in 5170c6ad1d ("Remove unused
CommonStrings class"), but the last real usages were removed in revision
62c75d9af9 ("Removed all informs code (no more 1.3.x UI)").
2020-04-05 18:30:25 -07:00
Kenneth Hsu 5170c6ad1d Remove unused CommonStrings class.
The last usages were removed in revision 62c75d9af9 ("Removed all
informs code (no more 1.3.x UI)").
2020-03-15 14:12:19 -07: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
BlueBlock 1dc345eada Merge remote-tracking branch 'upstream/master' into fix-stop-after-current-file 2019-08-31 18:57:16 -04:00
BlueBlock c0fa8641ad Merge remote-tracking branch 'upstream/master' into update-framework-to-462 2019-08-16 23:53:27 -04:00
BlueBlock 9ae3f88dd5 Merge remote-tracking branch 'upstream/master' into fix-stop-after-current-file 2019-08-16 23:46:55 -04:00
BlueBlock 08e2c18185 add handling of a partial backup
- add backup state to DB table 'fileset' (job database upgrade to version 10)
- modify the Restore page dropdown to display if a backup is "partial"
- modify retention logic to remove partial backups only when the next recent full-backup has been removed
2019-08-05 20:14:05 -04:00
BlueBlock 815e30b63b update csproj toolverion and nuget packages 2019-07-31 13:20:03 -04:00
drwtsn32x cfeabfb2dd Add auto vacuum interval option 2019-07-29 17:56:43 -07: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
Sean Templeton b02b19e683 Change Put method name to PutAsync 2019-03-17 18:28:45 -05:00
Sean Templeton 0c122ff550 Change IBackend and IStreamingBackend to return Task for Put() 2019-03-03 21:43:10 -06:00
Mikael Mello 965bd6d761 result-classes: rename properties of RestoreResults to be consistent with BackupResults 2018-12-12 12:14:11 -02:00
Kenneth Hsu 5daf35d4f5 Use interface inheritance to remove write-only properites.
The one class that implements these interfaces, BasicResults, requires
both read and write access to these properties.  As such, we might as
well declare the getter and setter in the interface.
2018-12-09 21:42:40 -08:00
verhoek 71c6aca8a7 Fixed IO calls in Filebackend.
Moved FileEntry to Library.IO due to AlphaFS not implementing
System.IO.FileInfo/DirectoryInfo.
2018-11-01 17:56:48 +01:00
Kenneth Skovhede 494fccd931 Added support for multiple exit codes, and added a unittest to verify that the exit codes are handled correctly 2018-08-14 11:09:16 +02:00
verhoek 625db54f14 Throw proper exception. Removed unused imports. 2018-05-27 13:10:01 +02:00
Daniel Gehriger b97d4e0dbb Correctly filtering list of changed files / folders using exclusion filter 2018-04-20 17:30:08 +02:00
Daniel Gehriger 2c1a0ddb4e Implemented backup based on changes recorded in NTFS USN journal 2018-04-19 22:59:28 +02:00
Kenneth Skovhede 842fd96543 Implemented a new logging system that is more transparent and allows a more 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-03-15 09:12:34 +01:00
Kenneth Skovhede bd863016fa Added support for returning multiple DNS names for cache invalidation.
Updated most backends to return the actual DNS names for cache invalidation.
2018-02-26 11:37:10 +01:00
Rune Henriksen 00292953c3 added DNSName getter on Backend interface and added NotImplementedException methods on each backend class 2018-02-18 00:18:44 +01:00
vnau 62a7901aca Compression modules refactored to work with streams instead of filenames;
Added unit test to check compression reversibility
2017-12-25 04:12:19 +07:00
Kenneth Hsu 1c7391399d Remove XML documentation for unmatched parameters. 2017-12-09 18:30:01 -08:00
Kenneth Hsu 3d51e9153b Avoid signing assemblies.
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-10-15 22:00:23 -07:00
Tyler Gill 44c53d3eb1 Merge branch 'master' of https://github.com/duplicati/duplicati into fix/list-ienumerable 2017-09-25 23:19:38 -06:00
Tyler Gill 38883285ee Change IBackend.List() to return IEnumerable instead of List
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-25 23:17:45 -06:00
Tyler Gill b4f56750f8 Add IQuotaInfo interface
It also makes quota enabled backends return an instance of this interface instead of the quota components separately.
This way, getting quota stats requires only a single remote request on backends like Google Drive and OneDrive.
2017-09-24 17:30:52 -06:00
Tyler Gill e78e40fb11 Fix some documentation errors in backend interfaces. 2017-09-21 23:44:46 -06:00
Dan Stahr 8c2280c86c Issue #2578: Removed all direct calls to VACUUM and added a command to run VACUUM manually 2017-08-04 11:24:18 +01:00
Kenneth Skovhede cba12b9d28 Added support for server modules, that is modules that expose options to the user interface 2017-01-25 12:01:01 +01:00
Kenneth Skovhede 9e6eefad9f Merge branch 'feature/add_single_result_code'
# Conflicts:
#	Duplicati/Library/Modules/Builtin/Strings.cs
2017-01-23 23:32:30 +01:00
Kenneth Skovhede 1424be05f9 Fixed a bunch of typos.
This fixes #2278.
2017-01-23 22:12:24 +01:00
Kenneth Skovhede 81e8ef92da Added a new result code to simplify reporting the same backup result from all modules. 2017-01-23 20:47:01 +01:00
Kenneth Skovhede e79cfa4d6f Merge branch 'feature/fix_send_mail' 2017-01-12 09:28:12 +01:00
Kenneth Skovhede 6bb1579aa9 Updated MailKit, fixed a bug with DnsLite, added backward compatible tls support from MailKit.
This fixes #1540.
This fixes #1948.
This fixes #2060
This fixes #2225
2017-01-09 23:21:00 +01:00
Kenneth Skovhede a029890409 Implemented better default error messsages 2017-01-09 11:35:38 +01:00
Kenneth Skovhede fc9f1b1dd3 Added description for the --allow-full-removal option 2017-01-09 10:40:09 +01:00
Kenneth Skovhede 1108d51d7f Implemented a new new list-broken-files and purge-broken-files command for the commandline to assist with handling remote file loss. 2017-01-05 16:46:01 +01:00
Kenneth Skovhede e1a989ca32 Merge branch 'feature/add_purge_command' 2016-12-30 00:39:59 +01:00
Kenneth Skovhede 52eb8e8478 Disabled MSBuild for much faster builds on MacOS 2016-12-29 23:12:41 +01:00
Kenneth Skovhede 4bf4871427 Added commandline operation to purge select files from filesets.
This fixes #1009.
This paves the way for #1337.
2016-12-29 22:41:13 +01:00
Kenneth Skovhede 06534fd57b Renamed testresults "changes" to "verifications" 2016-12-02 11:52:40 +01:00
Max 5c7dfcada7 Refactor of hyper-v backup 2016-10-22 23:08:27 +02:00
Max c56c8d0667 additional verification of hyper-v
ability to show paths in GUI
2016-10-22 16:17:58 +02:00
Max 06cccea7a7 moved hyper-v code to hyper-v classes 2016-10-16 01:40:12 +02:00