summaryrefslogtreecommitdiff
path: root/openstackclient/common
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-06-23 20:59:19 +0000
committerGerrit Code Review <review@openstack.org>2016-06-23 20:59:19 +0000
commit05e818ce50d0b8e2351b6404d378b7aa82bf3efd (patch)
tree01fd9354dfe0def87159f01fec704fed0b41935c /openstackclient/common
parenta7aa9e8ca072e1762f46ee4cd1a462bb1b58755e (diff)
parent1de4c66009485b6e42791ac84684da7b5a1f0736 (diff)
downloadpython-openstackclient-05e818ce50d0b8e2351b6404d378b7aa82bf3efd.tar.gz
Merge "Improve masking of secrets in configuration show"
Diffstat (limited to 'openstackclient/common')
-rw-r--r--openstackclient/common/configuration.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/openstackclient/common/configuration.py b/openstackclient/common/configuration.py
index d6e2ab45..016e9191 100644
--- a/openstackclient/common/configuration.py
+++ b/openstackclient/common/configuration.py
@@ -13,6 +13,7 @@
"""Configuration action implementations"""
+from keystoneauth1.loading import base
from osc_lib.command import command
import six
@@ -44,12 +45,13 @@ class ShowConfiguration(command.ShowOne):
def take_action(self, parsed_args):
+ auth_plg_name = self.app.client_manager.auth_plugin_name
+ secret_opts = [o.dest for o in base.get_plugin_options(auth_plg_name)
+ if o.secret]
+
info = self.app.client_manager.get_configuration()
for key, value in six.iteritems(info.pop('auth', {})):
- if parsed_args.mask:
- if 'password' in key.lower():
- value = REDACTED
- if 'token' in key.lower():
+ if parsed_args.mask and key.lower() in secret_opts:
value = REDACTED
info['auth.' + key] = value
return zip(*sorted(six.iteritems(info)))