RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/build/ parsePreamble.c rpm/rpmdb/ signatur...

From: Jeff Johnson <jbj@rpm5.org>
Date: Sun 04 Nov 2007 - 18:59:56 CET
Message-Id: <20071104175956.9B86334847A@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  jbj@rpm5.org
  Module: rpm                              Date:   04-Nov-2007 18:59:56
  Branch: HEAD                             Handle: 2007110417595501

  Modified files:
    rpm                     CHANGES
    rpm/build               parsePreamble.c
    rpm/rpmdb               signature.c signature.h
    rpm/rpmio               rpmio_internal.h rpmpgp.c rpmpgp.h

  Log:
    - jbj: use HAE_t for signature tags, change int_32 to uint32_t where
    needed.

  Summary:
    Revision    Changes     Path
    1.1770      +1  -0      rpm/CHANGES
    2.142       +1  -0      rpm/build/parsePreamble.c
    1.15        +76 -31     rpm/rpmdb/signature.c
    1.3         +1  -1      rpm/rpmdb/signature.h
    2.83        +3  -3      rpm/rpmio/rpmio_internal.h
    2.64        +4  -4      rpm/rpmio/rpmpgp.c
    2.51        +5  -5      rpm/rpmio/rpmpgp.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1769 -r1.1770 CHANGES
  --- rpm/CHANGES	4 Nov 2007 01:14:28 -0000	1.1769
  +++ rpm/CHANGES	4 Nov 2007 17:59:55 -0000	1.1770
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: use HAE_t for signature tags, change int_32 to uint32_t where needed.
       - rpm.org: rpmhash.c: use size_t for keySize.
       - rpm.org: remove unnecessary rpmShowProgress() prototype.
       - jbj: add all-mode --macrosused option, debug rpmGetMacroEntries().
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/parsePreamble.c
  ============================================================================
  $ cvs diff -u -r2.141 -r2.142 parsePreamble.c
  --- rpm/build/parsePreamble.c	3 Nov 2007 23:43:59 -0000	2.141
  +++ rpm/build/parsePreamble.c	4 Nov 2007 17:59:55 -0000	2.142
  @@ -74,6 +74,7 @@
   	he->c = argc;
   	he->append = 1;
   	xx = hae(h, he, 0);
  +	he->append = 0;
       }
       argv = _free(argv);
   }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/signature.c
  ============================================================================
  $ cvs diff -u -r1.14 -r1.15 signature.c
  --- rpm/rpmdb/signature.c	19 Oct 2007 00:36:47 -0000	1.14
  +++ rpm/rpmdb/signature.c	4 Nov 2007 17:59:56 -0000	1.15
  @@ -213,8 +213,8 @@
    * @param passPhrase	private key pass phrase
    * @return		0 on success, 1 on failure
    */
  -static int makePGPSignature(const char * file, /*@unused@*/ int_32 * sigTagp,
  -		/*@out@*/ byte ** pktp, /*@out@*/ int_32 * pktlenp,
  +static int makePGPSignature(const char * file, /*@unused@*/ uint32_t * sigTagp,
  +		/*@out@*/ byte ** pktp, /*@out@*/ uint32_t * pktlenp,
   		/*@null@*/ const char * passPhrase)
   	/*@globals errno, rpmGlobalMacroContext, h_errno,
   		fileSystem, internalState @*/
  @@ -348,8 +348,8 @@
    * @param passPhrase	private key pass phrase
    * @return		0 on success, 1 on failure
    */
  -static int makeGPGSignature(const char * file, int_32 * sigTagp,
  -		/*@out@*/ byte ** pktp, /*@out@*/ int_32 * pktlenp,
  +static int makeGPGSignature(const char * file, uint32_t * sigTagp,
  +		/*@out@*/ byte ** pktp, /*@out@*/ uint32_t * pktlenp,
   		/*@null@*/ const char * passPhrase)
   	/*@globals rpmGlobalMacroContext, h_errno,
   		fileSystem, internalState @*/
  @@ -518,20 +518,22 @@
    * @param passPhrase	private key pass phrase
    * @return		0 on success, -1 on failure
    */
  -static int makeHDRSignature(Header sigh, const char * file, int_32 sigTag,
  +static int makeHDRSignature(Header sigh, const char * file, uint32_t sigTag,
   		/*@null@*/ const char * passPhrase)
   	/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
   	/*@modifies sigh, sigTag, rpmGlobalMacroContext, fileSystem, internalState @*/
   {
       HGE_t hge = (HGE_t)headerGetExtension;
  +    HAE_t hae = headerAddExtension;
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       Header h = NULL;
       FD_t fd = NULL;
       byte * pkt;
  -    int_32 pktlen;
  +    uint32_t pktlen;
       const char * fn = NULL;
       const char * SHA1 = NULL;
       int ret = -1;	/* assume failure. */
  +    int xx;
   
       switch (sigTag) {
       case RPMSIGTAG_SIZE:
  @@ -573,7 +575,12 @@
   
   	if (SHA1 == NULL)
   	    goto exit;
  -	if (!headerAddEntry(sigh, RPMSIGTAG_SHA1, RPM_STRING_TYPE, SHA1, 1))
  +	he->tag = RPMSIGTAG_SHA1;
  +	he->t = RPM_STRING_TYPE;
  +	he->p.str = SHA1;
  +	he->c = 1;
  +	xx = hae(sigh, he, 0);
  +	if (!xx)
   	    goto exit;
   	ret = 0;
   	break;
  @@ -590,8 +597,14 @@
   	if (headerWrite(fd, h))
   	    goto exit;
   	(void) Fclose(fd);	fd = NULL;
  -	if (makeGPGSignature(fn, &sigTag, &pkt, &pktlen, passPhrase)
  -	 || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
  +	if (makeGPGSignature(fn, &sigTag, &pkt, &pktlen, passPhrase))
  +	    goto exit;
  +	he->tag = sigTag;
  +	he->t = RPM_BIN_TYPE;
  +	he->p.ptr = pkt;
  +	he->c = pktlen;
  +	xx = hae(sigh, he, 0);
  +	if (!xx)
   	    goto exit;
   	ret = 0;
   	break;
  @@ -609,8 +622,14 @@
   	if (headerWrite(fd, h))
   	    goto exit;
   	(void) Fclose(fd);	fd = NULL;
  -	if (makePGPSignature(fn, &sigTag, &pkt, &pktlen, passPhrase)
  -	 || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
  +	if (makePGPSignature(fn, &sigTag, &pkt, &pktlen, passPhrase))
  +	    goto exit;
  +	he->tag = sigTag;
  +	he->t = RPM_BIN_TYPE;
  +	he->p.ptr = pkt;
  +	he->c = pktlen;
  +	xx = hae(sigh, he, 0);
  +	if (!xx)
   	    goto exit;
   	ret = 0;
   	break;
  @@ -628,28 +647,42 @@
       return ret;
   }
   
  -int rpmAddSignature(Header sigh, const char * file, int_32 sigTag,
  +int rpmAddSignature(Header sigh, const char * file, uint32_t sigTag,
   		const char * passPhrase)
   {
  +    HAE_t hae = headerAddExtension;
  +    HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       struct stat st;
       byte * pkt;
  -    int_32 pktlen;
  +    uint32_t pktlen;
       int ret = -1;	/* assume failure. */
  +    int xx;
   
       switch (sigTag) {
       case RPMSIGTAG_SIZE:
   	if (Stat(file, &st) != 0)
   	    break;
   	pktlen = st.st_size;
  -	if (!headerAddEntry(sigh, sigTag, RPM_INT32_TYPE, &pktlen, 1))
  +	he->tag = sigTag;
  +	he->t = RPM_INT32_TYPE;
  +	he->p.ui32p = &pktlen;
  +	he->c = 1;
  +	xx = hae(sigh, he, 0);
  +	if (!xx)
   	    break;
   	ret = 0;
   	break;
       case RPMSIGTAG_MD5:
   	pktlen = 16;
   	pkt = memset(alloca(pktlen), 0, pktlen);
  -	if (dodigest(PGPHASHALGO_MD5, file, pkt, 0, NULL)
  -	 || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
  +	if (dodigest(PGPHASHALGO_MD5, file, pkt, 0, NULL))
  +	    break;
  +	he->tag = sigTag;
  +	he->t = RPM_BIN_TYPE;
  +	he->p.ptr = pkt;
  +	he->c = pktlen;
  +	xx = hae(sigh, he, 0);
  +	if (!xx)
   	    break;
   	ret = 0;
   	break;
  @@ -657,8 +690,14 @@
       case RPMSIGTAG_PGP5:	/* XXX legacy */
       case RPMSIGTAG_PGP:
   #if defined(SUPPORT_RPMV3_SIGN_RSA)
  -	if (makePGPSignature(file, &sigTag, &pkt, &pktlen, passPhrase)
  -	 || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
  +	if (makePGPSignature(file, &sigTag, &pkt, &pktlen, passPhrase))
  +	    break;
  +	he->tag = sigTag;
  +	he->t = RPM_BIN_TYPE;
  +	he->p.ptr = pkt;
  +	he->c = pktlen;
  +	xx = hae(sigh, he, 0);
  +	if (!xx)
   	    break;
   	/* XXX Piggyback a header-only RSA signature as well. */
   #endif
  @@ -670,8 +709,14 @@
   #endif	/* SUPPORT_PGP_SIGNING */
       case RPMSIGTAG_GPG:
   #if defined(SUPPORT_RPMV3_SIGN_DSA)
  -	if (makeGPGSignature(file, &sigTag, &pkt, &pktlen, passPhrase)
  -	 || !headerAddEntry(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
  +	if (makeGPGSignature(file, &sigTag, &pkt, &pktlen, passPhrase))
  +	    break;
  +	he->tag = sigTag;
  +	he->t = RPM_BIN_TYPE;
  +	he->p.ptr = pkt;
  +	he->c = pktlen;
  +	xx = hae(sigh, he, 0);
  +	if (!xx)
   	    break;
   	/* XXX Piggyback a header-only DSA signature as well. */
   #endif
  @@ -826,7 +871,7 @@
   {
       const void * sig = pgpGetSig(dig);
       rpmRC res;
  -    int_32 size = 0x7fffffff;
  +    uint32_t size = 0xffffffff;
   
       *t = '\0';
       t = stpcpy(t, _("Header+Payload size: "));
  @@ -842,11 +887,11 @@
       if (size != dig->nbytes) {
   	res = RPMRC_FAIL;
   	t = stpcpy(t, rpmSigString(res));
  -	sprintf(t, " Expected(%d) != (%d)\n", (int)size, (int)dig->nbytes);
  +	sprintf(t, " Expected(%u) != (%u)\n", (unsigned)size, (unsigned)dig->nbytes);
       } else {
   	res = RPMRC_OK;
   	t = stpcpy(t, rpmSigString(res));
  -	sprintf(t, " (%d)", (int)dig->nbytes);
  +	sprintf(t, " (%u)", (unsigned)dig->nbytes);
       }
   
   exit:
  @@ -861,7 +906,7 @@
   	/*@modifies *t, internalState @*/
   {
       const void * sig = pgpGetSig(dig);
  -    int_32 siglen = pgpGetSiglen(dig);
  +    uint32_t siglen = pgpGetSiglen(dig);
       rpmRC res;
       byte * md5sum = NULL;
       size_t md5len = 0;
  @@ -919,7 +964,7 @@
   {
       const void * sig = pgpGetSig(dig);
   #ifdef	NOTYET
  -    int_32 siglen = pgpGetSiglen(dig);
  +    uint32_t siglen = pgpGetSiglen(dig);
   #endif
       rpmRC res;
       const char * SHA1 = NULL;
  @@ -992,9 +1037,9 @@
   {
       const void * sig = pgpGetSig(dig);
   #ifdef	NOTYET
  -    int_32 siglen = pgpGetSiglen(dig);
  +    uint32_t siglen = pgpGetSiglen(dig);
   #endif
  -    int_32 sigtag = pgpGetSigtag(dig);
  +    uint32_t sigtag = pgpGetSigtag(dig);
       pgpDigParams sigp = pgpGetSignature(dig);
       const char * prefix = NULL;
       rpmRC res = RPMRC_OK;
  @@ -1186,9 +1231,9 @@
   {
       const void * sig = pgpGetSig(dig);
   #ifdef	NOTYET
  -    int_32 siglen = pgpGetSiglen(dig);
  +    uint32_t siglen = pgpGetSiglen(dig);
   #endif
  -    int_32 sigtag = pgpGetSigtag(dig);
  +    uint32_t sigtag = pgpGetSigtag(dig);
       pgpDigParams sigp = pgpGetSignature(dig);
       rpmRC res;
       int xx;
  @@ -1292,8 +1337,8 @@
   {
       pgpDig dig = _dig;
       const void * sig = pgpGetSig(dig);
  -    int_32 siglen = pgpGetSiglen(dig);
  -    int_32 sigtag = pgpGetSigtag(dig);
  +    uint32_t siglen = pgpGetSiglen(dig);
  +    uint32_t sigtag = pgpGetSigtag(dig);
       rpmRC res;
   
       if (dig == NULL || sig == NULL || siglen <= 0) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/signature.h
  ============================================================================
  $ cvs diff -u -r1.2 -r1.3 signature.h
  --- rpm/rpmdb/signature.h	7 Oct 2007 14:00:13 -0000	1.2
  +++ rpm/rpmdb/signature.h	4 Nov 2007 17:59:56 -0000	1.3
  @@ -53,7 +53,7 @@
    * @return		0 on success, -1 on failure
    */
   int rpmAddSignature(Header sigh, const char * file,
  -		    int_32 sigTag, /*@null@*/ const char * passPhrase)
  +		    uint32_t sigTag, /*@null@*/ const char * passPhrase)
   	/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
   	/*@modifies sigh, sigTag, rpmGlobalMacroContext, fileSystem, internalState @*/;
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmio_internal.h
  ============================================================================
  $ cvs diff -u -r2.82 -r2.83 rpmio_internal.h
  --- rpm/rpmio/rpmio_internal.h	6 Oct 2007 19:40:23 -0000	2.82
  +++ rpm/rpmio/rpmio_internal.h	4 Nov 2007 17:59:56 -0000	2.83
  @@ -63,11 +63,11 @@
       struct pgpDigParams_s signature;
       struct pgpDigParams_s pubkey;
   
  -    int32_t sigtag;		/*!< Package signature tag. */
  -    int32_t sigtype;		/*!< Package signature data type. */
  +    uint32_t sigtag;		/*!< Package signature tag. */
  +    uint32_t sigtype;		/*!< Package signature data type. */
   /*@relnull@*/
       const void * sig;		/*!< Package signature. */
  -    int32_t siglen;		/*!< Package signature length. */
  +    uint32_t siglen;		/*!< Package signature length. */
   
       pgpVSFlags vsflags;		/*!< Digest/signature operation disablers. */
       struct rpmop_s dops;	/*!< Digest operation statistics. */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmpgp.c
  ============================================================================
  $ cvs diff -u -r2.63 -r2.64 rpmpgp.c
  --- rpm/rpmio/rpmpgp.c	26 Oct 2007 04:00:52 -0000	2.63
  +++ rpm/rpmio/rpmpgp.c	4 Nov 2007 17:59:56 -0000	2.64
  @@ -1127,12 +1127,12 @@
       return (dig ? &dig->pubkey : NULL);
   }
   
  -int32_t pgpGetSigtag(pgpDig dig)
  +uint32_t pgpGetSigtag(pgpDig dig)
   {
       return (dig ? dig->sigtag : 0);
   }
   
  -int32_t pgpGetSigtype(pgpDig dig)
  +uint32_t pgpGetSigtype(pgpDig dig)
   {
       return (dig ? dig->sigtype : 0);
   }
  @@ -1142,13 +1142,13 @@
       return (dig ? dig->sig : NULL);
   }
   
  -int32_t pgpGetSiglen(pgpDig dig)
  +uint32_t pgpGetSiglen(pgpDig dig)
   {
       return (dig ? dig->siglen : 0);
   }
   
   int pgpSetSig(pgpDig dig,
  -	int32_t sigtag, int32_t sigtype, const void * sig, int32_t siglen)
  +	uint32_t sigtag, uint32_t sigtype, const void * sig, uint32_t siglen)
   {
       if (dig != NULL) {
   #if 0
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmpgp.h
  ============================================================================
  $ cvs diff -u -r2.50 -r2.51 rpmpgp.h
  --- rpm/rpmio/rpmpgp.h	6 Oct 2007 19:40:23 -0000	2.50
  +++ rpm/rpmio/rpmpgp.h	4 Nov 2007 17:59:56 -0000	2.51
  @@ -1404,7 +1404,7 @@
    * @param dig		container
    * @return		signature tag
    */
  -int32_t pgpGetSigtag(const pgpDig dig)
  +uint32_t pgpGetSigtag(const pgpDig dig)
   	/*@*/;
   
   /** \ingroup rpmts
  @@ -1413,7 +1413,7 @@
    * @param ts		transaction set
    * @return		signature tag type
    */
  -int32_t pgpGetSigtype(const pgpDig dig)
  +uint32_t pgpGetSigtype(const pgpDig dig)
   	/*@*/;
   
   /**
  @@ -1430,7 +1430,7 @@
    * @param dig		container
    * @return		signature tag data length
    */
  -int32_t pgpGetSiglen(const pgpDig dig)
  +uint32_t pgpGetSiglen(const pgpDig dig)
   	/*@*/;
   
   /**
  @@ -1443,8 +1443,8 @@
    * @return		0 always
    */
   int pgpSetSig(pgpDig dig,
  -		int32_t sigtag, int32_t sigtype,
  -		/*@kept@*/ /*@null@*/ const void * sig, int32_t siglen)
  +		uint32_t sigtag, uint32_t sigtype,
  +		/*@kept@*/ /*@null@*/ const void * sig, uint32_t siglen)
   	/*@modifies dig @*/;
   
   /**
  @@ .
Received on Sun Nov 4 18:59:56 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.