pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/27034: PGG included with SEMI 1.14.6 doesn't cache GnuPG passphrase



>Number:         27034
>Category:       pkg
>Synopsis:       PGG included with SEMI 1.14.6 doesn't cache GnuPG passphrase
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Sep 25 20:36:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Miles Nordin
>Release:        NetBSD 2.0_BETA
>Organization:
Le fascisme est la dictature ouverte de la bourgeoisie.
                -- Georg Dimitrov
>Environment:
        
        
System: NetBSD castrovalva 2.0_BETA NetBSD 2.0_BETA (CASTROVALVA-$Revision: 1.7 
$) #0: Tue Sep 14 18:00:24 EDT 2004 
carton@castrovalva:/scratch/src/sys/arch/alpha/compile/CASTROVALVA alpha
Architecture: alpha
Machine: alpha
>Description:
When using SEMI PGG for GnuPG <-> T-Gnus integration, PGG won't cache GnuPG 
passphrases.  The problem is with the function to canonify usernames into 
key IDs:

$ gpg --with-colons --no-greeting --batch --list-secret-keys 
carton%ivy.net@localhost    
sec::1024:1:89C205B4DA5BFE1D:1996-04-11::::Miles Nordin 
<carton%ivy.net@localhost>::escESC:
sec::1024:1:F09D755F657F8F51:1993-02-21::::Miles Nordin 
<carton%ivy.net@localhost>::esc:
$ 

The second :-delimited field is empty, meaning it's 'sec::1024' when
PGG expects something more like --list-keys's output of 'pub:u:1024' with 
a non-empty second field.  split-string will ignore separators at the 
beginning of the string when counting fields.  The small patch below fixes 
the problem for me, and should work either way.

I still have major problems decrypting/verifying GnuPG messages with 
T-Gnus, but sending them seems to be basically ok.

>How-To-Repeat:
1. install t-gnus from pkgsrc-wip

2. in .gnus:

(require 'pgg)
(setq pgg-default-scheme 'gpg)
(setq pgg-scheme 'gpg)

(setq pgg-cache-passphrase 't)                                    
(setq pgg-passphrase-cache-expiry 1800)
(setq mime-edit-pgp-user-id "carton%ivy.net@localhost")

3. send a signed message.  press C-c C-x s in Gnus's (SEMI's) 
   MIME-Edit mode.  PGG will ask for your GnuPG passphrase.

4. send another message within 1800 seconds.  PGG can't retrieve 
   the cached passphrase.

>Fix:
I tried to contact the SEMI developers, but I can't read Japanese and
couldn't find their email.  Maybe you can pass the patch up to them?

Index: distinfo
===================================================================
RCS file: /scratch/cvsroot/netbsd/pkgsrc/devel/semi/distinfo,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 distinfo
--- distinfo    20 Dec 2003 07:44:01 -0000      1.1.1.3
+++ distinfo    25 Sep 2004 20:00:20 -0000
@@ -1,6 +1,7 @@
 $NetBSD: distinfo,v 1.6 2003/04/13 03:55:52 uebayasi Exp $
 
 SHA1 (semi-1.14.6.tar.gz) = a7ed1b391abf837d3483243456936f51910f9894
 Size (semi-1.14.6.tar.gz) = 142549 bytes
 SHA1 (patch-ab) = 3d22b94d7609ff9bdbae20f583185a4b330b34b9
 SHA1 (patch-ac) = c5e7595bafbdc8c85b34d953626d9c4917aad1d6
+SHA1 (patch-ad) = 29b6cd26cc27ad58ea39713320c2492c57b0f085
Index: patches/patch-ad
===================================================================
RCS file: patches/patch-ad
diff -N patches/patch-ad
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-ad    25 Sep 2004 19:41:39 -0000
@@ -0,0 +1,15 @@
+$NetBSD: $
+
+--- pgg-gpg.el.orig    2004-09-25 15:17:14.000000000 -0400
++++ pgg-gpg.el 2004-09-25 15:41:03.000000000 -0400
+@@ -140,8 +140,8 @@
+       (goto-char (point-min))
+       (if (re-search-forward "^\\(sec\\|pub\\):"  nil t)
+         (substring
+-         (nth 3 (split-string
+-                 (buffer-substring (match-end 0)
++         (nth 4 (split-string
++                 (buffer-substring (+ (match-end 0) -4)
+                                    (progn (end-of-line)(point)))
+                  ":")) 8)))))
+ 
>Release-Note:
>Audit-Trail:
>Unformatted:
        
        



Home | Main Index | Thread Index | Old Index