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

  Server: cvs.openpkg.org                  Name:   Matthias Kurz
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   24-Jul-2005 20:10:51
  Branch: HEAD                             Handle: 2005072419105100

  Modified files:
    openpkg-src/openpkg     HISTORY gzip.c openpkg.spec

  Log:
    Changed security fix for OpenPKG-SA-2005.009-gzip.html. The previous
    version caused gzip to always put the results in the current directory.

  Summary:
    Revision    Changes     Path
    1.277       +1  -0      openpkg-src/openpkg/HISTORY
    1.3         +18 -25     openpkg-src/openpkg/gzip.c
    1.434       +1  -1      openpkg-src/openpkg/openpkg.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/HISTORY
  ============================================================================
  $ cvs diff -u -r1.276 -r1.277 HISTORY
  --- openpkg-src/openpkg/HISTORY       22 Jul 2005 06:36:11 -0000      1.276
  +++ openpkg-src/openpkg/HISTORY       24 Jul 2005 18:10:51 -0000      1.277
  @@ -2,6 +2,7 @@
   2005
   ====
   
  +20050624 "better" patch for GNU gzip, OpenPKG-SA-2005.009 (CAN-2005-1228)
   20050722 Upgraded to Zlib 1.2.3
   20050706 Fixed zlib security issue (OpenPKG-SA-2005.013, CAN-2005-2096)
   20050706 upgrade to latest version 20050606 of GNU config.* scripts
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/gzip.c
  ============================================================================
  $ cvs diff -u -r1.2 -r1.3 gzip.c
  --- openpkg-src/openpkg/gzip.c        10 Jun 2005 15:25:22 -0000      1.2
  +++ openpkg-src/openpkg/gzip.c        24 Jul 2005 18:10:51 -0000      1.3
  @@ -6,27 +6,21 @@
    * where patch(1) is not available, such as the bootstrap phase
    * of an OpenPKG installation.
    *
  - *   Michael Schloh von Bennewitz <[EMAIL PROTECTED]>
  - *
    * Patch taken from Debian:
  - *   
http://bugs.debian.org/cgi-bin/bugreport.cgi/gzip.dirtraversal.patch?bug=305255&msg=3&att=2
  - *
  - * Index: gzip.c
  - * diff -Nau gzip.c.orig gzip.c
  - * --- gzip.c.orig   2002-09-28 09:38:43 +0200
  - * +++ gzip.c        2005-06-09 13:42:12 +0200
  - * @@ -927,6 +927,10 @@
  - *   }
  - *   ** Create the output file **
  - *   remove_ofname = 1;
  - * + char *baseout;
  - * + baseout = base_name(ofname);
  - * + strncpy(ofname, baseout, sizeof(ofname));
  - * + ofname[sizeof(ofname) - 1] = '\0';
  - *   ofd = OPEN(ofname, flags, RW_USER);
  - *   if (ofd == -1) {
  - *       progerror(ofname);
  + *   
http://bugs.debian.org/cgi-bin/bugreport.cgi/gzip.dirtraversal_better.patch?bug=305255&msg=12&att=1
    *
  + * --- gzip.c.old  2005-04-28 01:45:23.405819616 +0200
  + * +++ gzip.c      2005-04-28 02:10:35.386963544 +0200
  + * @@ -1330,6 +1330,8 @@ local int get_method(in)
  + *                         error("corrupted input -- file name too large");
  + *                     }
  + *                 }
  + * +               char *base2 = base_name (base);
  + * +               strcpy(base, base2);
  + *                  / * If necessary, adapt the name to local OS 
conventions:* /
  + *                  if (!list) {
  + *                     MAKE_LEGAL_NAME(base);
  + * 
   */
   
   /* gzip (GNU zip) -- compress files with zip algorithm and 'compress' 
interface
  @@ -69,7 +63,7 @@
    */
   
   #ifdef RCSID
  -static char rcsid[] = "$Id: gzip.c,v 1.2 2005/06/10 15:25:22 rse Exp $";
  +static char rcsid[] = "$Id: gzip.c,v 1.3 2005/07/24 18:10:51 mk Exp $";
   #endif
   
   #include <config.h>
  @@ -236,7 +230,7 @@
   DECLARE(uch, inbuf,  INBUFSIZ +INBUF_EXTRA);
   DECLARE(uch, outbuf, OUTBUFSIZ+OUTBUF_EXTRA);
   DECLARE(ush, d_buf,  DIST_BUFSIZE);
  -DECLARE(uch, window, 2L*WSIZE);
  +DECLARE(uch, window, 2L*WSIZE + 4096); /* enlarge to avoid crashs due to 
peeking beyond the buffer end */
   #ifndef MAXSEG_64K
       DECLARE(ush, tab_prefix, 1L<<BITS);
   #else
  @@ -946,7 +940,6 @@
   {
       struct stat      ostat; /* stat for ofname */
       int flags = O_WRONLY | O_CREAT | O_EXCL | O_BINARY;
  -    char *baseout;
   
       if (ascii && decompress) {
        flags &= ~O_BINARY; /* force ascii text mode */
  @@ -959,9 +952,6 @@
        }
        /* Create the output file */
        remove_ofname = 1;
  -     baseout = base_name(ofname);
  -     strncpy(ofname, baseout, sizeof(ofname));
  -     ofname[sizeof(ofname) - 1] = '\0';
        ofd = OPEN(ofname, flags, RW_USER);
        if (ofd == -1) {
            progerror(ofname);
  @@ -1260,6 +1250,7 @@
       char magic[2]; /* magic header */
       int imagic1;   /* like magic[1], but can represent EOF */
       ulg stamp;     /* time stamp */
  +    char *base2;
   
       /* If --force and --stdout, zcat == cat, so do not complain about
        * premature end of file: use try_byte instead of get_byte.
  @@ -1359,6 +1350,8 @@
                        error("corrupted input -- file name too large");
                    }
                }
  +                base2 = base_name (base);
  +                strcpy(base, base2);
                   /* If necessary, adapt the name to local OS conventions: */
                   if (!list) {
                      MAKE_LEGAL_NAME(base);
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.spec
  ============================================================================
  $ cvs diff -u -r1.433 -r1.434 openpkg.spec
  --- openpkg-src/openpkg/openpkg.spec  22 Jul 2005 18:20:23 -0000      1.433
  +++ openpkg-src/openpkg/openpkg.spec  24 Jul 2005 18:10:51 -0000      1.434
  @@ -38,7 +38,7 @@
   #   o any cc(1)
   
   #   the package version/release
  -%define       V_openpkg  20050722
  +%define       V_openpkg  20050724
   
   #   the used software versions
   %define       V_rpm      4.2.1
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     openpkg-cvs@openpkg.org

Reply via email to