diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-09-03 10:11:58 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-09-03 10:12:30 +0200 |
commit | e65961b54b0a29c4138b82104cda1e958ba91c84 (patch) | |
tree | 1418c997b977f9b317cc4b33aac1c1e2e841a2fb /net-misc/smb4k | |
parent | net-wireless/bluez-tools: keyword ~arm64, bug #622758 (diff) | |
download | gentoo-e65961b54b0a29c4138b82104cda1e958ba91c84.tar.gz gentoo-e65961b54b0a29c4138b82104cda1e958ba91c84.tar.bz2 gentoo-e65961b54b0a29c4138b82104cda1e958ba91c84.zip |
net-misc/smb4k: Drop slot 4
Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'net-misc/smb4k')
-rw-r--r-- | net-misc/smb4k/Manifest | 1 | ||||
-rw-r--r-- | net-misc/smb4k/files/smb4k-1.2.3-CVE-2017-8849.patch | 365 | ||||
-rw-r--r-- | net-misc/smb4k/smb4k-1.2.3-r1.ebuild | 29 |
3 files changed, 0 insertions, 395 deletions
diff --git a/net-misc/smb4k/Manifest b/net-misc/smb4k/Manifest index 658d681ba845..a1576c5916e6 100644 --- a/net-misc/smb4k/Manifest +++ b/net-misc/smb4k/Manifest @@ -1,2 +1 @@ -DIST smb4k-1.2.3.tar.xz 3942852 SHA256 e751ae0f6b86c532a7e3796ae9c4590f46009075938afecb5ddd0c7421cf08ef SHA512 2066439ddda9abfb3649a1f53097637490b2187543a0cff32ad6b2ff6b250c9e3bb7b910f718a4c77761d064db8cbac7e0db2e9cf5f6ef5faf6a244fb070301b WHIRLPOOL f70b6ebb192888039844036b5798726f95c13ae5592220043c615e5378a04eb6073520ebb4b612248dd34096c17e7054db8ea11f1ed6fa6d6fad2dc6b73d410c DIST smb4k-2.0.2.tar.xz 3588608 SHA256 01cbd10fe7a293243a65333baa65871eec8de007d0110639498fc1e4c190a199 SHA512 de210b059757525c6e5b6db733c70f43f62ba14cdc447848c84325d3b838d2ac6d8aa591ef67881decb39801b9519ef05fc805e94bc02b93c629457194e1a974 WHIRLPOOL 3855c915319d017a5cb667c1f7b59357a2aa86586635a1ca4e80820dd695922fe54889dbd12f6b27d39cbbb767b313b680ac76069e3562791cd962e2ec3c880a diff --git a/net-misc/smb4k/files/smb4k-1.2.3-CVE-2017-8849.patch b/net-misc/smb4k/files/smb4k-1.2.3-CVE-2017-8849.patch deleted file mode 100644 index b4f619ffb673..000000000000 --- a/net-misc/smb4k/files/smb4k-1.2.3-CVE-2017-8849.patch +++ /dev/null @@ -1,365 +0,0 @@ -From 71554140bdaede27b95dbe4c9b5a028a83c83cce Mon Sep 17 00:00:00 2001 -From: Alexander Reinholdt <alexander.reinholdt@kdemail.net> -Date: Wed, 10 May 2017 10:23:34 +0200 -Subject: Find the mount/umount commands in the helper - -Instead of trusting what we get passed in -CVE-2017-8849 ---- - core/smb4kglobal.cpp | 65 +++++++++++++++++++++++++++++++++++- - core/smb4kglobal.h | 16 ++++++++- - core/smb4kmounter_p.cpp | 78 ++++---------------------------------------- - helpers/CMakeLists.txt | 6 +++- - helpers/smb4kmounthelper.cpp | 51 +++++++++++++++++++++++++++-- - 5 files changed, 139 insertions(+), 77 deletions(-) - -diff --git a/core/smb4kglobal.cpp b/core/smb4kglobal.cpp -index 172016f..818a78a 100644 ---- a/core/smb4kglobal.cpp -+++ b/core/smb4kglobal.cpp -@@ -2,7 +2,7 @@ - smb4kglobal - This is the global namespace for Smb4K. - ------------------- - begin : Sa Apr 2 2005 -- copyright : (C) 2005-2014 by Alexander Reinholdt -+ copyright : (C) 2005-2017 by Alexander Reinholdt - email : alexander.reinholdt@kdemail.net - ***************************************************************************/ - -@@ -851,3 +851,66 @@ QStringList Smb4KGlobal::whitelistedMountArguments() - #endif - - -+const QString Smb4KGlobal::findMountExecutable() -+{ -+ QString mount; -+ QStringList paths; -+ paths << "/bin"; -+ paths << "/sbin"; -+ paths << "/usr/bin"; -+ paths << "/usr/sbin"; -+ paths << "/usr/local/bin"; -+ paths << "/usr/local/sbin"; -+ -+ for (int i = 0; i < paths.size(); ++i) -+ { -+#if defined(Q_OS_LINUX) -+ mount = KGlobal::dirs()->findExe("mount.cifs", paths.at(i)); -+#elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) -+ mount = KGlobal::dirs()->findExe("mount_smbfs", paths.at(i)); -+#endif -+ -+ if (!mount.isEmpty()) -+ { -+ break; -+ } -+ else -+ { -+ continue; -+ } -+ } -+ -+ return mount; -+} -+ -+ -+const QString Smb4KGlobal::findUmountExecutable() -+{ -+ // Find the umount program. -+ QString umount; -+ QStringList paths; -+ paths << "/bin"; -+ paths << "/sbin"; -+ paths << "/usr/bin"; -+ paths << "/usr/sbin"; -+ paths << "/usr/local/bin"; -+ paths << "/usr/local/sbin"; -+ -+ for ( int i = 0; i < paths.size(); ++i ) -+ { -+ umount = KGlobal::dirs()->findExe("umount", paths.at(i)); -+ -+ if (!umount.isEmpty()) -+ { -+ break; -+ } -+ else -+ { -+ continue; -+ } -+ } -+ -+ return umount; -+} -+ -+ -diff --git a/core/smb4kglobal.h b/core/smb4kglobal.h -index db1805b..0ef377d 100644 ---- a/core/smb4kglobal.h -+++ b/core/smb4kglobal.h -@@ -2,7 +2,7 @@ - smb4kglobal - This is the global namespace for Smb4K. - ------------------- - begin : Sa Apr 2 2005 -- copyright : (C) 2005-2014 by Alexander Reinholdt -+ copyright : (C) 2005-2017 by Alexander Reinholdt - email : alexander.reinholdt@kdemail.net - ***************************************************************************/ - -@@ -455,6 +455,20 @@ namespace Smb4KGlobal - */ - KDE_EXPORT QStringList whitelistedMountArguments(); - #endif -+ -+ /** -+ * Find the mount executable on the system. -+ * -+ * @returns the path of the mount executable. -+ */ -+ KDE_EXPORT const QString findMountExecutable(); -+ -+ /** -+ * Find the umount executable on the system. -+ * -+ * @returns the path of the umount executable. -+ */ -+ KDE_EXPORT const QString findUmountExecutable(); - }; - - #endif -diff --git a/core/smb4kmounter_p.cpp b/core/smb4kmounter_p.cpp -index 63a87ed..342052a 100644 ---- a/core/smb4kmounter_p.cpp -+++ b/core/smb4kmounter_p.cpp -@@ -207,30 +207,7 @@ bool Smb4KMountJob::createMountAction(Smb4KShare *share, Action *action) - // - bool Smb4KMountJob::fillArgs(Smb4KShare *share, QMap<QString, QVariant>& map) - { -- // Find the mount program. -- QString mount; -- QStringList paths; -- paths << "/bin"; -- paths << "/sbin"; -- paths << "/usr/bin"; -- paths << "/usr/sbin"; -- paths << "/usr/local/bin"; -- paths << "/usr/local/sbin"; -- -- for (int i = 0; i < paths.size(); ++i) -- { -- mount = KGlobal::dirs()->findExe("mount.cifs", paths.at(i)); -- -- if (!mount.isEmpty()) -- { -- map.insert("mh_command", mount); -- break; -- } -- else -- { -- continue; -- } -- } -+ const QString mount = findMountExecutable(); - - if (mount.isEmpty()) - { -@@ -242,6 +219,8 @@ bool Smb4KMountJob::fillArgs(Smb4KShare *share, QMap<QString, QVariant>& map) - // Do nothing - } - -+ map.insert("mh_command", mount); -+ - // Mount arguments. - QMap<QString, QString> global_options = globalSambaOptions(); - Smb4KCustomOptions *options = Smb4KCustomOptionsManager::self()->findOptions(share); -@@ -729,30 +708,7 @@ bool Smb4KMountJob::fillArgs(Smb4KShare *share, QMap<QString, QVariant>& map) - // - bool Smb4KMountJob::fillArgs(Smb4KShare *share, QMap<QString, QVariant>& map) - { -- // Find the mount program. -- QString mount; -- QStringList paths; -- paths << "/bin"; -- paths << "/sbin"; -- paths << "/usr/bin"; -- paths << "/usr/sbin"; -- paths << "/usr/local/bin"; -- paths << "/usr/local/sbin"; -- -- for (int i = 0; i < paths.size(); ++i) -- { -- mount = KGlobal::dirs()->findExe("mount_smbfs", paths.at(i)); -- -- if (!mount.isEmpty()) -- { -- map.insert("mh_command", mount); -- break; -- } -- else -- { -- continue; -- } -- } -+ const QString mount = findMountExecutable(); - - if (mount.isEmpty()) - { -@@ -764,6 +720,8 @@ bool Smb4KMountJob::fillArgs(Smb4KShare *share, QMap<QString, QVariant>& map) - // Do nothing - } - -+ map.insert("mh_command", mount); -+ - // Mount arguments. - QMap<QString, QString> global_options = globalSambaOptions(); - Smb4KCustomOptions *options = Smb4KCustomOptionsManager::self()->findOptions(share); -@@ -1253,29 +1211,7 @@ bool Smb4KUnmountJob::createUnmountAction(Smb4KShare *share, Action *action) - // Do nothing - } - -- // Find the umount program. -- QString umount; -- QStringList paths; -- paths << "/bin"; -- paths << "/sbin"; -- paths << "/usr/bin"; -- paths << "/usr/sbin"; -- paths << "/usr/local/bin"; -- paths << "/usr/local/sbin"; -- -- for ( int i = 0; i < paths.size(); ++i ) -- { -- umount = KGlobal::dirs()->findExe("umount", paths.at(i)); -- -- if (!umount.isEmpty()) -- { -- break; -- } -- else -- { -- continue; -- } -- } -+ const QString umount = findUmountExecutable(); - - if (umount.isEmpty() && !m_silent) - { -diff --git a/helpers/CMakeLists.txt b/helpers/CMakeLists.txt -index e9e670b..cd4228d 100644 ---- a/helpers/CMakeLists.txt -+++ b/helpers/CMakeLists.txt -@@ -1,7 +1,11 @@ -+include_directories( -+ ${CMAKE_SOURCE_DIR}/core -+ ${CMAKE_BINARY_DIR}/core ) -+ - set( smb4kmounthelper_SRCS smb4kmounthelper.cpp ) - - kde4_add_executable( mounthelper ${smb4kmounthelper_SRCS} ) --target_link_libraries( mounthelper ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ) -+target_link_libraries( mounthelper smb4kcore ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ) - install( TARGETS mounthelper DESTINATION ${LIBEXEC_INSTALL_DIR} ) - - kde4_install_auth_helper_files( mounthelper net.sourceforge.smb4k.mounthelper root ) -diff --git a/helpers/smb4kmounthelper.cpp b/helpers/smb4kmounthelper.cpp -index a2f2fed..7959020 100644 ---- a/helpers/smb4kmounthelper.cpp -+++ b/helpers/smb4kmounthelper.cpp -@@ -29,6 +29,7 @@ - - // application specific includes - #include "smb4kmounthelper.h" -+#include "core/smb4kglobal.h" - - // Qt includes - #include <QProcessEnvironment> -@@ -43,12 +44,35 @@ - #include <kmountpoint.h> - #include <kurl.h> - -+using namespace Smb4KGlobal; -+ - KDE4_AUTH_HELPER_MAIN( "net.sourceforge.smb4k.mounthelper", Smb4KMountHelper ) - - - ActionReply Smb4KMountHelper::mount(const QVariantMap &args) - { - ActionReply reply; -+ -+ // -+ // Get the mount executable -+ // -+ const QString mount = findMountExecutable(); -+ -+ // -+ // Check the executable -+ // -+ if (mount != args["mh_command"].toString()) -+ { -+ // Something weird is going on, bail out. -+ reply.setErrorCode(ActionReply::HelperError); -+ reply.setErrorDescription(i18n("Wrong executable passed. Bailing out.")); -+ return reply; -+ } -+ else -+ { -+ // Do nothing -+ } -+ - // The mountpoint is a unique and can be used to - // find the share. - reply.addData("mh_mountpoint", args["mh_mountpoint"]); -@@ -75,12 +99,12 @@ ActionReply Smb4KMountHelper::mount(const QVariantMap &args) - // Set the mount command here. - QStringList command; - #if defined(Q_OS_LINUX) -- command << args["mh_command"].toString(); -+ command << mount; - command << args["mh_unc"].toString(); - command << args["mh_mountpoint"].toString(); - command << args["mh_options"].toStringList(); - #elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) -- command << args["mh_command"].toString(); -+ command << mount; - command << args["mh_options"].toStringList(); - command << args["mh_unc"].toString(); - command << args["mh_mountpoint"].toString(); -@@ -161,6 +185,27 @@ ActionReply Smb4KMountHelper::mount(const QVariantMap &args) - ActionReply Smb4KMountHelper::unmount(const QVariantMap &args) - { - ActionReply reply; -+ -+ // -+ // Get the umount executable -+ // -+ const QString umount = findUmountExecutable(); -+ -+ // -+ // Check the executable -+ // -+ if (umount != args["mh_command"].toString()) -+ { -+ // Something weird is going on, bail out. -+ reply.setErrorCode(ActionReply::HelperError); -+ reply.setErrorDescription(i18n("Wrong executable passed. Bailing out.")); -+ return reply; -+ } -+ else -+ { -+ // Do nothing -+ } -+ - // The mountpoint is a unique and can be used to - // find the share. - reply.addData("mh_mountpoint", args["mh_mountpoint"]); -@@ -208,7 +253,7 @@ ActionReply Smb4KMountHelper::unmount(const QVariantMap &args) - - // Set the umount command here. - QStringList command; -- command << args["mh_command"].toString(); -+ command << umount; - command << args["mh_options"].toStringList(); - command << args["mh_mountpoint"].toString(); - --- -cgit v0.11.2 diff --git a/net-misc/smb4k/smb4k-1.2.3-r1.ebuild b/net-misc/smb4k/smb4k-1.2.3-r1.ebuild deleted file mode 100644 index 296f781934be..000000000000 --- a/net-misc/smb4k/smb4k-1.2.3-r1.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DECLARATIVE_REQUIRED="always" -KDE_LINGUAS="bg bs ca ca@valencia cs da de en_GB eo es et fi fr ga gl hu is it -ja ko lt mai mr nb nds nl nn pl pt pt_BR ro ru sk sv tr ug uk zh_CN zh_TW" -KDE_HANDBOOK="optional" -KDE_DOC_DIRS="doc doc-translations/%lingua_${PN}" -inherit kde4-base - -DESCRIPTION="The advanced network neighborhood browser by KDE" -HOMEPAGE="https://sourceforge.net/projects/smb4k/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="4" -KEYWORDS="amd64 x86" -IUSE="debug" - -RDEPEND="net-fs/samba[cups]" -DEPEND="${RDEPEND} - sys-devel/gettext -" - -DOCS=( AUTHORS BUGS ChangeLog README ) - -PATCHES=( "${FILESDIR}/${P}-CVE-2017-8849.patch" ) |