Hey hey!

My patch broke monkeysign it seems :-/

I haven't counted properly and I've only realised now that
the number of fields is wrong in many places...  I remember having successfully
run the tests when I submitted the patch, but now I realise that
they fail. Weird.

Anyway,  the attached patch is better.  Sorry for the noise.

Cheers,
  Tobi
>From c7924f3d389efea1bbd67d13485aabcef995fff0 Mon Sep 17 00:00:00 2001
From: Tobias Mueller <[email protected]>
Date: Sat, 8 Aug 2015 11:58:19 +0200
Subject: [PATCH] gpg:  Fixed up the key parsing for secret keys

I was counting wrongly.  It's not 14 values we want to extract, but 13.
Sorry for the noise.

I don't know what went wrong the last time I attempted to patch,
but this time the tests actually pass.
---
 monkeysign/gpg.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/monkeysign/gpg.py b/monkeysign/gpg.py
index 9166755..56d21a1 100644
--- a/monkeysign/gpg.py
+++ b/monkeysign/gpg.py
@@ -683,35 +683,35 @@ class OpenPGPkey():
             #print >>sys.stderr, "\n"
             rectype = record[0]
             if rectype == 'tru':
-                (rectype, trust, selflen, algo, keyid, creation, expiry, serial) = record[:9]
+                (rectype, trust, selflen, algo, keyid, creation, expiry, serial) = record[:8]
             elif rectype == 'fpr':
                 if not self.fpr:
                     self.fpr = record[9]
             elif rectype == 'pub':
-                (null, self.trust, self.length, self.algo, keyid, self.creation, self.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:12]
+                (null, self.trust, self.length, self.algo, keyid, self.creation, self.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:13]
                 for p in self.purpose:
                     self.purpose[p] = p[0].lower() in purpose.lower()
                 if self.trust == '':
                     self.trust = '-'
             elif rectype == 'uid':
-                (rectype, trust, null, null, null, creation, expiry, uidhash, null, uid) = record[:11]
+                (rectype, trust, null, null, null, creation, expiry, uidhash, null, uid) = record[:10]
                 uid = OpenPGPuid(uid, trust, creation, expiry, uidhash)
                 self.uids[uidhash] = uid
                 uidslist.append(uid)
             elif rectype == 'sub':
                 subkey = OpenPGPkey()
-                (rectype, trust, subkey.length, subkey.algo, subkey._keyid, subkey.creation, subkey.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:14]
+                (rectype, trust, subkey.length, subkey.algo, subkey._keyid, subkey.creation, subkey.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:13]
                 for p in subkey.purpose:
                     subkey.purpose[p] = p[0].lower() in purpose.lower()
                 self.subkeys[subkey._keyid] = subkey
             elif rectype == 'sec':
-                (null, self.trust, self.length, self.algo, keyid, self.creation, self.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:14]
+                (null, self.trust, self.length, self.algo, keyid, self.creation, self.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:13]
                 self.secret = True
                 if self.trust == '':
                     self.trust = '-'
             elif rectype == 'ssb':
                 subkey = OpenPGPkey()
-                (rectype, trust, subkey.length, subkey.algo, subkey._keyid, subkey.creation, subkey.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:14]
+                (rectype, trust, subkey.length, subkey.algo, subkey._keyid, subkey.creation, subkey.expiry, serial, trust, uid, sigclass, purpose, smime) = record[:13]
                 if subkey._keyid in self.subkeys:
                     # XXX: nothing else to add here?
                     self.subkeys[subkey._keyid].secret = True
-- 
2.1.4

Reply via email to