From 84885fa8cd6f4bb71575f58047e555ae09cb1690 Mon Sep 17 00:00:00 2001 From: Chaithanya Ganta Date: Fri, 26 May 2017 11:52:00 +0530 Subject: [PATCH] Throw proper S3 error code for invalid buck name INVALID_BUCKET_NAME for container creation request, else NO_SUCH_BUCKET --- src/main/java/org/gaul/s3proxy/S3ProxyHandler.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java index 36c9e49..aae8236 100644 --- a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java +++ b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java @@ -559,8 +559,15 @@ public class S3ProxyHandler { } } + // Validate container name if (!uri.equals("/") && !isValidContainer(path[1])) { - throw new S3Exception(S3ErrorCode.INVALID_BUCKET_NAME); + if (method.equals("PUT") && + (path.length <= 2 || path[2].isEmpty()) && + !("".equals(request.getParameter("acl")))) { + throw new S3Exception(S3ErrorCode.INVALID_BUCKET_NAME); + } else { + throw new S3Exception(S3ErrorCode.NO_SUCH_BUCKET); + } } String uploadId = request.getParameter("uploadId");