t-8ch / pinentry-bemenu

Pinentry based on bemenu
GNU General Public License v3.0
49 stars 3 forks source link

Does not re-ask on incorrect passphrase entry #25

Closed MarSoft closed 1 month ago

MarSoft commented 1 month ago

I use NixOS and enabled pinentry-bemenu for gpg-agent. When I try to e.g. make a signed git commit, I am asked to enter a passphrase. If I enter it incorrectly then, instead of asking me again, git returns me the following error:

error: gpg failed to sign the data:
[GNUPG:] KEY_CONSIDERED F00BA5831100717B5287CB7E22BC43FDDEADBEEF 2
[GNUPG:] BEGIN_SIGNING H8
[GNUPG:] PINENTRY_LAUNCHED 3   
gpg: signing failed: Unknown IPC command
[GNUPG:] FAILURE sign 83886355
gpg: signing failed: Unknown IPC command

fatal: failed to write commit object

Same thing with echo hello | gpg -s:

gpg: using character set 'iso-8859-1'
gpg: enabled compatibility flags:
gpg: using pgp trust model
gpg: key D3ADBE3FF00BA4E3: accepted as trusted key
gpg: writing to stdout
gpg: pinentry launched (3   )
gpg: signing failed: Unknown IPC command
onjyHgpg: signing failed: Unknown IPC command

Everything worked fine with some other pinentry (pinentry-gnome3 I think). But probably it was GPG version change?..

How do I debug this issue to find out which exactly IPC command is considered unknown?

GPG version 2.4.5, GPG agent 2.4.5, bemenu-pinentry 0.13.2.

t-8ch commented 1 month ago

Should be fixed in current main.

MarSoft commented 1 month ago

Yeah, it works! Thank you for a rocket-fast fix!

t-8ch commented 1 month ago

You're welcome!

Now released as v0.14.0