Description of problem: ... the latest gnupg2-2.0.12-1.fc11.i586 gpgme-1.1.8-1.fc11.i586 updates. Version-Release number of selected component (if applicable): sylpheed-2.6.0-4.fc11.i586 How reproducible: Just try to sign a mail. Actual results: (sylpheed:3661): Sylpheed-WARNING **: pgp_sign(): signing failed: Mauvaise phrase de passe Expected results: No warning about wrong passphrase (the passphrase is of course course Ok) Additional info:
Can't reproduce. Can you give some more details about your GPG setup? (type of key, type of pinentry, gpg-agent usage)
Created attachment 359287 [details] gpg.conf
Created attachment 359288 [details] sylpheedrc
Sure, here are sylpheedrc and gpg.conf. I also use seahorse as gpg agent at session launch time with GNOME desktop. Cheers.
Are you able to downgrade individual packages (one by one) to find out which package may be the culprit? From media or Fedora buildsys: gpgme-1.1.7-2.fc11 http://koji.fedoraproject.org/koji/buildinfo?buildID=85981 gnupg2-2.0.11-1.fc11 http://koji.fedoraproject.org/koji/buildinfo?buildID=92660 [...] Sylpheed and Seahorse are linked with GPGME. /usr/share/doc/gpgme-1.1.8/NEWS mentions a single bug-fix compared with 1.1.6, not 1.1.7. The definitions between gpgme-1.1.7-2.fc11.i586.rpm and gpgme-1.1.8-1.fc11.i586.rpm have not changed.
Downgrading gnupg2 to gnupg2-2.0.11-1.fc11 make sylpheed mail signature work again with latest gpgme. Downgrading gpgme do not change anything with the latest up2date gnupg2. gnugpg2 2.0.12 is the culprit. Do you want me to change the bug report component ? Thks.
Well, a few more eyes could be helpful, because only GPGME executes gnupg2 directly. Sylpheed doesn't as it only uses GPGME. [However, there is no guarantee that Sylpheed's GPGME is free of bugs either. Signing messages with Sylpheed still works for me.] Perhaps there is a new incompatibility between the new gnupg2/gpgme pair. One can get a lot of debug output from GPGME when running Sylpheed as "GPGME_DEBUG=255 sylpheed" and e.g. see how it runs gnupg2 compared with the previous release. [...] gpgme-1.1.8-1.fc11 : the package includes a wrong ChangeLog file. That is misleading. There is another ChangeLog file in the src tree that covers more than the top-level ChangeLog. For example, 1.1.8 contains a couple of changes related to interfacing with gnupg2 (e.g. in rungpg.c). This is not mentioned in the top-level changelog.
Relevant standard output gpgme debug output with latest gnugpg2 : _gpgme_io_select (fds=0x87ba910): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x87ba910): check: select on [ r0xa ] _gpgme_io_select (fds=0x87ba910): check: select OK [ r0xa ] _gpgme_io_select (fds=0x87ba910): leave: result=1 _gpgme_run_io_cb (item=0x87ba8f8): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x87ba8f8): call: handler (0x8dd2708, 10) _gpgme_io_read (fd=0xa): enter: buffer=0x8dd6398, count=1024 _gpgme_io_read (fd=0xa): leave: result=0 _gpgme_cancel_with_err (ctx=0x8dbccd8): enter: ctx_err=117440523 _gpgme_io_close (fd=0xa): enter _gpgme_io_close (fd=0xa): check: invoking close handler 0x99b500/0x8dd2708 _gpgme_remove_io_cb (data=0x8dd2d50): call: setting fd 0xa (item=0x87ba8f8) done _gpgme_io_close (fd=0xa): leave: result=0 gpgme:gpg_io_event (gpg=0x8dd2708): call: event 0x992560, type 1, type_data 0xbf8cd0e4 _gpgme_cancel_with_err (ctx=0x8dbccd8): leave gpgme_op_sign_start (ctx=0x8dbccd8): error: Mauvaise phrase de passe <GPGME> (sylpheed:21715): Sylpheed-WARNING **: pgp_sign(): signing failed: Mauvaise phrase de passe gpgme_data_release (dh=0x8dd5368): call gpgme_release (ctx=0x8dbccd8): call gpgme_sig_notation_clear (ctx=0x8dbccd8): call gpgme_data_release (dh=0x8dd2ef8): call gpgme_data_release (dh=0x8dd3f28): call gpgme_data_release (dh=0x0): call And now with old version : gpgme_op_sign_start (ctx=0x8dbfe08): enter: plain=0x8dd85b0, sig=0x8de5360, mode=1 _gpgme_io_pipe (filedes=0x8dd5f94): enter: inherit_idx=1 (GPGME uses it for reading) _gpgme_io_pipe (filedes=0x8dd5f94): leave: read=0xa, write=0xb _gpgme_io_set_close_notify (fd=0xa): enter: close_handler=0x99b500/0x8dd5f80 _gpgme_io_set_close_notify (fd=0xa): leave: result=0 _gpgme_io_set_close_notify (fd=0xb): enter: close_handler=0x99b500/0x8dd5f80 _gpgme_io_set_close_notify (fd=0xb): leave: result=0 gpgme_sig_notation_get (ctx=0x8dbfe08): call: ctx->sig_notations=(nil) gpgme_data_get_file_name (dh=0x8dd85b0): call: dh->file_name=(null) _gpgme_io_pipe (filedes=0xbf8cd070): enter: inherit_idx=0 (GPGME uses it for writing) _gpgme_io_pipe (filedes=0xbf8cd070): leave: read=0xc, write=0xd _gpgme_io_set_close_notify (fd=0xc): enter: close_handler=0x99b500/0x8dd5f80 _gpgme_io_set_close_notify (fd=0xc): leave: result=0 _gpgme_io_set_close_notify (fd=0xd): enter: close_handler=0x99b500/0x8dd5f80 _gpgme_io_set_close_notify (fd=0xd): leave: result=0 _gpgme_io_pipe (filedes=0xbf8cd070): enter: inherit_idx=1 (GPGME uses it for reading) _gpgme_io_pipe (filedes=0xbf8cd070): leave: read=0xe, write=0xf _gpgme_io_set_close_notify (fd=0xe): enter: close_handler=0x99b500/0x8dd5f80 _gpgme_io_set_close_notify (fd=0xe): leave: result=0 _gpgme_io_set_close_notify (fd=0xf): enter: close_handler=0x99b500/0x8dd5f80 _gpgme_io_set_close_notify (fd=0xf): leave: result=0 _gpgme_io_spawn (path=0x88abcf8): enter: path=/usr/bin/gpg2 _gpgme_io_spawn (path=0x88abcf8): check: argv[ 0] = gpg _gpgme_io_spawn (path=0x88abcf8): check: argv[ 1] = --enable-special-filenames _gpgme_io_spawn (path=0x88abcf8): check: argv[ 2] = --use-agent _gpgme_io_spawn (path=0x88abcf8): check: argv[ 3] = --batch _gpgme_io_spawn (path=0x88abcf8): check: argv[ 4] = --no-sk-comment _gpgme_io_spawn (path=0x88abcf8): check: argv[ 5] = --lc-messages _gpgme_io_spawn (path=0x88abcf8): check: argv[ 6] = fr_FR.utf8 _gpgme_io_spawn (path=0x88abcf8): check: argv[ 7] = --lc-ctype _gpgme_io_spawn (path=0x88abcf8): check: argv[ 8] = fr_FR.utf8 _gpgme_io_spawn (path=0x88abcf8): check: argv[ 9] = --status-fd _gpgme_io_spawn (path=0x88abcf8): check: argv[10] = 11 _gpgme_io_spawn (path=0x88abcf8): check: argv[11] = --no-tty _gpgme_io_spawn (path=0x88abcf8): check: argv[12] = --charset _gpgme_io_spawn (path=0x88abcf8): check: argv[13] = utf8 _gpgme_io_spawn (path=0x88abcf8): check: argv[14] = --enable-progress-filter _gpgme_io_spawn (path=0x88abcf8): check: argv[15] = --display _gpgme_io_spawn (path=0x88abcf8): check: argv[16] = :0.0 _gpgme_io_spawn (path=0x88abcf8): check: argv[17] = --ttyname _gpgme_io_spawn (path=0x88abcf8): check: argv[18] = /dev/pts/5 _gpgme_io_spawn (path=0x88abcf8): check: argv[19] = --ttytype _gpgme_io_spawn (path=0x88abcf8): check: argv[20] = xterm _gpgme_io_spawn (path=0x88abcf8): check: argv[21] = --sign _gpgme_io_spawn (path=0x88abcf8): check: argv[22] = --detach _gpgme_io_spawn (path=0x88abcf8): check: argv[23] = --armor _gpgme_io_spawn (path=0x88abcf8): check: argv[24] = --textmode _gpgme_io_spawn (path=0x88abcf8): check: argv[25] = -- _gpgme_io_spawn (path=0x88abcf8): check: argv[26] = -&12 _gpgme_io_spawn (path=0x88abcf8): check: fd[0] = 0xb _gpgme_io_spawn (path=0x88abcf8): check: fd[1] = 0xc _gpgme_io_spawn (path=0x88abcf8): check: fd[2] = 0xf -> 0x1 gpgme:max_fds (((void *)0)=0x0): call: max fds=1024 (RLIMIT_NOFILE) _gpgme_io_spawn (path=0x88abcf8): check: waiting for child process pid=21823 _gpgme_io_close (fd=0xb): enter _gpgme_io_close (fd=0xb): check: invoking close handler 0x99b500/0x8dd5f80 _gpgme_io_close (fd=0xb): leave: result=0 _gpgme_io_close (fd=0xc): enter _gpgme_io_close (fd=0xc): check: invoking close handler 0x99b500/0x8dd5f80 _gpgme_io_close (fd=0xc): leave: result=0 _gpgme_io_close (fd=0xf): enter _gpgme_io_close (fd=0xf): check: invoking close handler 0x99b500/0x8dd5f80 _gpgme_io_close (fd=0xf): leave: result=0 _gpgme_io_spawn (path=0x88abcf8): leave: result=0 _gpgme_add_io_cb (ctx=0x8dbfe08): call: fd 10, dir=1 -> tag=0x8539998 _gpgme_add_io_cb (ctx=0x8dbfe08): call: fd 13, dir=0 -> tag=0x8dd1950 _gpgme_io_set_nonblocking (fd=0xd): enter _gpgme_io_set_nonblocking (fd=0xd): leave: result=0 _gpgme_add_io_cb (ctx=0x8dbfe08): call: fd 14, dir=1 -> tag=0x87a1d78 gpgme:gpg_io_event (gpg=0x8dd5f80): call: event 0x992560, type 0, type_data (nil) _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa w0xd r0xe ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ w0xd ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x87a1d60): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ w0xd ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ w0xd ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x87a1d60): call: handler (0x8dd85b0, 13) _gpgme_data_outbound_handler (dh=0x8dd85b0): enter: fd=0xd gpgme_data_read (dh=0x8dd85b0): enter: buffer=0x8dd85b8, size=4096 gpgme_data_read (dh=0x8dd85b0): leave: result=309 _gpgme_io_write (fd=0xd): enter: buffer=0x8dd85b8, count=309 _gpgme_io_write (fd=0xd): check: 436f6e74656e742d 547970653a207465 Content-Type: te _gpgme_io_write (fd=0xd): check: 78742f706c61696e 3b20636861727365 xt/plain; charse _gpgme_io_write (fd=0xd): check: 743d49534f2d3838 35392d310d0a436f t=ISO-8859-1..Co _gpgme_io_write (fd=0xd): check: 6e74656e742d4469 73706f736974696f ntent-Dispositio _gpgme_io_write (fd=0xd): check: 6e3a20696e6c696e 650d0a436f6e7465 n: inline..Conte _gpgme_io_write (fd=0xd): check: 6e742d5472616e73 6665722d456e636f nt-Transfer-Enco _gpgme_io_write (fd=0xd): check: 64696e673a207175 6f7465642d707269 ding: quoted-pri _gpgme_io_write (fd=0xd): check: 6e7461626c650d0a 0d0a546573740d0a ntable....Test.. _gpgme_io_write (fd=0xd): check: 0d0a2d2d3d32300d 0a4a3d4539723d46 ..--=20..J=E9r=F _gpgme_io_write (fd=0xd): check: 346d652042656e6f 697420616b612066 4me Benoit aka f _gpgme_io_write (fd=0xd): check: 726167676c650d0a 4c61204d3d453974 raggle..La M=E9t _gpgme_io_write (fd=0xd): check: 3d45396f20647520 4e6574202d206874 =E9o du Net - ht _gpgme_io_write (fd=0xd): check: 74703a2f2f677265 6e6f75696c6c652e tp://grenouille. _gpgme_io_write (fd=0xd): check: 636f6d0d0a4f7065 6e504750204b6579 com..OpenPGP Key _gpgme_io_write (fd=0xd): check: 204944203a203946 4539313631440d0a ID : 9FE9161D.. _gpgme_io_write (fd=0xd): check: 4b65792066696e67 65727072696e7420 Key fingerprint _gpgme_io_write (fd=0xd): check: 3a20394341342030 3234392041463537 : 9CA4 0249 AF57 _gpgme_io_write (fd=0xd): check: 2041333542203334 4233204143313520 A35B 34B3 AC15 _gpgme_io_write (fd=0xd): check: 4641413020434235 3020394645392031 FAA0 CB50 9FE9 1 _gpgme_io_write (fd=0xd): check: 3631440d0a 61D.. _gpgme_io_write (fd=0xd): leave: result=309 _gpgme_data_outbound_handler (dh=0x8dd85b0): leave _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa w0xd r0xe ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ w0xd ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x87a1d60): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ w0xd ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ w0xd ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x87a1d60): call: handler (0x8dd85b0, 13) _gpgme_data_outbound_handler (dh=0x8dd85b0): enter: fd=0xd gpgme_data_read (dh=0x8dd85b0): enter: buffer=0x8dd85b8, size=4096 gpgme_data_read (dh=0x8dd85b0): leave: result=0 _gpgme_io_close (fd=0xd): enter _gpgme_io_close (fd=0xd): check: invoking close handler 0x99b500/0x8dd5f80 _gpgme_remove_io_cb (data=0x8dd1950): call: setting fd 0xd (item=0x87a1d60) done _gpgme_io_close (fd=0xd): leave: result=0 _gpgme_data_outbound_handler (dh=0x8dd85b0): leave _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa r0xe ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ r0xa ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: handler (0x8dd5f80, 10) _gpgme_io_read (fd=0xa): enter: buffer=0x8786f00, count=1024 _gpgme_io_read (fd=0xa): check: 5b474e5550473a5d 205553455249445f [GNUPG:] USERID_ _gpgme_io_read (fd=0xa): check: 48494e5420464141 3043423530394645 HINT FAA0CB509FE _gpgme_io_read (fd=0xa): check: 3931363144204a65 726f6d652042656e 9161D Jerome Ben _gpgme_io_read (fd=0xa): check: 6f69742028667261 67676c6529203c6a oit (fraggle) <j _gpgme_io_read (fd=0xa): check: 65726f6d652e6265 6e6f697440677265 erome.benoit@gre _gpgme_io_read (fd=0xa): check: 6e6f75696c6c652e 636f6d3e0a5b474e nouille.com>.[GN _gpgme_io_read (fd=0xa): check: 5550473a5d204e45 45445f5041535350 UPG:] NEED_PASSP _gpgme_io_read (fd=0xa): check: 4852415345204641 4130434235303946 HRASE FAA0CB509F _gpgme_io_read (fd=0xa): check: 4539313631442046 4141304342353039 E9161D FAA0CB509 _gpgme_io_read (fd=0xa): check: 4645393136314420 313720300a FE9161D 17 0. _gpgme_io_read (fd=0xa): leave: result=157 _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa r0xe ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ r0xa ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: handler (0x8dd5f80, 10) _gpgme_io_read (fd=0xa): enter: buffer=0x8786f00, count=1024 _gpgme_io_read (fd=0xa): check: 5b474e5550473a5d 20474f4f445f5041 [GNUPG:] GOOD_PA _gpgme_io_read (fd=0xa): check: 5353504852415345 0a5b474e5550473a SSPHRASE.[GNUPG: _gpgme_io_read (fd=0xa): check: 5d2050524f475245 5353202d26313220 ] PROGRESS -&12 _gpgme_io_read (fd=0xa): check: 3f203020300a5b47 4e5550473a5d2042 ? 0 0.[GNUPG:] B _gpgme_io_read (fd=0xa): check: 4547494e5f534947 4e494e472048320a EGIN_SIGNING H2. _gpgme_io_read (fd=0xa): check: 5b474e5550473a5d 2050524f47524553 [GNUPG:] PROGRES _gpgme_io_read (fd=0xa): check: 53202d263132203f 2033303920300a S -&12 ? 309 0. _gpgme_io_read (fd=0xa): leave: result=111 _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa r0xe ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ r0xa ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: handler (0x8dd5f80, 10) _gpgme_io_read (fd=0xa): enter: buffer=0x8786f00, count=1024 _gpgme_io_read (fd=0xa): check: 5b474e5550473a5d 205349475f435245 [GNUPG:] SIG_CRE _gpgme_io_read (fd=0xa): check: 4154454420442031 3720322030312031 ATED D 17 2 01 1 _gpgme_io_read (fd=0xa): check: 3235313734383834 3420394341343032 251748844 9CA402 _gpgme_io_read (fd=0xa): check: 3439414635374133 3542333442334143 49AF57A35B34B3AC _gpgme_io_read (fd=0xa): check: 3135464141304342 3530394645393136 15FAA0CB509FE916 _gpgme_io_read (fd=0xa): check: 31440a 1D. _gpgme_io_read (fd=0xa): leave: result=83 _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa r0xe ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ r0xe ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x8de5048): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ r0xe ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ r0xe ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x8de5048): call: handler (0x8de5360, 14) _gpgme_data_inbound_handler (dh=0x8de5360): enter: fd=0xe _gpgme_io_read (fd=0xe): enter: buffer=0xbf8cc04c, count=4096 _gpgme_io_read (fd=0xe): check: 2d2d2d2d2d424547 494e205047502053 -----BEGIN PGP S _gpgme_io_read (fd=0xe): check: 49474e4154555245 2d2d2d2d2d0a5665 IGNATURE-----.Ve _gpgme_io_read (fd=0xe): check: 7273696f6e3a2047 6e7550472076322e rsion: GnuPG v2. _gpgme_io_read (fd=0xe): check: 302e31312028474e 552f4c696e757829 0.11 (GNU/Linux) _gpgme_io_read (fd=0xe): check: 0a0a694559454152 454341415946416b ..iEYEARECAAYFAk _gpgme_io_read (fd=0xe): check: 71634b2b77414367 6b512b71444c554a qcK+wACgkQ+qDLUJ _gpgme_io_read (fd=0xe): check: 2f70466831415541 436777577734346c /pFh1AUACgwWw44l _gpgme_io_read (fd=0xe): check: 70485a4331647645 33336a55724a644f pHZC1dvE33jUrJdO _gpgme_io_read (fd=0xe): check: 30530a6e3059416e 6a384d6d444a734d 0S.n0YAnj8MmDJsM _gpgme_io_read (fd=0xe): check: 704658416d497041 536f314766456771 pFXAmIpASo1GfEgq _gpgme_io_read (fd=0xe): check: 66756f0a3d43332f 4d0a2d2d2d2d2d45 fuo.=C3/M.-----E _gpgme_io_read (fd=0xe): check: 4e44205047502053 49474e4154555245 ND PGP SIGNATURE _gpgme_io_read (fd=0xe): check: 2d2d2d2d2d0a -----. _gpgme_io_read (fd=0xe): leave: result=198 gpgme_data_write (dh=0x8de5360): enter: buffer=0xbf8cc04c, size=198 gpgme_data_write (dh=0x8de5360): leave: result=198 _gpgme_data_inbound_handler (dh=0x8de5360): leave _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa r0xe ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ r0xe ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x8de5048): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ r0xe ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ r0xe ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x8de5048): call: handler (0x8de5360, 14) _gpgme_data_inbound_handler (dh=0x8de5360): enter: fd=0xe _gpgme_io_read (fd=0xe): enter: buffer=0xbf8cc04c, count=4096 _gpgme_io_read (fd=0xe): leave: result=0 _gpgme_io_close (fd=0xe): enter _gpgme_io_close (fd=0xe): check: invoking close handler 0x99b500/0x8dd5f80 _gpgme_remove_io_cb (data=0x87a1d78): call: setting fd 0xe (item=0x8de5048) done _gpgme_io_close (fd=0xe): leave: result=0 _gpgme_data_inbound_handler (dh=0x8de5360): leave _gpgme_io_select (fds=0x8dd1880): enter: nfds=10, nonblock=0 _gpgme_io_select (fds=0x8dd1880): check: select on [ r0xa ] _gpgme_io_select (fds=0x8dd1880): check: select OK [ r0xa ] _gpgme_io_select (fds=0x8dd1880): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: need to check _gpgme_io_select (fds=0xbf8cd0ac): enter: nfds=1, nonblock=1 _gpgme_io_select (fds=0xbf8cd0ac): check: select on [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): check: select OK [ r0xa ] _gpgme_io_select (fds=0xbf8cd0ac): leave: result=1 _gpgme_run_io_cb (item=0x88ac7e0): call: handler (0x8dd5f80, 10) _gpgme_io_read (fd=0xa): enter: buffer=0x8786f00, count=1024 _gpgme_io_read (fd=0xa): leave: result=0 _gpgme_io_close (fd=0xa): enter _gpgme_io_close (fd=0xa): check: invoking close handler 0x99b500/0x8dd5f80 _gpgme_remove_io_cb (data=0x8539998): call: setting fd 0xa (item=0x88ac7e0) done _gpgme_io_close (fd=0xa): leave: result=0 gpgme:gpg_io_event (gpg=0x8dd5f80): call: event 0x992560, type 1, type_data 0xbf8cd10c gpgme_op_sign_start (ctx=0x8dbfe08): leave gpgme_op_sign_result (ctx=0x8dbfe08): enter gpgme_op_sign_result (ctx=0x8dbfe08): check: result: invalid signers: 0, signatures: 1 gpgme_op_sign_result (ctx=0x8dbfe08): check: result: signature: type=1, pubkey_algo=17, hash_algo=2, timestamp=1251748844, fpr=9CA40249AF57A35B34B3AC15FAA0CB509FE9161D, sig_class=1 gpgme_op_sign_result (ctx=0x8dbfe08): leave: result=0x8db8030 gpgme_get_protocol (ctx=0x8dbfe08): call: ctx->protocol=0 (OpenPGP) gpgme_release (ctx=0x8dbfe08): call gpgme_sig_notation_clear (ctx=0x8dbfe08): call gpgme_data_seek (dh=0x8de0a48): enter: offset=0, whence=0 gpgme_data_seek (dh=0x8de0a48): leave: result=0 gpgme_data_read (dh=0x8de0a48): enter: buffer=0xbf8cd24c, size=8192 gpgme_data_read (dh=0x8de0a48): leave: result=314 gpgme_data_read (dh=0x8de0a48): enter: buffer=0xbf8cd24c, size=8192 gpgme_data_read (dh=0x8de0a48): leave: result=0 gpgme_data_release (dh=0x8de0a48): call gpgme_data_seek (dh=0x8dd85b0): enter: offset=0, whence=0 gpgme_data_seek (dh=0x8dd85b0): leave: result=0 gpgme_data_read (dh=0x8dd85b0): enter: buffer=0xbf8cd24c, size=8192 gpgme_data_read (dh=0x8dd85b0): leave: result=309 gpgme_data_read (dh=0x8dd85b0): enter: buffer=0xbf8cd24c, size=8192 gpgme_data_read (dh=0x8dd85b0): leave: result=0 gpgme_data_seek (dh=0x8de5360): enter: offset=0, whence=0 gpgme_data_seek (dh=0x8de5360): leave: result=0 gpgme_data_read (dh=0x8de5360): enter: buffer=0xbf8cd24c, size=8192 gpgme_data_read (dh=0x8de5360): leave: result=198 gpgme_data_read (dh=0x8de5360): enter: buffer=0xbf8cd24c, size=8192 gpgme_data_read (dh=0x8de5360): leave: result=0 gpgme_data_release (dh=0x0): call gpgme_data_release (dh=0x8dd85b0): call gpgme_data_release (dh=0x8de5360): call
My initial attempts at sylpheed gpg signing seems about that same, it just says (sylpheed:5512): Sylpheed-WARNING **: pgp_sign(): signing failed: Bad passphrase Tried both gnupg2-2.0.11 and 2.0.12, it doesn't prompt for passphrase either. I'm using gpg-agent. :(
With default GPG key? And what type of key? > it doesn't prompt for passphrase either Interesting. What pinentry variant do you have enabled? gtk/qt/curses? Normally, pinentry is opened. You could enter the passphrase at most three times before pinentry would exit, and *then* Sylpheed would warn about "Bad passphrase". Only "Cancel" gives the same warning immediately. Just tried the qt and curses variants, and they also work. [...] Is this with SELinux enabled? [...] > Relevant standard output gpgme debug output with latest gnugpg2 : Is it really not even executing /usr/bin/gpg2? Or did you just truncate it too much? attachments would be better, btw
> I'm using gpg-agent. :( Oh, I think I've misunderstood you. I also use gpg-agent, but for testing I terminated it. When starting it, I can only enter a good passphrase once, and next time Sylpheed would manage to sign immediately without a pinentry prompt, of course.
JFYI: There are passphrase related bugs in Seahorse. http://bugz.fedoraproject.org/seahorse
Surprise, surprise! This could be my test-case for future investigations... On Rawhide (F-12 Alpha updated), the encrypted mail reply sent to me by Jérôme gave an automatic "bad passphrase" in Claws Mail (!) when running Seahorse (daemon and agent) in the GNOME session. Smells like the same problem. Didn't try Sylpheed. Couldn't get Claws Mail to prompt me for the passphrase at all - it immediately fails and includes the error message above the message body. On the contrary, plain gpg2 actions give me the graphical seahorse pass phrase dialog. [ I'm fighting with Seahorse, which by default fails to start anything in F11, and only installing seahorse-plugins makes it work and also starts seahorse-agent then automatically (bug 520587). ] So, after the bad passphrase bug in Rawhide, I went back to F11, where I have seahorse-agent running now, too, and I still can't reproduce it there. Claws Mail succeeds in opening the encrypted mail.
Rawhide, Claws Mail, Seahorse -agent and -daemon: [GNUPG:] NEED_PASSPHRASE 4D83F1CF4FC3B4A8 D2231572B8AF1C54 16 0. [GNUPG:] ERROR get_passphrase 60. [GNUPG:] MISSING_PASSPHRASE [GNUPG:] BEGIN_DECRYPTION. [GNUPG:] DECRYPTION_FAILED That's gnupg2 passphrase_get failing to get a passphrase from the agent. GPG_ERR_NOT_SUPPORTED = 60, | /* Check that the gpg-agent understands the repeat option. */ | if (assuan_transact (agent_ctx, | "GETINFO cmd_has_option GET_PASSPHRASE repeat", | NULL, NULL, NULL, NULL, NULL, NULL)) | return gpg_error (GPG_ERR_NOT_SUPPORTED); This check is new in gnupg 2.0.12. seahorse-agent doesn't support it.
The reason I could not reproduce it with F11 in comment 13 is that I had downgraded to gnupg2-2.0.11-1.fc11 temporarily.
Hello, Many thks Micheal for your in deep investigation. You have narrow down the bug to the newly added feature check in gnupg 2.0.12 that seahorse do not support yet. Maybe we can mark this bug as a duplicate to bug https://bugzilla.redhat.com/show_bug.cgi?id=474419 (as long as a missing pinentry-gtk is triggering the same problem) ? Cheers.
The upstream bug is <URL:https://bugzilla.gnome.org/show_bug.cgi?id=586855>; it has a proposed patch for supporting that GETINFO request in seahorse-agent.
Created attachment 361373 [details] Patch to .spec file in order to include fix from upstream Could someone with write access commit this patch into CVS with Peter patch please ?
The patch hasn't been accepted yet upstream (status: none). Perhaps upstream has a better idea...
Well, whatever upstream status is, the fact is your patch is a fix for a regression in Fedora stable. It might be a wise idea to include the fix ;-).
patch is accepted upstream, can we have a update? :)
seahorse-plugins-2.26.2-6.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/seahorse-plugins-2.26.2-6.fc11
seahorse-plugins-2.26.2-6.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update seahorse-plugins'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-10367