fix: reject ListMultipartUploads requests that also carry uploadId

A bucket GET with both the uploads and uploadId query parameters was
routed to ListMultipartUploads and answered with the upload listing.
S3 rejects the combination with 400 InvalidArgument, "Conflicting query
string parameters: uploadId, uploads".

Add an error route for the combination ahead of ListMultipartUploads,
the way the object level '?uploads' request is rejected, and enable
the REST test that covers it.

Fixes #2155
This commit is contained in:
dualfroz committed 2026-10-05 09:46:37 +02:00
1 parent 6704314fea
commit 5f0e2e55ba
5 files changed
+37 -3

No files matched your search

+5
View File
@@ -73,6 +73,7 @@ const (
InvalidArgSSECIncompatibleEncryption
InvalidArgSSEInvalidEncryptionMethod
InvalidArgSSECRequiresTLS
InvalidArgUploadIdWithUploads
)
var invalidArgErrResponses = map[InvalidArgErrorCode]InvalidArgumentError{
@@ -212,6 +213,10 @@ var invalidArgErrResponses = map[InvalidArgErrorCode]InvalidArgumentError{
Description: "Invalid uploadId marker",
ArgumentName: "upload-id-marker",
},
InvalidArgUploadIdWithUploads: {
Description: "Conflicting query string parameters: uploadId, uploads",
ArgumentName: "ResourceType",
},
InvalidArgCannedAcl: {
Description: "",
ArgumentName: "x-amz-acl",