Bug 197307 - upgrade to mail/thunderbird 31.4.0_1 broke enigmail?
Summary: upgrade to mail/thunderbird 31.4.0_1 broke enigmail?
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Max Brazhnikov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-04 02:27 UTC by heikki
Modified: 2018-02-12 21:45 UTC (History)
8 users (show)

See Also:


Attachments
pinentry wrapper script (1.79 KB, text/plain)
2015-06-01 02:07 UTC, Eric
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description heikki 2015-02-04 02:27:28 UTC
I upgraded my packages including thunderbird to from 31.3.0 to 31.4.0_1.  This also upgraded gnupg from 2.1.0_1 to 2.1.1_1.  After upgrade and restarting thunderbird, enigmail fails in various ways:

- Cannot send mail, as Enigmail says "Send operation aborted   Error - encryption command failed".

- When trying to open a draft email thunderbird says it cannot decrypt it.  Enigmail security info says 

Observations:  

- If I save the draft email which cannot be opened and gpg -d it, it decrypts fine. 
 
- If I sign with gpg, it also works.

So it seems that something broke in Thunderbird in the last upgrade.

In the enigdbug log file, it seems to start gpg, and launch pinentry, but immediately fails, so it might be that the pin entry bit does not work.  I get no pin entry window like I did earlier.


The enigmail log file contains, when trying to send mail:



2015-02-04 04:08:12.967 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.sendMessageListener
2015-02-04 04:08:12.967 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.modifyCompFields: otherRandomHeaders = 
2015-02-04 04:08:12.967 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: msgSendType=0, Enigmail.msg.sendMode=1, Enigmail.msg.statusEncrypted=11
2015-02-04 04:08:12.968 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: currentId=[nsIMsgIdentity: id1], heikki@suonsivu.net
2015-02-04 04:08:12.968 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg:gMsgCompose=[xpconnect wrapped nsIMsgCompose]
2015-02-04 04:08:12.968 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: BCC: hsu@bbnetworks.net
2015-02-04 04:08:20.104 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.keySelection()
2015-02-04 04:08:20.104 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.keySelection(): toAddrStr="hsu@iki.fi, hsu@bbnetworks.net" bccAddrStr=""
2015-02-04 04:08:20.104 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.processRules(): toAddrStr="hsu@iki.fi, hsu@bbnetworks.net" bccAddrStr="" forceRecipientSettings=false
2015-02-04 04:08:20.104 [DEBUG] enigmailMsgComposeHelper.js: getRecipientsKeys(): emailAddrs="hsu@iki.fi, hsu@bbnetworks.net" interactive=true forceRecipientSettings=false
2015-02-04 04:08:20.105 [DEBUG] enigmail.js: getRulesData
2015-02-04 04:08:20.105 [DEBUG] enigmail.js: loadRulesFile
2015-02-04 04:08:20.105 [DEBUG] enigmail.js: getRulesFile
2015-02-04 04:08:20.105 [DEBUG] enigmailMsgComposeHelper.js: validKeysForAllRecipients(): emailAddrs="hsu@iki.fi, hsu@bbnetworks.net" refresh="true"
2015-02-04 04:08:20.105 [DEBUG] enigmailMsgComposeHelper.js: validKeysForAllRecipients(): find keys with minTrustLevel="?"
2015-02-04 04:08:20.105 [DEBUG] enigmailFuncs.jsm: loadKeyList
2015-02-04 04:08:20.105 [DEBUG] enigmailFuncs.jsm: obtainKeyList
2015-02-04 04:08:20.105 enigmail.js: Enigmail.execCmd: subprocess = '/usr/local/bin/gpg'
2015-02-04 04:08:20.124 [DEBUG] enigmail.js: Enigmail.execCmd: copied command line/env/input to files /usr/users/hsu/enigcmd.txt/enigenv.txt/eniginp.txt
2015-02-04 04:08:20.125 [CONSOLE] enigmail> /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --with-fingerprint --fixed-list-mode --with-colons --list-keys
2015-02-04 04:08:20.296 [DEBUG] enigmail.js: Enigmail.execCmd: copied command out/err data to files /usr/users/hsu/enigout.txt/enigerr.txt
2015-02-04 04:08:20.296 [DEBUG] enigmail.js: Enigmail.execCmd: exitCode = 0
2015-02-04 04:08:20.297 [DEBUG] enigmail.js: Enigmail.execCmd: errOutput = gpg: Warning: using insecure memory!

