Bug 519370 - seahorse-agent missing feature for GnuPG 2.0.12
Summary: seahorse-agent missing feature for GnuPG 2.0.12
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: seahorse-plugins
Version: 11
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-08-26 11:39 UTC by Jérôme Benoit
Modified: 2009-11-02 04:36 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-11-02 04:36:26 UTC


Attachments (Terms of Use)
gpg.conf (8.58 KB, text/plain)
2009-08-31 16:38 UTC, Jérôme Benoit
no flags Details
sylpheedrc (4.83 KB, text/plain)
2009-08-31 16:39 UTC, Jérôme Benoit
no flags Details
Patch to .spec file in order to include fix from upstream (1.20 KB, text/plain)
2009-09-16 20:41 UTC, Jérôme Benoit
no flags Details

Description Jérôme Benoit 2009-08-26 11:39:24 UTC
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:

Comment 1 Michael Schwendt 2009-08-31 11:30:44 UTC
Can't reproduce. Can you give some more details about your GPG setup? (type of key, type of pinentry, gpg-agent usage)

Comment 2 Jérôme Benoit 2009-08-31 16:38:38 UTC
Created attachment 359287 [details]
gpg.conf

Comment 3 Jérôme Benoit 2009-08-31 16:39:28 UTC
Created attachment 359288 [details]
sylpheedrc

Comment 4 Jérôme Benoit 2009-08-31 16:42:07 UTC
Sure, here are sylpheedrc and gpg.conf. 

I also use seahorse as gpg agent at session launch time with GNOME desktop. 

Cheers.

Comment 5 Michael Schwendt 2009-08-31 17:22:39 UTC
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.

Comment 6 Jérôme Benoit 2009-08-31 17:59:59 UTC
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.

Comment 7 Michael Schwendt 2009-08-31 19:09:08 UTC
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.

Comment 8 Jérôme Benoit 2009-08-31 20:02:44 UTC
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

Comment 9 Rex Dieter 2009-08-31 20:29:18 UTC
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. :(

Comment 10 Michael Schwendt 2009-09-01 04:54:33 UTC
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

Comment 11 Michael Schwendt 2009-09-01 05:01:25 UTC
> 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.

Comment 12 Michael Schwendt 2009-09-01 09:33:52 UTC
JFYI: There are passphrase related bugs in Seahorse.
http://bugz.fedoraproject.org/seahorse

Comment 13 Michael Schwendt 2009-09-01 15:02:26 UTC
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.

Comment 14 Michael Schwendt 2009-09-01 16:11:05 UTC
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.

Comment 15 Michael Schwendt 2009-09-01 16:33:51 UTC
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.

Comment 16 Jérôme Benoit 2009-09-01 16:48:24 UTC
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.

Comment 17 Peter Bloomfield 2009-09-15 17:17:26 UTC
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.

Comment 18 Jérôme Benoit 2009-09-16 20:41:56 UTC
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 ?

Comment 19 Peter Bloomfield 2009-09-16 22:54:17 UTC
The patch hasn't been accepted yet upstream (status: none).  Perhaps upstream has a better idea...

Comment 20 Jérôme Benoit 2009-09-17 07:34:56 UTC
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 ;-).

Comment 21 Stephan Sachse 2009-10-06 23:24:03 UTC
patch is accepted upstream, can we have a update? :)

Comment 22 Fedora Update System 2009-10-08 01:28:45 UTC
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

Comment 23 Fedora Update System 2009-10-09 03:43:13 UTC
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


Note You need to log in before you can comment on or make changes to this bug.