Bug 1782442 - Please enable the --enable-pinentry-tty option to build a pinentry-tty package
Summary: Please enable the --enable-pinentry-tty option to build a pinentry-tty package
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pinentry
Version: 33
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Boris Ranto
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-12-11 16:23 UTC by Corinna Vinschen
Modified: 2021-01-14 01:39 UTC (History)
6 users (show)

Fixed In Version: pinentry-1.1.0-9.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-01-06 16:01:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
pinentry.spec patch to add a pinentry-tty package (1.17 KB, patch)
2019-12-11 16:23 UTC, Corinna Vinschen
no flags Details | Diff

Description Corinna Vinschen 2019-12-11 16:23:31 UTC
Created attachment 1644035 [details]
pinentry.spec patch to add a pinentry-tty package

Description of problem:

  The pinentry-tty executable is missing

Version-Release number of selected component (if applicable):

  pinentry-1.1.0-6.fc31.x86_64

Expected results:

  Being able to be asked on the CLI for the gpg passphrase.

Additional info:

  Please add pinentry-tty to the pinentry base package, or create a
  pinentry-tty package, so we don't have to build it locally.  It's
  very simple and doesn't add any significant maintenance burden.

  I created a patch to pinentry.spec and attached it to this BZ for
  your convenience.


Thanks,
Corinna

Comment 1 Nick Dokos 2020-02-08 00:08:14 UTC
Yes, please: can you provide this in the standard package?

Comment 2 Ben Cotton 2020-11-03 17:23:59 UTC
This message is a reminder that Fedora 31 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 31 on 2020-11-24.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '31'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 31 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 3 Corinna Vinschen 2020-11-04 08:27:33 UTC
Bump version to Fedora 33

Comment 4 Fedora Admin user for bugzilla script actions 2020-12-10 14:54:18 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.

Comment 5 Jakub Jelen 2021-01-05 12:39:35 UTC
Is there anything blocking the request to provide pinentry-tty? Using GUI is not always convenient.

Comment 6 Boris Ranto 2021-01-05 14:01:53 UTC
The thing is we already provide a CLI version of pinentry -- pinentry-curses. The /usr/bin/pinentry itself is a relatively simple script that tries to find the version of pinentry that suits the current environment the best and is available on the system.

Simply building pinentry-tty wouldn't add much value until you update the pinentry script to actually run it at some point (the only way to use it on your system would be to set PINENTRY_BINARY env variable). We could probably fallback to pinentry-tty in case interactive mode is disabled. That would require us including the binary in the main package though.

If you want to force the CLI version of pinentry, you can override the PINENTRY_BINARY env variable and set it to /usr/bin/pinentry-curses or you can remove all the GUI versions of pinentry that are installed on your system.

Comment 7 Jakub Jelen 2021-01-06 08:37:01 UTC
The pinentry-curses still pops up a window inside of the terminal, making it hard to automate passphrase entry for gpg (correct me if there is a way to avoid that). In the past, with gpg(v1), it was simple as it asked in inline prompt, rather than drawing popup over the terminal window. We are looking into something similar and pinentry-tty does exactly that. For the reference, here is a bug reported by our customer #1821057

Comment 8 Boris Ranto 2021-01-06 15:12:33 UTC
Yeah, curses requires an interactive terminal, otherwise it fails. You can automate it with tools that simulate the interactive terminal like expect. It is not ideal but it does work.

Looking at the referenced bz, the curses password prompt does seem to work but the password is being cached so you don't get the prompt on second and third runs, right?

Also, this bz is aimed at Fedora, not RHEL so the feature would need to be propagated back to RHEL to help you in any way.

Comment 9 Boris Ranto 2021-01-06 16:01:30 UTC
I've enabled pinentry-tty including automation from the pinentry script in rawhide:

https://koji.fedoraproject.org/koji/taskinfo?taskID=59064768

It is now part of the main pinentry package so that we can automatically use it in case we detect a non-interactive terminal emulator.

Comment 10 Corinna Vinschen 2021-01-11 10:24:46 UTC
(In reply to Boris Ranto from comment #9)
> I've enabled pinentry-tty including automation from the pinentry script in
> rawhide:
> 
> https://koji.fedoraproject.org/koji/taskinfo?taskID=59064768
> 
> It is now part of the main pinentry package so that we can automatically use
> it in case we detect a non-interactive terminal emulator.

Would you mind to enable this on F33 as well?

Thanks,
Corinna

Comment 11 Jakub Jelen 2021-01-11 16:31:06 UTC
I am just building the package for for Fedora 33.

Comment 12 Fedora Update System 2021-01-11 16:43:00 UTC
FEDORA-2021-41e53d7e83 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-41e53d7e83

Comment 13 Fedora Update System 2021-01-12 01:26:32 UTC
FEDORA-2021-41e53d7e83 has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-41e53d7e83`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-41e53d7e83

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2021-01-14 01:39:24 UTC
FEDORA-2021-41e53d7e83 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.