2015-02-04 04:08:20.297 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 
gpg: Warning: using insecure memory!

2015-02-04 04:08:20.297 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00000000
2015-02-04 04:08:20.297 [CONSOLE] gpg: Warning: using insecure memory!
2015-02-04 04:08:20.297 [DEBUG] enigmailCommon.jsm: stillActive: 
2015-02-04 04:08:20.297 [DEBUG] enigmailFuncs.jsm: obtainKeyList
2015-02-04 04:08:20.298 enigmail.js: Enigmail.execCmd: subprocess = '/usr/local/bin/gpg'
2015-02-04 04:08:20.317 [DEBUG] enigmail.js: Enigmail.execCmd: copied command line/env/input to files /usr/users/hsu/enigcmd.txt/enigenv.txt/eniginp.txt
2015-02-04 04:08:20.317 [CONSOLE] enigmail> /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --with-fingerprint --fixed-list-mode --with-colons --list-secret-keys
2015-02-04 04:08:20.502 [DEBUG] enigmail.js: Enigmail.execCmd: copied command out/err data to files /usr/users/hsu/enigout.txt/enigerr.txt
2015-02-04 04:08:20.503 [DEBUG] enigmail.js: Enigmail.execCmd: exitCode = 0
2015-02-04 04:08:20.503 [DEBUG] enigmail.js: Enigmail.execCmd: errOutput = gpg: Warning: using insecure memory!

2015-02-04 04:08:20.503 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 
gpg: Warning: using insecure memory!

2015-02-04 04:08:20.503 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00000000
2015-02-04 04:08:20.503 [CONSOLE] gpg: Warning: using insecure memory!
2015-02-04 04:08:20.503 [DEBUG] enigmailCommon.jsm: stillActive: 
2015-02-04 04:08:20.504 enigmail.js: Enigmail.execCmd: subprocess = '/usr/local/bin/gpg'
2015-02-04 04:08:20.525 [DEBUG] enigmail.js: Enigmail.execCmd: copied command line/env/input to files /usr/users/hsu/enigcmd.txt/enigenv.txt/eniginp.txt
2015-02-04 04:08:20.526 [CONSOLE] enigmail> /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --fixed-list-mode --with-colons --list-config
2015-02-04 04:08:20.695 [DEBUG] enigmail.js: Enigmail.execCmd: copied command out/err data to files /usr/users/hsu/enigout.txt/enigerr.txt
2015-02-04 04:08:20.695 [DEBUG] enigmail.js: Enigmail.execCmd: exitCode = 0
2015-02-04 04:08:20.696 [DEBUG] enigmail.js: Enigmail.execCmd: errOutput = gpg: Warning: using insecure memory!

2015-02-04 04:08:20.696 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 
gpg: Warning: using insecure memory!

