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.
Allows writing to the drive root using:
gcd://driveid@ or gcd://driveid@/
To write to the root of the default user's drive use the special
shared drive named 'root':
gcd://root@/
You can now add a key 'filters' in the preferences file that points to the
path of the filters file. If this key is not found in the preferences,
the default location '.duplicacy/filters' is used.
There is a new option '-filters' for the set command that set this key in
the preferences, but you can also edit the file directly.
This fix isn't probably necessary since filepath.Join can now produce UNC
paths too with the latest versions of go. However, we still want to keep
it for consistency.
A shared drive can be accessed via
gcd://sharedDriveId@path/to/storage
sharedDriveId is optional and if omitted duplicacy stores to the user's drive.
This remains backwards compatible with existing drives. E.g.
gcd://path/to/storage
Note: Shared Drives were previously named Team Drives.
Using `tmutil listlocalsnapshots` to find the snapshot name we need to use; fallback to `com.apple.TimeMachine.SNAPSHOT_DATE` (same as before) if we can't find it.
This is to support public key encryption in the backup operation. You can use
the -key option to supply the public key to the backup command, and then the
same option to supply the private key when restoring a previous revision.
The storage must be encrypted for this to work.
This commit fixed 2 issues wrt Backblaze B2 authorization:
* every thread may call b2_authorize_account at the same time when there
are 401 errors
* if B2 has a login outage, then all threads will call b2_authorize_account
repeatedly without delay
A simple solution is to limit one b2_authorize_account call to once every
30 second regardless of how many threads there are. If the call to
b2_authorize_account is not allowed, the random exponential backoff will
be performed.