summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrej Kacian <ticho@gentoo.org>2007-05-23 22:30:42 +0000
committerAndrej Kacian <ticho@gentoo.org>2007-05-23 22:30:42 +0000
commit8f611087030b22d66252500aab744d2d72623ef9 (patch)
tree811c91c825f1cd9dbee389b37fd645df1fa5df4b /app-arch/zoo
parentChanged description for kdeenablefinal USE flag. Its use is strongly discoura... (diff)
downloadgentoo-2-8f611087030b22d66252500aab744d2d72623ef9.tar.gz
gentoo-2-8f611087030b22d66252500aab744d2d72623ef9.tar.bz2
gentoo-2-8f611087030b22d66252500aab744d2d72623ef9.zip
Version bump. Security bug #178986. Patch prepared by Lars Hartmann <lars at chaotika.org>.
(Portage version: 2.1.2.7)
Diffstat (limited to 'app-arch/zoo')
-rw-r--r--app-arch/zoo/ChangeLog9
-rw-r--r--app-arch/zoo/files/digest-zoo-2.10-r36
-rw-r--r--app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch71
-rw-r--r--app-arch/zoo/zoo-2.10-r3.ebuild35
4 files changed, 120 insertions, 1 deletions
diff --git a/app-arch/zoo/ChangeLog b/app-arch/zoo/ChangeLog
index cc4f9364ce4c..89d38951b42c 100644
--- a/app-arch/zoo/ChangeLog
+++ b/app-arch/zoo/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-arch/zoo
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/zoo/ChangeLog,v 1.31 2007/02/21 20:05:50 peper Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/zoo/ChangeLog,v 1.32 2007/05/23 22:30:42 ticho Exp $
+
+*zoo-2.10-r3 (23 May 2007)
+
+ 23 May 2007; Andrej Kacian <ticho@gentoo.org>
+ +files/zoo-2.10-multiple-dos-fix.patch, +zoo-2.10-r3.ebuild:
+ Version bump. Security bug #178986. Patch prepared by Lars Hartmann <lars at
+ chaotika.org>.
21 Feb 2007; Piotr Jaroszyński <peper@gentoo.org> ChangeLog:
Transition to Manifest2.
diff --git a/app-arch/zoo/files/digest-zoo-2.10-r3 b/app-arch/zoo/files/digest-zoo-2.10-r3
new file mode 100644
index 000000000000..f0934af7ed78
--- /dev/null
+++ b/app-arch/zoo/files/digest-zoo-2.10-r3
@@ -0,0 +1,6 @@
+MD5 5de8e6d16ab168ef2f4e8db412068054 zoo-2.10-gcc-issues-fix.patch 19467
+RMD160 c58595ae3d5744b0d8dc38b6b0e1c66c370dd086 zoo-2.10-gcc-issues-fix.patch 19467
+SHA256 0215efd7aa218048f5f8bc085810f89cad6a9f710234f0d0e93be959a02f582b zoo-2.10-gcc-issues-fix.patch 19467
+MD5 70a0a785ecc8f7f747be1421e495d837 zoo-2.10pl1.tar.gz 172096
+RMD160 971d388b8cb29def1e4e31011463563e91c3d700 zoo-2.10pl1.tar.gz 172096
+SHA256 ad8d8fee5e524aca0e1e9a1e431c21cd59943d8373d5dffe4edca03a7e4284f4 zoo-2.10pl1.tar.gz 172096
diff --git a/app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch b/app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch
new file mode 100644
index 000000000000..b37cee0c94dc
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-multiple-dos-fix.patch
@@ -0,0 +1,71 @@
+diff -ur zoo-2.10-r2/zooext.c zoo-2.10-r3/zooext.c
+--- zoo-2.10-r2/zooext.c 2007-05-23 23:39:14.000000000 +0200
++++ zoo-2.10-r3/zooext.c 2007-05-23 23:36:37.000000000 +0200
+@@ -89,6 +89,7 @@
+ #endif
+ struct direntry direntry; /* directory entry */
+ int first_dir = 1; /* first dir entry seen? */
++ unsigned long zoo_pointer = 0; /* Track our position in the file */
+
+ static char extract_ver[] = "Zoo %d.%d is needed to extract %s.\n";
+ static char no_space[] = "Insufficient disk space to extract %s.\n";
+@@ -169,6 +170,9 @@
+ exit_status = 1;
+ }
+ zooseek (zoo_file, zoo_header.zoo_start, 0); /* seek to where data begins */
++
++ /* Begin tracking our position in the file */
++ zoo_pointer = zoo_header.zoo_start;
+ }
+
+ #ifndef PORTABLE
+@@ -597,6 +601,11 @@
+ } /* end if */
+
+ loop_again:
++ /* Make sure we are not seeking to already processed data */
++ if (next_ptr <= zoo_pointer)
++ prterror ('f', "ZOO chain structure is corrupted\n");
++ zoo_pointer = next_ptr;
++
+ zooseek (zoo_file, next_ptr, 0); /* ..seek to next dir entry */
+ } /* end while */
+
+Nur in zoo-2.10-r3: zooext.c~.
+Nur in zoo-2.10-r3: zooext.c.orig.
+diff -ur zoo-2.10-r2/zoolist.c zoo-2.10-r3/zoolist.c
+--- zoo-2.10-r2/zoolist.c 1991-07-20 00:57:27.000000000 +0200
++++ zoo-2.10-r3/zoolist.c 2007-05-23 23:38:19.000000000 +0200
+@@ -92,7 +92,7 @@
+ int show_mode = 0; /* show file protection */
+ #endif
+ int first_dir = 1; /* if first direntry -- to adjust dat_ofs */
+-
++unsigned long zoo_pointer = 0; /* Track our position in the file */
+ while (*option) {
+ switch (*option) {
+ case 'a': show_name++; break;
+@@ -211,6 +211,9 @@
+ show_acmt (&zoo_header, zoo_file, 0); /* show archive comment */
+ }
+
++ /* Begin tracking our position in the file */
++ zoo_pointer = zoo_header.zoo_start;
++
+ /* Seek to the beginning of the first directory entry */
+ if (zooseek (zoo_file, zoo_header.zoo_start, 0) != 0) {
+ ercount++;
+@@ -437,6 +440,11 @@
+ if (verb_list && !fast)
+ show_comment (&direntry, zoo_file, 0, (char *) NULL);
+ } /* end if (lots of conditions) */
++
++ /* Make sure we are not seeking to already processed data */
++ if (direntry.next <= zoo_pointer)
++ prterror ('f', "ZOO chain structure is corrupted\n");
++ zoo_pointer = direntry.next;
+
+ /* ..seek to next dir entry */
+ zooseek (zoo_file, direntry.next, 0);
+Nur in zoo-2.10-r3: zoolist.c~.
+Nur in zoo-2.10-r3: zoolist.c.orig.
diff --git a/app-arch/zoo/zoo-2.10-r3.ebuild b/app-arch/zoo/zoo-2.10-r3.ebuild
new file mode 100644
index 000000000000..5d87114c3f70
--- /dev/null
+++ b/app-arch/zoo/zoo-2.10-r3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/zoo/zoo-2.10-r3.ebuild,v 1.1 2007/05/23 22:30:42 ticho Exp $
+
+inherit eutils
+
+DESCRIPTION="Manipulate archives of files in compressed form."
+HOMEPAGE="ftp://ftp.kiarchive.ru/pub/unix/arcers"
+SRC_URI="ftp://ftp.kiarchive.ru/pub/unix/arcers/${P}pl1.tar.gz
+ mirror://gentoo/${P}-gcc-issues-fix.patch"
+
+LICENSE="zoo"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+S=${WORKDIR}
+
+src_unpack() {
+ unpack ${P}pl1.tar.gz
+ epatch "${DISTDIR}"/${P}-gcc-issues-fix.patch
+ epatch "${FILESDIR}"/${P}-CAN-2005-2349.patch
+ epatch "${FILESDIR}"/${P}-febz-183426.patch
+ epatch "${FILESDIR}"/${P}-security_pathsize.patch
+ epatch "${FILESDIR}"/${P}-multiple-dos-fix.patch
+}
+
+src_compile() {
+ emake linux || die
+}
+
+src_install() {
+ dobin zoo fiz || die
+ doman zoo.1 fiz.1
+}