2015-02-04 04:08:20.696 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00000000
2015-02-04 04:08:20.696 [CONSOLE] gpg: Warning: using insecure memory!
2015-02-04 04:08:20.696 [DEBUG] enigmailCommon.jsm: stillActive: 
2015-02-04 04:08:20.696 [DEBUG] enigmailMsgComposeHelper.js: getValidKeyForRecipient(): emailAddr="hsu@iki.fi"
2015-02-04 04:08:20.696 [DEBUG] enigmailMsgComposeHelper.js: getValidKeyForRecipient(): no key found
2015-02-04 04:08:20.697 [DEBUG] enigmailMsgComposeHelper.js: validKeysForAllRecipients(): return null (no single valid key found for="hsu@iki.fi" with minTrustLevel="?")
2015-02-04 04:08:20.697 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.processFinalState()
2015-02-04 04:08:20.697 [DEBUG] enigmailMsgComposeOverlay.js:   encrypt=false encryptByRules=1 encFinally=0
2015-02-04 04:08:20.697 [DEBUG] enigmailMsgComposeOverlay.js:   signed=true signByRules=1 signFinally=1
2015-02-04 04:08:20.697 [DEBUG] enigmailMsgComposeOverlay.js:   pgpmimeByRules=1 pgpmimeFinally=0
2015-02-04 04:08:20.697 [DEBUG] enigmailMsgComposeHelper.js: getRecipientsKeys(): emailAddrs="" interactive=true forceRecipientSettings=false
2015-02-04 04:08:20.697 [DEBUG] enigmail.js: getRulesData
2015-02-04 04:08:20.697 [DEBUG] enigmail.js: loadRulesFile
2015-02-04 04:08:20.697 [DEBUG] enigmail.js: getRulesFile
2015-02-04 04:08:20.697 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.keySelection(): return toAddrStr="hsu@iki.fi, hsu@bbnetworks.net" bccAddrStr=""
2015-02-04 04:08:20.698 [DEBUG] enigmailMsgComposeOverlay.js: hasAttachments = false
2015-02-04 04:08:20.701 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.editorGetContentAs
2015-02-04 04:08:20.701 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.replaceEditorText:
2015-02-04 04:08:20.702 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.editorInsertText
2015-02-04 04:08:20.703 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.editorInsertText
2015-02-04 04:08:20.703 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.editorGetContentAs
2015-02-04 04:08:20.704 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.editorGetCharset
2015-02-04 04:08:20.704 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: charset=utf-8
2015-02-04 04:08:20.704 [DEBUG] enigmail.js: Enigmail.encryptMessage: 7 bytes from 0x1829841E to hsu@iki.fi, hsu@bbnetworks.net (97)
2015-02-04 04:08:20.704 [DEBUG] enigmailCommon.jsm: encryptMessageStart: uiFlags=1, from 0x1829841E to hsu@iki.fi, hsu@bbnetworks.net, hashAlgorithm=null (00000061)
2015-02-04 04:08:20.704 [DEBUG] enigmailCommon.jsm: getEncryptCommand: hashAlgorithm=null
2015-02-04 04:08:20.704 enigmailCommon.jsm: execStart: command = /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 -t --clearsign -u 0x1829841E, needPassphrase=1, domWindow=[object ChromeWindow], listener=[object Object]
2015-02-04 04:08:20.704 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-02-04 04:08:20.704 [DEBUG] enigmailCommon.jsm: getPassphrase:
2015-02-04 04:08:20.705 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-02-04 04:08:20.705 [CONSOLE] enigmail> /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 -t --clearsign -u 0x1829841E --use-agent
2015-02-04 04:08:20.806 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-02-04 04:08:20.923 [DEBUG] enigmailCommon.jsm: encryptMessageEnd: uiFlags=1, sendFlags=00000061, outputLen=56
2015-02-04 04:08:20.923 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 
gpg: Warning: using insecure memory!
[GNUPG:] BEGIN_SIGNING H8
[GNUPG:] PINENTRY_LAUNCHED 2280
gpg: allekirjoitus epäonnistui: Operation cancelled
gpg: [stdin]: clearsign failed: Operation cancelled

2015-02-04 04:08:20.924 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00000000
2015-02-04 04:08:20.924 [DEBUG] enigmailCommon.jsm: encryptMessageEnd: command execution exit code: 2
2015-02-04 04:08:20.924 [DEBUG] enigmail.js: Enigmail.encryptMessage: command execution exit code: 2



When trying open a draft message, the log file contains:


