]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: add key parameter conflict check for radosgw-admin command line. 5567/head
authorguce <guce@h3c.com>
Thu, 27 Aug 2015 09:32:26 +0000 (17:32 +0800)
committerguce <guce@h3c.com>
Thu, 27 Aug 2015 09:32:30 +0000 (17:32 +0800)
1.--access-key & --gen-access-key
radosgw-admin key create --uid=aaa --access-key='111' --gen-access-key --gen-secret
--access-key effective

2.--secret & --gen-secret
radosgw-admin key create --uid=aaa --access-key='222' --secret='222' --gen-secret
--gen-secret effective

test fix:
    before: conflict parameters can be configured.
    after changes, do the same procedure, can check for conflicts.

Signed-off-by: Ce Gu <guce@h3c.com>
src/rgw/rgw_admin.cc

index 1140cbdbbc5f8de331f12d5f5bb631e15ba36883..f8fd27b028c6ddd8ad395aa5b39c80549bc4e37d 100644 (file)
@@ -1385,6 +1385,16 @@ int main(int argc, char **argv)
           break;
       }
     }
+
+    /* check key parameter conflict */
+    if ((!access_key.empty()) && gen_access_key) {
+        cerr << "ERROR: key parameter conflict, --access-key & --gen-access-key" << std::endl;
+        return -EINVAL;
+    }
+    if ((!secret_key.empty()) && gen_secret_key) {
+        cerr << "ERROR: key parameter conflict, --secret & --gen-secret" << std::endl;
+        return -EINVAL;
+    }
   }
 
   // default to pretty json