Hrvoje Senjan 2014-08-02 13:20:47 +00:00 committed by Git OBS Bridge
parent 8c8f709328
commit 44896dbfdc
7 changed files with 14 additions and 263 deletions

View File

@ -1,46 +0,0 @@
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
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)
Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
{
- PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
PolkitQt1::Authority::None);
switch (r) {
@@ -158,21 +158,12 @@ Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
QByteArray Polkit1Backend::callerID() const
{
- QByteArray a;
- QDataStream s(&a, QIODevice::WriteOnly);
- s << QCoreApplication::applicationPid();
-
- return a;
+ return QDBusConnection::systemBus().baseService().toUtf8();
}
bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
{
- QDataStream s(&callerID, QIODevice::ReadOnly);
- qint64 pid;
-
- s >> pid;
-
- PolkitQt1::UnixProcessSubject subject(pid);
+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
PolkitResultEventLoop e;

View File

@ -1,27 +0,0 @@
From f900d7d4798503479b88346a2689ec6bee417193 Mon Sep 17 00:00:00 2001
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
Date: Wed, 2 Jul 2014 09:32:23 +0200
Subject: [PATCH 1/1] Pass trailing slash to searched backend/helper plugin dir
Unbreaks plugin loading
CCMAIL: aleixpol@kde.org
---
src/BackendsManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/BackendsManager.cpp b/src/BackendsManager.cpp
index cd0bf3f..0dd4661 100644
--- a/src/BackendsManager.cpp
+++ b/src/BackendsManager.cpp
@@ -44,7 +44,7 @@ QList< QObject * > BackendsManager::retrieveInstancesIn(const QString &subdir)
{
QList<QObject *> retlist;
foreach (const QString& pPath, QCoreApplication::libraryPaths()) {
- QDir pluginPath(pPath + subdir);
+ QDir pluginPath(pPath + QLatin1Char('/') + subdir);
if (!pluginPath.exists() || pPath.isEmpty()) {
continue;
}
--
2.0.0

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edfe226693004db0e097430b9dd81b658c35a4127740891c63aebafd631fc703
size 2723456

3
kauth-5.1.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:27d8696fa88c373e393617c349403fa298edba5c71fce42d86812c65e9fb07c2
size 79772

View File

@ -1,4 +1,13 @@
-------------------------------------------------------------------
Sat Aug 2 10:20:19 UTC 2014 - hrvoje.senjan@gmail.com
- Update to 5.1.0
* For more details please see:
http://www.kde.org/announcements/kde-frameworks-5.1.php
- Drop polkit-qt5-support.patch,
0001-Pass-trailing-slash-to-searched-backend-helper-plugi.patch
and 0001-Fix-race-condition.patch, merged upstream
-------------------------------------------------------------------
Fri Jul 18 08:12:36 UTC 2014 - hrvoje.senjan@gmail.com
- Install org.kde.kf5auth.conf, now that it's whitelisted

View File

@ -18,11 +18,11 @@
%define lname libKF5Auth5
Name: kauth
Version: 5.0.0
Version: 5.1.0
Release: 0
%define kf5_version %{version}
BuildRequires: cmake >= 2.8.12
BuildRequires: extra-cmake-modules >= 1.0.0
BuildRequires: extra-cmake-modules >= 1.1.0
BuildRequires: fdupes
BuildRequires: kcoreaddons-devel >= %{kf5_version}
BuildRequires: kf5-filesystem
@ -36,12 +36,6 @@ Group: System/GUI/KDE
Url: http://www.kde.org
Source: http://download.kde.org/stable/frameworks/%{version}/%{name}-%{version}.tar.xz
Source1: baselibs.conf
# PATCH-FIX-UPSTREAM polkit-qt5-support.patch -- add support for polkit-qt-1 Qt5 port, https://git.reviewboard.kde.org/r/118264/
Patch0: polkit-qt5-support.patch
# PATCH-FIX-UPSTREAM 0001-Pass-trailing-slash-to-searched-backend-helper-plugi.patch
Patch1: 0001-Pass-trailing-slash-to-searched-backend-helper-plugi.patch
# PATCH-FIX-UPSTREAM 0001-Fix-race-condition.patch -- https://git.reviewboard.kde.org/r/119323/
Patch2: 0001-Fix-race-condition.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -70,9 +64,6 @@ Development files.
%lang_package -n %lname
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
%cmake_kf5 -d build -- -DSYSCONF_INSTALL_DIR=%{_kf5_sysconfdir}

View File

@ -1,176 +0,0 @@
From 09c745976fd75ac3330776cb14255de33500dc5b Mon Sep 17 00:00:00 2001
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
Date: Mon, 7 Jul 2014 21:39:46 +0200
Subject: [PATCH 1/2] Switch to PolkitQt5-1
This will avoid problems where people
linked to Qt4 version of polkit-qt-1
REVIEW: 118264
BUG: 337143
---
cmake/KF5AuthMacros.cmake | 2 +-
src/ConfigureChecks.cmake | 50 +++++++++++++++++++++++------------------------
2 files changed, 25 insertions(+), 27 deletions(-)
diff --git a/cmake/KF5AuthMacros.cmake b/cmake/KF5AuthMacros.cmake
index 66ba949..ab0b30a 100644
--- a/cmake/KF5AuthMacros.cmake
+++ b/cmake/KF5AuthMacros.cmake
@@ -42,7 +42,7 @@ function(KAUTH_INSTALL_ACTIONS HELPER_ID ACTIONS_FILE)
if(KAUTH_BACKEND_NAME STREQUAL "APPLE")
get_target_property(kauth_policy_gen KF5::kauth-policy-gen LOCATION)
install(CODE "execute_process(COMMAND ${kauth_policy_gen} ${ACTIONS_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})")
- elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT" OR KAUTH_BACKEND_NAME STREQUAL "POLKITQT-1")
+ elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT" OR KAUTH_BACKEND_NAME STREQUAL "POLKITQT5-1")
set(_output ${CMAKE_CURRENT_BINARY_DIR}/${HELPER_ID}.policy)
get_filename_component(_input ${ACTIONS_FILE} ABSOLUTE)
diff --git a/src/ConfigureChecks.cmake b/src/ConfigureChecks.cmake
index 9e13546..ff0d486 100644
--- a/src/ConfigureChecks.cmake
+++ b/src/ConfigureChecks.cmake
@@ -1,7 +1,7 @@
####### checks for kdecore/kauth ###############
set(KAUTH_BACKEND_NAME "" CACHE STRING "Specifies the KAuth backend to build. Current available options are
- PolkitQt, PolkitQt-1, Fake, Apple. Not setting this variable will build the most
+ PolkitQt, PolkitQt5-1, Fake, Apple. Not setting this variable will build the most
appropriate backend for your system")
set(KAUTH_BACKEND ${KAUTH_BACKEND_NAME})
@@ -14,19 +14,19 @@ if(NOT KAUTH_BACKEND)
if (APPLE)
set (KAUTH_BACKEND "OSX")
elseif (UNIX)
- find_package(PolkitQt-1 0.99.0)
+ find_package(PolkitQt5-1 0.99.0)
- if (PolkitQt-1_FOUND)
- set (KAUTH_BACKEND "PolkitQt-1")
+ if (PolkitQt5-1_FOUND)
+ set (KAUTH_BACKEND "PolkitQt5-1")
- set_package_properties(PolkitQt-1 PROPERTIES
+ set_package_properties(PolkitQt5-1 PROPERTIES
URL "http://techbase.kde.org/Polkit-Qt-1"
DESCRIPTION "PolicyKit API for Qt"
TYPE RECOMMENDED
PURPOSE "Support for executing priviledged actions in a controlled way (KAuth)"
)
- else (PolkitQt-1_FOUND)
+ else (PolkitQt5-1_FOUND)
find_package(PolkitQt)
if (POLKITQT_FOUND)
@@ -40,7 +40,7 @@ if(NOT KAUTH_BACKEND)
else (POLKITQT_FOUND)
# Nothing was found: notify and log the missing features
- set_package_properties(PolkitQt-1 PROPERTIES
+ set_package_properties(PolkitQt5-1 PROPERTIES
URL "http://techbase.kde.org/Polkit-Qt-1"
DESCRIPTION "PolicyKit API for Qt"
TYPE RECOMMENDED
@@ -50,11 +50,11 @@ if(NOT KAUTH_BACKEND)
URL "http://api.kde.org/polkit-qt"
DESCRIPTION "PolicyKit API for Qt"
TYPE RECOMMENDED
- PURPOSE "Support for executing priviledged actions in a controlled way (KAuth). Either this or PolkitQt-1 is required to make KAuth work, and hence enable certain workspace functionalities"
+ PURPOSE "Support for executing priviledged actions in a controlled way (KAuth). Either this or PolkitQt5-1 is required to make KAuth work, and hence enable certain workspace functionalities"
)
set (KAUTH_BACKEND "Fake")
endif (POLKITQT_FOUND)
- endif (PolkitQt-1_FOUND)
+ endif (PolkitQt5-1_FOUND)
else(UNIX)
set (KAUTH_BACKEND "Fake")
endif(APPLE)
@@ -68,10 +68,10 @@ else(NOT KAUTH_BACKEND)
set (KAUTH_BACKEND ${KAUTH_BACKEND_UPPER})
# Check if the specified backend is valid. If it is not, we fall back to the Fake one
- if (NOT KAUTH_BACKEND STREQUAL "OSX" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT-1" AND NOT KAUTH_BACKEND STREQUAL "FAKE")
+ if (NOT KAUTH_BACKEND STREQUAL "OSX" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT5-1" AND NOT KAUTH_BACKEND STREQUAL "FAKE")
message ("WARNING: The KAuth Backend ${KAUTH_BACKEND} you specified does not exist. Falling back to Fake backend")
set (KAUTH_BACKEND "FAKE")
- endif (NOT KAUTH_BACKEND STREQUAL "OSX" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT-1" AND NOT KAUTH_BACKEND STREQUAL "FAKE")
+ endif (NOT KAUTH_BACKEND STREQUAL "OSX" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT" AND NOT KAUTH_BACKEND STREQUAL "POLKITQT5-1" AND NOT KAUTH_BACKEND STREQUAL "FAKE")
# Check requirements for each backend. If not, fall back to the fake one
if (KAUTH_BACKEND STREQUAL "OSX" AND NOT APPLE)
@@ -85,7 +85,7 @@ else(NOT KAUTH_BACKEND)
URL "http://api.kde.org/polkit-qt"
DESCRIPTION "PolicyKit API for Qt"
TYPE RECOMMENDED
- PURPOSE "Support for executing priviledged actions in a controlled way (KAuth). Either this or PolkitQt-1 is required to make KAuth work, and hence enable certain workspace functionalities"
+ PURPOSE "Support for executing priviledged actions in a controlled way (KAuth). Either this or PolkitQt5-1 is required to make KAuth work, and hence enable certain workspace functionalities"
)
if (NOT POLKITQT_FOUND)
message ("WARNING: You chose the PolkitQt KAuth backend but you don't have PolkitQt installed.
@@ -93,24 +93,24 @@ else(NOT KAUTH_BACKEND)
set (KAUTH_BACKEND "FAKE")
endif (NOT POLKITQT_FOUND)
endif (KAUTH_BACKEND STREQUAL "POLKITQT")
- if (KAUTH_BACKEND STREQUAL "POLKITQT-1")
- find_package(PolkitQt-1 0.99.0)
- set_package_properties(PolkitQt-1 PROPERTIES
+ if (KAUTH_BACKEND STREQUAL "POLKITQT5-1")
+ find_package(PolkitQt5-1 0.99.0)
+ set_package_properties(PolkitQt5-1 PROPERTIES
URL "http://techbase.kde.org/Polkit-Qt-1"
DESCRIPTION "PolicyKit API for Qt"
TYPE RECOMMENDED
PURPOSE "Support for executing priviledged actions in a controlled way (KAuth). Either this or PolkitQt is required to make KAuth work, and hence enable certain workspace functionalities"
)
- if (NOT POLKITQT-1_FOUND)
- message ("WARNING: You chose the PolkitQt-1 KAuth backend but you don't have PolkitQt-1 installed.
+ if (NOT PolkitQt5-1_FOUND)
+ message ("WARNING: You chose the PolkitQt5-1 KAuth backend but you don't have PolkitQt5-1 installed.
Falling back to Fake backend")
set (KAUTH_BACKEND "FAKE")
- endif (NOT POLKITQT-1_FOUND)
- endif (KAUTH_BACKEND STREQUAL "POLKITQT-1")
+ endif (NOT PolkitQt5-1_FOUND)
+ endif (KAUTH_BACKEND STREQUAL "POLKITQT5-1")
endif(NOT KAUTH_BACKEND)
set(KAUTH_BACKEND_NAME ${KAUTH_BACKEND} CACHE STRING "Specifies the KAuth backend to build. Current available options are
- PolkitQt, PolkitQt-1, Fake, Apple. Not setting this variable will build the most
+ PolkitQt, PolkitQt5-1, Fake, Apple. Not setting this variable will build the most
appropriate backend for your system" FORCE)
# Add the correct libraries depending on the backend, and eventually set the policy files install location
@@ -139,16 +139,14 @@ elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT")
set(KAUTH_POLICY_FILES_INSTALL_DIR ${POLKITQT_POLICY_FILES_INSTALL_DIR} CACHE STRING
"Where policy files generated by KAuth will be installed" FORCE)
-elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT-1")
- message(STATUS "Building PolkitQt-1 KAuth backend")
-
- include_directories(${POLKITQT-1_INCLUDE_DIR})
+elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT5-1")
+ message(STATUS "Building PolkitQt5-1 KAuth backend")
set(KAUTH_BACKEND_SRCS
backends/polkit-1/Polkit1Backend.cpp
)
- set(KAUTH_BACKEND_LIBS ${POLKITQT-1_CORE_LIBRARY} Qt5::DBus Qt5::Widgets)
+ set(KAUTH_BACKEND_LIBS PolkitQt5-1::Core Qt5::DBus Qt5::Widgets)
# POLKITQT-1_POLICY_FILES_INSTALL_DIR has an absolute pathname, fix that.
string(REPLACE ${POLKITQT-1_INSTALL_DIR}
@@ -177,7 +175,7 @@ if(KAUTH_BACKEND_NAME STREQUAL "OSX")
elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT")
set(KAUTH_POLICY_GEN_SRCS ${KAUTH_POLICY_GEN_SRCS}
backends/policykit/kauth-policy-gen-polkit.cpp )
-elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT-1")
+elseif(KAUTH_BACKEND_NAME STREQUAL "POLKITQT5-1")
set(KAUTH_POLICY_GEN_SRCS ${KAUTH_POLICY_GEN_SRCS}
backends/polkit-1/kauth-policy-gen-polkit1.cpp )
set(KAUTH_POLICY_GEN_LIBRARIES ${KAUTH_POLICY_GEN_LIBRARIES}
--
2.0.0