]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "rgw: tolerate missing content-length header on canned ACL puts"
authorGreg Farnum <gregory.farnum@dreamhost.com>
Fri, 23 Sep 2011 22:41:56 +0000 (15:41 -0700)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Fri, 23 Sep 2011 22:49:39 +0000 (15:49 -0700)
This reverts commit 05b06e807ef20c7fe1bd7c7abbeecd656d2280c0.

Don't be stupid when an empty content-length can only be on ACL puts!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/rgw/rgw_rest.cc

index f782d6e3a11a6d2013f50702ed0025eb36829e4f..102483962353a19d6e23768933bd84414f7d1899 100644 (file)
@@ -221,7 +221,7 @@ int RGWPutObj_REST::get_params()
 
 int RGWPutObj_REST::get_data()
 {
-  size_t cl = 0;
+  size_t cl;
   if (s->length) {
     cl = atoll(s->length) - ofs;
     if (cl > RGW_MAX_CHUNK_SIZE)
@@ -703,10 +703,6 @@ int RGWHandler_REST::preprocess(struct req_state *s, FCGX_Request *fcgx)
   s->content_type = s->env->get("CONTENT_TYPE");
   s->prot_flags = 0;
 
-  const char *cacl = s->env->get("HTTP_X_AMZ_ACL");
-  if (cacl)
-    s->canned_acl = cacl;
-
   if (!s->method)
     s->op = OP_UNKNOWN;
   else if (strcmp(s->method, "GET") == 0)
@@ -725,7 +721,7 @@ int RGWHandler_REST::preprocess(struct req_state *s, FCGX_Request *fcgx)
   init_entities_from_header(s);
   switch (s->op) {
   case OP_PUT:
-    if (s->object && !s->canned_acl.length()) { //we can get a canned acl without data
+    if (s->object) {
       if (!s->length)
         ret = -ERR_LENGTH_REQUIRED;
       else if (*s->length == '\0')
@@ -753,6 +749,10 @@ int RGWHandler_REST::preprocess(struct req_state *s, FCGX_Request *fcgx)
 
   init_auth_info(s);
 
+  const char *cacl = s->env->get("HTTP_X_AMZ_ACL");
+  if (cacl)
+    s->canned_acl = cacl;
+
   s->copy_source = s->env->get("HTTP_X_AMZ_COPY_SOURCE");
   s->http_auth = s->env->get("HTTP_AUTHORIZATION");