Commit 0a2a9557 by Brian Coca

now allows for users to use ^D to not input a password

fixes #11413
parent 4fe2d7fc
...@@ -108,21 +108,24 @@ class CLI(object): ...@@ -108,21 +108,24 @@ class CLI(object):
vault_pass = None vault_pass = None
new_vault_pass = None new_vault_pass = None
if ask_vault_pass: try:
vault_pass = getpass.getpass(prompt="Vault password: ") if ask_vault_pass:
vault_pass = getpass.getpass(prompt="Vault password: ")
if ask_vault_pass and confirm_vault:
vault_pass2 = getpass.getpass(prompt="Confirm Vault password: ") if ask_vault_pass and confirm_vault:
if vault_pass != vault_pass2: vault_pass2 = getpass.getpass(prompt="Confirm Vault password: ")
raise errors.AnsibleError("Passwords do not match") if vault_pass != vault_pass2:
raise errors.AnsibleError("Passwords do not match")
if ask_new_vault_pass:
new_vault_pass = getpass.getpass(prompt="New Vault password: ") if ask_new_vault_pass:
new_vault_pass = getpass.getpass(prompt="New Vault password: ")
if ask_new_vault_pass and confirm_new:
new_vault_pass2 = getpass.getpass(prompt="Confirm New Vault password: ") if ask_new_vault_pass and confirm_new:
if new_vault_pass != new_vault_pass2: new_vault_pass2 = getpass.getpass(prompt="Confirm New Vault password: ")
raise errors.AnsibleError("Passwords do not match") if new_vault_pass != new_vault_pass2:
raise errors.AnsibleError("Passwords do not match")
except EOFError:
pass
# enforce no newline chars at the end of passwords # enforce no newline chars at the end of passwords
if vault_pass: if vault_pass:
...@@ -141,20 +144,23 @@ class CLI(object): ...@@ -141,20 +144,23 @@ class CLI(object):
becomepass = None becomepass = None
become_prompt = '' become_prompt = ''
if op.ask_pass: try:
sshpass = getpass.getpass(prompt="SSH password: ") if op.ask_pass:
become_prompt = "%s password[defaults to SSH password]: " % op.become_method.upper() sshpass = getpass.getpass(prompt="SSH password: ")
if sshpass: become_prompt = "%s password[defaults to SSH password]: " % op.become_method.upper()
sshpass = to_bytes(sshpass, errors='strict', nonstring='simplerepr') if sshpass:
else: sshpass = to_bytes(sshpass, errors='strict', nonstring='simplerepr')
become_prompt = "%s password: " % op.become_method.upper() else:
become_prompt = "%s password: " % op.become_method.upper()
if op.become_ask_pass:
becomepass = getpass.getpass(prompt=become_prompt) if op.become_ask_pass:
if op.ask_pass and becomepass == '': becomepass = getpass.getpass(prompt=become_prompt)
becomepass = sshpass if op.ask_pass and becomepass == '':
if becomepass: becomepass = sshpass
becomepass = to_bytes(becomepass) if becomepass:
becomepass = to_bytes(becomepass)
except EOFError:
pass
return (sshpass, becomepass) return (sshpass, becomepass)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment