-
Notifications
You must be signed in to change notification settings - Fork 59
Browserpass does not unlock GPG keys in Firefox + GNOME 3 #155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hey, browserpass is not doing anything to unlock the keys, it simply calls gpg process to decrypt the file. Something must be off with your gpg or gpg-agent configurations... try to launch Firefox from terminal, would that help? |
I launched Firefox from the terminal and nothing changed. There was also no output on the terminal. At first, I was certain it was a problem with my configuration, but I tested it on Chromium and it worked just fine. Does the native host connector do anything different with Chromium vs. Firefox? |
Here is my personal gpg configuration:
|
Well, I found the culprit. It only doesn't work when firefox causes the native extension to call gpg and the pinentry program is set to pinentry-gnome3. |
No it's exactly the same code 🙂
Nice job! Although I've just tried, and I don't reproduce the issue if I switch to Here are my configs btw: https://github.com/maximbaz/dotfiles/tree/master/.gnupg |
uhh... Wow, our setups are really similar... |
Correct, I use lightdm + i3wm :) |
I knew this issue was familiar to me! This is not the first time people are having issues with Firefox, and it seems pinentry has always been the culprit: browserpass/browserpass-legacy#281, browserpass/browserpass-legacy#266, browserpass/browserpass-legacy#303 |
Oh no...
(I tested it on i3 and it worked) |
Nice findings!! I hate to just tell people to switch to another pinentry, but I'm really not sure where to report this issue if we want this to get fixed... To Firefox? To GNOME? 🤔 |
I can't tell yet...
Edit: I did an awful job of that 🤷♂️ |
So, I found the problem. Turns out it was an obscure windowing conflict. Firefox steals focus from all other programs (you can't even use the GNOME 3 hot corner) when you have an extension dialogue box open. If you steal focus from pinentry-gnome3, it interprets it as a cancellation. Therefore, a GNOME pinentry popup cannot display while you have an extension dialogue box open. Looks like it is a Firefox bug after all. |
I submitted a bug on the Firefox bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1571259. |
Blocked pending external resolution in Firefox. Reopening issue in order to keep track of it, as it seems likely other users will run into this. |
@nonnymoose Thanks very much for your work in tracking this down. Rather annoying issue, although I must admit I'm not terribly surprised... Firefox's QA isn't terribly good in my experience, so this is just another implementation bug to add to a rather long list. Thanks also for opening a bug against Firefox - will keep an eye on that :-). |
I found a somewhat complicated workaround to only use the GTK2 pinentry program for browserpass, for anyone else having the same problem who wants to keep the GNOME 3 pinentry.
|
The actual issue even isn't with pinentry-gnome3. I use sway as my DE (and it works with wayland, of course) and pinentry-ncurses/qt fails to work as well. |
would you share that please on the bug @nonnymoose has created for Firefox? |
Thanks for tracking this down @nonnymoose . I've been wrestling with this myself. I like your workaround. A more straightforward, but less theme-appropriate workaround is simply using pinentry-gtk2 as a default by adding the line
to |
Talked to @erayd, agreed to keep this issue closed since it's not actionable for us, it is labeled appropriately so that it is easier to find later. |
strange that I'm not experiencing this with PassFF |
General information
Installed via a package manager
$ browserpass --version
): 3.0.6Installed via a package manager
Exact steps to reproduce the problem
pass init id_of_password_key
)browserpass
andbrowserpass-firefox
gpg-agent
processWhat should happen?
Note: this does happen in Chrome(ium)
The
gpg-agent
pinentry dialog should appear and allow the user to unlock the key. If they unlock the key successfully, browserpass should complete the requested action. Otherwise, it should report an error.What happened instead?
In Firefox, browserpass simply displays e.g. "Filling login details" for a fraction of a second, and then fails silently and does not complete the action.
The text was updated successfully, but these errors were encountered: