rclone/backend/s3
Nick Craig-Wood 01877e5a0f s3: ignore versionIDs from uploads unless using --s3-versions or --s3-versions-at
Before this change, when a new object was created s3 returns its
versionID (on a versioned bucket) and rclone recorded it in the
object.

This means that when rclone came to delete the object it would delete
it with the versionID.

However it is common to forbid actions with versionIDs on buckets so
as to preserve the historical record and these operations would fail
whereas they succeeded in pre-v1.60.0 versions.

This patch fixes the problem by not recording versions of objects
supplied by the S3 API on upload unless `--s3-versions` or
`--s3-version-at` is used. This makes rclone behave as it did before
v1.60.0 when version support was introduced.

See: https://forum.rclone.org/t/s3-and-intermittent-403-errors-with-file-renames-and-drag-and-drop-operations-in-windows-explorer/34773
2022-12-17 10:24:56 +00:00
..
gen_setfrom.go s3: refactor to use generated code instead of reflection to copy structs 2022-08-05 16:45:23 +01:00
s3_internal_test.go all: fix spelling across the project 2022-08-30 11:16:26 +02:00
s3_test.go s3: fix SetModTime on GLACIER/ARCHIVE objects and implement set/get tier 2019-09-14 09:18:55 +01:00
s3.go s3: ignore versionIDs from uploads unless using --s3-versions or --s3-versions-at 2022-12-17 10:24:56 +00:00
setfrom.go s3: refactor to use generated code instead of reflection to copy structs 2022-08-05 16:45:23 +01:00
v2sign.go s3: fix copy multipart with v2 auth failing with 'SignatureDoesNotMatch' 2021-01-27 14:43:02 +00:00