emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 161139a 2/2: Detect Chinese sudo password prompts (


From: Noam Postavsky
Subject: [Emacs-diffs] master 161139a 2/2: Detect Chinese sudo password prompts (Bug#31075)
Date: Fri, 24 Aug 2018 07:49:03 -0400 (EDT)

branch: master
commit 161139a42c02cce051c51fb80c6ae00c9e6beaa6
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Detect Chinese sudo password prompts (Bug#31075)
    
    * lisp/comint.el (comint-password-prompt-regexp): Allow text between
    the prompt prefix and password equivalent.
    * lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Accept some
    unicode alternatives to ":".
    * test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
    test case.
---
 lisp/comint.el            | 3 ++-
 lisp/eshell/esh-mode.el   | 3 ++-
 test/lisp/comint-tests.el | 1 +
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/comint.el b/lisp/comint.el
index 51c7e81..5928804 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -360,7 +360,8 @@ This variable is buffer-local."
       "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "PEM" "SUDO"
       "[sudo]" "Repeat" "Bad" "Retype")
     t)
-   " +\\)"
+   ;; Allow for user name to precede password equivalent (Bug#31075).
+   " +.*\\)"
    "\\(?:" (regexp-opt password-word-equivalents) "\\|Response\\)"
    "\\(?:\\(?:, try\\)? *again\\| (empty for no passphrase)\\| (again)\\)?"
    ;; "[[:alpha:]]" used to be "for", which fails to match non-English.
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index 9f854c7..0c25f41 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -182,10 +182,11 @@ inserted.  They return the string as it should be 
inserted."
   :group 'eshell-mode)
 
 (defcustom eshell-password-prompt-regexp
-  (format "\\(%s\\).*:\\s *\\'" (regexp-opt password-word-equivalents))
+  (format "\\(%s\\)[^::៖]*[::៖]\\s *\\'" (regexp-opt 
password-word-equivalents))
   "Regexp matching prompts for passwords in the inferior process.
 This is used by `eshell-watch-for-password-prompt'."
   :type 'regexp
+  :version "27.1"
   :group 'eshell-mode)
 
 (defcustom eshell-skip-prompt-function nil
diff --git a/test/lisp/comint-tests.el b/test/lisp/comint-tests.el
index 366fcc9..eab2709 100644
--- a/test/lisp/comint-tests.el
+++ b/test/lisp/comint-tests.el
@@ -36,6 +36,7 @@
     "Enter same passphrase again: "     ; ssh-keygen
     "Passphrase for key address@hidden: " ; plink
     "[sudo] password for user:" ; Ubuntu sudo
+    "[sudo] user 的密码:" ; localized
     "Password (again):"
     "Enter password:"
     "Mot de Passe :" ; localized (Bug#29729)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]