2015-02-04 04:22:29.679 [DEBUG] enigmailMessengerOverlay.js: messageFrameUnload
2015-02-04 04:22:29.679 [DEBUG] enigmailMessengerOverlay.js: messageCleanup
2015-02-04 04:22:29.679 [DEBUG] enigmailMessengerOverlay.js: setAttachmentReveal
2015-02-04 04:22:29.679 [DEBUG] enigmailMsgHdrViewOverlay.js: this.messageUnload
2015-02-04 04:22:29.767 [DEBUG] enigmailMsgHdrViewOverlay.js: _listener_onStartHeaders
2015-02-04 04:22:29.767 [DEBUG] enigmailMessengerOverlay.js: setAttachmentReveal
2015-02-04 04:22:29.767 [DEBUG] enigmailCommon.jsm: getFrame: name=messagepane
2015-02-04 04:22:29.768 [DEBUG] enigmailMsgHdrViewOverlay.js: msgFrame=[object XrayWrapper [object Window]]
2015-02-04 04:22:29.768 [DEBUG] enigmailCommon.jsm: forgetEncryptedUri: uri=imap-message://heikki@mail.bbnetworks.net/Drafts#15278
2015-02-04 04:22:29.768 [DEBUG] enigmailMsgHdrViewOverlay.js: enigmailPrepSecurityInfo
2015-02-04 04:22:29.786 [DEBUG] enigmailMsgHdrViewOverlay.js: _listener_onEndHeaders
2015-02-04 04:22:29.786 [DEBUG] enigmailMessengerOverlay.js: setAttachmentReveal
2015-02-04 04:22:29.845 [DEBUG] enigmailCommon.jsm: decryptMessageStart: verifyOnly=false
2015-02-04 04:22:29.845 enigmailCommon.jsm: execStart: command = /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --max-output 125500 --decrypt, needPassphrase=true, domWindow=[object ChromeWindow], listener=[object Object]
2015-02-04 04:22:29.845 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-02-04 04:22:29.846 [DEBUG] enigmailCommon.jsm: getPassphrase:
2015-02-04 04:22:29.846 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-02-04 04:22:29.846 [CONSOLE] enigmail> /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --max-output 125500 --decrypt --use-agent
2015-02-04 04:22:29.927 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-02-04 04:22:30.110 [DEBUG] enigmailCommon.jsm: decryptMessageEnd: uiFlags=8, verifyOnly=false, noOutput=false
2015-02-04 04:22:30.111 [DEBUG] enigmailCommon.jsm: decryptMessageEnd: stderrStr=
gpg: Warning: using insecure memory!
[GNUPG:] ENC_TO 3D08188F6B052631 1 0
[GNUPG:] PINENTRY_LAUNCHED 2324
gpg: encrypted with 4096-bit RSA key, ID 6B052631, created 2014-12-08
      "Heikki Suonsivu <heikki@suonsivu.net>"
gpg: julkisen avaimen avaus epäonnistui: Operation cancelled
[GNUPG:] ERROR pkdecrypt_failed 83886179
[GNUPG:] BEGIN_DECRYPTION
[GNUPG:] DECRYPTION_FAILED
gpg: avaus epäonnistui: No secret key
[GNUPG:] END_DECRYPTION

2015-02-04 04:22:30.111 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 
gpg: Warning: using insecure memory!
[GNUPG:] ENC_TO 3D08188F6B052631 1 0
[GNUPG:] PINENTRY_LAUNCHED 2324
gpg: encrypted with 4096-bit RSA key, ID 6B052631, created 2014-12-08
      "Heikki Suonsivu <heikki@suonsivu.net>"
gpg: julkisen avaimen avaus epäonnistui: Operation cancelled
[GNUPG:] ERROR pkdecrypt_failed 83886179
[GNUPG:] BEGIN_DECRYPTION
[GNUPG:] DECRYPTION_FAILED
gpg: avaus epäonnistui: No secret key
[GNUPG:] END_DECRYPTION

2015-02-04 04:22:30.111 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00010002
2015-02-04 04:22:30.112 enigmail.js: Enigmail.execCmd: subprocess = '/usr/local/bin/gpg'
2015-02-04 04:22:30.131 [DEBUG] enigmail.js: Enigmail.execCmd: copied command line/env/input to files /usr/users/hsu/enigcmd.txt/enigenv.txt/eniginp.txt
2015-02-04 04:22:30.131 [CONSOLE] enigmail> /usr/local/bin/gpg --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --fixed-list-mode --with-colons --list-keys 0x3D08188F6B052631
2015-02-04 04:22:30.333 [DEBUG] enigmail.js: Enigmail.execCmd: copied command out/err data to files /usr/users/hsu/enigout.txt/enigerr.txt
2015-02-04 04:22:30.333 [DEBUG] enigmail.js: Enigmail.execCmd: exitCode = 0
2015-02-04 04:22:30.333 [DEBUG] enigmail.js: Enigmail.execCmd: errOutput = gpg: Warning: using insecure memory!

