From 63ab8f5018576fc957feef2f1cc35fc7aabd12df Mon Sep 17 00:00:00 2001 From: Patrick McLean Date: Wed, 1 Feb 2017 14:35:58 -0800 Subject: sys-fs/ntfs3g: Revision bump to 2016.2.22-r2 to add patch for CVE-2017-0358 Gentoo-Bug: 607912 Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- .../files/ntfs3g-2016.2.22-CVE-2017-0358.patch | 40 ++++++++++ sys-fs/ntfs3g/ntfs3g-2016.2.22-r2.ebuild | 91 ++++++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 sys-fs/ntfs3g/files/ntfs3g-2016.2.22-CVE-2017-0358.patch create mode 100644 sys-fs/ntfs3g/ntfs3g-2016.2.22-r2.ebuild (limited to 'sys-fs') diff --git a/sys-fs/ntfs3g/files/ntfs3g-2016.2.22-CVE-2017-0358.patch b/sys-fs/ntfs3g/files/ntfs3g-2016.2.22-CVE-2017-0358.patch new file mode 100644 index 000000000000..1ce7e9cdae32 --- /dev/null +++ b/sys-fs/ntfs3g/files/ntfs3g-2016.2.22-CVE-2017-0358.patch @@ -0,0 +1,40 @@ +diff --git a/src/lowntfs-3g.c b/src/lowntfs-3g.c +index 0bb38f97..c6d1dad3 100644 +--- a/src/lowntfs-3g.c ++++ b/src/lowntfs-3g.c +@@ -3827,13 +3827,14 @@ static fuse_fstype load_fuse_module(void) + struct stat st; + pid_t pid; + const char *cmd = "/sbin/modprobe"; ++ char *env = (char*)NULL; + struct timespec req = { 0, 100000000 }; /* 100 msec */ + fuse_fstype fstype; + + if (!stat(cmd, &st) && !geteuid()) { + pid = fork(); + if (!pid) { +- execl(cmd, cmd, "fuse", NULL); ++ execle(cmd, cmd, "fuse", NULL, &env); + _exit(1); + } else if (pid != -1) + waitpid(pid, NULL, 0); +diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c +index 268b0569..945fc0be 100644 +--- a/src/ntfs-3g.c ++++ b/src/ntfs-3g.c +@@ -3612,13 +3612,14 @@ static fuse_fstype load_fuse_module(void) + struct stat st; + pid_t pid; + const char *cmd = "/sbin/modprobe"; ++ char *env = (char*)NULL; + struct timespec req = { 0, 100000000 }; /* 100 msec */ + fuse_fstype fstype; + + if (!stat(cmd, &st) && !geteuid()) { + pid = fork(); + if (!pid) { +- execl(cmd, cmd, "fuse", NULL); ++ execle(cmd, cmd, "fuse", NULL, &env); + _exit(1); + } else if (pid != -1) + waitpid(pid, NULL, 0); diff --git a/sys-fs/ntfs3g/ntfs3g-2016.2.22-r2.ebuild b/sys-fs/ntfs3g/ntfs3g-2016.2.22-r2.ebuild new file mode 100644 index 000000000000..65d95f8fc978 --- /dev/null +++ b/sys-fs/ntfs3g/ntfs3g-2016.2.22-r2.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils linux-info udev toolchain-funcs libtool + +MY_PN=${PN/3g/-3g} +MY_P=${MY_PN}_ntfsprogs-${PV} + +DESCRIPTION="Open source read-write NTFS driver that runs under FUSE" +HOMEPAGE="http://www.tuxera.com/community/ntfs-3g-download/" +SRC_URI="http://tuxera.com/opensource/${MY_P}.tgz" + +LICENSE="GPL-2" +# The subslot matches the SONAME major #. +SLOT="0/87" +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux" +IUSE="acl debug +external-fuse ntfsdecrypt +ntfsprogs static-libs suid xattr" + +RDEPEND="!=dev-libs/libgcrypt-1.2.2:0 + >=net-libs/gnutls-1.4.4 + ) + external-fuse? ( >=sys-fs/fuse-2.8.0 )" +DEPEND="${RDEPEND} + sys-apps/attr + virtual/pkgconfig" + +S="${WORKDIR}/${MY_P}" + +DOCS="AUTHORS ChangeLog CREDITS README" + +PATCHES=( + "${FILESDIR}"/${PN}-2014.2.15-no-split-usr.patch + "${FILESDIR}"/${PN}-2016.2.22-sysmacros.patch #580136 + "${FILESDIR}"/${PN}-2016.2.22-CVE-2017-0358.patch #607912 +) + +pkg_setup() { + if use external-fuse && use kernel_linux; then + if kernel_is lt 2 6 9; then + die "Your kernel is too old." + fi + CONFIG_CHECK="~FUSE_FS" + FUSE_FS_WARNING="You need to have FUSE module built to use ntfs-3g" + linux-info_pkg_setup + fi +} + +src_prepare() { + epatch "${PATCHES[@]}" + # Keep the symlinks in the same place we put the main binaries. + # Having them in / when all the progs are in /usr is pointless. + sed -i \ + -e 's:/sbin:$(sbindir):g' \ + {ntfsprogs,src}/Makefile.in || die #578336 + # Note: patches apply to Makefile.in, so don't run autotools here. + elibtoolize +} + +src_configure() { + tc-ld-disable-gold + econf \ + --prefix="${EPREFIX}"/usr \ + --exec-prefix="${EPREFIX}"/usr \ + --docdir="${EPREFIX}"/usr/share/doc/${PF} \ + $(use_enable debug) \ + --enable-ldscript \ + --disable-ldconfig \ + $(use_enable acl posix-acls) \ + $(use_enable xattr xattr-mappings) \ + $(use_enable ntfsdecrypt crypto) \ + $(use_enable ntfsprogs) \ + $(use_enable ntfsprogs quarantined) \ + --without-uuid \ + --enable-extras \ + $(use_enable static-libs static) \ + --with-fuse=$(usex external-fuse external internal) +} + +src_install() { + default + + use suid && fperms u+s /usr/bin/${MY_PN} + udev_dorules "${FILESDIR}"/99-ntfs3g.rules + prune_libtool_files + + dosym mount.ntfs-3g /usr/sbin/mount.ntfs #374197 +} -- cgit v1.2.3-18-g5258