Commit Graph
4937 Commits
Author SHA1 Message Date
Tyler Gill c63597ab6a Clean up some filters on Windows.
This includes prefixing registry filters with '?:' (to match existing filters and make sure Duplicati respects them).
It also includes removing absolute drive paths ("C:\Program Files") when there is an identical wildcard drive path ("?:\Program Files").
2018-03-21 16:43:22 -06:00
Tyler Gill e6aab76d8d Update documentation related to filter groups.
This removes the documentation for default filters, and replaces it with documentation about filter groups (based in large part on what was already included with the initial filter groups change).
All documentation about the --include and --exclude parameters should now mention (at least in passing) the option to use filter groups.
2018-03-21 16:40:42 -06:00
Tyler Gill 66cb44ead2 Rename FilterGroup.Default to DefaultExclude (since it will contain the default set of filters related to excluding files).
This way, we can still add future filter groups for types of files that should be backed up (e.g., documents, pictures, etc.)
In light of this, I think the All group is somewhat problematic, since if we add new groups that are designed for inclusion, we don't want people accidentally excluding them (because they --exclude={all}).
2018-03-21 16:21:30 -06:00
Tyler Gill 0f9be9e440 Remove code related to the --default-filters parameter.
The UI work to change over from the initial default filters UI still needs to be done.
2018-03-21 16:18:14 -06:00
Tyler Gill fc23a2dbbd FilterEntry should use FilterGroups.ParseFilterList instead of Enum.TryParse directly.
Additionally, ParseFilterList now supports a number of (shorter) aliases for each group.
2018-03-21 15:08:10 -06:00
Tyler Gill baeb7e6a7c Added a new FilterType which is used by FilterEntry to represent a filter that should affect all files in one of the built-in filter groups.
This allows filter groups to be intermingled with other filters using the '{groupName}' syntax proposed by kenkendk.
It also means that when the filter that caused a file to be ignored is reported, it can report the name of the group, rather than a large and unreadable list of wildcard and regex patterns.
This is still missing several things (better documentation, removing the old --default-filters parameter, updating the UI), but should be another step in the right direction.
There might also might easily be other side effects that I haven't considered here that will need to be teased out and fixed.
2018-03-21 14:53:45 -06:00
Tyler Gill 03df606a80 Merge branch 'feature/filter_groups' of https://github.com/duplicati/duplicati into feature/filter-groups 2018-03-21 12:23:03 -06:00
Tyler Gill 438c84f824 Ensure custom fragment sizes fit the recommended sizes (under 60 MiB and multiple of 320 KiB) 2018-03-21 11:32:41 -06:00
Tyler Gill 97a93a071f Make m_oauth readonly in OAuthHttpMessageHandler. 2018-03-21 11:23:50 -06:00
Tyler Gill 55c182b946 Strip authorization header and access token out of Microsoft Graph exception messages. 2018-03-21 11:16:27 -06:00
Tyler Gill 6c05da925e Explicitly request the 'replace' conflict resolution behavior when uploading large files. 2018-03-20 15:28:57 -06:00
Tyler Gill dbb28c5f62 Make sure DNS names reported by Microsoft Graph backends are unique. 2018-03-20 15:26:52 -06:00
Tyler Gill c57d7e75cd Add helpId parameter to UserInformationExceptions in MicrosoftGraphBackends. 2018-03-20 15:09:06 -06:00
Tyler Gill 94341a640d Implement DNSName method in MicrosoftGraphBackend base class. 2018-03-20 15:08:30 -06:00
Tyler Gill f4c6100873 Add Duplicati + version as the user agent in the MS Graph backends. 2018-03-20 15:07:46 -06:00
Tyler Gill 4578a5bd91 Merge branch 'master' of https://github.com/duplicati/duplicati into feature/ms-graph-backends 2018-03-20 14:24:48 -06:00
Tyler Gill a98c967f70 Add new backends for OneDrive+OneDrive for Business, SharePoint, and Microsoft Groups based on the Microsoft Graph API.
These backends are implemented via the common base class, MicrosoftGraphBackend, with only a few minor tweaks (different id parameters, protocol keys, descriptions, etc.)
All three backends support streaming, quota retrieval, and rename.
2018-03-20 14:18:49 -06:00
Tyler Gill c542d65997 Update service agreement and privacy policy link for OneDrive backend. 2018-03-20 14:01:28 -06:00
Tyler Gill 20fc793dee Add OAuthHttpMessageHandler helper class to OAuthHelper library.
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-20 14:00:52 -06:00
Tyler Gill f9a8b30b2f Update JSONWebHelper.PostAndGetJSONData to remove parameters that aren't 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-20 13:56:05 -06:00
Tyler Gill 2b4fb9a65f SizeParser can use OrdinalIgnoreCase instead of ToLower(). 2018-03-20 13:44:15 -06:00
Tyler Gill 73b6fe2a01 Add extension methods to the general Utility class for emulating the await keyword in non-async code.
Using GetAwaiter().GetResult() is similar to using Task.Result, but rethrows the original exception rather than wrapping it in an (unnecessary) AggregateException.
2018-03-20 13:41:57 -06:00
Kenneth SkovhedeandGitHub 3ec2b78828 Merge pull request #3086 from warwickmm/feature/disable_on_battery
Add option to disable backup when on battery power
2018-03-20 09:19:01 +01:00
Kenneth SkovhedeandGitHub 6545b5cfa4 Merge pull request #3109 from warwickmm/fix_xml_ampersand
Fix encoding of ampersand in XML documentation
2018-03-20 09:01:48 +01:00
Kenneth SkovhedeandGitHub f804eaa7ab Merge pull request #3108 from warwickmm/readonly_lock_objects
Make fields containing lock objects readonly
2018-03-20 09:01:22 +01:00
Kenneth Hsu c00c6fd19b Make fields containing lock objects readonly.
If one of these fields is accidentally reassigned, it's possible for
threads to be oblivious to an existing lock.  By making the fields
readonly, we will be notified at compile-time if we inadvertently
redefine one of these fields.
2018-03-17 19:59:23 -07:00
Kenneth Hsu 10e127b2a9 Properly encode ampersand in XML content. 2018-03-17 13:56:19 -07:00
Kenneth Hsu e2aa98fbca Add option to disable backup when on battery power.
This addresses issue #2666.
2018-03-16 19:32:50 -07:00
Kenneth Skovhede a980ed93a6 Implemented support for setting low IO priority on Windows, Linux, and MacOS 2018-03-16 23:25:06 +01:00
Kenneth Skovhede 20e2dcafb3 Moved the process control stuff into another class, so it can be disposed easily and contain its own state 2018-03-16 10:33:26 +01:00
Kenneth Skovhede e124329f1e Merge branch 'feature/improved-logging' 2018-03-16 08:38:14 +01:00
Kenneth Skovhede 3ec6b88ac8 Added a repeating log-scope that writes out a message, if no activity produced a log message for 10 seconds 2018-03-15 23:30:24 +01: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 SkovhedeandGitHub 96cd4dd725 Merge pull request #3087 from warwickmm/use_nameof_operator
Use nameof operator when constructing ArgumentNullException
2018-03-08 11:14:49 +01:00
Kenneth SkovhedeandGitHub 0e9eb4a452 Merge pull request #3088 from warwickmm/bugfix/remove_extra_tag
Remove superfluous closing tag in XML documentation.
2018-03-08 11:14:29 +01:00
Kenneth SkovhedeandGitHub 1675ea2375 Merge pull request #3089 from warwickmm/bugfix/xml_cref
Fix code references in XML documentation
2018-03-08 11:14:14 +01:00
Kenneth Hsu d7b393ed98 Add missing XML parameter documentation. 2018-03-07 19:14:57 -08:00
Kenneth Hsu 46f9fd02b5 Remove XML documentation for unmatched parameters. 2018-03-07 19:13:50 -08:00
Kenneth Hsu ec7aa3113b Fix namespace in code references in XML documentation. 2018-03-07 18:34:26 -08:00
Kenneth Hsu 58ab443eb4 Fix generic class code references in XML documentation. 2018-03-07 18:34:26 -08:00
Kenneth Hsu a7faab50ca Remove superfluous closing tag in XML documentation. 2018-03-07 18:03:10 -08:00
Kenneth Hsu 1f8b542604 Use nameof operator when constructing ArgumentNullException.
This will make rename refactorings easier in the future.
2018-03-07 17:53:08 -08:00
Kenneth Skovhede 305a9fbae0 Changed MacOS to not exclude /private/ but just a selection of the subfolders. 2018-03-05 22:37:46 +01:00
Kenneth Skovhede b8bbe1e1a0 Added /bin/ to the MacOS excluded folders 2018-03-05 22:33:12 +01:00
Kenneth Skovhede a2f426e171 Removed ApplicationData from the list of exclusions as there is usually stuff in there that you want backed up. 2018-03-05 22:30:19 +01:00
Kenneth Skovhede f85b46b814 Added a guard against null-filters 2018-03-05 22:28:49 +01:00
Kenneth Skovhede 022b2087c0 Renamed DefaultFilters to FilterGroups 2018-03-05 22:27:16 +01:00
Kenneth Skovhede 282c70f75f Implemented default filter groups as suggested in #3030 2018-03-02 15:26:55 +01:00
Kenneth SkovhedeandGitHub e04f0236bb Merge pull request #3052 from tygill/fix/default-filter-trim
Remove some default filters for things that should probably still be backed up
2018-03-02 09:18:14 +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