2015-02-04 04:22:30.333 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 
gpg: Warning: using insecure memory!

2015-02-04 04:22:30.333 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00000000
2015-02-04 04:22:30.333 [CONSOLE] gpg: Warning: using insecure memory!
2015-02-04 04:22:30.333 [DEBUG] enigmailCommon.jsm: stillActive: 
2015-02-04 04:22:30.334 [DEBUG] enigmailCommon.jsm: decryptMessageEnd: command execution exit code: 2
2015-02-04 04:22:30.334 [DEBUG] enigmailMsgHdrViewOverlay.js: EnigMimeHeaderSink.updateSecurityStatus: uriSpec=imap-message://heikki@mail.bbnetworks.net/Drafts#15283
2015-02-04 04:22:30.335 [DEBUG] enigmailMsgHdrViewOverlay.js: EnigMimeHeaderSink.updateSecurityStatus: msgUriSpec=imap-message://heikki@mail.bbnetworks.net/Drafts#15283
2015-02-04 04:22:30.335 [DEBUG] enigmailMsgHdrViewOverlay.js: this.updateHdrIcons: exitCode=2, statusFlags=2162690, keyId=, userId=, gpg: avaus epäonnistui: No secret key

Note: the message is encrypted with the following User ID's / Keys: 
  0x3D08188F6B052631 (Heikki Suonsivu <heikki@suonsivu.net>)

2015-02-04 04:22:30.336 [DEBUG] enigmailMsgHdrViewOverlay.js: this.updateMsgDb
2015-02-04 04:22:30.406 [DEBUG] enigmailMessengerOverlay.js: messageDecrypt: [object XrayWrapper [object Event]]
2015-02-04 04:22:30.406 [DEBUG] enigmailMessengerOverlay.js: messageDecryptCb:
2015-02-04 04:22:30.406 [DEBUG] enigmailMessengerOverlay.js: messageDecryptCb: mimeMsg is null
2015-02-04 04:22:30.406 [DEBUG] enigmailMessengerOverlay.js: header content-type: multipart/encrypted; protocol="application/pgp-encrypted"; boundary="A9gsfoGJGCi7i2SS9m1QCdQ591jNJpRqb"
2015-02-04 04:22:30.406 [DEBUG] enigmailMessengerOverlay.js: header content-transfer-encoding: 
2015-02-04 04:22:30.406 [DEBUG] enigmailMessengerOverlay.js: header x-enigmail-version: 
2015-02-04 04:22:30.406 [DEBUG] enigmailMessengerOverlay.js: header x-pgp-encoding-format: 
2015-02-04 04:22:30.407 [DEBUG] enigmailMessengerOverlay.js: multipart/encrypted
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2015-02-07 04:24:24 UTC
Fix Summary and assign.
Comment 2 JochenF 2015-02-25 06:32:19 UTC
I have the same problem on a fresh install of FreeBSD 11-CURRENT.
Comment 3 SolarCatcher 2015-02-25 08:59:37 UTC
I can confirm this behavior.

Interesting detail: When I save the encrypted email that Enigmail can't decrypt, I cannot only decrypt it via gpg, but just after that I see the decrypted mail also in Thunderbird.

I currently run:
9.3-RELEASE-p9
thunderbird-31.4.0_2
gnupg-2.1.1_1
Comment 4 JochenF 2015-02-25 09:47:22 UTC
I found the problem in my case: There are 2 pinentry binaries in /usr/local/bin, pinentry-tty and pinentry-gtk2, and a symlink pinentry pointing to pinentry-tty. I changed the symlink to point to pinentry-gtk2, and now it works for me.
Comment 5 Max Brazhnikov freebsd_committer freebsd_triage 2015-05-31 20:01:20 UTC
Assign to me, the problem should be fixed on pinentry side.
Comment 6 Eric 2015-06-01 02:07:32 UTC
Created attachment 157319 [details]
pinentry wrapper script

