summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-09-29 22:21:51 +0000
committerMike Frysinger <vapier@gentoo.org>2005-09-29 22:21:51 +0000
commitfe7d2c0aafa6d89ba352cdb09825f178d834be78 (patch)
tree6cbacb0d4a4b8c527ac844d35d9c3a44a90ccc0c /app-arch/arc
parentsegv patch added - bug #96619 (diff)
downloadgentoo-2-fe7d2c0aafa6d89ba352cdb09825f178d834be78.tar.gz
gentoo-2-fe7d2c0aafa6d89ba352cdb09825f178d834be78.tar.bz2
gentoo-2-fe7d2c0aafa6d89ba352cdb09825f178d834be78.zip
Version bump to fix insecure tempfile usage #107312.
(Portage version: 2.0.52-r1 http://www.bash.org/?136501 )
Diffstat (limited to 'app-arch/arc')
-rw-r--r--app-arch/arc/ChangeLog11
-rw-r--r--app-arch/arc/arc-5.21m.ebuild35
-rw-r--r--app-arch/arc/files/arc-5.21m-compile-cleanups.patch171
-rw-r--r--app-arch/arc/files/arc-521e-timeh.patch20
-rw-r--r--app-arch/arc/files/digest-arc-5.21m1
5 files changed, 216 insertions, 22 deletions
diff --git a/app-arch/arc/ChangeLog b/app-arch/arc/ChangeLog
index 288e33f15044..e824478ba60d 100644
--- a/app-arch/arc/ChangeLog
+++ b/app-arch/arc/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-arch/arc
-# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/arc/ChangeLog,v 1.17 2005/05/17 22:04:30 ticho Exp $
+# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/arc/ChangeLog,v 1.18 2005/09/29 22:21:51 vapier Exp $
+
+*arc-5.21m (29 Sep 2005)
+
+ 29 Sep 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/arc-5.21m-compile-cleanups.patch, -files/arc-521e-timeh.patch,
+ +arc-5.21m.ebuild:
+ Version bump to fix insecure tempfile usage #107312.
17 May 2005; Andrej Kacian <ticho@gentoo.org> arc-5.21j.ebuild:
Inherit toolchain-funcs instead of gcc eclass. Bug #92745.
diff --git a/app-arch/arc/arc-5.21m.ebuild b/app-arch/arc/arc-5.21m.ebuild
new file mode 100644
index 000000000000..c25b690ac48e
--- /dev/null
+++ b/app-arch/arc/arc-5.21m.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/arc/arc-5.21m.ebuild,v 1.1 2005/09/29 22:21:51 vapier Exp $
+
+inherit eutils
+
+DESCRIPTION="Create & extract files from DOS .ARC files"
+HOMEPAGE="http://arc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/arc/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-compile-cleanups.patch
+}
+
+src_compile() {
+ emake \
+ OPT="${CFLAGS}" \
+ LIBS="${LDFLAGS}" \
+ || die "emake failed"
+}
+
+src_install() {
+ dobin arc marc || die "dobin failed"
+ doman arc.1
+ dodoc Arc521.doc Arcinfo Changelog Readme
+}
diff --git a/app-arch/arc/files/arc-5.21m-compile-cleanups.patch b/app-arch/arc/files/arc-5.21m-compile-cleanups.patch
new file mode 100644
index 000000000000..8682ac125d0d
--- /dev/null
+++ b/app-arch/arc/files/arc-5.21m-compile-cleanups.patch
@@ -0,0 +1,171 @@
+Cleanup the build by adding missing headers, fixing broken prototypes,
+incorrect if statements, and all that jazz
+
+--- arc-5.21m/arc-prototypes.h
++++ arc-5.21m/arc-prototypes.h
+@@ -0,0 +1,12 @@
++VOID openarc(int);
++int readhdr(struct heads*, FILE*);
++int match(char*, char*);
++VOID closearc(int);
++int unpack(FILE*, FILE*, struct heads*);
++VOID setstamp(char*, unsigned short, unsigned short);
++int crcbuf(int, u_int, u_char*);
++VOID arcdie();
++int move(char*, char*);
++VOID writehdr(struct heads*, FILE*);
++VOID filecopy(FILE*, FILE*, long);
++VOID upper(char*);
+--- arc-5.21m/arc.c
++++ arc-5.21m/arc.c
+@@ -105,6 +105,7 @@
+ static char **lst; /* files list */
+ static int lnum; /* length of files list */
+
++int
+ main(num, arg) /* system entry point */
+ int num; /* number of arguments */
+ char *arg[]; /* pointers to arguments */
+--- arc-5.21m/arc.h
++++ arc-5.21m/arc.h
+@@ -94,6 +94,7 @@
+
+ #ifndef DONT_DEFINE /* Defined by arcdata.c */
+ #include "arcs.h"
++#include "arc-prototypes.h"
+
+ extern int keepbak; /* true if saving the old archive */
+ #if !DOS
+--- arc-5.21m/arcext.c
++++ arc-5.21m/arcext.c
+@@ -26,8 +26,6 @@
+ #include <strings.h>
+ #endif
+
+-VOID openarc(), closearc(), setstamp();
+-int match(), readhdr(), unpack();
+ static VOID extfile();
+
+ #ifndef __STDC__
+@@ -144,7 +135,7 @@
+ printf("Extracting file: %s\n", fix);
+
+ if (warn && !overlay) {
+- if (f = fopen(fix, "r")) { /* see if it exists */
++ if ((f = fopen(fix, "r"))) { /* see if it exists */
+ fclose(f);
+ printf("WARNING: File %s already exists!", fix);
+ fflush(stdout);
+--- arc-5.21m/arclzw.c
++++ arc-5.21m/arclzw.c
+@@ -663,7 +663,7 @@
+ {
+ int temp;
+
+- while (temp = string_tab[index].next) /* while more duplicates */
++ while (temp == string_tab[index].next) /* while more duplicates */
+ index = temp;
+
+ return index;
+--- arc-5.21m/arcmisc.c
++++ arc-5.21m/arcmisc.c
+@@ -306,7 +306,7 @@
+
+ if (Nnum == 0) { /* first call */
+ strcpy(namecopy,filename);
+- if(pattern=rindex(namecopy,CUTOFF)) {
++ if((pattern=rindex(namecopy,CUTOFF))) {
+ *pattern = 0;
+ pattern++;
+ dirname = namecopy;
+--- arc-5.21m/arcpack.c
++++ arc-5.21m/arcpack.c
+@@ -27,7 +27,6 @@
+
+ VOID setcode(), init_cm(), codebuf();
+ VOID arcdie(), init_sq(), flsh_cm();
+-int crcbuf();
+ u_int ncr_buf();
+
+ int lastc;
+--- arc-5.21m/arcrun.c
++++ arc-5.21m/arcrun.c
+@@ -20,12 +20,14 @@
+ */
+ #include <stdio.h>
+ #include <string.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
+ #include "arc.h"
+
+ VOID rempath(), openarc(), closearc(), arcdie();
+ int readhdr(), match(), unpack();
+ static VOID runfile();
+-char *strcat();
+
+ VOID
+ runarc(num, arg) /* run file from archive */
+@@ -120,7 +122,7 @@
+ #endif
+
+ if (warn)
+- if (tmp = fopen(buf, "r"))
++ if ((tmp = fopen(buf, "r")))
+ arcdie("Temporary file %s already exists", buf);
+ if (!(tmp = fopen(buf, OPEN_W)))
+ arcdie("Unable to create temporary file %s", buf);
+@@ -131,7 +133,7 @@
+ dir = gcdir(""); /* see where we are */
+ unpack(arc, tmp, hdr); /* unpack the entry */
+ fclose(tmp); /* release the file */
+- chmod(buf, "700"); /* make it executable */
++ chmod(buf, 700); /* make it executable */
+ #if GEMDOS
+ execve(buf, arg, NULL);
+ #else
+--- arc-5.21m/arcsvc.c
++++ arc-5.21m/arcsvc.c
+@@ -19,15 +19,13 @@
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <unistd.h>
+ #include <fcntl.h>
+ #include "arc.h"
+ #if _MTS
+ #include <mts.h>
+ #endif
+
+-VOID arcdie(), setstamp();
+-int unlink();
+-
+ VOID
+ openarc(chg) /* open archive */
+ int chg; /* true to open for changes */
+--- arc-5.21m/marc.c
++++ arc-5.21m/marc.c
+@@ -26,12 +26,14 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #endif
++#include <unistd.h>
+
+ #ifndef __STDC__
+ char *calloc(), *malloc(), *realloc(); /* memory managers */
+ #endif
+-VOID arcdie();
+ static VOID expandlst(), merge();
++int gethdr(FILE*, struct heads*);
++void copyfile(FILE*, struct heads*, int);
+
+ FILE *src; /* source archive */
+ char srcname[STRLEN]; /* source archive name */
+@@ -295,6 +292,7 @@
+ else return 0; /* or fake end of archive */
+ }
+
++void
+ copyfile(f,hdr,ver) /* copy a file from an archive */
+ FILE *f; /* archive to copy from */
+ struct heads *hdr; /* header data for file */
diff --git a/app-arch/arc/files/arc-521e-timeh.patch b/app-arch/arc/files/arc-521e-timeh.patch
deleted file mode 100644
index 8f22fc51ec99..000000000000
--- a/app-arch/arc/files/arc-521e-timeh.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./tmclock.c.timeh Fri May 4 01:08:13 2001
-+++ ./tmclock.c Fri May 4 01:09:13 2001
-@@ -16,6 +16,7 @@
- #define CENTURY 19
- #if BSD
- #include <sys/time.h>
-+#include <time.h>
- #else
- #include <time.h>
- extern long timezone; /* should be in <time.h>, but isn't on Sun */
---- ./arcdos.c.timeh Fri May 4 01:08:27 2001
-+++ ./arcdos.c Fri May 4 01:08:50 2001
-@@ -32,6 +32,7 @@
- #include <sys/stat.h>
- #if BSD
- #include <sys/time.h>
-+#include <time.h>
- #else
- #include <time.h> /* Sys V. Bleah. */
- struct timeval {
diff --git a/app-arch/arc/files/digest-arc-5.21m b/app-arch/arc/files/digest-arc-5.21m
new file mode 100644
index 000000000000..6782df0b8617
--- /dev/null
+++ b/app-arch/arc/files/digest-arc-5.21m
@@ -0,0 +1 @@
+MD5 6e1a3031d13b9157386b7e1c101ca8da arc-5.21m.tar.gz 82711