RPM Community Forums

Mailing List Message of <rpm-cvs>

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

From: Jeff Johnson <jbj@rpm5.org>
Date: Tue 28 Aug 2007 - 21:37:20 CEST
Message-Id: <20070828193720.59EBF34845B@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:   28-Aug-2007 21:37:20
  Branch: HEAD                             Handle: 2007082820371901

  Modified files:
    rpm                     CHANGES
    rpm/lib                 rpmts.c

  Log:
    - permit keyutils caching disable, don't re-add if already cached.

  Summary:
    Revision    Changes     Path
    1.1606      +1  -0      rpm/CHANGES
    2.89        +5  -2      rpm/lib/rpmts.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1605 -r1.1606 CHANGES
  --- rpm/CHANGES	28 Aug 2007 19:22:34 -0000	1.1605
  +++ rpm/CHANGES	28 Aug 2007 19:37:19 -0000	1.1606
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: permit keyutils caching disable, don't re-add if already cached.
       - jbj: use keyutils for pubkey cache.
       - jbj: update id.po (Translation Project).
       - jbj: teach --querytags to chain through headerCompoundFormats.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmts.c
  ============================================================================
  $ cvs diff -u -r2.88 -r2.89 rpmts.c
  --- rpm/lib/rpmts.c	28 Aug 2007 19:22:34 -0000	2.88
  +++ rpm/lib/rpmts.c	28 Aug 2007 19:37:20 -0000	2.89
  @@ -248,6 +248,7 @@
       pgpDigParams pubp = rpmtsPubkey(ts);
       rpmRC res = RPMRC_NOKEY;
       const char * pubkeysource = NULL;
  +    int krcache = 1;	/* XXX assume pubkeys are cacved in keyutils keyring. */
       int xx;
   
       if (sig == NULL || dig == NULL || sigp == NULL || pubp == NULL)
  @@ -271,7 +272,7 @@
   
   #if defined(HAVE_KEYUTILS_H)
   	/* Try keyutils keyring lookup. */
  -    if (ts->pkpkt == NULL) {
  +    if (krcache && ts->pkpkt == NULL) {
   	key_serial_t keyring = KEY_SPEC_PROCESS_KEYRING;
   	const char * krprefix = "rpm:gpg:pubkey:";
   	char krfp[32];
  @@ -291,6 +292,7 @@
   	    xx = keyctl_read_alloc(key, (void **)&ts->pkpkt);
   	    if (xx > 0) {
   		pubkeysource = xstrdup(krn);
  +		krcache = 0;	/* XXX don't bother caching. */
   	    } else {
   		ts->pkpkt = _free(ts->pkpkt);
   		ts->pkpktlen = 0;
  @@ -396,7 +398,8 @@
   
   #if defined(HAVE_KEYUTILS_H)
   	/* Save the pubkey in the keyutils keyring. */
  -	{   key_serial_t keyring = KEY_SPEC_PROCESS_KEYRING;
  +	if (krcache) {
  +	    key_serial_t keyring = KEY_SPEC_PROCESS_KEYRING;
   	    const char * krprefix = "rpm:gpg:pubkey:";
   	    char krfp[32];
   	    char * krn = alloca(strlen(krprefix) + sizeof("12345678"));
  @@ .
Received on Tue Aug 28 21:37:20 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.