- add --delsign to purge packages of digital signatures.
CVS patchset: 7569 CVS date: 2004/11/10 00:50:41
This commit is contained in:
parent
20ed322067
commit
910c42099e
1
CHANGES
1
CHANGES
|
@ -29,6 +29,7 @@
|
||||||
- attempt dependency tree breadth, take 1.
|
- attempt dependency tree breadth, take 1.
|
||||||
- use external libneon for http/https transport.
|
- use external libneon for http/https transport.
|
||||||
- python: add python 2.4 support.
|
- python: add python 2.4 support.
|
||||||
|
- add --delsign to purge packages of digital signatures.
|
||||||
|
|
||||||
4.3.1 -> 4.3.2:
|
4.3.1 -> 4.3.2:
|
||||||
- use /etc/selinux/targeted/contexts/files/file_contexts for now.
|
- use /etc/selinux/targeted/contexts/files/file_contexts for now.
|
||||||
|
|
|
@ -46,6 +46,7 @@ static void rpmQVSourceArgCallback( /*@unused@*/ poptContext con,
|
||||||
case 'Q': /* from --querytags (handled by poptALL) */
|
case 'Q': /* from --querytags (handled by poptALL) */
|
||||||
case 'V': /* from --verify, -V */
|
case 'V': /* from --verify, -V */
|
||||||
case 'A': /* from --addsign */
|
case 'A': /* from --addsign */
|
||||||
|
case 'D': /* from --delsign */
|
||||||
case 'I': /* from --import */
|
case 'I': /* from --import */
|
||||||
case 'K': /* from --checksig, -K */
|
case 'K': /* from --checksig, -K */
|
||||||
case 'R': /* from --resign */
|
case 'R': /* from --resign */
|
||||||
|
@ -399,6 +400,8 @@ struct poptOption rpmSignPoptTable[] = {
|
||||||
N_("sign package(s) (identical to --resign)"), NULL },
|
N_("sign package(s) (identical to --resign)"), NULL },
|
||||||
{ "checksig", 'K', 0, NULL, 'K',
|
{ "checksig", 'K', 0, NULL, 'K',
|
||||||
N_("verify package signature(s)"), NULL },
|
N_("verify package signature(s)"), NULL },
|
||||||
|
{ "delsign", '\0', 0, NULL, 'D',
|
||||||
|
N_("delete package signatures"), NULL },
|
||||||
{ "import", '\0', 0, NULL, 'I',
|
{ "import", '\0', 0, NULL, 'I',
|
||||||
N_("import an armored public key"), NULL },
|
N_("import an armored public key"), NULL },
|
||||||
{ "resign", '\0', 0, NULL, 'R',
|
{ "resign", '\0', 0, NULL, 'R',
|
||||||
|
|
|
@ -184,6 +184,7 @@ static int rpmReSign(/*@unused@*/ rpmts ts,
|
||||||
void * uh = NULL;
|
void * uh = NULL;
|
||||||
int_32 uht, uhc;
|
int_32 uht, uhc;
|
||||||
int res = EXIT_FAILURE;
|
int res = EXIT_FAILURE;
|
||||||
|
int deleting = (qva->qva_mode == RPMSIGN_DEL_SIGNATURE);
|
||||||
rpmRC rc;
|
rpmRC rc;
|
||||||
int xx;
|
int xx;
|
||||||
|
|
||||||
|
@ -290,7 +291,13 @@ static int rpmReSign(/*@unused@*/ rpmts ts,
|
||||||
xx = headerRemoveEntry(sigh, RPMSIGTAG_SHA1);
|
xx = headerRemoveEntry(sigh, RPMSIGTAG_SHA1);
|
||||||
xx = rpmAddSignature(sigh, sigtarget, RPMSIGTAG_SHA1, qva->passPhrase);
|
xx = rpmAddSignature(sigh, sigtarget, RPMSIGTAG_SHA1, qva->passPhrase);
|
||||||
|
|
||||||
/* If gpg/pgp is configured, replace the signature. */
|
if (deleting) { /* Nuke all the signature tags. */
|
||||||
|
xx = headerRemoveEntry(sigh, RPMSIGTAG_GPG);
|
||||||
|
xx = headerRemoveEntry(sigh, RPMSIGTAG_DSA);
|
||||||
|
xx = headerRemoveEntry(sigh, RPMSIGTAG_PGP5);
|
||||||
|
xx = headerRemoveEntry(sigh, RPMSIGTAG_PGP);
|
||||||
|
xx = headerRemoveEntry(sigh, RPMSIGTAG_RSA);
|
||||||
|
} else /* If gpg/pgp is configured, replace the signature. */
|
||||||
if ((sigtag = rpmLookupSignatureType(RPMLOOKUPSIG_QUERY)) > 0) {
|
if ((sigtag = rpmLookupSignatureType(RPMLOOKUPSIG_QUERY)) > 0) {
|
||||||
unsigned char oldsignid[8], newsignid[8];
|
unsigned char oldsignid[8], newsignid[8];
|
||||||
|
|
||||||
|
@ -331,7 +338,6 @@ static int rpmReSign(/*@unused@*/ rpmts ts,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reallocate the signature into one contiguous region. */
|
/* Reallocate the signature into one contiguous region. */
|
||||||
|
@ -1024,6 +1030,7 @@ int rpmcliSign(rpmts ts, QVA_t qva, const char ** argv)
|
||||||
/*@notreached@*/ break;
|
/*@notreached@*/ break;
|
||||||
case RPMSIGN_NEW_SIGNATURE:
|
case RPMSIGN_NEW_SIGNATURE:
|
||||||
case RPMSIGN_ADD_SIGNATURE:
|
case RPMSIGN_ADD_SIGNATURE:
|
||||||
|
case RPMSIGN_DEL_SIGNATURE:
|
||||||
return rpmReSign(ts, qva, argv);
|
return rpmReSign(ts, qva, argv);
|
||||||
/*@notreached@*/ break;
|
/*@notreached@*/ break;
|
||||||
case RPMSIGN_NONE:
|
case RPMSIGN_NONE:
|
||||||
|
|
|
@ -776,6 +776,7 @@ typedef enum rpmSignFlags_e {
|
||||||
RPMSIGN_CHK_SIGNATURE = 'K', /*!< from --checksig */
|
RPMSIGN_CHK_SIGNATURE = 'K', /*!< from --checksig */
|
||||||
RPMSIGN_NEW_SIGNATURE = 'R', /*!< from --resign */
|
RPMSIGN_NEW_SIGNATURE = 'R', /*!< from --resign */
|
||||||
RPMSIGN_ADD_SIGNATURE = 'A', /*!< from --addsign */
|
RPMSIGN_ADD_SIGNATURE = 'A', /*!< from --addsign */
|
||||||
|
RPMSIGN_DEL_SIGNATURE = 'D', /*!< from --delsign */
|
||||||
RPMSIGN_IMPORT_PUBKEY = 'I', /*!< from --import */
|
RPMSIGN_IMPORT_PUBKEY = 'I', /*!< from --import */
|
||||||
} rpmSignFlags;
|
} rpmSignFlags;
|
||||||
/*@=typeuse@*/
|
/*@=typeuse@*/
|
||||||
|
|
3
rpmqv.c
3
rpmqv.c
|
@ -408,8 +408,9 @@ int main(int argc, const char ** argv)
|
||||||
break;
|
break;
|
||||||
case RPMSIGN_ADD_SIGNATURE:
|
case RPMSIGN_ADD_SIGNATURE:
|
||||||
case RPMSIGN_NEW_SIGNATURE:
|
case RPMSIGN_NEW_SIGNATURE:
|
||||||
|
case RPMSIGN_DEL_SIGNATURE:
|
||||||
bigMode = MODE_RESIGN;
|
bigMode = MODE_RESIGN;
|
||||||
ka->sign = 1;
|
ka->sign = (ka->qva_mode != RPMSIGN_DEL_SIGNATURE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue