RPM Community Forums

Mailing List Message of <rpm-cvs>

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

From: Jeff Johnson <jbj@rpm5.org>
Date: Tue 31 Jul 2007 - 19:08:57 CEST
Message-Id: <20070731170857.D50EA34844A@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:   31-Jul-2007 19:08:57
  Branch: HEAD                             Handle: 2007073118085601

  Modified files:
    rpm                     CHANGES
    rpm/lib                 package.c

  Log:
    - query w/o lead/sigh w newmagic (using --nolead --nosigh --newmagic).

  Summary:
    Revision    Changes     Path
    1.1536      +1  -0      rpm/CHANGES
    2.143       +22 -0      rpm/lib/package.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1535 -r1.1536 CHANGES
  --- rpm/CHANGES	31 Jul 2007 16:47:42 -0000	1.1535
  +++ rpm/CHANGES	31 Jul 2007 17:08:56 -0000	1.1536
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: query w/o lead/sigh w newmagic (using --nolead --nosigh --newmagic).
       - jbj: query of packages w/o lead/sigh (using --nolead --nosigh).
       - jbj: query of packages w/o lead (using --nolead).
       - jbj: --newmagic enabler to add new signature/metadata magic to headers.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/package.c
  ============================================================================
  $ cvs diff -u -r2.142 -r2.143 package.c
  --- rpm/lib/package.c	31 Jul 2007 16:47:42 -0000	2.142
  +++ rpm/lib/package.c	31 Jul 2007 17:08:57 -0000	2.143
  @@ -41,12 +41,23 @@
   
   extern int _nolead;
   extern int _nosigh;
  +extern int _newmagic;
   
   /*@unchecked@*/
   static unsigned char header_magic[8] = {
           0x8e, 0xad, 0xe8, 0x01, 0x00, 0x00, 0x00, 0x00
   };
   
  +/*@observer@*/ /*@unchecked@*/
  +static unsigned char sigh_magic[8] = {
  +	0x8e, 0xad, 0xe8, 0x3e, 0x00, 0x00, 0x00, 0x00
  +};
  +
  +/*@observer@*/ /*@unchecked@*/
  +static unsigned char meta_magic[8] = {
  +	0x8e, 0xad, 0xe8, 0x3f, 0x00, 0x00, 0x00, 0x00
  +};
  +
   /**
    * Alignment needs (and sizeof scalars types) for internal rpm data types.
    */
  @@ -682,10 +693,21 @@
   		_("hdr size(%d): BAD, read returned %d\n"), (int)sizeof(block), xx);
   	goto exit;
       }
  +
  +if (_newmagic) {
  +    if (!(	!memcmp(block, header_magic, sizeof(header_magic))
  +     ||		!memcmp(block, meta_magic, sizeof(meta_magic))
  +    )) {
  +	(void) snprintf(buf, sizeof(buf), _("hdr magic: BAD\n"));
  +	goto exit;
  +    }
  +} else {
       if (memcmp(block, header_magic, sizeof(header_magic))) {
   	(void) snprintf(buf, sizeof(buf), _("hdr magic: BAD\n"));
   	goto exit;
       }
  +}
  +
   /*@-boundsread@*/
       il = ntohl(block[2]);
   /*@=boundsread@*/
  @@ .
Received on Tue Jul 31 19:08:57 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.