A new user interface for you! Read more...

File nosigcheckforpubkeys.diff of Package rpm.SLE_11

--- lib/rpmts.c.orig	2013-04-24 16:24:16.000000000 +0000
+++ lib/rpmts.c	2013-04-24 17:09:10.000000000 +0000
@@ -375,7 +375,10 @@ fprintf(stderr, "*** free pkt %p[%d] id
 	int ix = -1;
 	rpmdbMatchIterator mi;
 	Header h;
+	rpmVSFlags ovsflags = rpmtsVSFlags(ts);
 
+	/* Turn off header sig checking for pubkeys */
+	rpmtsSetVSFlags(ts, ovsflags | RPMVSF_NOSHA1HEADER | RPMVSF_NORSAHEADER | RPMVSF_NODSAHEADER);
 	/* Retrieve the pubkey that matches the signature. */
 	mi = rpmtsInitIterator(ts, RPMTAG_PUBKEYS, sigp->signid, sizeof(sigp->signid));
 	while ((h = rpmdbNextIterator(mi)) != NULL) {
@@ -395,6 +398,7 @@ fprintf(stderr, "*** free pkt %p[%d] id
 	    break;
 	}
 	mi = rpmdbFreeIterator(mi);
+	rpmtsSetVSFlags(ts, ovsflags);
 
 /*@-branchstate@*/
 	if (ix >= 0) {