summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2021-10-01 11:42:55 +0200
committerLars Wendler <polynomial-c@gentoo.org>2021-10-01 11:42:55 +0200
commit7bf490bf9bec287e3927af2df506fa63a9e245f1 (patch)
tree94ab3e492a64a770abd0e5f5513d0367840e6ef7 /app-misc/mc
parentdev-python/openstackdocstheme: mark ALLARCHES (diff)
downloadgentoo-7bf490bf9bec287e3927af2df506fa63a9e245f1.tar.gz
gentoo-7bf490bf9bec287e3927af2df506fa63a9e245f1.tar.bz2
gentoo-7bf490bf9bec287e3927af2df506fa63a9e245f1.zip
app-misc/mc: Security cleanup
Bug: https://bugs.gentoo.org/811159 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'app-misc/mc')
-rw-r--r--app-misc/mc/Manifest1
-rw-r--r--app-misc/mc/files/mc-4.8.26-file-seccomp.patch142
-rw-r--r--app-misc/mc/files/mc-4.8.26-shadow-crash.patch39
-rw-r--r--app-misc/mc/mc-4.8.26-r4.ebuild125
-rw-r--r--app-misc/mc/mc-4.8.26-r5.ebuild131
5 files changed, 0 insertions, 438 deletions
diff --git a/app-misc/mc/Manifest b/app-misc/mc/Manifest
index 771926154e4d..24aa91127356 100644
--- a/app-misc/mc/Manifest
+++ b/app-misc/mc/Manifest
@@ -1,2 +1 @@
-DIST mc-4.8.26.tar.xz 2492612 BLAKE2B e13ab99fb7d5a9e2cf1149ad96d763681b0186fbf5c03fc9e349a57a4a6f48b598c9eeed85e4cb94a18c5c5b89d4ee0e21f6d34c8cfd5e21da53551085aa3469 SHA512 f2f06915b775ecc94016fe5d5db9301e953cc89ee0708e79ee96e14a9f53142a467b27061ca57f65b40310fa86d4d13e2f2a29a601f8fefa6216fb10f73007be
DIST mc-4.8.27.tar.xz 2510296 BLAKE2B efb0f3a8beb7285a793085a8e3b3a49619d0f8a4babff7de90f7a462cf6c013bbc08b92bc48e2c2e2204799332cd0160a86e201d9368cabde78e653b4306763f SHA512 c955d66cee06e3a0e0c795f2f6b98b184762363390a903cf8ef83dc5e98e6e94d5a9c06c4788d9ff4b3ae111541df8c7dc0b864a5c21c40421a81cd8690e9a69
diff --git a/app-misc/mc/files/mc-4.8.26-file-seccomp.patch b/app-misc/mc/files/mc-4.8.26-file-seccomp.patch
deleted file mode 100644
index 0a36f47f3a40..000000000000
--- a/app-misc/mc/files/mc-4.8.26-file-seccomp.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-https://bugs.gentoo.org/776988
-https://github.com/MidnightCommander/mc/commit/1ed638d66cf803f69ac12ee80a72d217f2146e43
-
-From 1ed638d66cf803f69ac12ee80a72d217f2146e43 Mon Sep 17 00:00:00 2001
-From: Andrew Borodin <aborodin@vmail.ru>
-Date: Tue, 16 Feb 2021 16:29:51 +0300
-Subject: [PATCH] Ticket #4180: fix zip handling.
-
-After 8857423e4ebb770b6f0ea3103abf5d35c85fcbe8 zip archives opened with
-an error:
-
- file -L -z archive.zip: Bad system call
-
-This caused by using /usr/bin/file with -z option, because seccomp (a
-security sandbox) doesn't allow it..
-
-Solution: use -S option together with -z one.
-
-The file command accepts the -S option since 5.33.
-
-Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
----
- configure.ac | 66 +++++++++++++++++++++++++++++++++++--------
- src/filemanager/ext.c | 7 +++--
- src/setup.c | 2 ++
- 3 files changed, 60 insertions(+), 15 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5f372dc3f5..f2351c99ad 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -115,23 +115,65 @@ fi
- AC_SUBST(MANDOC)
- AC_SUBST(MAN_FLAGS)
-
--dnl Check for -L option to file
-+dnl Check for -z, -L, and -S options to file
- AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
- if $HAVE_FILECMD; then
-- AC_MSG_CHECKING([for -L option to file command])
-- AC_CACHE_VAL(mc_cv_filel, [
-- file -L . > /dev/null 2>&1
-- if test $? = 0; then
-- mc_cv_filel=yes
-+ dnl Don't use the file command if it doesn't accept the -z option
-+ AC_MSG_CHECKING([for -z option to file command])
-+ AC_CACHE_VAL(mc_cv_file_z, [
-+ file -z . > /dev/null 2>&1
-+ if test $? = 0; then
-+ mc_cv_file_z=yes
-+ else
-+ mc_cv_file_z=no
-+ fi
-+ ])
-+ AC_MSG_RESULT([$mc_cv_file_z])
-+
-+ if test x$mc_cv_file_z = xyes; then
-+ AC_DEFINE(USE_FILE_CMD, 1, [Define if the file command accepts the -z option])
- else
-- mc_cv_filel=no
-+ AC_MSG_WARN([The file command doesn't accept the -z option and will not be used])
- fi
-- ])
-- if test x$mc_cv_filel = xyes; then
-- AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
-+
-+ if test x$mc_cv_file_z = xyes; then
-+ dnl file is used; check -L and -S options
-+
-+ AC_MSG_CHECKING([for -L option to file command])
-+ AC_CACHE_VAL(mc_cv_file_L, [
-+ file -L . > /dev/null 2>&1
-+ if test $? = 0; then
-+ mc_cv_file_L=yes
-+ else
-+ mc_cv_file_L=no
-+ fi
-+ ])
-+ AC_MSG_RESULT([$mc_cv_file_L])
-+
-+ if test x$mc_cv_file_L = xyes; then
-+ AC_DEFINE(FILE_L, "-L ", [Define if the file command accepts the -L option])
-+ else
-+ AC_DEFINE(FILE_L, "", [Define if the file command accepts the -L option])
-+ fi
-+
-+ dnl The file command accepts the -S option since 5.33
-+ AC_MSG_CHECKING([for -S option to file command])
-+ AC_CACHE_VAL(mc_cv_file_S, [
-+ file -S . > /dev/null 2>&1
-+ if test $? = 0; then
-+ mc_cv_file_S=yes
-+ else
-+ mc_cv_file_S=no
-+ fi
-+ ])
-+ AC_MSG_RESULT([$mc_cv_file_S])
-+
-+ if test x$mc_cv_file_S = xyes; then
-+ AC_DEFINE(FILE_S, "-S ", [Define if file command accepts the -S option])
-+ else
-+ AC_DEFINE(FILE_S, "", [Define if file command accepts the -S option])
-+ fi
- fi
-- filel=$mc_cv_filel
-- AC_MSG_RESULT([$filel])
- fi
-
- dnl Only list browsers here that can be run in background (i.e. with `&')
-diff --git a/src/filemanager/ext.c b/src/filemanager/ext.c
-index 4e6f10c6c5..d6a09df7bb 100644
---- a/src/filemanager/ext.c
-+++ b/src/filemanager/ext.c
-@@ -71,10 +71,11 @@
-
- /*** file scope macro definitions ****************************************************************/
-
--#ifdef FILE_L
--#define FILE_CMD "file -L -z "
-+#ifdef USE_FILE_CMD
-+#define FILE_CMD "file -z " FILE_S FILE_L
- #else
--#define FILE_CMD "file -z "
-+/* actually file is unused, but define some reasonable command */
-+#define FILE_CMD "file "
- #endif
-
- /*** file scope type declarations ****************************************************************/
-diff --git a/src/setup.c b/src/setup.c
-index 77c07649d5..2ef07f2569 100644
---- a/src/setup.c
-+++ b/src/setup.c
-@@ -317,7 +317,9 @@ static const struct
- { "old_esc_mode", &old_esc_mode },
- { "cd_symlinks", &mc_global.vfs.cd_symlinks },
- { "show_all_if_ambiguous", &mc_global.widget.show_all_if_ambiguous },
-+#ifdef USE_FILE_CMD
- { "use_file_to_guess_type", &use_file_to_check_type },
-+#endif
- { "alternate_plus_minus", &mc_global.tty.alternate_plus_minus },
- { "only_leading_plus_minus", &only_leading_plus_minus },
- { "show_output_starts_shell", &output_starts_shell },
diff --git a/app-misc/mc/files/mc-4.8.26-shadow-crash.patch b/app-misc/mc/files/mc-4.8.26-shadow-crash.patch
deleted file mode 100644
index 4eeee45bc8e6..000000000000
--- a/app-misc/mc/files/mc-4.8.26-shadow-crash.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://bugs.gentoo.org/768285
-https://midnight-commander.org/ticket/4192
-
-From 6394547dbffbad44ea50c64c282de4b610ca07bf Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Wed, 3 Feb 2021 09:47:13 +0300
-Subject: [PATCH] Ticket #4192: fix crash if shadow is out of screen.
-
-(tty_clip): add extra tests for area boundaries.
-
-Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
----
- lib/tty/tty-ncurses.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c
-index 03235cd5b..5cddf5059 100644
---- a/lib/tty/tty-ncurses.c
-+++ b/lib/tty/tty-ncurses.c
-@@ -152,9 +152,16 @@ tty_clip (int *y, int *x, int *rows, int *cols)
-
- if (*y + *rows > LINES)
- *rows = LINES - *y;
-+
-+ if (*rows <= 0)
-+ return FALSE;
-+
- if (*x + *cols > COLS)
- *cols = COLS - *x;
-
-+ if (*cols <= 0)
-+ return FALSE;
-+
- return TRUE;
- }
-
---
-2.30.0
-
diff --git a/app-misc/mc/mc-4.8.26-r4.ebuild b/app-misc/mc/mc-4.8.26-r4.ebuild
deleted file mode 100644
index 26d020ad5a26..000000000000
--- a/app-misc/mc/mc-4.8.26-r4.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic
-
-MY_P=${P/_/-}
-
-DESCRIPTION="GNU Midnight Commander is a text based file manager"
-HOMEPAGE="https://midnight-commander.org"
-SRC_URI="http://ftp.midnight-commander.org/${MY_P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
-IUSE="+edit gpm nls samba sftp +slang spell test unicode X +xdg"
-
-REQUIRED_USE="spell? ( edit )"
-
-RDEPEND=">=dev-libs/glib-2.26.0:2
- gpm? ( sys-libs/gpm )
- kernel_linux? ( sys-fs/e2fsprogs )
- samba? ( net-fs/samba )
- sftp? ( net-libs/libssh2 )
- slang? ( >=sys-libs/slang-2 )
- !slang? ( sys-libs/ncurses:=[unicode(+)?] )
- spell? ( app-text/aspell )
- X? ( x11-libs/libX11
- x11-libs/libICE
- x11-libs/libXau
- x11-libs/libXdmcp
- x11-libs/libSM )"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- test? ( dev-libs/check )
- "
-
-PATCHES=(
- "${FILESDIR}"/${P}-shadow-crash.patch
- "${FILESDIR}"/${P}-file-seccomp.patch
-)
-
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if use slang && use unicode ; then
- ewarn "\"unicode\" USE flag only takes effect when the \"slang\" USE flag is disabled."
- fi
-}
-
-src_prepare() {
- default
-
- # patch touches configure.ac
- eautoreconf
-}
-
-src_configure() {
- [[ ${CHOST} == *-solaris* ]] && append-ldflags "-lnsl -lsocket"
-
- local myeconfargs=(
- --enable-charset
- --enable-vfs
- --with-homedir=$(usex xdg 'XDG' '.mc')
- --with-screen=$(usex slang 'slang' "ncurses$(usex unicode 'w' '')")
- $(use_enable kernel_linux vfs-undelfs)
- # Today mclib does not expose any headers and is linked to
- # single 'mc' binary. Thus there is no advantage of having
- # a library. Let's avoid shared library altogether
- # as it also conflicts with sci-libs/mc: bug #685938
- --disable-mclib
- $(use_enable nls)
- $(use_enable samba vfs-smb)
- $(use_enable sftp vfs-sftp)
- $(use_enable spell aspell)
- $(use_enable test tests)
- $(use_with gpm gpm-mouse)
- $(use_with X x)
- $(use_with edit internal-edit)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # CK_FORK=no to avoid using fork() in check library
- # as mc mocks fork() itself: bug #644462.
- #
- # VERBOSE=1 to make test failures contain detailed
- # information.
- CK_FORK=no emake check VERBOSE=1
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS README NEWS
-
- # fix bug #334383
- if use kernel_linux && [[ ${EUID} == 0 ]] ; then
- fowners root:tty /usr/libexec/mc/cons.saver
- fperms g+s /usr/libexec/mc/cons.saver
- fi
-
- if ! use xdg ; then
- sed 's@MC_XDG_OPEN="xdg-open"@MC_XDG_OPEN="/bin/false"@' \
- -i "${ED}"/usr/libexec/mc/ext.d/*.sh || die
- fi
-}
-
-pkg_postinst() {
- if use spell && ! has_version app-dicts/aspell-en ; then
- elog "'spell' USE flag is enabled however app-dicts/aspell-en is not installed."
- elog "You should manually set 'spell_language' in the Misc section of ~/.config/mc/ini"
- elog "It has to be set to one of your installed aspell dictionaries or 'NONE'"
- elog
- fi
-
- elog "To enable exiting to latest working directory,"
- elog "put this into your ~/.bashrc:"
- elog ". ${EPREFIX}/usr/libexec/mc/mc.sh"
-}
diff --git a/app-misc/mc/mc-4.8.26-r5.ebuild b/app-misc/mc/mc-4.8.26-r5.ebuild
deleted file mode 100644
index 7bd110cd7992..000000000000
--- a/app-misc/mc/mc-4.8.26-r5.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic
-
-MY_P=${P/_/-}
-
-DESCRIPTION="GNU Midnight Commander is a text based file manager"
-HOMEPAGE="https://midnight-commander.org"
-SRC_URI="http://ftp.midnight-commander.org/${MY_P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
-IUSE="+edit gpm nls samba sftp +slang spell test unicode X +xdg"
-
-REQUIRED_USE="spell? ( edit )"
-
-RDEPEND=">=dev-libs/glib-2.26.0:2
- gpm? ( sys-libs/gpm )
- kernel_linux? ( sys-fs/e2fsprogs )
- samba? ( net-fs/samba )
- sftp? ( net-libs/libssh2 )
- slang? ( >=sys-libs/slang-2 )
- !slang? ( sys-libs/ncurses:=[unicode(+)?] )
- spell? ( app-text/aspell )
- X? ( x11-libs/libX11
- x11-libs/libICE
- x11-libs/libXau
- x11-libs/libXdmcp
- x11-libs/libSM )"
-DEPEND="${RDEPEND}"
-BDEPEND="app-arch/xz-utils
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- test? ( dev-libs/check )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.8.26-file-seccomp.patch
- "${FILESDIR}"/${PN}-4.8.26-ncurses-mouse.patch
- "${FILESDIR}"/${PN}-4.8.26-shadow-crash.patch
-)
-
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if use slang && use unicode ; then
- ewarn "\"unicode\" USE flag only takes effect when the \"slang\" USE flag is disabled."
- fi
-}
-
-src_prepare() {
- default
-
- # patch touches configure.ac
- eautoreconf
-}
-
-src_configure() {
- [[ ${CHOST} == *-solaris* ]] && append-ldflags "-lnsl -lsocket"
-
- local myeconfargs=(
- --enable-charset
- --enable-vfs
- --with-homedir=$(usex xdg 'XDG' '.mc')
- --with-screen=$(usex slang 'slang' "ncurses$(usex unicode 'w' '')")
- $(use_enable kernel_linux vfs-undelfs)
- # Today mclib does not expose any headers and is linked to
- # single 'mc' binary. Thus there is no advantage of having
- # a library. Let's avoid shared library altogether
- # as it also conflicts with sci-libs/mc: bug #685938
- --disable-mclib
- $(use_enable nls)
- $(use_enable samba vfs-smb)
- $(use_enable sftp vfs-sftp)
- $(use_enable spell aspell)
- $(use_enable test tests)
- $(use_with gpm gpm-mouse)
- $(use_with X x)
- $(use_with edit internal-edit)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # Bug #759466
- if [[ ${EUID} == 0 ]]; then
- ewarn "You are emerging ${PN} as root with 'userpriv' disabled." \
- "Expect some test failures, or emerge with 'FEATURES=userpriv'!"
- fi
-
- # CK_FORK=no to avoid using fork() in check library
- # as mc mocks fork() itself: bug #644462.
- #
- # VERBOSE=1 to make test failures contain detailed
- # information.
- CK_FORK=no emake check VERBOSE=1
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS README NEWS
-
- # fix bug #334383
- if use kernel_linux && [[ ${EUID} == 0 ]] ; then
- fowners root:tty /usr/libexec/mc/cons.saver
- fperms g+s /usr/libexec/mc/cons.saver
- fi
-
- if ! use xdg ; then
- sed 's@MC_XDG_OPEN="xdg-open"@MC_XDG_OPEN="/bin/false"@' \
- -i "${ED}"/usr/libexec/mc/ext.d/*.sh || die
- fi
-}
-
-pkg_postinst() {
- if use spell && ! has_version app-dicts/aspell-en ; then
- elog "'spell' USE flag is enabled however app-dicts/aspell-en is not installed."
- elog "You should manually set 'spell_language' in the Misc section of ~/.config/mc/ini"
- elog "It has to be set to one of your installed aspell dictionaries or 'NONE'"
- elog
- fi
-
- elog "To enable exiting to latest working directory,"
- elog "put this into your ~/.bashrc:"
- elog ". ${EPREFIX}/usr/libexec/mc/mc.sh"
-}