* Restore/check should report an error instead of a success at the end if there
were any errors and -persist is specified
* Don't compute the file hash before passing the file to the chunk maker; this is
redundant as the chunk maker will produce the file hash
* Add a LOG_WERROR function to switch between LOG_WARN and LOG_ERROR dynamically
* Switch to the upload-by-session api for OneDrive Bussiness as their servers
may keep incomplete files when an upload is aborted when the simple upload API
is used
* Use the delay value in the http Retry-After header if there is one
* Decorate the https traffic in the hope of less rate limiting.
The fixed-size chunk reader may create 0-byte chunks from empty files. This
may cause validation errors when preparing the snapshot file as the last step
of a backup.
You can now use -suppress LOGID or -s LOGID to not print logs with the given
ids. This is a global option which means it is applicable to all commands.
It can be specified more than once.
So if the ssh key file is 'mykey' then Duplicacy will check if the signed
certificate can be loaded from the file 'mykey-cert.pub'. This avoids the
use of another preference variable 'ssh_cert_file'.
This option will download and verify every chunk. Unlike the -files option,
this option only downloads each chunk once. There is also a new -threads
option to use multiple threads to download chunks.
The new storage prefix for OneDrive for Business is odb://
The token file can be downloaded from https://duplicacy.com/odb_start
OneDrive for Business requires basically the same set of API calls with
different endpoints. However, one major difference is that for files larger
than 4MB, an upload session must be created first which is then used to upload
the file content. Other than that, there are a few minor differences such as
creating an existing directory, or moving files to a non-existent directory.
When copying to an RSA-encrypted storage, we relied on the RSA encryption
version to determine if a chunk is a snapshot chunk or a file chunk. This is
wrong when the source storage is not encrypted or not RSA-encrypted. There
is a more reliable to determine if a chunk is a snapshot chunk or not.
Usually a repository id should not contain spaces or other non-alphanum
characters, but if it does we should be able to handle it correctly. This
commit fixes the b2 backend to convert file names in a proper way.
The field encryptionVersion in the Chunk struct is supposed to pass the status
of RSA encrytpion from a source chunk to a destination chunk in a copy command.
This field needs to be a 3-state boolean in order to pass the status correctly.