From 6c407dbe15f933f30df0f94daad0799e14e09c71 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Tue, 13 Dec 2022 12:19:00 +0000 Subject: [PATCH] s3: fix detection of listing routines which don't support v2 properly In this commit ab849b3613fe4935 s3: fix listing loop when using v2 listing on v1 server The ContinuationToken was tested for existence, but it is the NextContinuationToken that we are interested in. See: #6600 --- backend/s3/s3.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/s3/s3.go b/backend/s3/s3.go index 36b6a9e61..9a255689e 100644 --- a/backend/s3/s3.go +++ b/backend/s3/s3.go @@ -3235,8 +3235,8 @@ func (ls *v2List) List(ctx context.Context) (resp *s3.ListObjectsV2Output, versi if err != nil { 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`?") + if aws.BoolValue(resp.IsTruncated) && (resp.NextContinuationToken == nil || *resp.NextContinuationToken == "") { + return nil, nil, errors.New("s3 protocol error: received listing v2 with IsTruncated set and no NextContinuationToken. Should you be using `--s3-list-version 1`?") } ls.req.ContinuationToken = resp.NextContinuationToken return resp, nil, nil