[arch-commits] Commit in polkit/trunk (PKGBUILD fix-empty-wheel.patch)

Jan Steffens heftig at archlinux.org
Sat Sep 29 12:12:01 UTC 2012


    Date: Saturday, September 29, 2012 @ 08:12:01
  Author: heftig
Revision: 167251

FS#31717

Added:
  polkit/trunk/fix-empty-wheel.patch
Modified:
  polkit/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |   10 +++++++---
 fix-empty-wheel.patch |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-09-29 11:01:30 UTC (rev 167250)
+++ PKGBUILD	2012-09-29 12:12:01 UTC (rev 167251)
@@ -3,7 +3,7 @@
 
 pkgname=polkit
 pkgver=0.107
-pkgrel=3
+pkgrel=4
 pkgdesc="Application development toolkit for controlling system-wide privileges"
 arch=(i686 x86_64)
 license=('LGPL')
@@ -14,13 +14,17 @@
 options=('!libtool')
 install=polkit.install
 source=(http://www.freedesktop.org/software/polkit/releases/$pkgname-$pkgver.tar.gz
-        polkit.pam)
+        polkit.pam fix-empty-wheel.patch)
 md5sums=('0e4f9c53f43fd1b25ac3f0d2e09b2ae1'
-         '6564f95878297b954f0572bc1610dd15')
+         '6564f95878297b954f0572bc1610dd15'
+         'c99ab2a7919ad0b69fde4804c043b07f')
 
 build() {
   cd $pkgname-$pkgver
 
+  # https://bugs.archlinux.org/task/31717
+  patch -Np1 -i ../fix-empty-wheel.patch
+
   ./configure --prefix=/usr --sysconfdir=/etc \
       --localstatedir=/var --libexecdir=/usr/lib/polkit-1 \
       --with-systemdsystemunitdir=/usr/lib/systemd/system \

Added: fix-empty-wheel.patch
===================================================================
--- fix-empty-wheel.patch	                        (rev 0)
+++ fix-empty-wheel.patch	2012-09-29 12:12:01 UTC (rev 167251)
@@ -0,0 +1,47 @@
+From fa04223240d46641b0773dbf9f7d72f529046bea Mon Sep 17 00:00:00 2001
+From: David Zeuthen <zeuthen at gmail.com>
+Date: Tue, 18 Sep 2012 18:47:06 +0000
+Subject: Fall back to authenticating as uid 0 if the list of admin identities is empty
+
+For example, this can happen if the wheel group has no members. This
+was reported in Red Hat bug 834494, see
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=834494
+
+Signed-off-by: David Zeuthen <zeuthen at gmail.com>
+---
+diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
+index 1d4a555..3bd2f0b 100644
+--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
+@@ -1293,15 +1293,11 @@ polkit_backend_interactive_authority_get_admin_identities (PolkitBackendInteract
+                                                            PolkitDetails                     *details)
+ {
+   PolkitBackendInteractiveAuthorityClass *klass;
+-  GList *ret;
++  GList *ret = NULL;
+ 
+   klass = POLKIT_BACKEND_INTERACTIVE_AUTHORITY_GET_CLASS (authority);
+ 
+-  if (klass->get_admin_identities == NULL)
+-    {
+-      ret = g_list_prepend (NULL, polkit_unix_user_new (0));
+-    }
+-  else
++  if (klass->get_admin_identities != NULL)
+     {
+       ret = klass->get_admin_identities (authority,
+                                          caller,
+@@ -2257,6 +2253,10 @@ authentication_agent_initiate_challenge (AuthenticationAgent         *agent,
+         }
+     }
+ 
++  /* Fall back to uid 0 if no users are available (rhbz #834494) */
++  if (user_identities == NULL)
++    user_identities = g_list_prepend (NULL, polkit_unix_user_new (0));
++
+   session = authentication_session_new (agent,
+                                         cookie,
+                                         subject,
+--
+cgit v0.9.0.2-2-gbebe




More information about the arch-commits mailing list