Subject: Re: bug#20910: 24.4; *shell* write the password in clear in the buffer on git push

From: Stefan Kangas <[email-masked]>
Date: Sun, 6 Oct 2019 03:46:06 +0200

Marcin Borkowski <[email-masked]> writes:

> On 2015-06-27, at 10:51, Stefan Monnier <[email-masked]> wrote:
>
>>> M-x shell
>>> git add mysupersoftware.py
>>> git commit -m "pay attention of the pep8 thanks M-x py-pep8-run"
>>> git push
>>> shell $ request for the password of the git, and print it in clear in
>>> the buffer
>>
>> Can you show us the actual password prompt (which is the only info that
>> Emacs gets that a password is being requested, so it needs to recognize
>> it, and those prompts change with language settings and stuff, so it's
>> very heuristic and messy).
>
> I suspect that this might depend on Git version and configuration, and
> things like gpg-agent.  In my case, it displayed a window (in WM sense,
> not in Emacs sense) asking for password, and only after clicking
> "Cancel", it asked within Emacs.  The prompt was:
>
> Password for 'https://[email-masked]':
>
> and indeed the characters of the password were visible.
>
>>         Stefan
>
> Best,

Hi Marcin,

When I try the following on Emacs 26.1, I get no error:

(progn
 (require 'comint)
 (or
  (string-match comint-password-prompt-regexp
       "Password for 'https://[email-masked]: ")
  (error "NO MATCH")))

This suggests to me that a prompt such as the above should work under
M-x shell, since that is built on top of comint.

Could you verify that this works for you on Emacs 26.1 or later?

Best regards,
Stefan Kangas