From e2c3c8638d6cd1bacfb2a3c659e4e3d8db74b6d6 Mon Sep 17 00:00:00 2001 From: guce Date: Thu, 27 Aug 2015 17:32:26 +0800 Subject: [PATCH] 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 --- src/rgw/rgw_admin.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 1140cbdbbc5f8..f8fd27b028c6d 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 -- 2.39.5