From ea1978e2afd0cd9a810a99ba7e5f55197f2897a1 Mon Sep 17 00:00:00 2001 From: chrislu Date: Sun, 14 Sep 2025 20:27:25 -0700 Subject: [PATCH] Bucket already exists - always return BucketAlreadyExists per S3 specification --- weed/s3api/s3api_bucket_handlers.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/weed/s3api/s3api_bucket_handlers.go b/weed/s3api/s3api_bucket_handlers.go index 6b4836c78..809f40818 100644 --- a/weed/s3api/s3api_bucket_handlers.go +++ b/weed/s3api/s3api_bucket_handlers.go @@ -176,9 +176,10 @@ func (s3a *S3ApiServer) PutBucketHandler(w http.ResponseWriter, r *http.Request) } } - // Same owner, compatible settings - return success (idempotent) - glog.V(3).Infof("PutBucketHandler: bucket %s already exists with compatible settings, returning success", bucket) - writeSuccessResponseXML(w, r, CreateBucketConfiguration{}) + // Bucket already exists - always return BucketAlreadyExists per S3 specification + // The S3 tests expect BucketAlreadyExists in all cases, not BucketAlreadyOwnedByYou + glog.V(3).Infof("PutBucketHandler: bucket %s already exists", bucket) + s3err.WriteErrorResponse(w, r, s3err.ErrBucketAlreadyExists) return } }