This is a replacement for the symlink "/usr/local/bin/pinentry" from the security/pinentry port.

This script detects it's environment and starts the (hopefully) right pinentry executable. It logs to "/var/log/messages" if it can't determine the right one.

People can override this wrapper script by specifying their own script in "~/.gnupg/gpg-agent.conf", e.g:
pinentry-program /home/user/bin/my-pinentry
OR e.g.
pinentry-program /usr/local/bin/pinentry-curses

The KDE detection is broken, any help with this is welcome. But it works on KDE with pinentry-gtk-2 as default and pinentry-qt4 as fallback.


With this script as "/usr/local/bin/pinentry" Thunderbird Enigmail is working for me on Mate and KDE right out of the box, installed as packages. And `gpg --decrypt testfile.gpg` is working, too, from X11 terminal and console.
Comment 7 freebsd 2015-07-31 23:58:57 UTC
Under 9.2 release, updated ports r2015-07-26, my installation of thunderbird 38.1 only installed pinentry-tty.  I had to manually add pinentry-gtk2 and change the symlink.

The script works great once pinentry-gtk2 is installed.
The config options and dependencies for thunderbird only show enigmail;
  that option adds security/gnupg as a dependency
The Makefile for gnupg adds security/pinentry
The Makefile for pinentry allows choosing the type of pinentry installed,
but only one may be selected at a time; the default is tty.

The makefile for thunderbird should probably be modified to include
  pinentry-gtk-2 
as a dependency as well as gnupg.

I have no idea what the consequences of installing two versions of pinentry are, although it seems to work fine with the script and thunderbird.  I have no idea if this will cause problems with other uses of gnupg.
Comment 8 freebsd 2015-08-01 00:01:28 UTC
My previous comment about adding pinentry-gtk-2 is obviously wrong, since the pinentry required depends on the user's environment.

Not sure what the right solution is without a more informative dialog for pinentry options.
Comment 9 Arto Pekkanen 2016-03-09 00:35:40 UTC
(In reply to JochenF from comment #4)

Hey guys, problem is NOT in the packages, but in the user pgp config. See here:
https://wiki.archlinux.org/index.php/GnuPG#pinentry

You must configure gnupg to use pinentry-gtk2 instead of pinentry-tty, because Thunderbird and/or Enigmail cannot launch a cli program ...

As root do as follows:
pkg install pinentry-gtk2

As the user who uses Thunderbird, do as follows:
cd ~/.gnugp
cat gpg-agent.conf | grep -v pinentry-program >gpg-agent.conf.new
echo pinentry-program /usr/local/bin/pinentry-gtk-2 >>gpg-agent.conf.new
mv gpg-agent.conf.new gpg-agent.conf
pkill gpg-agent

Then restart Thunderbird.

I suggest you put this solution to the pkg-message of Thunderbird, so people know how to deal with it.

A final solution would be to include a "thunderbird-gpg-setup" script that does the above, and then mention it in pkg message.
Comment 10 Arto Pekkanen 2016-03-09 00:38:00 UTC
(In reply to freebsd from comment #8)

Is there any way to configure gpg-agent to use a specific pinentry program for specific clients? Does gpg even have any API to make distiction between client programs?
Comment 11 Arto Pekkanen 2016-03-09 01:12:40 UTC
Guys guys guys ... I made a script that fixes this problem.

See here: http://pastebin.com/xgUJtMDW

I did not add as attachment because this is not a patch, just a config tool.
Comment 12 Walter Schwarzenfeld 2018-01-13 00:31:28 UTC
Thunderbird has version 52.5.2. This is overcome by events.
Comment 13 Walter Schwarzenfeld 2018-02-12 21:45:38 UTC
I close here. Please, re-open if there are still problems.