Tue, 28 Aug 2012 18:54:50 +0200
Remove package as similar upstream changes render local maintenance redundant.
gzip/gzip.patch | file | annotate | diff | comparison | revisions | |
gzip/gzip.spec | file | annotate | diff | comparison | revisions |
1.1 --- a/gzip/gzip.patch Tue Aug 28 18:54:40 2012 +0200 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,194 +0,0 @@ 1.4 -Security Fix 1.5 - 1.6 -Index: gzip.c 1.7 ---- gzip.c.orig 2009-09-26 20:56:02 +0200 1.8 -+++ gzip.c 2009-10-07 07:59:53 +0200 1.9 -@@ -168,7 +168,7 @@ 1.10 - DECLARE(uch, inbuf, INBUFSIZ +INBUF_EXTRA); 1.11 - DECLARE(uch, outbuf, OUTBUFSIZ+OUTBUF_EXTRA); 1.12 - DECLARE(ush, d_buf, DIST_BUFSIZE); 1.13 --DECLARE(uch, window, 2L*WSIZE); 1.14 -+DECLARE(uch, window, 2L*WSIZE + 4096); /* enlarge to avoid crashs due to peeking beyond the buffer end */ 1.15 - #ifndef MAXSEG_64K 1.16 - DECLARE(ush, tab_prefix, 1L<<BITS); 1.17 - #else 1.18 - 1.19 ------------------------------------------------------------------------------ 1.20 - 1.21 -Security Fixes 1.22 -- OOB write (CVE-2006-4335) 1.23 -- Buffer underflow (CVE-2006-4336) 1.24 -- Buffer overflow (CVE-2006-4337) 1.25 -- Infinite loop (CVE-2006-4338) 1.26 - 1.27 -Index: gzip.h 1.28 ---- gzip.h.orig 2009-09-26 20:43:28 +0200 1.29 -+++ gzip.h 2009-10-07 07:59:53 +0200 1.30 -@@ -223,6 +223,8 @@ 1.31 - extern int to_stdout; /* output to stdout (-c) */ 1.32 - extern int save_orig_name; /* set if original name must be saved */ 1.33 - 1.34 -+#define MIN(a,b) ((a) <= (b) ? (a) : (b)) 1.35 -+ 1.36 - #define get_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf(0)) 1.37 - #define try_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf(1)) 1.38 - 1.39 -Index: unlzh.c 1.40 ---- unlzh.c.orig 2009-09-26 20:20:40 +0200 1.41 -+++ unlzh.c 2009-10-07 07:59:53 +0200 1.42 -@@ -141,12 +141,17 @@ 1.43 - unsigned i, k, len, ch, jutbits, avail, nextcode, mask; 1.44 - 1.45 - for (i = 1; i <= 16; i++) count[i] = 0; 1.46 -- for (i = 0; i < (unsigned)nchar; i++) count[bitlen[i]]++; 1.47 -+ for (i = 0; i < (unsigned)nchar; i++) { 1.48 -+ if (bitlen[i] > 16) 1.49 -+ error("Bad table\n"); 1.50 -+ else 1.51 -+ count[bitlen[i]]++; 1.52 -+ } 1.53 - 1.54 - start[1] = 0; 1.55 - for (i = 1; i <= 16; i++) 1.56 - start[i + 1] = start[i] + (count[i] << (16 - i)); 1.57 -- if ((start[17] & 0xffff) != 0) 1.58 -+ if ((start[17] & 0xffff) != 0 || tablebits > 16) /* 16 for weight below */ 1.59 - gzip_error ("Bad table\n"); 1.60 - 1.61 - jutbits = 16 - tablebits; 1.62 -@@ -161,15 +166,15 @@ 1.63 - 1.64 - i = start[tablebits + 1] >> jutbits; 1.65 - if (i != 0) { 1.66 -- k = 1 << tablebits; 1.67 -- while (i != k) table[i++] = 0; 1.68 -+ k = MIN(1 << tablebits, DIST_BUFSIZE); 1.69 -+ while (i < k) table[i++] = 0; 1.70 - } 1.71 - 1.72 - avail = nchar; 1.73 - mask = (unsigned) 1 << (15 - tablebits); 1.74 - for (ch = 0; ch < (unsigned)nchar; ch++) { 1.75 - if ((len = bitlen[ch]) == 0) continue; 1.76 -- nextcode = start[len] + weight[len]; 1.77 -+ nextcode = MIN(start[len] + weight[len], DIST_BUFSIZE); 1.78 - if (len <= (unsigned)tablebits) { 1.79 - if ((unsigned) 1 << tablebits < nextcode) 1.80 - gzip_error ("Bad table\n"); 1.81 -@@ -212,7 +217,7 @@ 1.82 - for (i = 0; i < 256; i++) pt_table[i] = c; 1.83 - } else { 1.84 - i = 0; 1.85 -- while (i < n) { 1.86 -+ while (i < MIN(n,NPT)) { 1.87 - c = bitbuf >> (BITBUFSIZ - 3); 1.88 - if (c == 7) { 1.89 - mask = (unsigned) 1 << (BITBUFSIZ - 1 - 3); 1.90 -@@ -224,7 +229,7 @@ 1.91 - pt_len[i++] = c; 1.92 - if (i == i_special) { 1.93 - c = getbits(2); 1.94 -- while (--c >= 0) pt_len[i++] = 0; 1.95 -+ while (--c >= 0 && i < NPT) pt_len[i++] = 0; 1.96 - } 1.97 - } 1.98 - while (i < nn) pt_len[i++] = 0; 1.99 -@@ -244,7 +249,7 @@ 1.100 - for (i = 0; i < 4096; i++) c_table[i] = c; 1.101 - } else { 1.102 - i = 0; 1.103 -- while (i < n) { 1.104 -+ while (i < MIN(n,NC)) { 1.105 - c = pt_table[bitbuf >> (BITBUFSIZ - 8)]; 1.106 - if (c >= NT) { 1.107 - mask = (unsigned) 1 << (BITBUFSIZ - 1 - 8); 1.108 -@@ -252,14 +257,14 @@ 1.109 - if (bitbuf & mask) c = right[c]; 1.110 - else c = left [c]; 1.111 - mask >>= 1; 1.112 -- } while (c >= NT); 1.113 -+ } while (c >= NT && (mask || c != left[c])); 1.114 - } 1.115 - fillbuf((int) pt_len[c]); 1.116 - if (c <= 2) { 1.117 - if (c == 0) c = 1; 1.118 - else if (c == 1) c = getbits(4) + 3; 1.119 - else c = getbits(CBIT) + 20; 1.120 -- while (--c >= 0) c_len[i++] = 0; 1.121 -+ while (--c >= 0 && i < NC) c_len[i++] = 0; 1.122 - } else c_len[i++] = c - 2; 1.123 - } 1.124 - while (i < NC) c_len[i++] = 0; 1.125 -@@ -288,7 +293,7 @@ 1.126 - if (bitbuf & mask) j = right[j]; 1.127 - else j = left [j]; 1.128 - mask >>= 1; 1.129 -- } while (j >= NC); 1.130 -+ } while (j >= NC && (mask || j != left[j])); 1.131 - } 1.132 - fillbuf((int) c_len[j]); 1.133 - return j; 1.134 -@@ -305,7 +310,7 @@ 1.135 - if (bitbuf & mask) j = right[j]; 1.136 - else j = left [j]; 1.137 - mask >>= 1; 1.138 -- } while (j >= NP); 1.139 -+ } while (j >= NP && (mask || j != left[j])); 1.140 - } 1.141 - fillbuf((int) pt_len[j]); 1.142 - if (j != 0) j = ((unsigned) 1 << (j - 1)) + getbits((int) (j - 1)); 1.143 -@@ -352,7 +357,7 @@ 1.144 - while (--j >= 0) { 1.145 - buffer[r] = buffer[i]; 1.146 - i = (i + 1) & (DICSIZ - 1); 1.147 -- if (++r == count) return r; 1.148 -+ if (++r >= count) return r; 1.149 - } 1.150 - for ( ; ; ) { 1.151 - c = decode_c(); 1.152 -@@ -362,14 +367,14 @@ 1.153 - } 1.154 - if (c <= UCHAR_MAX) { 1.155 - buffer[r] = c; 1.156 -- if (++r == count) return r; 1.157 -+ if (++r >= count) return r; 1.158 - } else { 1.159 - j = c - (UCHAR_MAX + 1 - THRESHOLD); 1.160 - i = (r - decode_p() - 1) & (DICSIZ - 1); 1.161 - while (--j >= 0) { 1.162 - buffer[r] = buffer[i]; 1.163 - i = (i + 1) & (DICSIZ - 1); 1.164 -- if (++r == count) return r; 1.165 -+ if (++r >= count) return r; 1.166 - } 1.167 - } 1.168 - } 1.169 -Index: unpack.c 1.170 ---- unpack.c.orig 2009-09-26 20:43:28 +0200 1.171 -+++ unpack.c 2009-10-07 07:59:53 +0200 1.172 -@@ -22,7 +22,6 @@ 1.173 - #include "gzip.h" 1.174 - #include "crypt.h" 1.175 - 1.176 --#define MIN(a,b) ((a) <= (b) ? (a) : (b)) 1.177 - /* The arguments must not have side effects. */ 1.178 - 1.179 - #define MAX_BITLEN 25 1.180 -@@ -146,7 +145,7 @@ 1.181 - /* Remember where the literals of this length start in literal[] : */ 1.182 - lit_base[len] = base; 1.183 - /* And read the literals: */ 1.184 -- for (n = leaves[len]; n > 0; n--) { 1.185 -+ for (n = leaves[len]; n > 0 && base < LITERALS; n--) { 1.186 - literal[base++] = (uch)get_byte(); 1.187 - } 1.188 - } 1.189 -@@ -182,7 +181,7 @@ 1.190 - prefixp = &prefix_len[1<<peek_bits]; 1.191 - for (len = 1; len <= peek_bits; len++) { 1.192 - int prefixes = leaves[len] << (peek_bits-len); /* may be 0 */ 1.193 -- while (prefixes--) *--prefixp = (uch)len; 1.194 -+ while (prefixes-- && prefixp > prefix_len) *--prefixp = (uch)len; 1.195 - } 1.196 - /* The length of all other codes is unknown: */ 1.197 - while (prefixp > prefix_len) *--prefixp = 0;
2.1 --- a/gzip/gzip.spec Tue Aug 28 18:54:40 2012 +0200 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,101 +0,0 @@ 2.4 -## 2.5 -## gzip.spec -- OpenPKG RPM Package Specification 2.6 -## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/> 2.7 -## 2.8 -## Permission to use, copy, modify, and distribute this software for 2.9 -## any purpose with or without fee is hereby granted, provided that 2.10 -## the above copyright notice and this permission notice appear in all 2.11 -## copies. 2.12 -## 2.13 -## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 2.14 -## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 2.15 -## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 2.16 -## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 2.17 -## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2.18 -## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2.19 -## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 2.20 -## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 2.21 -## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 2.22 -## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 2.23 -## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2.24 -## SUCH DAMAGE. 2.25 -## 2.26 - 2.27 -# package information 2.28 -Name: gzip 2.29 -Summary: De-/Compression with GZIP Algorithm 2.30 -URL: http://www.gzip.org/ 2.31 -Vendor: Jean-loup Gailly, Mark Adler 2.32 -Packager: OpenPKG Foundation e.V. 2.33 -Distribution: OpenPKG Community 2.34 -Class: CORE 2.35 -Group: Compression 2.36 -License: GPL 2.37 -Version: 1.3.13 2.38 -Release: 20091110 2.39 - 2.40 -# list of sources 2.41 -Source0: ftp://ftp.gnu.org/gnu/gzip/gzip-%{version}.tar.gz 2.42 -Patch0: gzip.patch 2.43 - 2.44 -# build information 2.45 -Prefix: %{l_prefix} 2.46 -BuildRoot: %{l_buildroot} 2.47 -BuildPreReq: OpenPKG, openpkg >= 20040130 2.48 -PreReq: OpenPKG, openpkg >= 20040130 2.49 -AutoReq: no 2.50 -AutoReqProv: no 2.51 - 2.52 -%description 2.53 - GNU zip (gzip) is a compression utility designed to be a replacement 2.54 - for the traditional Unix utility compress(1). Its main advantages 2.55 - over compress(1) are much better compression and freedom from 2.56 - patented algorithms. gzip produces files with a .gz extension. 2.57 - gunzip can decompress files created by gzip, compress and pack. The 2.58 - detection of the input format is automatic. The format of the .gz 2.59 - files generated by gzip is described in RFCs (Request For Comments) 2.60 - 1951 and 1952. 2.61 - 2.62 -%track 2.63 - prog gzip = { 2.64 - version = %{version} 2.65 - url = ftp://ftp.gnu.org/gnu/gzip/ 2.66 - regex = gzip-(__VER__)\.tar(\.gz)? 2.67 - } 2.68 - 2.69 -%prep 2.70 - %setup -q 2.71 - %patch -p0 2.72 - 2.73 -%build 2.74 - # configure package 2.75 - echo "ac_cv_path_shell=%{l_bash}" >config.cache 2.76 - CC="%{l_cc}" \ 2.77 - CFLAGS="%{l_cflags -O}" \ 2.78 - GREP="grep" \ 2.79 - ./configure \ 2.80 - --cache-file=./config.cache \ 2.81 - --prefix=%{l_prefix} \ 2.82 - --datarootdir=%{l_prefix} 2.83 - 2.84 - # build package 2.85 - %{l_make} %{l_mflags -O} 2.86 - 2.87 -%install 2.88 - rm -rf $RPM_BUILD_ROOT 2.89 - 2.90 - # install package 2.91 - %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" 2.92 - 2.93 - # strip down installation 2.94 - rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir 2.95 - strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true 2.96 - 2.97 - # determine installation files 2.98 - %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} 2.99 - 2.100 -%files -f files 2.101 - 2.102 -%clean 2.103 - rm -rf $RPM_BUILD_ROOT 2.104 -