mirror of
https://github.com/rclone/rclone.git
synced 2024-11-26 10:13:52 +08:00
s3: fix listing loop when using v2 listing on v1 server
Before this change, rclone would enter a listing loop if it used v2 listing on a v1 server and the list exceeded 1000 items. This change detects the problem and gives the user a helpful message. Fixes #6600
This commit is contained in:
parent
10aee3926a
commit
ab849b3613
|
@ -3195,6 +3195,9 @@ func (ls *v2List) List(ctx context.Context) (resp *s3.ListObjectsV2Output, versi
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
if aws.BoolValue(resp.IsTruncated) && (resp.ContinuationToken == nil || *resp.ContinuationToken == "") {
|
||||||
|
return nil, nil, errors.New("s3 protocol error: received listing v2 with IsTruncated set and no ContinuationToken. Should you be using `--s3-list-version 1`?")
|
||||||
|
}
|
||||||
ls.req.ContinuationToken = resp.NextContinuationToken
|
ls.req.ContinuationToken = resp.NextContinuationToken
|
||||||
return resp, nil, nil
|
return resp, nil, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user