summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archivers/arc/Makefile4
-rw-r--r--archivers/arc/distinfo3
-rw-r--r--archivers/arc/patches/patch-ae30
3 files changed, 34 insertions, 3 deletions
diff --git a/archivers/arc/Makefile b/archivers/arc/Makefile
index 576cde1baaf..478afd58f95 100644
--- a/archivers/arc/Makefile
+++ b/archivers/arc/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.23 2005/04/15 04:36:45 snj Exp $
+# $NetBSD: Makefile,v 1.24 2005/10/06 14:23:39 salo Exp $
DISTNAME= arc521e.pl8
PKGNAME= arc-5.21e
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= archivers
MASTER_SITES= ftp://ftp.kiarchive.ru/pub/unix/arcers/
EXTRACT_SUFX= .tar.Z
diff --git a/archivers/arc/distinfo b/archivers/arc/distinfo
index ba384b7e43b..518a4cc7b60 100644
--- a/archivers/arc/distinfo
+++ b/archivers/arc/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2005/05/08 05:45:42 minskim Exp $
+$NetBSD: distinfo,v 1.9 2005/10/06 14:23:39 salo Exp $
SHA1 (arc521e.pl8.tar.Z) = 34210f9aeaac39a15b34e6aa400b38127b6a2a20
RMD160 (arc521e.pl8.tar.Z) = 1fcd823b93b4e633244797ed231318c5bc741965
@@ -7,3 +7,4 @@ SHA1 (patch-aa) = 62324f346559b2997eba56698b1c0c1c29a328c3
SHA1 (patch-ab) = 64fba2f0b5d03f26e427ecddc70e2a9b6b2fc521
SHA1 (patch-ac) = 64d87af431c6bc0ded0b26167782309a7bfadd8a
SHA1 (patch-ad) = 6f82d17b8eb2f2353d7ebfffaec1d52673acc7a0
+SHA1 (patch-ae) = bb176dee99c3fbc43e0fa00a2ae2ebe00865cc72
diff --git a/archivers/arc/patches/patch-ae b/archivers/arc/patches/patch-ae
new file mode 100644
index 00000000000..759c05fe3bf
--- /dev/null
+++ b/archivers/arc/patches/patch-ae
@@ -0,0 +1,30 @@
+$NetBSD: patch-ae,v 1.1 2005/10/06 14:23:39 salo Exp $
+
+Security fix for CAN-2005-2945 and CAN-2005-2992, from Debian.
+
+--- arcsvc.c.orig 1992-04-15 00:58:40.000000000 +0200
++++ arcsvc.c 2005-10-06 16:07:28.000000000 +0200
+@@ -17,6 +17,9 @@
+ Computer Innovations Optimizing C86
+ */
+ #include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
+ #include "arc.h"
+ #if _MTS
+ #include <mts.h>
+@@ -52,7 +55,12 @@
+ }
+ #endif
+ if (chg) { /* if opening for changes */
+- if (!(new = fopen(newname, OPEN_W)))
++ int fd;
++
++ if ((fd = open(newname, O_CREAT|O_EXCL|O_RDWR, S_IREAD|S_IWRITE)) == -1)
++ arcdie("Cannot create archive copy: %s", newname);
++
++ if (!(new = fdopen(fd, OPEN_W)))
+ arcdie("Cannot create archive copy: %s", newname);
+
+ changing = chg; /* note if open for changes */