From b7488edc5e4c89a9f8a2d8ed77c2288b5c0cdf12 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Sat, 26 Sep 2026 22:43:00 -0700 Subject: [PATCH] functional: do not add an unsigned x-amz-acl to presigned PUTs writeObject() is only used by the presigned PUT test, and it added x-amz-acl after the URL was signed. S3 refuses any x-amz-* header the signature does not cover (403 AccessDenied, HeadersNotSigned), so the test fails against AWS and against MinIO AIStor servers that enforce the same rule. --- functional/TestArgs.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/functional/TestArgs.java b/functional/TestArgs.java index 5cbd59b70..1111776ba 100644 --- a/functional/TestArgs.java +++ b/functional/TestArgs.java @@ -267,13 +267,10 @@ public static byte[] readObject(String urlString) throws Exception { /** Write data to given object url. */ public static void writeObject(String urlString, byte[] dataBytes) throws Exception { - // Set header 'x-amz-acl' to 'bucket-owner-full-control', so objects created - // anonymously, can be downloaded by bucket owner in AWS S3. Request request = new Request.Builder() .url(HttpUrl.parse(urlString)) .method("PUT", RequestBody.create(dataBytes, null)) - .addHeader("x-amz-acl", "bucket-owner-full-control") .build(); try (Response response = newHttpClient().newCall(request).execute()) { if (!response.isSuccessful()) {