From bd8097ea91589c09a5341058b43beae905c716b2 Mon Sep 17 00:00:00 2001 From: Ganesh Nalawade Date: Mon, 23 Sep 2019 15:14:47 +0530 Subject: [PATCH] Fix ios terminal regex for privilege escalation (#62479) Fixes https://github.com/ansible/ansible/issues/61726 * On some ios versions the passwrod prompt for enable command differs. Modify the regex to work with multiple password prompt patterns 1) password: 2) Password: 3) Local_Password: 4) Enter Local Password: --- lib/ansible/plugins/terminal/ios.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/plugins/terminal/ios.py b/lib/ansible/plugins/terminal/ios.py index 2bb29fbaaf0..946466c193b 100644 --- a/lib/ansible/plugins/terminal/ios.py +++ b/lib/ansible/plugins/terminal/ios.py @@ -76,7 +76,7 @@ class TerminalModule(TerminalBase): if passwd: # Note: python-3.5 cannot combine u"" and r"" together. Thus make # an r string and use to_text to ensure it's text on both py2 and py3. - cmd[u'prompt'] = to_text(r"[\r\n](?:Local_)?[Pp]assword: ?$", errors='surrogate_or_strict') + cmd[u'prompt'] = to_text(r"[\r\n]?(?:Local[_| ])?[Pp]assword: ?$", errors='surrogate_or_strict') cmd[u'answer'] = passwd cmd[u'prompt_retry_check'] = True try: