summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authortonnerre <tonnerre>2008-04-29 14:07:15 +0000
committertonnerre <tonnerre>2008-04-29 14:07:15 +0000
commitc1ba7d6622d18693ef7e4481e1595de674621dca (patch)
tree011988260b585c7e35dc96e30b4e58d7f6a42e6d /editors
parent94b1c51cb7909e9a2c3764f320d9c4b52dd99795 (diff)
downloadpkgsrc-c1ba7d6622d18693ef7e4481e1595de674621dca.tar.gz
Fix xemacs vcdiff insecure temp file creation vulnerability (CVE-2008-1694).
Approved-by: joerg
Diffstat (limited to 'editors')
-rw-r--r--editors/xemacs/Makefile4
-rw-r--r--editors/xemacs/distinfo9
-rw-r--r--editors/xemacs/patches/patch-ag111
3 files changed, 118 insertions, 6 deletions
diff --git a/editors/xemacs/Makefile b/editors/xemacs/Makefile
index a7e26858858..9cd681d533d 100644
--- a/editors/xemacs/Makefile
+++ b/editors/xemacs/Makefile
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.87 2008/04/25 17:58:24 tron Exp $
+# $NetBSD: Makefile,v 1.88 2008/04/29 14:07:15 tonnerre Exp $
PKGNAME?= ${DISTNAME}
COMMENT?= XEmacs text editor version 21
DISTNAME= xemacs-21.4.17
-PKGREVISION= 4
+PKGREVISION= 5
CATEGORIES= editors
MASTER_SITES= ${MASTER_SITE_XEMACS:=${DISTNAME:C/[.][^.]*$//}/}
DISTFILES= ${DISTNAME}.tar.gz ${DISTNAME}-elc.tar.gz \
diff --git a/editors/xemacs/distinfo b/editors/xemacs/distinfo
index 215f8b99e84..15ab4aa36aa 100644
--- a/editors/xemacs/distinfo
+++ b/editors/xemacs/distinfo
@@ -1,20 +1,21 @@
-$NetBSD: distinfo,v 1.12 2008/04/24 15:32:15 jlam Exp $
+$NetBSD: distinfo,v 1.13 2008/04/29 14:07:15 tonnerre Exp $
-SHA1 (xemacs/xemacs-21.4.17.tar.gz) = 274812bee5f8010ca3d56b517026270d94415f33
-RMD160 (xemacs/xemacs-21.4.17.tar.gz) = d42ca370ba916f0147b368bd7db2cc6c523646ae
-Size (xemacs/xemacs-21.4.17.tar.gz) = 10626826 bytes
SHA1 (xemacs/xemacs-21.4.17-elc.tar.gz) = 5e13cb3d2087d0ef56746b661da6b762533b3e58
RMD160 (xemacs/xemacs-21.4.17-elc.tar.gz) = 37785dc82bbbbc7eba656c9edc099b425a885eae
Size (xemacs/xemacs-21.4.17-elc.tar.gz) = 931709 bytes
SHA1 (xemacs/xemacs-21.4.17-info.tar.gz) = 6a0319d8a5e29c6725d3973ee5f39360503ef681
RMD160 (xemacs/xemacs-21.4.17-info.tar.gz) = 5894750e99d225e53e79bf2c6fa786b3fd13d7a5
Size (xemacs/xemacs-21.4.17-info.tar.gz) = 1634004 bytes
+SHA1 (xemacs/xemacs-21.4.17.tar.gz) = 274812bee5f8010ca3d56b517026270d94415f33
+RMD160 (xemacs/xemacs-21.4.17.tar.gz) = d42ca370ba916f0147b368bd7db2cc6c523646ae
+Size (xemacs/xemacs-21.4.17.tar.gz) = 10626826 bytes
SHA1 (patch-aa) = 933c2522fce7877d73c57cf0e153afcce78bdf7e
SHA1 (patch-ab) = 1487edf8addea7971f4fcbcf57818090f32edef5
SHA1 (patch-ac) = effbc40595b0c3b6e443588528113d907a6056c1
SHA1 (patch-ad) = e2a70a64f0659ffda6dd27b37512e4dc5bd4ecf4
SHA1 (patch-ae) = c3ad7249bb7eb51c509546fc88fe3efc5b70a6d7
SHA1 (patch-af) = 97cd3d340f349a645a7be9a683879528d9f4c5f2
+SHA1 (patch-ag) = 0ccbead4be5da92e73a15432ff1b063da13cf0b4
SHA1 (patch-ah) = 9a02b989a6d45cdfead22ea703acceca722cf313
SHA1 (patch-ai) = ea752473a56d20907201763966ecdeaaeffac84a
SHA1 (patch-ak) = bfbd285a1cc7d4e93a2fc884e03492dec9302e55
diff --git a/editors/xemacs/patches/patch-ag b/editors/xemacs/patches/patch-ag
new file mode 100644
index 00000000000..f572845adb0
--- /dev/null
+++ b/editors/xemacs/patches/patch-ag
@@ -0,0 +1,111 @@
+$NetBSD: patch-ag,v 1.3 2008/04/29 14:07:15 tonnerre Exp $
+
+--- lib-src/vcdiff.orig 1996-12-18 22:42:33.000000000 +0000
++++ lib-src/vcdiff 2008-04-29 13:27:28.000000000 +0100
+@@ -1,23 +1,35 @@
+-#!/bin/sh
++#! /bin/sh
+ #
+ # Enhanced sccs diff utility for use with vc mode.
+ # This version is more compatible with rcsdiff(1).
+ #
+-# !Id: vcdiff,v 1.4 1993/12/03 09:29:18 eggert Exp !
++# Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004,
++# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ #
+-# Modified by: vladimir@Eng.Sun.COM on 95-06-07
+-# * Made sure that file arguments are specifed as s.<filename>.
+-# * Switched the assignments to $f inside the 3rd and 4th case statements of
+-# the first for-loop
+-# * Removed the incorrect initialization of sid1 before the first for-loop.
++# This file is part of GNU Emacs.
++#
++# GNU Emacs is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3, or (at your option)
++# any later version.
++#
++# GNU Emacs is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Emacs; see the file COPYING. If not, write to the
++# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
+ #
+
+ DIFF="diff"
+ usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
+
+-PATH=$PATH:/usr/ccs/bin:/usr/sccs # common SCCS hangouts
++PATH=$PATH:/usr/ccs/bin:/usr/sccs:/usr/xpg4/bin # common SCCS hangouts
+
+-echo=
++echo="echo"
+ sid1= sid2=
+
+ for f
+@@ -31,14 +43,14 @@
+ echo=:;;
+ -r?*)
+ case $sid1 in
+- -r*)
+- sid2=$f
++ '')
++ sid1=$f
+ ;;
+- *)
++ *)
+ case $sid2 in
+- ?*) echo "$usage" >&2; exit 2 ;;
++ ?*) echo "$usage" >&2; exit 2 ;;
+ esac
+- sid1=$f
++ sid2=$f
+ ;;
+ esac
+ ;;
+@@ -67,31 +79,24 @@
+
+ for f
+ do
+- s=2
+-
+- # For files under SCCS control, fixup the file name to be the s. filename
+- if [ -d SCCS ]; then
+- if [ $f = `echo $f | sed -e 's|SCCS/s.||'` ]; then
+- f="SCCS/s.$f"
+- fi
+- fi
++ s=2
+
+ case $f in
+ s.* | */s.*)
+ if
+- rev1=/tmp/geta$$
++ rev1=`mktemp /tmp/geta.XXXXXXXX`
+ get -s -p -k $sid1 "$f" > $rev1 &&
+ case $sid2 in
+ '')
+ workfile=`expr " /$f" : '.*/s.\(.*\)'`
+ ;;
+ *)
+- rev2=/tmp/getb$$
++ rev2=`mktemp /tmp/getb.XXXXXXXX`
+ get -s -p -k $sid2 "$f" > $rev2
+ workfile=$rev2
+ esac
+ then
+- $echo $DIFF $options $sid1 $sid2 $workfile >&2
++ $echo $DIFF $options $rev1 $workfile >&2
+ $DIFF $options $rev1 $workfile
+ s=$?
+ fi
+@@ -104,3 +109,5 @@
+ then status=$s
+ fi
+ done
++
++# arch-tag: 4344ba3a-bcbe-4f77-971c-f43c1606953a