Commit Graph
3969 Commits
Author SHA1 Message Date
Kenneth Skovhede 682159623c Split out the Tag and FilterTag properties to allow re-entering a log message without adding chaining strings to the message 2018-04-09 14:28:30 +02:00
Kenneth Skovhede 04c7218a08 Added some extra logging and error checking for the IO priority handler 2018-04-09 14:26:53 +02:00
Kenneth SkovhedeandGitHub 91efdcc4f7 Merge pull request #3154 from epol/master
Openstack keystone v3 support
2018-04-08 13:15:22 +02:00
Kenneth SkovhedeandGitHub 54536108db Merge pull request #3161 from warwickmm/abstract_constructor_access
Make constructors for abstract classes protected
2018-04-08 12:32:17 +02:00
Kenneth Hsu cb0a3ed2a1 Make constructors for abstract classes protected.
While this does not affect any behavior, it more accurately describes
the accessibility.  Since abstract classes can only be instantiated by
an instance of a derived type, the constructors should at most have
protected access.
2018-04-07 18:04:41 -07:00
Enrico Polesel e257cf569a Improved code quality for the PR 2018-04-06 10:13:15 +02:00
Bruceforce c3f94ec6cb rclone backend should honor advanced options (see #3142) 2018-04-05 17:43:19 +02:00
Enrico Polesel 6a8776f7f5 Openstack keystone v3 support
Added support for the new keystone v3 API, the old v2.0 APIs are still
available, the v3 can be selected with a version option.

Only password login is implemented here for API v3, so token login is
still missing.
2018-04-05 15:14:22 +02:00
Kenneth Skovhede bceed2ffbe Work on adding filters to send-mail 2018-04-02 11:20:46 +02:00
Max 987086358d upstream 2018-03-31 17:42:53 +02:00
Max 3aeb2abf79 Duplicati.Encryption 2018-03-31 17:36:00 +02:00
Kenneth Hsu c0c29e579d Make string comparison use ordinal (binary) sort rules.
This string comparison should not be culture-aware.
2018-03-28 20:49:47 -07:00
Kenneth SkovhedeandGitHub e0656a22d4 Merge pull request #3118 from tygill/feature/ms-graph-backends
Add new backends for OneDrive + OneDrive for Business, SharePoint, and Microsoft Groups based on the Microsoft Graph API
2018-03-27 14:32:01 +02:00
Kenneth SkovhedeandGitHub bce3267e25 Merge pull request #3120 from tygill/fix/log-level-help
Fix LogfilelogfiltersLong help parameter
2018-03-27 08:26:09 +02:00
Max f5672f69d9 upgrade .net to 4.6.2 2018-03-25 22:00:45 +02:00
Max cb3d830e8e dependencies corrections 2018-03-24 18:36:26 +01:00
Max d3d494b574 backends ported 2018-03-24 17:48:26 +01:00
Tyler Gill c9e8ee31ab When unwrapping TargetInvocationException, we should still put the inner exception in a new Exception.
Otherwise, the callstack in the exception is overwritten, hiding the original call stack where the exception actually occurred.
2018-03-23 15:10:05 -06:00
Tyler Gill f93f9dcc5a Add new utility class, OAuthHttpClient.
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-23 15:07:51 -06:00
Tyler Gill 407bead9f9 Change some fragment settings.
Default retry delay is now 1000ms, and fragment sizes must be at least the multiple size (320 KiB)
2018-03-23 15:04:23 -06:00
Tyler Gill 5a4d170165 Update strings for Microsoft Group backend. 2018-03-23 15:03:04 -06:00
Tyler Gill 81a1bf9024 Clean up names of default filter groups.
Rename 'DefaultExclude' to 'DefaultExcludes' (and the same for 'DefaultInclude').
Rename 'TemporaryFolders' to 'TemporaryFiles' to align with other groups ('CacheFiles', 'SystemFiles', etc.)
Added some more shorter aliases for groups, 'Sys', 'Tmp', etc.
2018-03-23 10:29:12 -06:00
Tyler Gill 448577f5ff Handle cases where the SharePoint path is given with an 'https' prefix in the UI. 2018-03-22 16:15:09 -06:00
Tyler Gill 7491da2add Add entry for --group-email so it isn't treated as an unknown property. 2018-03-22 16:14:42 -06:00
Tyler Gill 5bec41b665 Update both SharePoint and Office 365 group backends to support more human-discernable methods of specifying the backend destination.
For SharePoint, this means instead of giving the site ID as a parameter (and a relative path as the backup URL), the full URL to the folder in SharePoint (e.g., 'sharepoint://{tenant}.sharepoint.com/{PathToSite}/{DocumentBase}/{subfolder}') can be given, and the site ID will be looked up.
(This should match the existing SharePoint backend, including the convention of using '//' to indicate the document root, though I can't explicitly test that since the SharePoint sites I have access to require 2FA, which the old backend doesn't support.)
I've tested both explicit ID and site path methods of specifying the destination, and they appear to be working.
For Office 365 groups, it now supports looking up a group by its email address.
2018-03-22 15:20:17 -06:00
Tyler Gill 987cda7e1d When uploading large files, MS graph backends need to parse the response inside the try block for retries to work (since that is where errors are thrown) 2018-03-22 14:41:19 -06:00
Tyler Gill 258799266e SharePoint and Group drives appear to report quota info that is all zeros.
In that case, pretend that no quota info was reported instead of causing incorrect quota warnings and errors.
2018-03-22 14:40:37 -06:00
Tyler Gill 07cfd65942 Add some more default filters for Windows, mostly based on files I've seen fail to backup due to being locked / in-use by other common processes (Google Chrome, Dropbox, OneDrive, Windows, etc.) 2018-03-22 10:28:55 -06:00
Kenneth Skovhede 9e48de8e01 Merge branch 'master' of github.com:duplicati/duplicati 2018-03-22 08:32:48 +01:00
Kenneth Skovhede e9d477889f Fixed the order of arguments for throttling downloads.
This fixes part of #2890
2018-03-22 08:32:33 +01:00
Tyler Gill 077fcc78b1 Fix LogfilelogfiltersLong help parameter, so that running the main help page doesn't crash. 2018-03-21 17:09:37 -06:00
Tyler Gill 2d429f65a1 Removed the All FilterGroup, since it becomes ambiguous in light of the DefaultExclude and DefaultInclude groups. 2018-03-21 16:52:25 -06:00
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