RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/lib/ package.c rpmchecksig.c rpm/rpmio/ rp...

From: Jeff Johnson <jbj@rpm5.org>
Date: Mon 03 Dec 2007 - 21:13:14 CET
Message-Id: <20071203201314.25FE434845C@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:   03-Dec-2007 21:13:14
  Branch: HEAD                             Handle: 2007120320131300

  Modified files:
    rpm                     CHANGES
    rpm/lib                 package.c rpmchecksig.c
    rpm/rpmio               rpmio_internal.h

  Log:
    - rpm.org: Eliminate copy-paste fd digest stealing, stuff into
    rpmio_internal.

  Summary:
    Revision    Changes     Path
    1.1926      +1  -0      rpm/CHANGES
    2.195       +1  -23     rpm/lib/package.c
    1.203       +1  -25     rpm/lib/rpmchecksig.c
    2.93        +33 -0      rpm/rpmio/rpmio_internal.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1925 -r1.1926 CHANGES
  --- rpm/CHANGES	3 Dec 2007 19:23:33 -0000	1.1925
  +++ rpm/CHANGES	3 Dec 2007 20:13:13 -0000	1.1926
  @@ -1,4 +1,5 @@
   5.0a4 -> 5.0b1:
  +    - rpm.org: Eliminate copy-paste fd digest stealing, stuff into rpmio_internal.
       - rpm.org: Add doxygen grouping to rpmte methods.
       - rpm.org: Add doxygen grouping to rpmds methods.
       - rpm.org: Lose the useless rpmrc python stuff, group macro handling to rpmmacro-py.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/package.c
  ============================================================================
  $ cvs diff -u -r2.194 -r2.195 package.c
  --- rpm/lib/package.c	26 Nov 2007 21:05:56 -0000	2.194
  +++ rpm/lib/package.c	3 Dec 2007 20:13:13 -0000	2.195
  @@ -100,7 +100,6 @@
       rpmRC rc = RPMRC_FAIL;	/* assume failure */
       rpmop opsave = memset(alloca(sizeof(*opsave)), 0, sizeof(*opsave));
       int xx;
  -    int i;
   
       if (hdrp) *hdrp = NULL;
   
  @@ -335,28 +334,7 @@
   	}
   
   	/* XXX Steal the digest-in-progress from the file handle. */
  -	for (i = fd->ndigests - 1; i >= 0; i--) {
  -	    FDDIGEST_t fddig = fd->digests + i;
  -	    if (fddig->hashctx != NULL)
  -	    switch (fddig->hashalgo) {
  -	    case PGPHASHALGO_MD5:
  -		dig->md5ctx = fddig->hashctx;
  -		fddig->hashctx = NULL;
  -		/*@switchbreak@*/ break;
  -	    case PGPHASHALGO_SHA1:
  -	    case PGPHASHALGO_RIPEMD160:
  -#if defined(HAVE_BEECRYPT_API_H)
  -	    case PGPHASHALGO_SHA256:
  -	    case PGPHASHALGO_SHA384:
  -	    case PGPHASHALGO_SHA512:
  -#endif
  -		dig->sha1ctx = fddig->hashctx;
  -		fddig->hashctx = NULL;
  -		/*@switchbreak@*/ break;
  -	    default:
  -		/*@switchbreak@*/ break;
  -	    }
  -	}
  +	fdStealDigest(fd, dig);
   	break;
       }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmchecksig.c
  ============================================================================
  $ cvs diff -u -r1.202 -r1.203 rpmchecksig.c
  --- rpm/lib/rpmchecksig.c	26 Nov 2007 21:05:56 -0000	1.202
  +++ rpm/lib/rpmchecksig.c	3 Dec 2007 20:13:13 -0000	1.203
  @@ -784,7 +784,6 @@
       ssize_t count;
       rpmRC rc;
       int xx;
  -    int i;
   
       dig->nbytes = 0;
   
  @@ -849,30 +848,7 @@
       }
   
       /* XXX Steal the digest-in-progress from the file handle. */
  -    for (i = fd->ndigests - 1; i >= 0; i--) {
  -	FDDIGEST_t fddig = fd->digests + i;
  -	if (fddig->hashctx != NULL)
  -	switch (fddig->hashalgo) {
  -	case PGPHASHALGO_MD5:
  -assert(dig->md5ctx == NULL);
  -	    dig->md5ctx = fddig->hashctx;
  -	    fddig->hashctx = NULL;
  -	    /*@switchbreak@*/ break;
  -	case PGPHASHALGO_SHA1:
  -	case PGPHASHALGO_RIPEMD160:
  -#if defined(HAVE_BEECRYPT_API_H)
  -	case PGPHASHALGO_SHA256:
  -	case PGPHASHALGO_SHA384:
  -	case PGPHASHALGO_SHA512:
  -#endif
  -assert(dig->sha1ctx == NULL);
  -	    dig->sha1ctx = fddig->hashctx;
  -	    fddig->hashctx = NULL;
  -	    /*@switchbreak@*/ break;
  -	default:
  -	    /*@switchbreak@*/ break;
  -	}
  -    }
  +    fdStealDigest(fd, dig);
   
       rc = RPMRC_OK;	/* XXX unnecessary */
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmio_internal.h
  ============================================================================
  $ cvs diff -u -r2.92 -r2.93 rpmio_internal.h
  --- rpm/rpmio/rpmio_internal.h	23 Nov 2007 07:06:01 -0000	2.92
  +++ rpm/rpmio/rpmio_internal.h	3 Dec 2007 20:13:13 -0000	2.93
  @@ -698,6 +698,39 @@
   	fd->ndigests++;		/* convert index to count */
   }
   
  +/** \ingroup rpmio
  + */
  +/*@unused@*/ static inline
  +void fdStealDigest(FD_t fd, pgpDig dig)
  +	/*@modifies fd, dig @*/
  +{
  +    int i;
  +    for (i = fd->ndigests - 1; i >= 0; i--) {
  +	FDDIGEST_t fddig = fd->digests + i;
  +	if (fddig->hashctx != NULL)
  +	switch (fddig->hashalgo) {
  +	case PGPHASHALGO_MD5:
  +assert(dig->md5ctx == NULL);
  +	    dig->md5ctx = fddig->hashctx;
  +	    fddig->hashctx = NULL;
  +	    break;
  +	case PGPHASHALGO_SHA1:
  +	case PGPHASHALGO_RIPEMD160:
  +#if defined(HAVE_BEECRYPT_API_H)
  +	case PGPHASHALGO_SHA256:
  +	case PGPHASHALGO_SHA384:
  +	case PGPHASHALGO_SHA512:
  +#endif
  +assert(dig->sha1ctx == NULL);
  +	    dig->sha1ctx = fddig->hashctx;
  +	    fddig->hashctx = NULL;
  +	    break;
  +	default:
  +	    break;
  +	}
  +    }
  +}
  +
   /*@-shadow@*/
   /** \ingroup rpmio
    */
  @@ .
Received on Mon Dec 3 21:13:14 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.