diff --git a/0001-Fix-race-condition.patch b/0001-Fix-race-condition.patch index e4274d8..843e002 100644 --- a/0001-Fix-race-condition.patch +++ b/0001-Fix-race-condition.patch @@ -1,5 +1,14 @@ +commit 2ccf7af0bfd9ee1c3e5699eb0f5d6d65a6fb834e +Author: Martin Sandsmark +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 -index 165f7bb..525e920 100644 +index 165f7bb..5cac3fb 100644 --- a/src/backends/polkit-1/Polkit1Backend.cpp +++ b/src/backends/polkit-1/Polkit1Backend.cpp @@ -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) { - 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::None); switch (r) {