diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2013-07-20 21:54:05 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2013-07-20 21:54:05 +0000 |
commit | 12b3de9f806c2ddcb0daea0cacf68fdaaaf4fe52 (patch) | |
tree | c7d22c37b65d35208efa220e7e96dcfe23319986 /kde-base/plasma-workspace | |
parent | Install scalable icon for better fit in gnome-shell, use eapi5 and gnome2.eclass (diff) | |
download | gentoo-2-12b3de9f806c2ddcb0daea0cacf68fdaaaf4fe52.tar.gz gentoo-2-12b3de9f806c2ddcb0daea0cacf68fdaaaf4fe52.tar.bz2 gentoo-2-12b3de9f806c2ddcb0daea0cacf68fdaaaf4fe52.zip |
Fix potential nullpointer issue (backport)
(Portage version: 2.2.0_alpha188/cvs/Linux x86_64, signed Manifest commit with key EBE6A336BE19039C!)
Diffstat (limited to 'kde-base/plasma-workspace')
4 files changed, 374 insertions, 1 deletions
diff --git a/kde-base/plasma-workspace/ChangeLog b/kde-base/plasma-workspace/ChangeLog index 0d5ad06919fc..9c92abdbebe7 100644 --- a/kde-base/plasma-workspace/ChangeLog +++ b/kde-base/plasma-workspace/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for kde-base/plasma-workspace # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/plasma-workspace/ChangeLog,v 1.230 2013/07/03 07:42:27 kensington Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/plasma-workspace/ChangeLog,v 1.231 2013/07/20 21:54:05 dilfridge Exp $ + +*plasma-workspace-4.10.5-r2 (20 Jul 2013) +*plasma-workspace-4.10.4-r2 (20 Jul 2013) + + 20 Jul 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +plasma-workspace-4.10.4-r2.ebuild, + +files/plasma-workspace-4.10.4-crypt.patch, + +plasma-workspace-4.10.5-r2.ebuild: + Fix potential nullpointer issue (backport) *plasma-workspace-4.10.5-r1 (03 Jul 2013) diff --git a/kde-base/plasma-workspace/files/plasma-workspace-4.10.4-crypt.patch b/kde-base/plasma-workspace/files/plasma-workspace-4.10.4-crypt.patch new file mode 100644 index 000000000000..6d36a07aae3d --- /dev/null +++ b/kde-base/plasma-workspace/files/plasma-workspace-4.10.4-crypt.patch @@ -0,0 +1,74 @@ +From 45b7f137fbc0b942fd2c9b4e8d8c1f0293e64ba7 Mon Sep 17 00:00:00 2001 +From: Michael Pyne <mpyne@kde.org> +Date: Sat, 29 Jun 2013 16:13:20 -0400 +Subject: [PATCH] kdm, kcheckpass: Check for NULL return from crypt(3) and + friends. + +Potential issue noted and fixed by Mancha <mancha1@hush.com>. + +Patch reviewed by myself and ossi. Backported to 4.10 by myself. + +REVIEW:111261 +FIXED-IN:4.10.5 +--- + kcheckpass/checkpass_etcpasswd.c | 3 ++- + kcheckpass/checkpass_osfc2passwd.c | 3 ++- + kcheckpass/checkpass_shadow.c | 2 +- + kdm/backend/client.c | 7 +++++-- + 4 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/kcheckpass/checkpass_etcpasswd.c b/kcheckpass/checkpass_etcpasswd.c +index 1dbe06f..e261b7c 100644 +--- a/kcheckpass/checkpass_etcpasswd.c ++++ b/kcheckpass/checkpass_etcpasswd.c +@@ -35,6 +35,7 @@ AuthReturn Authenticate(const char *method, + { + struct passwd *pw; + char *passwd; ++ char *crpt_passwd; + + if (strcmp(method, "classic")) + return AuthError; +@@ -49,7 +50,7 @@ AuthReturn Authenticate(const char *method, + if (!(passwd = conv(ConvGetHidden, 0))) + return AuthAbort; + +- if (!strcmp(pw->pw_passwd, crypt(passwd, pw->pw_passwd))) { ++ if ((crpt_passwd = crypt(passwd, pw->pw_passwd)) && !strcmp(pw->pw_passwd, crpt_passwd)) { + dispose(passwd); + return AuthOk; /* Success */ + } +diff --git a/kcheckpass/checkpass_osfc2passwd.c b/kcheckpass/checkpass_osfc2passwd.c +index 9a074f9..d181233 100644 +--- a/kcheckpass/checkpass_osfc2passwd.c ++++ b/kcheckpass/checkpass_osfc2passwd.c +@@ -38,6 +38,7 @@ AuthReturn Authenticate(const char *method, + const char *login, char *(*conv) (ConvRequest, const char *)) + { + char *passwd; ++ char *crpt_passwd; + char c2passwd[256]; + + if (strcmp(method, "classic")) +@@ -52,7 +53,7 @@ AuthReturn Authenticate(const char *method, + if (!(passwd = conv(ConvGetHidden, 0))) + return AuthAbort; + +- if (!strcmp(c2passwd, osf1c2crypt(passwd, c2passwd))) { ++ if ((crpt_passwd = osf1c2crypt(passwd, c2passwd)) && !strcmp(c2passwd, crpt_passwd)) { + dispose(passwd); + return AuthOk; /* Success */ + } +diff --git a/kcheckpass/checkpass_shadow.c b/kcheckpass/checkpass_shadow.c +index ec3a4e0..c0f6913 100644 +--- a/kcheckpass/checkpass_shadow.c ++++ b/kcheckpass/checkpass_shadow.c +@@ -69,7 +69,7 @@ AuthReturn Authenticate(const char *method, + crpt_passwd = crypt(typed_in_password, password); + #endif + +- if (!strcmp(password, crpt_passwd )) { ++ if (crpt_passwd && !strcmp(password, crpt_passwd )) { + dispose(typed_in_password); + return AuthOk; /* Success */ + } diff --git a/kde-base/plasma-workspace/plasma-workspace-4.10.4-r2.ebuild b/kde-base/plasma-workspace/plasma-workspace-4.10.4-r2.ebuild new file mode 100644 index 000000000000..b5546342a53e --- /dev/null +++ b/kde-base/plasma-workspace/plasma-workspace-4.10.4-r2.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/plasma-workspace/plasma-workspace-4.10.4-r2.ebuild,v 1.1 2013/07/20 21:54:05 dilfridge Exp $ + +EAPI=5 + +DECLARATIVE_REQUIRED="always" +KDE_HANDBOOK="optional" +KMNAME="kde-workspace" +KMMODULE="plasma" +PYTHON_DEPEND="python? 2" +OPENGL_REQUIRED="always" +inherit python kde4-meta + +DESCRIPTION="Plasma: KDE desktop framework" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="debug gps json python qalculate +rss semantic-desktop" + +COMMONDEPEND=" + dev-libs/libdbusmenu-qt + >=dev-qt/qtcore-4.8.4-r3:4 + !kde-misc/ktouchpadenabler + $(add_kdebase_dep kactivities) + $(add_kdebase_dep kdelibs 'semantic-desktop(+)?') + $(add_kdebase_dep kephal) + $(add_kdebase_dep ksysguard) + $(add_kdebase_dep libkworkspace) + $(add_kdebase_dep libplasmagenericshell) + $(add_kdebase_dep libtaskmanager) + $(add_kdebase_dep solid) + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrender + gps? ( >=sci-geosciences/gpsd-2.37 ) + json? ( dev-libs/qjson ) + python? ( + >=dev-python/PyQt4-4.4.0[X] + $(add_kdebase_dep pykde4) + ) + qalculate? ( sci-libs/libqalculate ) + rss? ( + $(add_kdebase_dep kdepimlibs 'semantic-desktop(+)?') + $(add_kdebase_dep libplasmaclock 'holidays(+)') + ) + !rss? ( $(add_kdebase_dep libplasmaclock '-holidays(+)') ) + semantic-desktop? ( + dev-libs/soprano + $(add_kdebase_dep nepomuk-core) + ) +" +DEPEND="${COMMONDEPEND} + rss? ( dev-libs/boost ) + x11-proto/compositeproto + x11-proto/damageproto + x11-proto/fixesproto + x11-proto/renderproto +" +RDEPEND="${COMMONDEPEND} + $(add_kdebase_dep plasma-runtime) +" + +KMEXTRA=" + appmenu/ + ktouchpadenabler/ + statusnotifierwatcher/ +" +KMEXTRACTONLY=" + kcheckpass/ + krunner/dbus/org.freedesktop.ScreenSaver.xml + krunner/dbus/org.kde.krunner.App.xml + ksmserver/org.kde.KSMServerInterface.xml + ksmserver/screenlocker/ + libs/kephal/ + libs/kworkspace/ + libs/taskmanager/ + libs/plasmagenericshell/ + libs/ksysguard/ + libs/kdm/kgreeterplugin.h + ksysguard/ +" + +KMLOADLIBS="libkworkspace libplasmaclock libplasmagenericshell libtaskmanager" + +PATCHES=( + "${FILESDIR}/${PN}-4.10.1-noplasmalock.patch" + "${FILESDIR}/${PN}-4.10.4-keep-batterymonitor-in-sync-with-systray.patch" + "${FILESDIR}/${PN}-4.10.4-crypt.patch" + ) + +pkg_setup() { + if use python ; then + python_set_active_version 2 + python_pkg_setup + fi + kde4-meta_pkg_setup +} + +src_unpack() { + if use handbook; then + KMEXTRA+=" doc/plasma-desktop" + fi + + kde4-meta_src_unpack +} + +src_configure() { + mycmakeargs=( + $(cmake-utils_use_with gps libgps) + $(cmake-utils_use_with json QJSON) + $(cmake-utils_use_with python PythonLibrary) + $(cmake-utils_use_with qalculate) + $(cmake-utils_use_with rss KdepimLibs) + $(cmake-utils_use_with semantic-desktop Akonadi) + $(cmake-utils_use_with semantic-desktop NepomukCore) + $(cmake-utils_use_with semantic-desktop Soprano) + -DWITH_Googlegadgets=OFF + -DWITH_Xmms=OFF + ) + + kde4-meta_src_configure +} + +pkg_postinst() { + kde4-meta_pkg_postinst + + if use python; then + python_mod_optimize \ + PyKDE4/plasmascript.py \ + /usr/share/apps/plasma_scriptengine_python + fi +} + +pkg_postrm() { + kde4-meta_pkg_postrm + + if use python; then + python_mod_cleanup \ + PyKDE4/plasmascript.py \ + /usr/share/apps/plasma_scriptengine_python + fi +} diff --git a/kde-base/plasma-workspace/plasma-workspace-4.10.5-r2.ebuild b/kde-base/plasma-workspace/plasma-workspace-4.10.5-r2.ebuild new file mode 100644 index 000000000000..b8a42a122fb2 --- /dev/null +++ b/kde-base/plasma-workspace/plasma-workspace-4.10.5-r2.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/plasma-workspace/plasma-workspace-4.10.5-r2.ebuild,v 1.1 2013/07/20 21:54:05 dilfridge Exp $ + +EAPI=5 + +DECLARATIVE_REQUIRED="always" +KDE_HANDBOOK="optional" +KMNAME="kde-workspace" +KMMODULE="plasma" +PYTHON_DEPEND="python? 2" +OPENGL_REQUIRED="always" +inherit python kde4-meta + +DESCRIPTION="Plasma: KDE desktop framework" +KEYWORDS=" ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="debug gps json python qalculate +rss semantic-desktop" + +COMMONDEPEND=" + dev-libs/libdbusmenu-qt + >=dev-qt/qtcore-4.8.4-r3:4 + !kde-misc/ktouchpadenabler + $(add_kdebase_dep kactivities) + $(add_kdebase_dep kdelibs 'semantic-desktop(+)?') + $(add_kdebase_dep kephal) + $(add_kdebase_dep ksysguard) + $(add_kdebase_dep libkworkspace) + $(add_kdebase_dep libplasmagenericshell) + $(add_kdebase_dep libtaskmanager) + $(add_kdebase_dep solid) + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrender + gps? ( >=sci-geosciences/gpsd-2.37 ) + json? ( dev-libs/qjson ) + python? ( + >=dev-python/PyQt4-4.4.0[X] + $(add_kdebase_dep pykde4) + ) + qalculate? ( sci-libs/libqalculate ) + rss? ( + $(add_kdebase_dep kdepimlibs 'semantic-desktop(+)?') + $(add_kdebase_dep libplasmaclock 'holidays(+)') + ) + !rss? ( $(add_kdebase_dep libplasmaclock '-holidays(+)') ) + semantic-desktop? ( + dev-libs/soprano + $(add_kdebase_dep nepomuk-core) + ) +" +DEPEND="${COMMONDEPEND} + rss? ( dev-libs/boost ) + x11-proto/compositeproto + x11-proto/damageproto + x11-proto/fixesproto + x11-proto/renderproto +" +RDEPEND="${COMMONDEPEND} + $(add_kdebase_dep plasma-runtime) +" + +KMEXTRA=" + appmenu/ + ktouchpadenabler/ + statusnotifierwatcher/ +" +KMEXTRACTONLY=" + kcheckpass/ + krunner/dbus/org.freedesktop.ScreenSaver.xml + krunner/dbus/org.kde.krunner.App.xml + ksmserver/org.kde.KSMServerInterface.xml + ksmserver/screenlocker/ + libs/kephal/ + libs/kworkspace/ + libs/taskmanager/ + libs/plasmagenericshell/ + libs/ksysguard/ + libs/kdm/kgreeterplugin.h + ksysguard/ +" + +KMLOADLIBS="libkworkspace libplasmaclock libplasmagenericshell libtaskmanager" + +PATCHES=( + "${FILESDIR}/${PN}-4.10.1-noplasmalock.patch" + "${FILESDIR}/${PN}-4.10.5-leak.patch" + "${FILESDIR}/${PN}-4.10.4-crypt.patch" +) + +pkg_setup() { + if use python ; then + python_set_active_version 2 + python_pkg_setup + fi + kde4-meta_pkg_setup +} + +src_unpack() { + if use handbook; then + KMEXTRA+=" doc/plasma-desktop" + fi + + kde4-meta_src_unpack +} + +src_configure() { + mycmakeargs=( + $(cmake-utils_use_with gps libgps) + $(cmake-utils_use_with json QJSON) + $(cmake-utils_use_with python PythonLibrary) + $(cmake-utils_use_with qalculate) + $(cmake-utils_use_with rss KdepimLibs) + $(cmake-utils_use_with semantic-desktop Akonadi) + $(cmake-utils_use_with semantic-desktop NepomukCore) + $(cmake-utils_use_with semantic-desktop Soprano) + -DWITH_Googlegadgets=OFF + -DWITH_Xmms=OFF + ) + + kde4-meta_src_configure +} + +pkg_postinst() { + kde4-meta_pkg_postinst + + if use python; then + python_mod_optimize \ + PyKDE4/plasmascript.py \ + /usr/share/apps/plasma_scriptengine_python + fi +} + +pkg_postrm() { + kde4-meta_pkg_postrm + + if use python; then + python_mod_cleanup \ + PyKDE4/plasmascript.py \ + /usr/share/apps/plasma_scriptengine_python + fi +} |