]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: only validate bucket name if not empty
authorYehuda Sadeh <yehuda@redhat.com>
Fri, 19 Feb 2016 07:09:48 +0000 (23:09 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Fri, 19 Feb 2016 07:09:48 +0000 (23:09 -0800)
This got broken due to code movement

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_rest_s3.cc

index 68b26c9fa6d3199ab1a6b08650e80f97590c7bfd..4b5edab314b87402c8855651b64ee575279c50dc 100644 (file)
@@ -2600,12 +2600,14 @@ int RGWHandler_REST_S3::postauth_init()
   ret = validate_tenant_name(s->bucket_tenant);
   if (ret)
     return ret;
-  ret = valid_s3_bucket_name(s->bucket_name, relaxed_names);
-  if (ret)
-    return ret;
-  ret = validate_object_name(s->object.name);
-  if (ret)
-    return ret;
+  if (!s->bucket_name.empty()) {
+    ret = valid_s3_bucket_name(s->bucket_name, relaxed_names);
+    if (ret)
+      return ret;
+    ret = validate_object_name(s->object.name);
+    if (ret)
+      return ret;
+  }
 
   if (!t->src_bucket.empty()) {
     rgw_parse_url_bucket(t->src_bucket, s->user->user_id.tenant,
@@ -2631,12 +2633,14 @@ int RGWHandler_REST_S3::init(RGWRados *store, struct req_state *s,
   if (ret)
     return ret;
   bool relaxed_names = s->cct->_conf->rgw_relaxed_s3_bucket_names;
-  ret = valid_s3_bucket_name(s->bucket_name, relaxed_names);
-  if (ret)
-    return ret;
-  ret = validate_object_name(s->object.name);
-  if (ret)
-    return ret;
+  if (!s->bucket_name.empty()) {
+    ret = valid_s3_bucket_name(s->bucket_name, relaxed_names);
+    if (ret)
+      return ret;
+    ret = validate_object_name(s->object.name);
+    if (ret)
+      return ret;
+  }
 
   const char *cacl = s->info.env->get("HTTP_X_AMZ_ACL");
   if (cacl)