mirror of
https://github.com/ansible/awx.git
synced 2026-05-19 23:07:42 -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):
|
def get_password_prompts(self):
|
||||||
d = super(RunJob, self).get_password_prompts()
|
d = super(RunJob, self).get_password_prompts()
|
||||||
d[re.compile(r'^Enter passphrase for .*:\s*?$', re.M)] = 'ssh_key_unlock'
|
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'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'^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'^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'^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'^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'^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'DZDO password.*:\s*?$', re.M)] = 'become_password'
|
||||||
d[re.compile(r'^Password:\s*?$', re.M)] = 'ssh_password'
|
d[re.compile(r'dzdo password.*:\s*?$', re.M)] = 'become_password'
|
||||||
d[re.compile(r'^Vault password:\s*?$', re.M)] = 'vault_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
|
return d
|
||||||
|
|
||||||
def get_stdout_handle(self, instance):
|
def get_stdout_handle(self, instance):
|
||||||
@@ -1293,12 +1295,12 @@ class RunProjectUpdate(BaseTask):
|
|||||||
|
|
||||||
def get_password_prompts(self):
|
def get_password_prompts(self):
|
||||||
d = super(RunProjectUpdate, self).get_password_prompts()
|
d = super(RunProjectUpdate, self).get_password_prompts()
|
||||||
d[re.compile(r'^Username for.*:\s*?$', re.M)] = 'scm_username'
|
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 for.*:\s*?$', re.M)] = 'scm_password'
|
||||||
d[re.compile(r'^Password:\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'\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'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'Bad passphrase, try again for .*:\s*?$', re.M)] = ''
|
||||||
# FIXME: Configure whether we should auto accept host keys?
|
# 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'
|
d[re.compile(r'^Are you sure you want to continue connecting \(yes/no\)\?\s*?$', re.M)] = 'yes'
|
||||||
return d
|
return d
|
||||||
@@ -1805,24 +1807,22 @@ class RunAdHocCommand(BaseTask):
|
|||||||
|
|
||||||
def get_password_prompts(self):
|
def get_password_prompts(self):
|
||||||
d = super(RunAdHocCommand, self).get_password_prompts()
|
d = super(RunAdHocCommand, self).get_password_prompts()
|
||||||
d[re.compile(r'^Enter passphrase for .*:\s*?$', re.M)] = 'ssh_key_unlock'
|
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'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'^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'^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'^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'^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'^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'^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'SSH password:\s*?$', re.M)] = 'ssh_password'
|
||||||
d[re.compile(r'^pmrun password.*:\s*?$', re.M)] = 'become_password'
|
d[re.compile(r'Password:\s*?$', re.M)] = 'ssh_password'
|
||||||
d[re.compile(r'^SSH password:\s*?$', re.M)] = 'ssh_password'
|
|
||||||
d[re.compile(r'^Password:\s*?$', re.M)] = 'ssh_password'
|
|
||||||
return d
|
return d
|
||||||
|
|
||||||
def get_stdout_handle(self, instance):
|
def get_stdout_handle(self, instance):
|
||||||
|
|||||||
Reference in New Issue
Block a user