[pkg-gnupg-maint] Behavioral change for pinentry-qt 1.2.0-1

Gard Spreemann gspr at nonempty.org
Thu May 19 08:53:22 BST 2022


Daniel Kahn Gillmor <dkg at fifthhorseman.net> writes:

> Hi Gard--
>
> Sorry for the delay in responding here.

Hi, no problem! Thanks for getting back to me.

> On Mon 2022-05-02 09:33:14 +0200, Gard Spreemann wrote:
>
>> I run Sway as my Wayland compositor, and use pinentry-qt as my GPG pin
>> entry program. With pinentry-qt 1.1.0-4, a dialog box asking for a
>> passphrase would appear as a small, *floating* dialog box on top of
>> everything else, as desired. Starting with pinentry-qt 1.2.0-1, however,
>> the dialog box is treated as a normal application window, and is "tiled
>> in" by Sway (taking perhaps half, perhaps a quarter, of my screen).
>
> this is interesting, but i'm not deep enough into a QT or sway to know
> what signal is used by sway to know to "float" a window or not.  Do you
> know what that is?

Sadly, I do not either. One more clue I've found is that *signing*
prompts correctly appear as floating windows in both versions. Only
prompts to "unlock" a GPG dongle seem affected – as is your "getpin"
example from below.

>> I have no special settings in Sway for this purpose, which leads me to
>> suggest that something changed in pinentry-qt that makes its pop-up
>> windows no longer recognizable as dialog boxes. Do you have any ideas?
>
> It seems possible that the fact that 1.2.0-1 is built against a newer
> version of QT (because the build daemons have it available) could have
> caused the change you're seeing,

As a quick test, I rebuilt 1.1.0-4 with exactly the same Qt version as
1.2.0-1 uses. Version 1.1.0-4 still behaves correctly then.

> but a *lot* has changed in the qt pinentry upstream between 1.1.0 and
> 1.2.0.  If you have a chance to do a bit more technical investigation,
> i'd consider running a simple test like this to observe whether a
> given pinentry behaves as you describe:
>
>      echo getpin | path/to/pinentry-qt
>
> And then use that test over a "git bisect" based on upstream's repo
> (https://dev.gnupg.org/source/pinentry.git), to see whether you can
> identify a specific commit that caused the difference.

I'll do that on one of the coming weekends. Thanks for the advice.

To reiterate the clue from above: piping getpin to pinentry-qt gives the
*correct* behavior in 1.1.0-4, and the *incorrect* behavior in
1.2.0-1. Signing prompts (terminology?) give the *correct* behavior in
both versions. What is the command corresponding to "getpin" to trigger
a signing prompt? Sorry for potentially unclear terminology here – I'm
not really well-versed in the internals of GPG and the ecosystem around
it.

> Whether you're able to identify the problem or not, you might want to
> open an issue on upstream's bugtracker (https://dev.gnupg.org/).  If you
> do that, please point to it here, i'd be interested in learning more.

Thanks, I will do that after bisecting.


 Best,
 Gard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 857 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnupg-maint/attachments/20220519/e8c1d155/attachment.sig>


More information about the pkg-gnupg-maint mailing list