From 1ceca64d6b285eadb20a6807891aee0c92d04c09 Mon Sep 17 00:00:00 2001 From: Ricardo Marques Date: Mon, 25 May 2020 11:53:59 +0100 Subject: [PATCH] cephadm: Validate bootstrap "--dashboard-{key|crt}" path Fixes: https://tracker.ceph.com/issues/45696 Signed-off-by: Ricardo Marques --- src/cephadm/cephadm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 43da104b136..8878587d7f2 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -2612,9 +2612,10 @@ def command_bootstrap(): # dashboard crt and key if args.dashboard_key and args.dashboard_crt: logger.info('Using provided dashboard certificate...') - mounts = {} - mounts[pathify(args.dashboard_crt)] = '/tmp/dashboard.crt:z' - mounts[pathify(args.dashboard_key)] = '/tmp/dashboard.key:z' + mounts = { + pathify(args.dashboard_crt.name): '/tmp/dashboard.crt:z', + pathify(args.dashboard_key.name): '/tmp/dashboard.key:z' + } cli(['dashboard', 'set-ssl-certificate', '-i', '/tmp/dashboard.crt'], extra_mounts=mounts) cli(['dashboard', 'set-ssl-certificate-key', '-i', '/tmp/dashboard.key'], extra_mounts=mounts) else: @@ -4459,9 +4460,11 @@ def _get_parser(): parser_bootstrap.add_argument( '--dashboard-key', + type=argparse.FileType('r'), help='Dashboard key') parser_bootstrap.add_argument( '--dashboard-crt', + type=argparse.FileType('r'), help='Dashboard certificate') parser_bootstrap.add_argument( -- 2.39.5