pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/pkgsrc-2008Q1]: pkgsrc/editors pullup ticket #2359 - requested by ton...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/cd6d49bd9828
branches:  pkgsrc-2008Q1
changeset: 540312:cd6d49bd9828
user:      rtr <rtr%pkgsrc.org@localhost>
date:      Thu May 01 13:41:33 2008 +0000

description:
pullup ticket #2359 - requested by tonnerre
emacs, emacs-nox11: fix for security issue

revisions pulled up:
- pkgsrc/editors/emacs/Makefile         1.107,1.108
- pkgsrc/editors/emacs/Makefile.common  r0
- pkgsrc/editors/emacs/distinfo         1.36
- pkgsrc/editors/emacs/options.mk       1.7
- pkgsrc/editors/emacs/patches/patch-ac 1.16
- pkgsrc/editors/emacs/patches/patch-af 1.11
- pkgsrc/editors/emacs-nox11/DESCR      r0
- pkgsrc/editors/emacs-nox11/Makefile   1.28

   Module Name: pkgsrc
   Committed By:        jlam
   Date:                Fri Apr 25 16:35:32 UTC 2008

   Modified Files:
        pkgsrc/editors/emacs: Makefile options.mk
        pkgsrc/editors/emacs-nox11: Makefile
   Removed Files:
        pkgsrc/editors/emacs: Makefile.common
        pkgsrc/editors/emacs-nox11: DESCR

   Log Message:
   Make emacs and emacs-nox11 look more like xemacs and xemacs-nox11 in
   terms of file structure.  Also add DESTDIR support.
   ------------------------------------------------------------------------
   Module Name: pkgsrc
   Committed By:        tonnerre
   Date:                Tue Apr 29 12:54:56 UTC 2008

   Modified Files:
        pkgsrc/editors/emacs: Makefile distinfo
   Added Files:
        pkgsrc/editors/emacs/patches: patch-ac patch-af

   Log Message:
   Fix two emacs vulnerabilities:
   - Fix unsafe handling of local variables iin hack-local-variables
     (CVE-2007-5795).
   - Prevent symlink attack on arbitrary files using the temp files vcdiff
     generates (CVE-2008-1694).

diffstat:

 editors/emacs-nox11/DESCR      |  13 --------
 editors/emacs-nox11/Makefile   |  13 +++++---
 editors/emacs/Makefile         |  64 ++++++++++++++++++++++++++++++++++++++---
 editors/emacs/Makefile.common  |  60 ---------------------------------------
 editors/emacs/distinfo         |   4 +-
 editors/emacs/options.mk       |  18 +++++-----
 editors/emacs/patches/patch-ac |  15 +++++++++
 editors/emacs/patches/patch-af |  37 ++++++++++++++++++++++++
 8 files changed, 130 insertions(+), 94 deletions(-)

diffs (truncated from 310 to 300 lines):

diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs-nox11/DESCR
--- a/editors/emacs-nox11/DESCR Wed Apr 30 12:48:30 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-GNU Emacs is a self-documenting, customizable, extensible real-time
-display editor.
-
-Users new to Emacs will be able to use basic features fairly rapidly
-by studying the tutorial and using the self-documentation features.
-Emacs also has an extensive interactive manual browser.  It is easily
-extensible since its editing commands are written in Lisp.
-
-GNU Emacs's many special packages handle mail reading (RMail) and
-sending (Mail), outline editing (Outline), compiling (Compile),
-running subshells within Emacs windows (Shell), running a Lisp
-read-eval-print loop (Lisp-Interaction-Mode), automated psychotherapy
-(Doctor :-) and many more.
diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs-nox11/Makefile
--- a/editors/emacs-nox11/Makefile      Wed Apr 30 12:48:30 2008 +0000
+++ b/editors/emacs-nox11/Makefile      Thu May 01 13:41:33 2008 +0000
@@ -1,13 +1,16 @@
-# $NetBSD: Makefile,v 1.27 2007/08/13 12:40:57 jlam Exp $
+# $NetBSD: Makefile,v 1.27.6.1 2008/05/01 13:41:33 rtr Exp $
+
+PKGNAME=       ${DISTNAME:S/-/-nox11-/}
 
-PKGNAME=       emacs-nox11-${EMACSVERSION}
-COMMENT_EXTRA= : non-X11 version
+FILESDIR=      ${.CURDIR}/../../editors/emacs/files
+PATCHDIR=      ${.CURDIR}/../../editors/emacs/patches
+PKGDIR=                ${.CURDIR}/../../editors/emacs
 
-CONFLICTS+=    emacs-[0-9]*
+# Mirror PKG_DESTDIR_SUPPORT setting from emacs/Makefile.
+PKG_DESTDIR_SUPPORT=   user-destdir
 
 .include "../../mk/bsd.prefs.mk"
 
