diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-09-29 22:21:51 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-09-29 22:21:51 +0000 |
commit | fe7d2c0aafa6d89ba352cdb09825f178d834be78 (patch) | |
tree | 6cbacb0d4a4b8c527ac844d35d9c3a44a90ccc0c /app-arch/arc | |
parent | segv patch added - bug #96619 (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | app-arch/arc/arc-5.21m.ebuild | 35 | ||||
-rw-r--r-- | app-arch/arc/files/arc-5.21m-compile-cleanups.patch | 171 | ||||
-rw-r--r-- | app-arch/arc/files/arc-521e-timeh.patch | 20 | ||||
-rw-r--r-- | app-arch/arc/files/digest-arc-5.21m | 1 |
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 |