sailfishos / sailfish-secrets

BSD 3-Clause "New" or "Revised" License
24 stars 15 forks source link

Authentication dialogs are not cancelled when pinentry is aborted #157

Closed dcaliste closed 5 years ago

dcaliste commented 5 years ago

Run touch foo && gpg2 -s foo, then abort it via ^C. The current authentication dialog, either the password one, or the authorisation are not cancelled. It is related to #155, but is also an issue directly in pinentry implementation, since all request are blocking the Assuan loop.

The authentication requests should be done asynchronous to allow to catch assuan cancellation event.

dcaliste commented 5 years ago

Well, testing this in GNOME, I've got the same behaviour. Looking at the code, Assuan is waiting for the answer of the password request before going back to the main loop anyway. So there may not be any possible way to correct this bug…