Version bump to fix insecure tempfile usage #107312.
authorMike Frysinger <vapier@gentoo.org>
Thu, 29 Sep 2005 22:21:51 +0000 (22:21 +0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 29 Sep 2005 22:21:51 +0000 (22:21 +0000)
Package-Manager: portage-2.0.52-r1 http://www.bash.org/?136501

app-arch/arc/ChangeLog
app-arch/arc/Manifest
app-arch/arc/arc-5.21m.ebuild [new file with mode: 0644]
app-arch/arc/files/arc-5.21m-compile-cleanups.patch [new file with mode: 0644]
app-arch/arc/files/arc-521e-timeh.patch [deleted file]
app-arch/arc/files/digest-arc-5.21m [new file with mode: 0644]

index 288e33f1504419bbf22d8f4a331feedf7ce3cfae..e824478ba60d91c38b309cb30a5a9896047500eb 100644 (file)
@@ -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.
index 27c04b805fedbcdee088246e0b1e58f2756caae5..0901222f0cedecc666367cc018384493f49964fe 100644 (file)
@@ -2,13 +2,15 @@
 Hash: SHA1
 
 MD5 d3144f57c73c1337c32620078515ed2b arc-5.21j.ebuild 632
-MD5 b582129de7af451ac475267e7e77a225 ChangeLog 1812
+MD5 1502e4d0fa21b900c75e916c3dcd380e arc-5.21m.ebuild 764
+MD5 cdbf10e766e8fde3e81c13c3f617e2d9 ChangeLog 2038
+MD5 6174a0060742261d0e4eff7e164ad577 files/digest-arc-5.21m 60
+MD5 b36a4a9f1625800ba497b99c5fac5614 files/arc-5.21m-compile-cleanups.patch 4315
 MD5 12b115e43717df51d9b655c7ed456240 files/digest-arc-5.21j 60
-MD5 11bcb6a067f0bdd2e47b77a6a444b376 files/arc-521e-timeh.patch 516
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
+Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFCimp7QlM6RnzZP+IRAjg3AJsFkHn7UdEY+UiQSHSUZXBqJxX2KgCeKQYu
-0dCqvuDTiAte/hJiVVTgDI0=
-=6RuC
+iD8DBQFDPGlAgIKl8Uu19MoRAtbGAJ9DbrHcjd9n843XCZoH3xnfiEJhzACfXlC8
+BeV8UFLCmLd4cFuPrWS9FB4=
+=m9m/
 -----END PGP SIGNATURE-----
diff --git a/app-arch/arc/arc-5.21m.ebuild b/app-arch/arc/arc-5.21m.ebuild
new file mode 100644 (file)
index 0000000..c25b690
--- /dev/null
@@ -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 (file)
index 0000000..8682ac1
--- /dev/null
@@ -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 (file)
index 8f22fc5..0000000
+++ /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 (file)
index 0000000..6782df0
--- /dev/null
@@ -0,0 +1 @@
+MD5 6e1a3031d13b9157386b7e1c101ca8da arc-5.21m.tar.gz 82711