Subject: bug#64807: closed (Re: bug#64807: 30.0.50; Editing files using sudo with fprintd hangs)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 17 Sep 2023 07:12:01 +0000

Your bug report

#64807: 30.0.50; Editing files using sudo with fprintd hangs

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
64807: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64807
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#64807: 30.0.50; Editing files using sudo with fprintd hangs
From: Michael Albinus <[email-masked]>
To: Theodor Thornhill <[email-masked]>
Cc: [email-masked]
Date: Sun, 17 Sep 2023 09:11:34 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Michael Albinus <[email-masked]> writes:

Hi Theodor,

>>> I'm using Ubuntu on a thinkpad with fingerprint scanner, and have
>>> enabled it to be used when sudo is invoked, setting it in pam.d. Fprintd
>>> is the program (I believe) that checks the fingerprint.
>>>
>>> Is there some way for Emacs to prompt for the fingerprint to be scanned,
>>> and not to freeze up?
>>
>> Tramp has support for 2FA security. Please add the fingerprint prompt to
>> the user option tramp-security-key-confirm-regexp. If there is a second
>> message, telling you that the security key (your finger :-) has been
>> confirmed, add this message to the user option
>> tramp-security-key-confirmed-regexp.
>
> I don't know whether this has worked for you. Could you pls tell?
>
> And in case it works: Which message have you added to
> tramp-security-key-confirm-regexp? Something I could add to Tramp proper?

No further comment, so I'm assuming it works. Closing the bug.

Best regards, Michael.

Subject: 30.0.50; Editing files using sudo with fprintd hangs
From: Theodor Thornhill <[email-masked]>
To: [email-masked]
Date: Sun, 23 Jul 2023 18:28:34 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Emacs (and Michael, forgive me if this isn't relevant for you)

I'm using Ubuntu on a thinkpad with fingerprint scanner, and have
enabled it to be used when sudo is invoked, setting it in pam.d. Fprintd
is the program (I believe) that checks the fingerprint.

To make the issue a little clearer, I'll show an example that works like
intended in Emacs, and the one that does not.

Both

This works:
1. M-x eshell
2. type "sudo ls" then RET
3. observe that eshell prompts:
  "Place your finger on the fingerprint reader"
4. If fingerprint is wrong or you wait for some period (10 seconds I
believe) it falls back to normal.

See example prompt:

```
$ sudo ls
Place your finger on the fingerprint reader
Cargo.lock  Cargo.toml	src  target
$ sudo ls
Place your finger on the fingerprint reader
Verification timed out
[sudo] password for theodor: 
Cargo.lock  Cargo.toml	src  target
```

This doesn't work as intended:
1. C-x C-f /sudo:Theodor:/ RET
2. Observe that Emacs appears to be hanging
  - the cursor is now spinning, and "C-x o" and friends doesn't work
3. Scan fingerprint
  - all is ok
4. Wait for timeout
  - enter password
  - all is ok

So to sum up - in the eshell case we get some indication to scan the
fingerprint, in the sudo/tramp case we don't. Everything works as it
should, in that verification passes, but the UI is confusing, and it
appears to hang for other commands. C-g works.

Is there some way for Emacs to prompt for the fingerprint to be scanned,
and not to freeze up?

Let me know if I need to provide more information :)

Thanks,
Theo