OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   18-Feb-2006 00:03:23
  Branch: OPENPKG_2_3_SOLID                Handle: 2006021723032200

  Added files:              (Branch: OPENPKG_2_3_SOLID)
    openpkg-src/gnupg       gnupg.patch
  Modified files:           (Branch: OPENPKG_2_3_SOLID)
    openpkg-src/gnupg       gnupg.spec

  Log:
    Security Fix (CVE-2006-0455)

  Summary:
    Revision    Changes     Path
    1.5.4.1     +74 -0      openpkg-src/gnupg/gnupg.patch
    1.52.2.2    +3  -1      openpkg-src/gnupg/gnupg.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/gnupg/gnupg.patch
  ============================================================================
  $ cvs diff -u -r0 -r1.5.4.1 gnupg.patch
  --- /dev/null 2006-02-18 00:03:15 +0100
  +++ gnupg.patch       2006-02-18 00:03:23 +0100
  @@ -0,0 +1,74 @@
  +Security Fix (CVE-2006-0455)
  +
  +Index: g10/mainproc.c
  +--- g10/mainproc.c.orig      2005-05-31 08:29:56 +0200
  ++++ g10/mainproc.c   2006-02-17 23:42:36 +0100
  +@@ -77,6 +77,7 @@
  +         int op;
  +         int stop_now;
  +     } pipemode;
  ++    int any_sig_seen;  /* Set to true if a signature packet has been seen. 
*/
  + };
  + 
  + 
  +@@ -217,6 +218,7 @@
  + {
  +     KBNODE node;
  + 
  ++    c->any_sig_seen = 1;
  +     if( pkt->pkttype == PKT_SIGNATURE && !c->list ) {
  +     /* This is the first signature for the following datafile.
  +      * GPG does not write such packets; instead it always uses
  +@@ -1137,6 +1139,18 @@
  +     c->signed_data = signedfiles;
  +     c->sigfilename = sigfilename;
  +     rc = do_proc_packets( c, a );
  ++ 
  ++    /* If we have not encountered any signature we print an error
  ++       messages, send a NODATA status back and return an error code.
  ++       Using log_error is required becuase verify_files does not check
  ++       error codes for each file but we want to terminate the process
  ++       with an error. */ 
  ++    if (!rc && !c->any_sig_seen)
  ++      {
  ++    write_status_text (STATUS_NODATA, "4");
  ++        log_error (_("no signature found\n"));
  ++        rc = G10ERR_NO_DATA;
  ++      }
  +     m_free( c );
  +     return rc;
  + }
  +Index: g10/verify.c
  +--- g10/verify.c.orig        2005-07-20 22:42:29 +0200
  ++++ g10/verify.c     2006-02-17 23:42:36 +0100
  +@@ -113,7 +113,7 @@
  +     rc = proc_signature_packets( NULL, fp, sl, sigfile );
  +     free_strlist(sl);
  +     iobuf_close(fp);
  +-    if( afx.no_openpgp_data && rc == -1 ) {
  ++    if( (afx.no_openpgp_data && rc == -1) || rc == G10ERR_NO_DATA ) {
  +     log_error(_("the signature could not be verified.\n"
  +                "Please remember that the signature file (.sig or .asc)\n"
  +                "should be the first file given on the command line.\n") );
  +Index: include/errors.h
  +--- include/errors.h.orig    2005-05-31 08:30:04 +0200
  ++++ include/errors.h 2006-02-17 23:42:36 +0100
  +@@ -78,6 +78,7 @@
  + #define G10ERR_KEYSERVER      55
  + #define G10ERR_CANCELED       56
  + #define G10ERR_NO_CARD        57
  ++#define G10ERR_NO_DATA        58
  + 
  + #ifndef HAVE_STRERROR
  + char *strerror (int n);
  +Index: util/errors.c
  +--- util/errors.c.orig       2005-05-31 08:30:16 +0200
  ++++ util/errors.c    2006-02-17 23:42:36 +0100
  +@@ -108,6 +108,7 @@
  +       X(KEYSERVER      ,N_("keyserver error"))
  +       X(CANCELED       ,N_("canceled"))
  +       X(NO_CARD        ,N_("no card"))
  ++      X(NO_DATA        ,N_("no data"))
  +       default: p = buf; sprintf(buf, "g10err=%d", err); break;
  +     }
  + #undef X
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/gnupg/gnupg.spec
  ============================================================================
  $ cvs diff -u -r1.52.2.1 -r1.52.2.2 gnupg.spec
  --- openpkg-src/gnupg/gnupg.spec      21 Feb 2005 17:06:58 -0000      1.52.2.1
  +++ openpkg-src/gnupg/gnupg.spec      17 Feb 2006 23:03:22 -0000      1.52.2.2
  @@ -34,7 +34,7 @@
   Group:        Cryptography
   License:      GPL
   Version:      1.4.0
  -Release:      2.3.0
  +Release:      2.3.1
   
   #   package options
   %option       with_idea  no
  @@ -43,6 +43,7 @@
   #   list of sources
   Source0:      ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-%{version}.tar.gz
   Source1:      ftp://ftp.gnupg.dk/pub/contrib-dk/idea.c.gz
  +Patch0:       gnupg.patch
   
   #   build information
   Prefix:       %{l_prefix}
  @@ -75,6 +76,7 @@
   
   %prep
       %setup -q
  +    %patch -p0
   %if "%{with_idea}" == "yes"
       %{l_gzip} -d -c %{SOURCE idea.c.gz} >cipher/idea.c
   %endif
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [email protected]

Reply via email to