-# Forcibly remove any "x11" options.
 PKG_OPTIONS.emacs+=    -x11 -gtk -motif -xaw
 
 .include "../../editors/emacs/Makefile"
diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs/Makefile
--- a/editors/emacs/Makefile    Wed Apr 30 12:48:30 2008 +0000
+++ b/editors/emacs/Makefile    Thu May 01 13:41:33 2008 +0000
@@ -1,14 +1,66 @@
-# $NetBSD: Makefile,v 1.106 2007/12/06 12:10:32 markd Exp $
+# $NetBSD: Makefile,v 1.106.4.1 2008/05/01 13:41:33 rtr Exp $
 
-DISTNAME=      emacs-${EMACSVERSION}
-PKGREVISION=   2
+PKGNAME?=      ${DISTNAME}
+COMMENT?=      GNU editing macros (editor)
+
+DISTNAME=      emacs-22.1
+PKGREVISION=   3
 CATEGORIES=    editors
-COMMENT=       GNU editing macros (editor)${COMMENT_EXTRA}
+MASTER_SITES=  ${MASTER_SITE_GNU:=emacs/}
+
+MAINTAINER=    markd%NetBSD.org@localhost
+HOMEPAGE=      http://www.gnu.org/software/emacs/emacs.html
 
-.include "../../editors/emacs/Makefile.common"
+CONFLICTS+=    elisp-manual-[0-9]*
+CONFLICTS+=    emacs-[0-9]*
+CONFLICTS+=    emacs-nox11-[0-9]*
+CONFLICTS+=    mule-[0-9]*
 
-CONFLICTS+=    emacs-nox11-[0-9]*
+PKG_DESTDIR_SUPPORT=   user-destdir
+
+USE_TOOLS+=            gmake gzip mktemp:run perl:run pkg-config
+GNU_CONFIGURE=         yes
+INFO_FILES=            # PLIST
 
 .include "options.mk"
 
+MAKEFLAGS+=            EMACSLOADPATH=${WRKSRC}/lisp
+
+CONFIGURE_ARGS+=       --localstatedir=${VARBASE:Q}
+CONFIGURE_ENV+=                GAMEOWN=${GAMEOWN:Q}
+
+BUILD_DEFS+=           VARBASE
+BUILD_DEFS+=           GAMEDATAMODE
+
+# build PATH in the dumped emacs is not a problem
+CHECK_WRKREF_SKIP+=    bin/emacs
+CHECK_WRKREF_SKIP+=    bin/emacs-[0-9]*
+
+REPLACE_PERL=          lib-src/grep-changelog
+
+SUBST_CLASSES+=                        test_equal
+SUBST_STAGE.test_equal=                pre-configure
+SUBST_MESSAGE.test_equal=      Fixing bashisms in test(1) usage.
+SUBST_FILES.test_equal=                mac/make-package
+SUBST_SED.test_equal=          -e 's/ == / = /g'
+
+MAKE_DIRS_PERMS+=      ${VARBASE}/games/emacs \
+                       ${GAMEOWN:Q} ${GAMEGRP} ${GAMEDIRMODE:Q}
+CONF_FILES_PERMS+=     /dev/null ${VARBASE}/games/emacs/snake-scores \
+                       ${GAMEOWN:Q} ${GAMEGRP:Q} ${GAMEDATAMODE:Q}
+CONF_FILES_PERMS+=     /dev/null ${VARBASE}/games/emacs/tetris-scores \
+                       ${GAMEOWN:Q} ${GAMEGRP:Q} ${GAMEDATAMODE:Q}
+SPECIAL_PERMS+=                libexec/emacs/${PKGVERSION_NOREV}/${MACHINE_GNU_PLATFORM}/update-game-score ${GAMEOWN:Q} ${GAMEGRP:Q} ${GAMEMODE:Q}
+
+.if (${OPSYS} == "DragonFly") && exists(/usr/lib/crtbegin.o)
+CPPFLAGS+=             -DDFLY_PRE_17_CRT
+.endif
+
+post-extract:
+       cp ${FILESDIR}/site-init.el ${WRKSRC}/lisp
+       cp ${FILESDIR}/dragonfly.h ${WRKSRC}/src/s
+
+.include "../../mk/oss.buildlink3.mk"
+.include "../../mk/termcap.buildlink3.mk"
+
 .include "../../mk/bsd.pkg.mk"
diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs/Makefile.common
--- a/editors/emacs/Makefile.common     Wed Apr 30 12:48:30 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-# $NetBSD: Makefile.common,v 1.20 2008/02/16 13:46:09 wiz Exp $
-
-MASTER_SITES=  ${MASTER_SITE_GNU:=emacs/}
-MAINTAINER=    markd%NetBSD.org@localhost
-HOMEPAGE=      http://www.gnu.org/software/emacs/emacs.html
-
-CONFLICTS=     mule-[0-9]*
-CONFLICTS+=    elisp-manual-[0-9]*
-
-USE_TOOLS+=            gmake gzip perl:run pkg-config
-GNU_CONFIGURE=         yes
-
-PATCHDIR=      ${.CURDIR}/../../editors/emacs/patches
-FILESDIR=      ${.CURDIR}/../../editors/emacs/files
-DISTINFO_FILE= ${.CURDIR}/../../editors/emacs/distinfo
-PLIST_SRC=     ${.CURDIR}/../../editors/emacs/PLIST
-
-EMACSVERSION=  22.1
-
-MAKEFLAGS+=    EMACSLOADPATH=${WRKSRC}/lisp
-
-CONFIGURE_ARGS+=       --localstatedir=${VARBASE:Q}
-CONFIGURE_ENV+=                GAMEOWN=${GAMEOWN:Q}
-
-BUILD_DEFS+=   VARBASE
-BUILD_DEFS+=   GAMEDATAMODE
-
-# build PATH in the dumped emacs is not a problem
-CHECK_WRKREF_SKIP+=    bin/emacs
-CHECK_WRKREF_SKIP+=    bin/emacs-${EMACSVERSION}
-
-SUBST_CLASSES+=                        test_equal
-SUBST_STAGE.test_equal=                pre-configure
-SUBST_MESSAGE.test_equal=      Fixing bashisms in test(1) usage.
-SUBST_FILES.test_equal=                mac/make-package
-SUBST_SED.test_equal=          -e 's/ == / = /g'
-
-MAKE_DIRS_PERMS+=      ${VARBASE}/games/emacs ${GAMEOWN:Q} ${GAMEGRP} ${GAMEDIRMODE:Q}
-CONF_FILES_PERMS+=     /dev/null ${VARBASE}/games/emacs/snake-scores ${GAMEOWN:Q} ${GAMEGRP:Q} ${GAMEDATAMODE:Q}
-CONF_FILES_PERMS+=     /dev/null ${VARBASE}/games/emacs/tetris-scores ${GAMEOWN:Q} ${GAMEGRP:Q} ${GAMEDATAMODE:Q}
-SPECIAL_PERMS+=                ${PREFIX}/libexec/emacs/22.1/${MACHINE_GNU_PLATFORM}/update-game-score ${GAMEOWN:Q} ${GAMEGRP:Q} ${GAMEMODE:Q}
-
-.include "../../mk/bsd.prefs.mk"
-
-.if ${OPSYS} == "DragonFly" && exists(/usr/lib/crtbegin.o)
-CPPFLAGS+=     -DDFLY_PRE_17_CRT
-.endif
-
-INFO_FILES=    # PLIST
-REPLACE_PERL=  lib-src/grep-changelog
-
-post-extract:
-       ${CP} ${FILESDIR}/site-init.el ${WRKSRC}/lisp
-       ${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/src/s
-
-post-install:
-       ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DESTDIR}${PREFIX}/share/emacs
-
-.include "../../mk/oss.buildlink3.mk"
-
diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs/distinfo
--- a/editors/emacs/distinfo    Wed Apr 30 12:48:30 2008 +0000
+++ b/editors/emacs/distinfo    Thu May 01 13:41:33 2008 +0000
@@ -1,12 +1,14 @@
-$NetBSD: distinfo,v 1.35 2007/06/11 13:57:16 markd Exp $
+$NetBSD: distinfo,v 1.35.8.1 2008/05/01 13:41:33 rtr Exp $
 
 SHA1 (emacs-22.1.tar.gz) = 327664173eabe5db49d4e7e4a4b1794577af902e
 RMD160 (emacs-22.1.tar.gz) = da5360871db8b1d473ff7f0b0937ee6c278c0b19
 Size (emacs-22.1.tar.gz) = 38172226 bytes
 SHA1 (patch-aa) = d7ae318f2140dbd8f796bfcbb48f299fe6bf2d81
 SHA1 (patch-ab) = 0e022290d305fd73ab7aa633f955fca10ac70799
+SHA1 (patch-ac) = 1fc45d38f879c2ae7287bc7f7a9cb868e2db74d8
 SHA1 (patch-ad) = 39a11bc214ae3d2f9d634c30b196a46d473ab92f
 SHA1 (patch-ae) = 30a31df58bbcae854ded212ad42bde5b855a7318
+SHA1 (patch-af) = 9b2b8c5dfe1b2dc9ca76587cdb323272f8cb103e
 SHA1 (patch-aj) = 7707c5f8bb57bbacbd1d3c6f37a34916baacc363
 SHA1 (patch-ak) = ef0bf533754e5392c419c251aac8278b5e90b438
 SHA1 (patch-am) = 4e068210bcbea638d143bd9fb566795636d77b35
diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs/options.mk
--- a/editors/emacs/options.mk  Wed Apr 30 12:48:30 2008 +0000
+++ b/editors/emacs/options.mk  Thu May 01 13:41:33 2008 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.6 2007/11/01 06:44:08 uebayasi Exp $
+# $NetBSD: options.mk,v 1.6.4.1 2008/05/01 13:41:33 rtr Exp $
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.emacs
 PKG_SUPPORTED_OPTIONS=         x11
@@ -11,17 +11,19 @@
 ###
 ### Any of the "toolkit" options implies "x11".
 ###
-.if !empty(PKG_OPTIONS:Mgtk) || !empty(PKG_OPTIONS:Mmotif) || !empty(PKG_OPTIONS:Mxaw)
+.if !empty(PKG_OPTIONS:Mgtk) || !empty(PKG_OPTIONS:Mmotif) || \
+    !empty(PKG_OPTIONS:Mxaw)
 .  if empty(PKG_OPTIONS:Mx11)
 PKG_OPTIONS+=          x11
 .  endif
 .endif
 
 ###
-### Default to using the Xaw X11 toolkit if none is specified.
+### Default to using the Athena X11 toolkit if none is specified.
 ###
 .if !empty(PKG_OPTIONS:Mx11)
-.  if empty(PKG_OPTIONS:Mgtk) && empty(PKG_OPTIONS:Mmotif) && empty(PKG_OPTIONS:Mxaw)
+.  if empty(PKG_OPTIONS:Mgtk) && empty(PKG_OPTIONS:Mmotif) && \
+      empty(PKG_OPTIONS:Mxaw)
 PKG_OPTIONS+=          xaw
 .  endif
 .endif
@@ -53,13 +55,11 @@
 CONFIGURE_ARGS+=       --without-x
 CONFIGURE_ARGS+=       --without-xpm
 .  if exists(/System/Library/Frameworks/Carbon.framework)
-APPLICATIONS_DIR=      Applications
 CONFIGURE_ARGS+=       --with-carbon
-CONFIGURE_ARGS+=       --enable-carbon-app=${PREFIX}/${APPLICATIONS_DIR}
+CONFIGURE_ARGS+=       --enable-carbon-app=${PREFIX}/Applications
 PLIST_SRC+=            PLIST.carbon
-PLIST_SUBST+=          APPLIDATIONS_DIR=${APPLICATIONS_DIR:Q}
-INSTALLATION_DIRS+=    ${APPLICATIONS_DIR}
-CHECK_WRKREF_SKIP+=    ${APPLICATIONS_DIR}/Emacs.app/Contents/MacOS/Emacs
+INSTALLATION_DIRS+=    Applications
+CHECK_WRKREF_SKIP+=    Applications/Emacs.app/Contents/MacOS/Emacs
 .  endif
 .endif
 
diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs/patches/patch-ac
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/editors/emacs/patches/patch-ac    Thu May 01 13:41:33 2008 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-ac,v 1.15.8.1 2008/05/01 13:41:33 rtr Exp $
+
+--- lisp/files.el.orig 2007-05-25 13:43:31.000000000 +0100
++++ lisp/files.el      2008-04-29 12:41:52.000000000 +0100
+@@ -2736,8 +2736,8 @@
+               ;; If caller wants only the safe variables,
+               ;; install only them.
+               (dolist (elt result)
+-                (unless (or (memq (car elt) unsafe-vars)
+-                            (memq (car elt) risky-vars))
++                (unless (or (member elt unsafe-vars)
++                            (member elt risky-vars))
+                   (hack-one-local-variable (car elt) (cdr elt))))
+             ;; Query, except in the case where all are known safe
+             ;; if the user wants no quuery in that case.
diff -r 53d6746cf194 -r cd6d49bd9828 editors/emacs/patches/patch-af
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/editors/emacs/patches/patch-af    Thu May 01 13:41:33 2008 +0000
@@ -0,0 +1,37 @@
+$NetBSD: patch-af,v 1.10.8.1 2008/05/01 13:41:33 rtr Exp $
+
+--- lib-src/vcdiff.orig        2007-01-21 04:49:26.000000000 +0000
++++ lib-src/vcdiff     2008-04-29 12:48:03.000000000 +0100
+@@ -4,13 +4,13 @@
+ # This version is more compatible with rcsdiff(1).
+ #
+ # Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004,
+-#               2005, 2006, 2007 Free Software Foundation, Inc.
++#               2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ #
+ # 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 2, or (at your option)
++# 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,
+@@ -84,14 +84,14 @@
+       case $f in
+       s.* | */s.*)
+               if
+-                      rev1=/tmp/geta$$
++                      rev1=`mktemp /tmp/geta.XXXXXXXX`
+                       get -s -p -k $sid1 "$f" > $rev1 &&



Home | Main Index | Thread Index | Old Index