From fa04223240d46641b0773dbf9f7d72f529046bea Mon Sep 17 00:00:00 2001 From: David Zeuthen 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 --- 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