We can't handle OpenPGP subkeys or secret keys, so dont even try
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 25 Nov 2009 13:07:17 +0000 (15:07 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 25 Nov 2009 13:07:17 +0000 (15:07 +0200)
- parsing subkeys ends up overwriting data in the main key, causing
  bogus signature checking failures
- this is the final missing piece of RhBug:436812, short of adding
  proper support for subkeys (maybe someday...)

rpmio/rpmpgp.c

index b6c4065..854174e 100644 (file)
@@ -1180,11 +1180,6 @@ static int pgpPrtPkt(const uint8_t *pkt, size_t pleft,
            else
                memset(_digp->signid, 0, sizeof(_digp->signid));
        }
-    case PGPTAG_PUBLIC_SUBKEY:
-       rc = pgpPrtKey(tag, h, hlen, _dig, _digp);
-       break;
-    case PGPTAG_SECRET_KEY:
-    case PGPTAG_SECRET_SUBKEY:
        rc = pgpPrtKey(tag, h, hlen, _dig, _digp);
        break;
     case PGPTAG_USER_ID:
@@ -1195,6 +1190,9 @@ static int pgpPrtPkt(const uint8_t *pkt, size_t pleft,
        rc = pgpPrtComment(tag, h, hlen);
        break;
 
+    case PGPTAG_PUBLIC_SUBKEY:
+    case PGPTAG_SECRET_KEY:
+    case PGPTAG_SECRET_SUBKEY:
     case PGPTAG_RESERVED:
     case PGPTAG_PUBLIC_SESSION_KEY:
     case PGPTAG_SYMMETRIC_SESSION_KEY: