SHA256
1
0
forked from pool/kauth
Hrvoje Senjan 2014-07-18 08:15:26 +00:00 committed by Git OBS Bridge
parent ee66e2a9d3
commit 12a36c14b8

View File

@ -1,5 +1,14 @@
commit 2ccf7af0bfd9ee1c3e5699eb0f5d6d65a6fb834e
Author: Martin Sandsmark <martin.sandsmark@kde.org>
Date: Wed Jul 16 17:58:49 2014 +0200
Fix race condition.
Using the PID based method in polkit is deprecated because of PID reuse
races.
diff --git a/src/backends/polkit-1/Polkit1Backend.cpp b/src/backends/polkit-1/Polkit1Backend.cpp diff --git a/src/backends/polkit-1/Polkit1Backend.cpp b/src/backends/polkit-1/Polkit1Backend.cpp
index 165f7bb..525e920 100644 index 165f7bb..5cac3fb 100644
--- a/src/backends/polkit-1/Polkit1Backend.cpp --- a/src/backends/polkit-1/Polkit1Backend.cpp
+++ b/src/backends/polkit-1/Polkit1Backend.cpp +++ b/src/backends/polkit-1/Polkit1Backend.cpp
@@ -142,7 +142,7 @@ void Polkit1Backend::setupAction(const QString &action) @@ -142,7 +142,7 @@ void Polkit1Backend::setupAction(const QString &action)
@ -7,7 +16,7 @@ index 165f7bb..525e920 100644
Action::AuthStatus Polkit1Backend::actionStatus(const QString &action) Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
{ {
- PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid()); - PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
+ PolkitQt1::SystemBusNameSubject subject(QDBusConnection::systemBus().baseService()); + PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject, PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
PolkitQt1::Authority::None); PolkitQt1::Authority::None);
switch (r) { switch (r) {