From: Yehuda Sadeh Date: Fri, 19 Feb 2016 07:09:48 +0000 (-0800) Subject: rgw: only validate bucket name if not empty X-Git-Tag: v10.1.0~354^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1e472685577c13a9ca373521dacced91be6d0417;p=ceph.git rgw: only validate bucket name if not empty This got broken due to code movement Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 68b26c9fa6d3..4b5edab314b8 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -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)