From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Noam Postavsky <npostavs@gmail.com>
Cc: 30190@debbugs.gnu.org, Tino Calancha <tino.calancha@gmail.com>
Subject: bug#30190: 27.0.50; term run in line mode shows user passwords
Date: Wed, 18 Jul 2018 10:24:14 -0400 [thread overview]
Message-ID: <jwvva9c64va.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <878t6892pv.fsf@gmail.com> (Noam Postavsky's message of "Wed, 18 Jul 2018 07:56:44 -0400")
Thanks Noam, looks good.
Couldn't help send you some nitpicks, tho,
Stefan
> @@ -2288,7 +2289,8 @@ term-send-invisible
> \\[view-lossage]."
> (interactive "P") ; Defeat snooping via C-x esc
> (when (not (stringp str))
> - (setq str (term-read-noecho "Non-echoed text: " t)))
> + (let ((read-hide-char ?*))
> + (setq str (read-passwd "Non-echoed text: "))))
> (when (not proc)
> (setq proc (get-buffer-process (current-buffer))))
> (if (not proc) (error "Current buffer has no process")
Why do we need to bind `read-hide-char` here?
More specifically, shouldn't `read-passwd` do that for us (hence if it
doesn't yet, then the right patch is to add this let-binding to
`read-passwd`)?
> @@ -2297,6 +2299,17 @@ term-send-invisible
> (term-send-string proc str)
> (term-send-string proc "\n")))
>
> +;; TODO: Maybe combine this with `comint-watch-for-password-prompt'.
Would be nice, yes.
> +(defun term-watch-for-password-prompt (string)
> + "Prompt in the minibuffer for password and send without echoing.
> +This function uses `term-send-invisible' to read and send a password to the buffer's
> +process if STRING contains a password prompt defined by
> +`comint-password-prompt-regexp'."
"... uses `term-send-invisible' to read [...] a password ..." is
incorrect, since the password is read by `read-passwd` rather than by
term-send-invisible. But in any case I don't see any reason to document
in the docstring what internal mechanism is used [ I just fixed the comint
version of the function accordingly. ]
> @@ -3152,6 +3165,9 @@ term-emulate-terminal
> (term-handle-deferred-scroll))
>
> (set-marker (process-mark proc) (point))
> + (when (stringp decoded-substring)
> + (term-watch-for-password-prompt (prog1 decoded-substring
> + (setq decoded-substring nil))))
I suggest you add a comment explaining why we set decoded-substring to nil.
next prev parent reply other threads:[~2018-07-18 14:24 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-21 12:16 bug#30190: 27.0.50; term run in line mode shows user passwords Tino Calancha
2018-01-21 14:01 ` Noam Postavsky
2018-01-21 21:08 ` Tino Calancha
2018-02-03 16:15 ` Tino Calancha
2018-02-03 16:44 ` Noam Postavsky
2018-02-04 2:23 ` Tino Calancha
2018-02-04 2:29 ` Noam Postavsky
2018-02-04 3:37 ` Tino Calancha
2018-02-05 1:07 ` Richard Stallman
2018-02-03 17:08 ` Eli Zaretskii
2018-02-04 2:26 ` Tino Calancha
2018-02-04 3:40 ` Tino Calancha
2018-02-04 12:40 ` Noam Postavsky
2018-02-04 12:47 ` Tino Calancha
2018-02-15 0:09 ` Tino Calancha
2018-02-21 10:18 ` Tino Calancha
2018-02-21 17:47 ` Eli Zaretskii
2018-03-10 8:52 ` Tino Calancha
2018-03-10 10:25 ` Eli Zaretskii
2018-03-10 10:44 ` Tino Calancha
2018-03-10 12:07 ` Eli Zaretskii
2018-03-10 13:17 ` Tino Calancha
2018-03-10 15:50 ` Eli Zaretskii
2018-03-11 11:02 ` Tino Calancha
2018-03-11 17:04 ` Eli Zaretskii
2018-06-20 4:09 ` Noam Postavsky
2018-06-20 16:27 ` Eli Zaretskii
2018-06-20 23:28 ` Noam Postavsky
2018-06-21 1:31 ` Tino Calancha
2018-06-21 2:44 ` Eli Zaretskii
2018-06-21 3:07 ` Tino Calancha
2018-06-21 19:17 ` Stefan Monnier
2018-06-22 3:34 ` Tino Calancha
2018-06-22 12:44 ` Stefan Monnier
2018-07-18 11:56 ` Noam Postavsky
2018-07-18 12:32 ` Tino Calancha
2018-07-18 14:24 ` Stefan Monnier [this message]
2018-07-18 14:56 ` Tino Calancha
2018-07-18 15:54 ` Stefan Monnier
2018-07-18 23:28 ` Tino Calancha
2018-07-19 1:58 ` Stefan Monnier
2018-07-19 2:27 ` Noam Postavsky
2018-07-19 12:45 ` Stefan Monnier
2018-07-20 7:34 ` Tino Calancha
2018-07-19 0:02 ` Noam Postavsky
2018-07-19 2:00 ` Stefan Monnier
2018-07-22 18:33 ` Noam Postavsky
2018-07-22 18:44 ` Eli Zaretskii
2018-07-23 12:22 ` Noam Postavsky
2018-07-23 12:46 ` Stefan Monnier
2018-07-23 12:56 ` Tino Calancha
2018-07-24 0:28 ` Noam Postavsky
2018-07-24 2:35 ` Eli Zaretskii
2018-07-30 1:15 ` Noam Postavsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvva9c64va.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=30190@debbugs.gnu.org \
--cc=npostavs@gmail.com \
--cc=tino.calancha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).