diff options
author | Bart Ribbers <bribbers@disroot.org> | 2021-03-30 11:16:36 +0200 |
---|---|---|
committer | Bart Ribbers <bribbers@disroot.org> | 2021-03-30 11:16:36 +0200 |
commit | b2938f8507e4c072df5d21f52dd2a027d2633eca (patch) | |
tree | e597599a65f8c92ae018b67cd3b7bffc65630015 | |
parent | b2aef5a3a4511a093093dcbf447ed22060df5651 (diff) |
community/kglobalaccel: backport patch as requested upstream
-rw-r--r-- | community/kglobalaccel/0001-dont-let-kglobalaccel-run-if-kde_session_id-mismatches.patch | 43 | ||||
-rw-r--r-- | community/kglobalaccel/APKBUILD | 25 |
2 files changed, 63 insertions, 5 deletions
diff --git a/community/kglobalaccel/0001-dont-let-kglobalaccel-run-if-kde_session_id-mismatches.patch b/community/kglobalaccel/0001-dont-let-kglobalaccel-run-if-kde_session_id-mismatches.patch new file mode 100644 index 00000000000..ab606eebed9 --- /dev/null +++ b/community/kglobalaccel/0001-dont-let-kglobalaccel-run-if-kde_session_id-mismatches.patch @@ -0,0 +1,43 @@ +From bbec74337b3186bc258bd5adf849b89191789535 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt <fabian@ritter-vogt.de> +Date: Fri, 29 Jan 2021 11:31:54 +0100 +Subject: [PATCH] Don't let kglobalaccel run if KDE_SESSION_UID mismatches + +Otherwise shortcuts execute actions as the wrong user. +--- + src/runtime/main.cpp | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/runtime/main.cpp b/src/runtime/main.cpp +index d2917ad..46506b3 100644 +--- a/src/runtime/main.cpp ++++ b/src/runtime/main.cpp +@@ -10,6 +10,8 @@ + #include "kglobalacceld.h" + #include "logging_p.h" + ++#include <unistd.h> ++ + #include <KAboutData> + #include <KCrash> + #include <KDBusService> +@@ -57,6 +59,16 @@ extern "C" Q_DECL_EXPORT int main(int argc, char **argv) + return 0; + } + ++ // It's possible that kglobalaccel gets started as the wrong user by ++ // accident, e.g. kdesu dolphin leads to dbus activation. It then installs ++ // its grabs and the actions are run as the wrong user. ++ bool isUidset = false; ++ const int sessionuid = qEnvironmentVariableIntValue("KDE_SESSION_UID", &isUidset); ++ if(isUidset && static_cast<uid_t>(sessionuid) != getuid()) { ++ qCWarning(KGLOBALACCELD) << "kglobalaccel running as wrong user, exiting."; ++ return 0; ++ } ++ + KDBusService service(KDBusService::Unique); + + app.setQuitOnLastWindowClosed(false); +-- +GitLab + diff --git a/community/kglobalaccel/APKBUILD b/community/kglobalaccel/APKBUILD index 5a30b4a7eb0..b9d87288e98 100644 --- a/community/kglobalaccel/APKBUILD +++ b/community/kglobalaccel/APKBUILD @@ -2,15 +2,29 @@ # Maintainer: Bart Ribbers <bribbers@disroot.org> pkgname=kglobalaccel pkgver=5.80.0 -pkgrel=0 +pkgrel=1 pkgdesc="Add support for global workspace shortcuts" arch="all !armhf" # armhf blocked by extra-cmake-modules url="https://community.kde.org/Frameworks" license="LGPL-2.1-or-later" -depends_dev="qt5-qtx11extras-dev kconfig-dev kcoreaddons-dev kcrash-dev kdbusaddons-dev kwindowsystem-dev" -makedepends="$depends_dev extra-cmake-modules doxygen qt5-qttools-dev xcb-util-keysyms-dev" +depends_dev=" + kconfig-dev + kcoreaddons-dev + kcrash-dev + kdbusaddons-dev + kwindowsystem-dev + qt5-qtx11extras-dev + " +makedepends="$depends_dev + doxygen + extra-cmake-modules + qt5-qttools-dev + xcb-util-keysyms-dev + " checkdepends="xvfb-run" -source="https://download.kde.org/stable/frameworks/${pkgver%.*}/kglobalaccel-$pkgver.tar.xz" +source="https://download.kde.org/stable/frameworks/${pkgver%.*}/kglobalaccel-$pkgver.tar.xz + 0001-dont-let-kglobalaccel-run-if-kde_session_id-mismatches.patch + " subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" build() { @@ -30,4 +44,5 @@ check() { package() { DESTDIR="$pkgdir" cmake --build build --target install } -sha512sums="6e12d3926f1b44425747bfca3eea21986cfe57ce032a2f691a2ab6b12556feec15cceea4b2b6c21bbdc9ecb6af11e9fb64489d60d9e95f4443b0a74ebab551af kglobalaccel-5.80.0.tar.xz" +sha512sums="6e12d3926f1b44425747bfca3eea21986cfe57ce032a2f691a2ab6b12556feec15cceea4b2b6c21bbdc9ecb6af11e9fb64489d60d9e95f4443b0a74ebab551af kglobalaccel-5.80.0.tar.xz +91a982bbc2b99569b03161e78b53b3fc6bcb7c03e3c69abac4d9a5917e4b5d0766d9289766d00efcd3c9df24016509c389fcea78a9efba190da8eb3e3bc06870 0001-dont-let-kglobalaccel-run-if-kde_session_id-mismatches.patch" |