Commit Graph
5117 Commits
Author SHA1 Message Date
Kenneth Skovhede bceed2ffbe Work on adding filters to send-mail 2018-04-02 11:20:46 +02:00
Kenneth SkovhedeandGitHub c60e32b459 Merge pull request #3129 from dbddhkpde/master
GUI-Extension for Backup-Job
2018-03-27 14:38:49 +02: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
Kenneth SkovhedeandGitHub 9acfe956c2 Merge pull request #3130 from warwickmm/feature/appveyor_yaml
Use YAML file to manage AppVeyor build configuration
2018-03-27 08:25:41 +02:00
Kenneth Hsu 28da943376 Use YAML file to manage AppVeyor build configuration.
This was exported from the AppVeyor UI, with a few modifications made to
upload the test results and throw an exception in the case of a test
failure.

Note that this overrides the settings specified in the AppVeyor UI.
2018-03-26 21:53:29 -07:00
dbddhkpdeandGitHub a9222e88ae GUI-Extension progress bar, icons and show/hide logic
Extend the GUI with a small progress bar within the backup job "details":
- add current action
- change the icon of the active job (paused, running)
- show / hide the GUI-extension (progress bar, filename, action) only if page-event contains a current filename
2018-03-25 20:49:10 +02:00
dbddhkpdeandGitHub 96c4966693 GUI-Extension less modification progress bar
Extend the GUI with a small progress bar within the backup job "details":
- add current action
- change the icon of the active job (paused, running)
- show / hide the GUI-extension (progress bar, filename, action) only if page-event contains a current filename
2018-03-25 20:45:36 +02:00
dbddhkpdeandGitHub 1f094ca0fe GUI-Extension images
Extend the GUI with a small progress bar within the backup job "details":
- add current action
- change the icon of the active job (paused, running)
- show / hide the GUI-extension (progress bar, filename, action) only if page-event contains a current filename
2018-03-25 20:40:51 +02:00
dbddhkpdeandGitHub 73a46fdf19 was only a test 2018-03-25 20:16:15 +02:00
dbddhkpdeandGitHub fe71c3fd48 Just try if I can add somethin in my fork 2018-03-25 20:15:38 +02: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 df64c32840 Add new MS graph backends to the web UI.
The AuthID link won't work until the graph API definitions are added to the Duplicati OAuth handler site, however.
2018-03-22 16:19:49 -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
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
Kenneth SkovhedeandGitHub e544b871dc Update README.md
Added link to the manual
2018-03-21 21:26:10 +01: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 5646e3de9d Add a test for the DNSName property to the BackendTester and report the DNS names it returns. 2018-03-20 15:26:17 -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 4e4b9a56d6 Adds a test to the BackendTester for quota-enabled backends.
This test simply loads the quota information and displays it (or displays an error if the backend was unable to get it)
2018-03-20 13:53:32 -06:00
Tyler Gill dba0b3772e Add a test to BackendTester for backends which support renaming.
This is done by renaming the second file (or first if only one file is being created) and updating the in memory set of expected files,
while keeping track of the original info so it can be reported if it is still present (e.g., if the rename operated as a copy instead).
2018-03-20 13:50:06 -06:00
Tyler Gill cff8f172fc Add support for 'trim-filename-spaces' flag to BackendTester.
This flag ensures that any randomly generated file names don't have leading or trailing whitespace, which some backends might not support.
2018-03-20 13:48:21 -06:00
Tyler Gill 00c1a296da BackendTester should explicitly call Test() when performing the initial check to see if the main folder exists.
Without this, the auto create folders flag was broken for backends which lazily enumerate List() (as they instead throw after the try block is ended)
Calling Test() dierctly also better matches the IBackend interface contract.
2018-03-20 13:46:49 -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