teknoraver / rpms / rpm

Forked from rpms/rpm 4 months ago
Clone

Blame rpm-4.7.2-pgp-subkey.patch

Panu Matilainen 4a8173
commit 6eeb0bb06466d9eb75eb55efd514d3ecfe089042
Panu Matilainen 4a8173
Author: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen 4a8173
Date:   Wed Nov 25 15:07:17 2009 +0200
Panu Matilainen 4a8173
Panu Matilainen 4a8173
    We can't handle OpenPGP subkeys or secret keys, so dont even try
Panu Matilainen 4a8173
    - parsing subkeys ends up overwriting data in the main key, causing
Panu Matilainen 4a8173
      bogus signature checking failures
Panu Matilainen 4a8173
    - this is the final missing piece of RhBug:436812, short of adding
Panu Matilainen 4a8173
      proper support for subkeys (maybe someday...)
Panu Matilainen 4a8173
    (cherry picked from commit 98213fc4192c7af07037a0f3e9cce9e3b8509c02)
Panu Matilainen 4a8173
Panu Matilainen 4a8173
diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c
Panu Matilainen 4a8173
index d7bbb5e..f76fc2b 100644
Panu Matilainen 4a8173
--- a/rpmio/rpmpgp.c
Panu Matilainen 4a8173
+++ b/rpmio/rpmpgp.c
Panu Matilainen 4a8173
@@ -1190,11 +1190,6 @@ static int pgpPrtPkt(const uint8_t *pkt, size_t pleft,
Panu Matilainen 4a8173
 	    else
Panu Matilainen 4a8173
 		memset(_digp->signid, 0, sizeof(_digp->signid));
Panu Matilainen 4a8173
 	}
Panu Matilainen 4a8173
-    case PGPTAG_PUBLIC_SUBKEY:
Panu Matilainen 4a8173
-	rc = pgpPrtKey(tag, h, hlen, _dig, _digp);
Panu Matilainen 4a8173
-	break;
Panu Matilainen 4a8173
-    case PGPTAG_SECRET_KEY:
Panu Matilainen 4a8173
-    case PGPTAG_SECRET_SUBKEY:
Panu Matilainen 4a8173
 	rc = pgpPrtKey(tag, h, hlen, _dig, _digp);
Panu Matilainen 4a8173
 	break;
Panu Matilainen 4a8173
     case PGPTAG_USER_ID:
Panu Matilainen 4a8173
@@ -1205,6 +1200,9 @@ static int pgpPrtPkt(const uint8_t *pkt, size_t pleft,
Panu Matilainen 4a8173
 	rc = pgpPrtComment(tag, h, hlen);
Panu Matilainen 4a8173
 	break;
Panu Matilainen 4a8173
 
Panu Matilainen 4a8173
+    case PGPTAG_PUBLIC_SUBKEY:
Panu Matilainen 4a8173
+    case PGPTAG_SECRET_KEY:
Panu Matilainen 4a8173
+    case PGPTAG_SECRET_SUBKEY:
Panu Matilainen 4a8173
     case PGPTAG_RESERVED:
Panu Matilainen 4a8173
     case PGPTAG_PUBLIC_SESSION_KEY:
Panu Matilainen 4a8173
     case PGPTAG_SYMMETRIC_SESSION_KEY: