mirror of
https://github.com/ansible/awx.git
synced 2026-03-13 23:17:32 -02:30
Fixes some issues where Tower would not emit the password on prompts
Carat seems to only want to match newlines or the beginning of the string, since we seem to get CR+LF this seems to keep the carat from matching so here we're expanding the regex matches. This also extends support for DZDO where it was only originally added on ad-hoc commands inadvertantly. Remove PMRUN support since that was never merged into core
This commit is contained in:
@@ -1043,21 +1043,23 @@ class RunJob(BaseTask):
|
||||
|
||||
def get_password_prompts(self):
|
||||
d = super(RunJob, self).get_password_prompts()
|
||||
d[re.compile(r'^Enter passphrase for .*:\s*?$', re.M)] = 'ssh_key_unlock'
|
||||
d[re.compile(r'^Bad passphrase, try again for .*:\s*?$', re.M)] = ''
|
||||
d[re.compile(r'^sudo password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^SUDO password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^su password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^SU password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^PBRUN password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^pbrun password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^PFEXEC password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^pfexec password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^RUNAS password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^runas password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^SSH password:\s*?$', re.M)] = 'ssh_password'
|
||||
d[re.compile(r'^Password:\s*?$', re.M)] = 'ssh_password'
|
||||
d[re.compile(r'^Vault password:\s*?$', re.M)] = 'vault_password'
|
||||
d[re.compile(r'Enter passphrase for .*:\s*?$', re.M)] = 'ssh_key_unlock'
|
||||
d[re.compile(r'Bad passphrase, try again for .*:\s*?$', re.M)] = ''
|
||||
d[re.compile(r'sudo password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'SUDO password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'su password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'SU password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'PBRUN password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'pbrun password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'PFEXEC password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'pfexec password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'RUNAS password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'runas password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'DZDO password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'dzdo password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'SSH password:\s*?$', re.M)] = 'ssh_password'
|
||||
d[re.compile(r'Password:\s*?$', re.M)] = 'ssh_password'
|
||||
d[re.compile(r'Vault password:\s*?$', re.M)] = 'vault_password'
|
||||
return d
|
||||
|
||||
def get_stdout_handle(self, instance):
|
||||
@@ -1293,12 +1295,12 @@ class RunProjectUpdate(BaseTask):
|
||||
|
||||
def get_password_prompts(self):
|
||||
d = super(RunProjectUpdate, self).get_password_prompts()
|
||||
d[re.compile(r'^Username for.*:\s*?$', re.M)] = 'scm_username'
|
||||
d[re.compile(r'^Password for.*:\s*?$', re.M)] = 'scm_password'
|
||||
d[re.compile(r'^Password:\s*?$', re.M)] = 'scm_password'
|
||||
d[re.compile(r'^\S+?@\S+?\'s\s+?password:\s*?$', re.M)] = 'scm_password'
|
||||
d[re.compile(r'^Enter passphrase for .*:\s*?$', re.M)] = 'scm_key_unlock'
|
||||
d[re.compile(r'^Bad passphrase, try again for .*:\s*?$', re.M)] = ''
|
||||
d[re.compile(r'Username for.*:\s*?$', re.M)] = 'scm_username'
|
||||
d[re.compile(r'Password for.*:\s*?$', re.M)] = 'scm_password'
|
||||
d[re.compile(r'Password:\s*?$', re.M)] = 'scm_password'
|
||||
d[re.compile(r'\S+?@\S+?\'s\s+?password:\s*?$', re.M)] = 'scm_password'
|
||||
d[re.compile(r'Enter passphrase for .*:\s*?$', re.M)] = 'scm_key_unlock'
|
||||
d[re.compile(r'Bad passphrase, try again for .*:\s*?$', re.M)] = ''
|
||||
# FIXME: Configure whether we should auto accept host keys?
|
||||
d[re.compile(r'^Are you sure you want to continue connecting \(yes/no\)\?\s*?$', re.M)] = 'yes'
|
||||
return d
|
||||
@@ -1805,24 +1807,22 @@ class RunAdHocCommand(BaseTask):
|
||||
|
||||
def get_password_prompts(self):
|
||||
d = super(RunAdHocCommand, self).get_password_prompts()
|
||||
d[re.compile(r'^Enter passphrase for .*:\s*?$', re.M)] = 'ssh_key_unlock'
|
||||
d[re.compile(r'^Bad passphrase, try again for .*:\s*?$', re.M)] = ''
|
||||
d[re.compile(r'^sudo password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^SUDO password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^su password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^SU password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^PBRUN password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^pbrun password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^PFEXEC password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^pfexec password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^RUNAS password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^runas password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^DZDO password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^dzdo password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^PMRUN password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^pmrun password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'^SSH password:\s*?$', re.M)] = 'ssh_password'
|
||||
d[re.compile(r'^Password:\s*?$', re.M)] = 'ssh_password'
|
||||
d[re.compile(r'Enter passphrase for .*:\s*?$', re.M)] = 'ssh_key_unlock'
|
||||
d[re.compile(r'Bad passphrase, try again for .*:\s*?$', re.M)] = ''
|
||||
d[re.compile(r'sudo password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'SUDO password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'su password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'SU password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'PBRUN password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'pbrun password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'PFEXEC password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'pfexec password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'RUNAS password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'runas password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'DZDO password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'dzdo password.*:\s*?$', re.M)] = 'become_password'
|
||||
d[re.compile(r'SSH password:\s*?$', re.M)] = 'ssh_password'
|
||||
d[re.compile(r'Password:\s*?$', re.M)] = 'ssh_password'
|
||||
return d
|
||||
|
||||
def get_stdout_handle(self, instance):
|
||||
|
||||
Reference in New Issue
Block a user