rclone-dev:feat-webdav-nextcloud-chunked

Last commit made on 2021-04-26
Get this branch:
git clone -b feat-webdav-nextcloud-chunked https://git.launchpad.net/rclone-dev

Branch merges

Branch information

Name:
feat-webdav-nextcloud-chunked
Repository:
lp:rclone-dev

Recent commits

114631d... by Nick Craig-Wood

webdav: chunked uploading - WIP DO NOT MERGE

71db19d... by Nick Craig-Wood

fstests: allow chunked upload tests to be skipped

3258dad... by Thibault Coupin <email address hidden>

webdav: lower case in error messages

fc6bd0d... by Thibault Coupin <email address hidden>

webdav: add chunked uploading option for nextcloud

f4068d4... by Nick Craig-Wood

Add Jeffrey Tolar to contributors

7511b6f... by Jeffrey Tolar <email address hidden>

b2: don't include the bucket name in public link file prefixes

Including the bucket name as part of the `fileNamePrefix` passed to
`b2_get_download_authorization` results in a link valid for objects that
have the bucket name as part of the object path; e.g.,

    rclone link :b2:some-bucket/some-file

would result in a public link valid for the object
`some-bucket/some-file` in the `some-bucket` bucket (in rclone-remote
parlance, `:b2:some-bucket/some-bucket/some-file`). This will almost
certainly result in a broken link.

The B2 docs don't explicitly specify this behavior, but the example
given for `fileNamePrefix` provides some clarification.

See https://www.backblaze.com/b2/docs/b2_get_download_authorization.html.

e618ea8... by Nick Craig-Wood

s3: remove WebIdentityRoleProvider to fix crash on auth #5255

This code removes the code added in

15d19131bd6bc78e s3: use aws web identity role provider

This code no longer works because it doesn't initialise the
tokenFetcher - leading to a nil pointer crash.

The proper way to initialise this is with the
NewWebIdentityCredentials but it isn't clear where to get the other
parameters: roleARN, roleSessionName, path.

In the linked issue a user reports rclone working with EKS anyway, so
perhaps this code is no longer needed.

If it is needed, hopefully someone who knows AWS better will come
along and fix it!

See: https://forum.rclone.org/t/add-support-for-aws-sso/23569

34dc257... by Nick Craig-Wood

Add Kenny Parsons to contributors

4cacf5d... by Kenny Parsons <email address hidden>

docs: clarify and add examples for sftp docs

- added clarification to default remote path if no path is specified
- added examples for mounting a remote path (other than the default home directory) to a local folder.

0537791... by Nick Craig-Wood

sftp: Fix performance regression by re-enabling concurrent writes #5197

Betweeen rclone v1.54 and v1.55 there was an approx 3x performance
regression when transferring to distant SFTP servers (in particular
rsync.net).

This turned out to be due to the library github.com/pkg/sftp rclone
uses. Concurrent writes used to be enabled in this library by default
(for v1.12.0 as used in rclone v1.54) but they are no longer enabled
(for v1.13.0 as used in rclone v1.55) for safety reasons and it is
necessary to enable them specifically.

The safety concerns are due to the uncertainty as to whether writes
come in order and whether a half completed file might have holes in
it. This isn't a problem for rclone since a) it doesn't restart
uploads and b) it has a post-transfer checksum test.

This change introduces a new flag `--sftp-disable-concurrent-writes`
to control the feature which defaults to false, meaning that
concurrent writes are enabled as in v1.54.

However this isn't quite enough to fix the problem as the sftp library
needs to be able to sniff the size of the stream from the reader
passed in, so this also adds a `Size` interface to the reader to
enable this. This involved a patch to the library.

The library was reverted to v1.12.0 for v1.55.1 - this patch installs
v1.13.0+master to fix the Size interface problem.

See: https://github.com/pkg/sftp/issues/426