From: guce Date: Thu, 27 Aug 2015 09:32:26 +0000 (+0800) Subject: rgw: add key parameter conflict check for radosgw-admin command line. X-Git-Tag: v9.1.0~196^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e2c3c8638d6cd1bacfb2a3c659e4e3d8db74b6d6;p=ceph.git rgw: add key parameter conflict check for radosgw-admin command line. 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 --- diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 1140cbdbbc5f..f8fd27b028c6 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -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