Set `raw=True` when reading passwords from ConfigParser files. (#35582)

* Set `raw=True` when reading passwords from ConfigParser files.

The assumption is that no one is actually doing interpolation on the
password value, even if they may for other configuration values, and
passwords are far more likely to contain '%'.

* Add vmware_inventory as well.

(cherry picked from commit 15b6ec66bb)
pull/38975/head
Bill Nottingham 7 years ago committed by Matt Davis
parent 0852ea6dc0
commit 923015d9d7

@ -138,7 +138,7 @@ class CloudFormsInventory(object):
warnings.warn("No username specified, you need to specify a CloudForms username.") warnings.warn("No username specified, you need to specify a CloudForms username.")
if config.has_option('cloudforms', 'password'): if config.has_option('cloudforms', 'password'):
self.cloudforms_pw = config.get('cloudforms', 'password') self.cloudforms_pw = config.get('cloudforms', 'password', raw=True)
else: else:
self.cloudforms_pw = None self.cloudforms_pw = None

@ -84,7 +84,7 @@ class ForemanInventory(object):
try: try:
self.foreman_url = config.get('foreman', 'url') self.foreman_url = config.get('foreman', 'url')
self.foreman_user = config.get('foreman', 'user') self.foreman_user = config.get('foreman', 'user')
self.foreman_pw = config.get('foreman', 'password') self.foreman_pw = config.get('foreman', 'password', raw=True)
self.foreman_ssl_verify = config.getboolean('foreman', 'ssl_verify') self.foreman_ssl_verify = config.getboolean('foreman', 'ssl_verify')
except (ConfigParser.NoOptionError, ConfigParser.NoSectionError) as e: except (ConfigParser.NoOptionError, ConfigParser.NoSectionError) as e:
print("Error parsing configuration: %s" % e, file=sys.stderr) print("Error parsing configuration: %s" % e, file=sys.stderr)

@ -138,7 +138,7 @@ def create_connection():
return sdk.Connection( return sdk.Connection(
url=config.get('ovirt', 'ovirt_url'), url=config.get('ovirt', 'ovirt_url'),
username=config.get('ovirt', 'ovirt_username'), username=config.get('ovirt', 'ovirt_username'),
password=config.get('ovirt', 'ovirt_password'), password=config.get('ovirt', 'ovirt_password', raw=True),
ca_file=config.get('ovirt', 'ovirt_ca_file'), ca_file=config.get('ovirt', 'ovirt_ca_file'),
insecure=config.get('ovirt', 'ovirt_ca_file') is None, insecure=config.get('ovirt', 'ovirt_ca_file') is None,
) )

@ -268,7 +268,7 @@ class VMWareInventory(object):
self.port = int(os.environ.get('VMWARE_PORT', config.get('vmware', 'port'))) self.port = int(os.environ.get('VMWARE_PORT', config.get('vmware', 'port')))
self.username = os.environ.get('VMWARE_USERNAME', config.get('vmware', 'username')) self.username = os.environ.get('VMWARE_USERNAME', config.get('vmware', 'username'))
self.debugl('username is %s' % self.username) self.debugl('username is %s' % self.username)
self.password = os.environ.get('VMWARE_PASSWORD', config.get('vmware', 'password')) self.password = os.environ.get('VMWARE_PASSWORD', config.get('vmware', 'password', raw=True))
self.validate_certs = os.environ.get('VMWARE_VALIDATE_CERTS', config.get('vmware', 'validate_certs')) self.validate_certs = os.environ.get('VMWARE_VALIDATE_CERTS', config.get('vmware', 'validate_certs'))
if self.validate_certs in ['no', 'false', 'False', False]: if self.validate_certs in ['no', 'false', 'False', False]:
self.validate_certs = False self.validate_certs = False

Loading…
Cancel
Save