Ignore parameters on ListBuckets #175

Closed
opened 2021-12-15 11:45:58 +00:00 by quentin · 0 comments
Owner

WinSCP sends a ?max-keys=1 when calling ListBuckets.
Currently, we send a BadRequest if we call ListBuckets with any parameter.
So WinSCP does not like our response:

WinSCP screenshot with an error invalid ListBucket request

AWS S3 documentation does not mention max-keys in its doc. We did some tests on minio that tolerate the parameter but ignore it (we put max-keys=1 but it still returned all our buckets). By reviewing its source code, it seems that Ceph is also tolerating but ignoring this parameter. (source 1, source 2, doc). We did not make any tests on AWS yet. We are not aware of any implementation following this key on ListBuckets.

Deleting this check makes WinSCP happy: I have done the test. It should be a simple fix.

See #176 that proposes to add WinSCP to our tests.

WinSCP sends a `?max-keys=1` when calling ListBuckets. Currently, we send a BadRequest if we call ListBuckets with any parameter. So WinSCP does not like our response: ![WinSCP screenshot with an error invalid ListBucket request](https://git.deuxfleurs.fr/attachments/0a70f597-ba23-42c1-a713-c49c1c186f1f) AWS S3 documentation does not mention `max-keys` in its doc. We did some tests on minio that tolerate the parameter but ignore it (we put `max-keys=1` but it still returned all our buckets). By reviewing its source code, it seems that Ceph is also tolerating but ignoring this parameter. ([source 1](https://github.com/ceph/ceph/blob/master/src/rgw/rgw_rest_s3.h#L128-L149), [source 2](https://github.com/ceph/ceph/blob/master/src/rgw/rgw_rest_s3.cc#L1264-L1280), [doc](https://docs.ceph.com/en/latest/radosgw/s3/serviceops/)). We did not make any tests on AWS yet. We are not aware of any implementation following this key on ListBuckets. **Deleting [this check](https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/main/src/api/s3_router.rs#L514) makes WinSCP happy: I have done the test. It should be a simple fix.** See #176 that proposes to add WinSCP to our tests.
quentin added the
S3 Compatibility
label 2021-12-15 11:45:58 +00:00
lx closed this issue 2021-12-15 14:05:37 +00:00
lx referenced this issue from a commit 2021-12-15 14:05:37 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#175
No description provided.