PolicyKit: Branch 'master'
David Zeuthen
david at kemper.freedesktop.org
Wed Jul 15 08:20:35 PDT 2009
configure.ac | 2
data/Makefile.am | 4
data/org.freedesktop.PolicyKit1.LocalAuthority.xml | 87 -
data/polkit-local-1.pc.in | 11
docs/polkit/Makefile.am | 4
docs/polkit/polkit-1-docs.xml | 7
docs/polkit/polkit-1-sections.txt | 48
docs/polkit/polkit-1.types | 3
src/Makefile.am | 2
src/nullbackend/Makefile.am | 1
src/polkit/Makefile.am | 5
src/polkitbackend/Makefile.am | 4
src/polkitbackend/polkitbackendauthority.c | 444 --------
src/polkitbackend/polkitbackendauthority.h | 90 -
src/polkitbackend/polkitbackendlocalauthority.c | 1065 ++-------------------
src/polkitd/Makefile.am | 1
src/polkitlocal/Makefile.am | 54 -
src/polkitlocal/polkitlocal.h | 35
src/polkitlocal/polkitlocalauthority.c | 656 ------------
src/polkitlocal/polkitlocalauthority.h | 135 --
src/polkitlocal/polkitlocalauthorization.c | 150 --
src/polkitlocal/polkitlocalauthorization.h | 65 -
src/polkitlocal/polkitlocalprivate.h | 37
src/polkitlocal/polkitlocaltypes.h | 41
src/programs/Makefile.am | 1
25 files changed, 137 insertions(+), 2815 deletions(-)
New commits:
commit 20d1288f5f29a827b473b53336a3c22bbc1993de
Author: David Zeuthen <davidz at redhat.com>
Date: Wed Jul 15 11:17:25 2009 -0400
Rip out polkit-local and refactor local authority to only use tmp authz
diff --git a/configure.ac b/configure.ac
index df2023a..0857323 100644
--- a/configure.ac
+++ b/configure.ac
@@ -409,10 +409,8 @@ data/polkit-1
data/polkit-gobject-1.pc
data/polkit-backend-1.pc
data/polkit-agent-1.pc
-data/polkit-local-1.pc
src/Makefile
src/polkit/Makefile
-src/polkitlocal/Makefile
src/polkitbackend/Makefile
src/polkitagent/Makefile
src/polkitd/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index 6422772..0a6b4d8 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -22,13 +22,12 @@ pam_DATA = polkit-1
endif
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = polkit-gobject-1.pc polkit-backend-1.pc polkit-agent-1.pc polkit-local-1.pc
+pkgconfig_DATA = polkit-gobject-1.pc polkit-backend-1.pc polkit-agent-1.pc
CLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST = \
org.freedesktop.PolicyKit1.Authority.xml \
- org.freedesktop.PolicyKit1.LocalAuthority.xml \
org.freedesktop.PolicyKit1.AuthenticationAgent.xml \
$(service_in_files) \
$(dbusconf_in_files) \
@@ -36,7 +35,6 @@ EXTRA_DIST = \
polkit-gobject-1.pc.in \
polkit-backend-1.pc.in \
polkit-agent-1.pc.in \
- polkit-local-1.pc.in \
$(NULL)
diff --git a/data/org.freedesktop.PolicyKit1.LocalAuthority.xml b/data/org.freedesktop.PolicyKit1.LocalAuthority.xml
deleted file mode 100644
index d6d263e..0000000
--- a/data/org.freedesktop.PolicyKit1.LocalAuthority.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
-"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<node>
-
- <interface name="org.freedesktop.PolicyKit1.LocalAuthority">
- <annotation name="org.gtk.EggDBus.DocString.Summary" value="Manage the local Authority"/>
- <annotation name="org.gtk.EggDBus.DocString" value="This D-Bus interface <emphasis>may</emphasis> be implemented by the <literal>/org/freedesktop/PoliycKit1/Authority</literal> object on the well-known name <literal>org.freedesktop.PolicyKit1</literal> on the system message bus."/>
-
- <!-- Authorization struct -->
- <annotation name="org.gtk.EggDBus.DeclareStruct" value="LocalAuthorization">
- <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authorizations"/>
- <annotation name="org.gtk.EggDBus.DocString" value="This struct describes an authorization belonging to an #Identity."/>
-
- <annotation name="org.gtk.EggDBus.Struct.Member" value="String:action_id">
- <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action the authorization is for."/>
- </annotation>
-
- <annotation name="org.gtk.EggDBus.Struct.Member" value="Subject:subject">
- <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
- <annotation name="org.gtk.EggDBus.DocString" value="The #Subject that the authorization applies to."/>
- </annotation>
-
- <annotation name="org.gtk.EggDBus.Struct.Member" value="Boolean:is_negative">
- <annotation name="org.gtk.EggDBus.DocString" value="Whether the authorization is negative."/>
- </annotation>
- </annotation>
-
- <method name="EnumerateUsers">
- <annotation name="org.gtk.EggDBus.DocString" value="Enumerate all users known to the authority."/>
-
- <arg name="users" direction="out" type="a(sa{sv})">
- <annotation name="org.gtk.EggDBus.Type" value="Array<Identity>"/>
- <annotation name="org.gtk.EggDBus.DocString" value="An array of #Identity structs."/>
- </arg>
- </method>
-
- <method name="EnumerateGroups">
- <annotation name="org.gtk.EggDBus.DocString" value="Enumerate all groups known to the authority."/>
-
- <arg name="groups" direction="out" type="a(sa{sv})">
- <annotation name="org.gtk.EggDBus.Type" value="Array<Identity>"/>
- <annotation name="org.gtk.EggDBus.DocString" value="An array of #Identity structs."/>
- </arg>
- </method>
-
- <method name="AddAuthorization">
- <annotation name="org.gtk.EggDBus.DocString" value="Add an authorization to @identity."/>
-
- <arg name="identity" direction="in" type="(sa{sv})">
- <annotation name="org.gtk.EggDBus.Type" value="Identity"/>
- <annotation name="org.gtk.EggDBus.DocString" value="The #Identity to add @authorization to."/>
- </arg>
- <arg name="authorization" direction="in" type="(s(sa{sv})b)">
- <annotation name="org.gtk.EggDBus.Type" value="LocalAuthorization"/>
- <annotation name="org.gtk.EggDBus.DocString" value="The #LocalAuthorization to add to @identity."/>
- </arg>
- </method>
-
- <method name="RemoveAuthorization">
- <annotation name="org.gtk.EggDBus.DocString" value="Remove an authorization from @identity."/>
-
- <arg name="identity" direction="in" type="(sa{sv})">
- <annotation name="org.gtk.EggDBus.Type" value="Identity"/>
- <annotation name="org.gtk.EggDBus.DocString" value="The #Identity to remove @authorization from."/>
- </arg>
- <arg name="authorization" direction="in" type="(s(sa{sv})b)">
- <annotation name="org.gtk.EggDBus.Type" value="LocalAuthorization"/>
- <annotation name="org.gtk.EggDBus.DocString" value="The #LocalAuthorization to remove from @identity."/>
- </arg>
- </method>
-
- <method name="EnumerateAuthorizations">
- <annotation name="org.gtk.EggDBus.DocString" value="Enumerate all authorizations for @identity."/>
-
- <arg name="identity" direction="in" type="(sa{sv})">
- <annotation name="org.gtk.EggDBus.Type" value="Identity"/>
- <annotation name="org.gtk.EggDBus.StructType" value="Identity"/>
- <annotation name="org.gtk.EggDBus.DocString" value="An #Identity to enumerate authorizations for."/>
- </arg>
- <arg name="authorizations" direction="out" type="a(s(sa{sv})b)">
- <annotation name="org.gtk.EggDBus.Type" value="Array<LocalAuthorization>"/>
- <annotation name="org.gtk.EggDBus.DocString" value="An array of #LocalAuthorization structs for @identity."/>
- </arg>
- </method>
-
- </interface>
-</node>
diff --git a/data/polkit-local-1.pc.in b/data/polkit-local-1.pc.in
deleted file mode 100644
index ab917c1..0000000
--- a/data/polkit-local-1.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: polkit-local-1
-Description: PolicyKit Local Authority API
-Version: @VERSION@
-Libs: -L${libdir} -lpolkit-local-1
-Cflags: -I${includedir}/polkit-1
-Requires: polkit-gobject-1
diff --git a/docs/polkit/Makefile.am b/docs/polkit/Makefile.am
index 97308e7..39977ad 100644
--- a/docs/polkit/Makefile.am
+++ b/docs/polkit/Makefile.am
@@ -35,8 +35,6 @@ INCLUDES = \
-I$(top_builddir)/src/polkitbackend \
-I$(top_srcdir)/src/polkitagent \
-I$(top_builddir)/src/polkitagent \
- -I$(top_srcdir)/src/polkitlocal \
- -I$(top_builddir)/src/polkitlocal \
$(NULL)
GTKDOC_LIBS = \
@@ -46,7 +44,6 @@ GTKDOC_LIBS = \
$(top_builddir)/src/polkit/libpolkit-gobject-1.la \
$(top_builddir)/src/polkitbackend/libpolkit-backend-1.la \
$(top_builddir)/src/polkitagent/libpolkit-agent-1.la \
- $(top_builddir)/src/polkitlocal/libpolkit-local-1.la \
$(NULL)
# Extra options to supply to gtkdoc-mkdb
@@ -61,7 +58,6 @@ content_files = \
../extensiondir.xml \
../version.xml \
../../src/polkit/docbook-interface-org.freedesktop.PolicyKit1.Authority.xml \
- ../../src/polkit/docbook-interface-org.freedesktop.PolicyKit1.LocalAuthority.xml \
../../src/polkit/docbook-interface-org.freedesktop.PolicyKit1.AuthenticationAgent.xml \
../man/PolicyKit-1.xml \
../man/pkcheck.xml \
diff --git a/docs/polkit/polkit-1-docs.xml b/docs/polkit/polkit-1-docs.xml
index 8776354..a4705f4 100644
--- a/docs/polkit/polkit-1-docs.xml
+++ b/docs/polkit/polkit-1-docs.xml
@@ -62,7 +62,6 @@
<part id="ref-dbus-api">
<title>D-Bus API Reference</title>
<xi:include href="../../src/polkit/docbook-interface-org.freedesktop.PolicyKit1.Authority.xml"/>
- <xi:include href="../../src/polkit/docbook-interface-org.freedesktop.PolicyKit1.LocalAuthority.xml"/>
<xi:include href="../../src/polkit/docbook-interface-org.freedesktop.PolicyKit1.AuthenticationAgent.xml"/>
</part>
@@ -88,12 +87,6 @@
</chapter>
</part>
- <part id="ref-local-api">
- <title>Local Authority Client API Reference</title>
- <xi:include href="xml/polkitlocalauthority.xml"/>
- <xi:include href="xml/polkitlocalauthorization.xml"/>
- </part>
-
<part id="ref-backend-api">
<title>Backend API Reference</title>
<xi:include href="xml/polkitbackendauthority.xml"/>
diff --git a/docs/polkit/polkit-1-sections.txt b/docs/polkit/polkit-1-sections.txt
index 2f2d9fa..498b0b8 100644
--- a/docs/polkit/polkit-1-sections.txt
+++ b/docs/polkit/polkit-1-sections.txt
@@ -48,36 +48,6 @@ POLKIT_AUTHORITY_GET_CLASS
</SECTION>
<SECTION>
-<FILE>polkitlocalauthority</FILE>
-PolkitLocalAuthority
-polkit_local_authority_get
-polkit_local_authority_enumerate_users_sync
-polkit_local_authority_enumerate_groups_sync
-polkit_local_authority_enumerate_authorizations_sync
-polkit_local_authority_add_authorization_sync
-polkit_local_authority_remove_authorization_sync
-polkit_local_authority_enumerate_users
-polkit_local_authority_enumerate_users_finish
-polkit_local_authority_enumerate_groups
-polkit_local_authority_enumerate_groups_finish
-polkit_local_authority_enumerate_authorizations
-polkit_local_authority_enumerate_authorizations_finish
-polkit_local_authority_add_authorization
-polkit_local_authority_add_authorization_finish
-polkit_local_authority_remove_authorization
-polkit_local_authority_remove_authorization_finish
-<SUBSECTION Standard>
-PolkitAuthorityManagerClass
-POLKIT_LOCAL_AUTHORITY
-POLKIT_IS_LOCAL_AUTHORITY
-POLKIT_TYPE_LOCAL_AUTHORITY
-polkit_local_authority_get_type
-POLKIT_LOCAL_AUTHORITY_CLASS
-POLKIT_IS_LOCAL_AUTHORITY_CLASS
-POLKIT_LOCAL_AUTHORITY_GET_CLASS
-</SECTION>
-
-<SECTION>
<FILE>polkitauthorizationresult</FILE>
PolkitAuthorizationResult
polkit_authorization_result_new
@@ -131,24 +101,6 @@ POLKIT_UNIX_GROUP_GET_CLASS
</SECTION>
<SECTION>
-<FILE>polkitlocalauthorization</FILE>
-PolkitLocalAuthorization
-polkit_local_authorization_new
-polkit_local_authorization_get_action_id
-polkit_local_authorization_get_subject
-polkit_local_authorization_get_is_negative
-<SUBSECTION Standard>
-PolkitLocalAuthorizationClass
-POLKIT_LOCAL_AUTHORIZATION
-POLKIT_IS_LOCAL_AUTHORIZATION
-POLKIT_TYPE_LOCAL_AUTHORIZATION
-polkit_local_authorization_get_type
-POLKIT_LOCAL_AUTHORIZATION_CLASS
-POLKIT_IS_LOCAL_AUTHORIZATION_CLASS
-POLKIT_LOCAL_AUTHORIZATION_GET_CLASS
-</SECTION>
-
-<SECTION>
<FILE>polkitunixsession</FILE>
PolkitUnixSession
polkit_unix_session_new
diff --git a/docs/polkit/polkit-1.types b/docs/polkit/polkit-1.types
index 07b220a..0105bad 100644
--- a/docs/polkit/polkit-1.types
+++ b/docs/polkit/polkit-1.types
@@ -13,9 +13,6 @@ polkit_system_bus_name_get_type
polkit_error_get_type
polkit_authorization_result_get_type
-polkit_local_authority_get_type
-polkit_local_authorization_get_type
-
polkit_backend_authority_get_type
polkit_backend_action_lookup_get_type
polkit_backend_local_authority_get_type
diff --git a/src/Makefile.am b/src/Makefile.am
index 93426a9..a90dba2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
-SUBDIRS = polkit polkitlocal polkitbackend polkitagent polkitd nullbackend programs examples
+SUBDIRS = polkit polkitbackend polkitagent polkitd nullbackend programs examples
clean-local :
rm -f *~
diff --git a/src/nullbackend/Makefile.am b/src/nullbackend/Makefile.am
index 13beb19..2a81ec1 100644
--- a/src/nullbackend/Makefile.am
+++ b/src/nullbackend/Makefile.am
@@ -27,7 +27,6 @@ libnullbackend_la_SOURCES = \
libnullbackend_la_CFLAGS = \
-DPOLKIT_BACKEND_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
- -DPOLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
-DG_LOG_DOMAIN=\"PolkitNullBackend\" \
$(GLIB_CFLAGS) \
$(NULL)
diff --git a/src/polkit/Makefile.am b/src/polkit/Makefile.am
index f37c98a..b035282 100644
--- a/src/polkit/Makefile.am
+++ b/src/polkit/Makefile.am
@@ -22,19 +22,18 @@ BUILT_SOURCES = \
# Build all the PolicyKit D-Bus code here, even the code we
# only in the daemon for agent interaction
#
-polkit-built-sources.stamp : Makefile.am $(top_srcdir)/data/org.freedesktop.PolicyKit1.Authority.xml $(top_srcdir)/data/org.freedesktop.PolicyKit1.LocalAuthority.xml
+polkit-built-sources.stamp : Makefile.am $(top_srcdir)/data/org.freedesktop.PolicyKit1.Authority.xml $(top_srcdir)/data/org.freedesktop.PolicyKit1.AuthenticationAgent.xml
eggdbus-binding-tool \
--namespace "_Polkit" \
--dbus-namespace "org.freedesktop.PolicyKit1" \
--introspection-xml $(top_srcdir)/data/org.freedesktop.PolicyKit1.Authority.xml \
- --introspection-xml $(top_srcdir)/data/org.freedesktop.PolicyKit1.LocalAuthority.xml \
--introspection-xml $(top_srcdir)/data/org.freedesktop.PolicyKit1.AuthenticationAgent.xml \
--stamp-file polkit-built-sources.stamp \
$(NULL)
# keep in sync with contents of polkit-built-sources.stamp (Thanks autotools)
#
-polkit_built_sources = _polkitbindingsmarshal.c _polkitbindingsmarshal.h _polkitbindingsmarshal.list _polkitbindings.c _polkitbindings.h _polkitbindingstypes.h _polkitauthenticationagent.c _polkitauthenticationagent.h docbook-interface-org.freedesktop.PolicyKit1.AuthenticationAgent.xml _polkitlocalauthority.c _polkitlocalauthority.h docbook-interface-org.freedesktop.PolicyKit1.LocalAuthority.xml _polkitauthority.c _polkitauthority.h docbook-interface-org.freedesktop.PolicyKit1.Authority.xml _polkiterror.c _polkiterror.h _polkitimplicitauthorization.c _polkitimplicitauthorization.h _polkitauthorizationresult.c _polkitauthorizationresult.h _polkitcheckauthorizationflags.c _polkitcheckauthorizationflags.h _polkitlocalauthorization.c _polkitlocalauthorization.h _polkitactiondescription.c _polkitactiondescription.h _polkitidentity.c _polkitidentity.h _polkitsubject.c _polkitsubject.h
+polkit_built_sources = _polkitbindingsmarshal.c _polkitbindingsmarshal.h _polkitbindingsmarshal.list _polkitbindings.c _polkitbindings.h _polkitbindingstypes.h _polkitauthenticationagent.c _polkitauthenticationagent.h docbook-interface-org.freedesktop.PolicyKit1.AuthenticationAgent.xml _polkitauthority.c _polkitauthority.h docbook-interface-org.freedesktop.PolicyKit1.Authority.xml _polkiterror.c _polkiterror.h _polkitimplicitauthorization.c _polkitimplicitauthorization.h _polkitauthorizationresult.c _polkitauthorizationresult.h _polkitcheckauthorizationflags.c _polkitcheckauthorizationflags.h _polkitactiondescription.c _polkitactiondescription.h _polkitidentity.c _polkitidentity.h _polkitsubject.c _polkitsubject.h
lib_LTLIBRARIES=libpolkit-gobject-1.la
diff --git a/src/polkitbackend/Makefile.am b/src/polkitbackend/Makefile.am
index b6c27aa..cf7a88c 100644
--- a/src/polkitbackend/Makefile.am
+++ b/src/polkitbackend/Makefile.am
@@ -5,8 +5,6 @@ INCLUDES = \
-I$(top_srcdir)/src \
-I$(top_builddir)/src/polkit \
-I$(top_srcdir)/src/polkit \
- -I$(top_builddir)/src/polkitlocal \
- -I$(top_srcdir)/src/polkitlocal \
-DPACKAGE_LIBEXEC_DIR=\""$(libexecdir)"\" \
-DPACKAGE_SYSCONF_DIR=\""$(sysconfdir)"\" \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
@@ -17,7 +15,6 @@ INCLUDES = \
-D_POSIX_PTHREAD_SEMANTICS \
-D_REENTRANT \
-DEGG_DBUS_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
- -DPOLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
$(NULL)
BUILT_SOURCES = \
@@ -76,7 +73,6 @@ libpolkit_backend_1_la_LIBADD = \
$(GLIB_LIBS) \
$(EGG_DBUS_LIBS) \
$(top_builddir)/src/polkit/libpolkit-gobject-1.la \
- $(top_builddir)/src/polkitlocal/libpolkit-local-1.la \
$(EXPAT_LIBS) \
$(NULL)
diff --git a/src/polkitbackend/polkitbackendauthority.c b/src/polkitbackend/polkitbackendauthority.c
index 2de548e..93911ca 100644
--- a/src/polkitbackend/polkitbackendauthority.c
+++ b/src/polkitbackend/polkitbackendauthority.c
@@ -27,9 +27,6 @@
#include <polkit/polkit.h>
#include <polkit/polkitprivate.h>
-#include <polkitlocal/polkitlocal.h>
-#include <polkitlocal/polkitlocalprivate.h>
-
#include "polkitbackendauthority.h"
#include "polkitbackendactionlookup.h"
#include "polkitbackendlocalauthority.h"
@@ -133,74 +130,6 @@ polkit_backend_authority_enumerate_actions (PolkitBackendAuthority *authority,
}
}
-/**
- * polkit_backend_authority_enumerate_users:
- * @authority: A #PolkitBackendAuthority.
- * @caller: The system bus name that initiated the query.
- * @error: Return location for error or %NULL.
- *
- * Enumerates all users known by @authority.
- *
- * Returns: A list of #PolkitIdentity objects or %NULL if @error is set. The returned list
- * should be freed with g_list_free() after each element have been freed with g_object_unref().
- **/
-GList *
-polkit_backend_authority_enumerate_users (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error)
-{
- PolkitBackendAuthorityClass *klass;
-
- klass = POLKIT_BACKEND_AUTHORITY_GET_CLASS (authority);
-
- if (klass->enumerate_users == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_NOT_SUPPORTED,
- "Operation not supported");
- return NULL;
- }
- else
- {
- return klass->enumerate_users (authority, caller, error);
- }
-}
-
-/**
- * polkit_backend_authority_enumerate_groups:
- * @authority: A #PolkitBackendAuthority.
- * @caller: The system bus name that initiated the query.
- * @error: Return location for error or %NULL.
- *
- * Enumerates all groups known by @authority.
- *
- * Returns: A list of #PolkitIdentity objects or %NULL if @error is set. The returned list
- * should be freed with g_list_free() after each element have been freed with g_object_unref().
- **/
-GList *
-polkit_backend_authority_enumerate_groups (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error)
-{
- PolkitBackendAuthorityClass *klass;
-
- klass = POLKIT_BACKEND_AUTHORITY_GET_CLASS (authority);
-
- if (klass->enumerate_groups == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_NOT_SUPPORTED,
- "Operation not supported");
- return NULL;
- }
- else
- {
- return klass->enumerate_groups (authority, caller, error);
- }
-}
-
/* ---------------------------------------------------------------------------------------------------- */
/**
@@ -292,116 +221,6 @@ polkit_backend_authority_check_authorization_finish (PolkitBackendAuthority *au
/* ---------------------------------------------------------------------------------------------------- */
/**
- * polkit_backend_authority_enumerate_authorizations:
- * @authority: A #PolkitBackendAuthority.
- * @caller: The system bus name that initiated the query.
- * @identity: The identity to retrieve authorizations from.
- * @error: Return location for error or %NULL.
- *
- * Retrieves all authorizations for @identity.
- *
- * Returns: A list of #PolkitLocalAuthorization objects or %NULL if @error is set. The returned list
- * should be freed with g_list_free() after each element have been freed with g_object_unref().
- **/
-GList *
-polkit_backend_authority_enumerate_authorizations (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- GError **error)
-{
- PolkitBackendAuthorityClass *klass;
-
- klass = POLKIT_BACKEND_AUTHORITY_GET_CLASS (authority);
-
- if (klass->enumerate_authorizations == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_NOT_SUPPORTED,
- "Operation not supported");
- return NULL;
- }
- else
- {
- return klass->enumerate_authorizations (authority, caller, identity, error);
- }
-}
-
-/**
- * polkit_backend_authority_add_authorization:
- * @authority: A #PolkitBackendAuthority.
- * @caller: The system bus name that initiated the query.
- * @identity: The identity to add @authorization to.
- * @authorization: The authorization to add.
- * @error: Return location for error or %NULL.
- *
- * Adds @authorization to @identity.
- *
- * Returns: %TRUE if the operation succeeded or %FALSE if @error is set.
- **/
-gboolean
-polkit_backend_authority_add_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- PolkitBackendAuthorityClass *klass;
-
- klass = POLKIT_BACKEND_AUTHORITY_GET_CLASS (authority);
-
- if (klass->add_authorization == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_NOT_SUPPORTED,
- "Operation not supported");
- return FALSE;
- }
- else
- {
- return klass->add_authorization (authority, caller, identity, authorization, error);
- }
-}
-
-/**
- * polkit_backend_authority_remove_authorization:
- * @authority: A #PolkitBackendAuthority.
- * @caller: The system bus name that initiated the query.
- * @identity: The identity to remove @authorization from.
- * @authorization: The authorization to remove.
- * @error: Return location for error or %NULL.
- *
- * Removes @authorization from @identity.
- *
- * Returns: %TRUE if the operation succeeded or %FALSE if @error is set.
- **/
-gboolean
-polkit_backend_authority_remove_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- PolkitBackendAuthorityClass *klass;
-
- klass = POLKIT_BACKEND_AUTHORITY_GET_CLASS (authority);
-
- if (klass->remove_authorization == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_NOT_SUPPORTED,
- "Operation not supported");
- return FALSE;
- }
- else
- {
- return klass->remove_authorization (authority, caller, identity, authorization, error);
- }
-}
-
-/**
* polkit_backend_authority_register_authentication_agent:
* @authority: A #PolkitBackendAuthority.
* @caller: The system bus name that initiated the query.
@@ -556,11 +375,9 @@ struct _ServerClass
};
static void authority_iface_init (_PolkitAuthorityIface *authority_iface);
-static void local_authority_iface_init (_PolkitLocalAuthorityIface *local_authority_iface);
G_DEFINE_TYPE_WITH_CODE (Server, server, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (_POLKIT_TYPE_AUTHORITY, authority_iface_init)
- G_IMPLEMENT_INTERFACE (_POLKIT_TYPE_LOCAL_AUTHORITY, local_authority_iface_init)
);
static void
@@ -679,112 +496,6 @@ authority_handle_enumerate_actions (_PolkitAuthority *instance,
/* ---------------------------------------------------------------------------------------------------- */
static void
-local_authority_handle_enumerate_users (_PolkitLocalAuthority *instance,
- EggDBusMethodInvocation *method_invocation)
-{
- Server *server = SERVER (instance);
- PolkitSubject *caller;
- EggDBusArraySeq *array;
- GError *error;
- GList *identities;
- GList *l;
-
- error = NULL;
-
- caller = polkit_system_bus_name_new (egg_dbus_method_invocation_get_caller (method_invocation));
-
- identities = polkit_backend_authority_enumerate_users (server->authority,
- caller,
- &error);
- if (error != NULL)
- {
- egg_dbus_method_invocation_return_gerror (method_invocation, error);
- g_error_free (error);
- goto out;
- }
-
- array = egg_dbus_array_seq_new (G_TYPE_OBJECT, //_POLKIT_TYPE_IDENTITY,
- (GDestroyNotify) g_object_unref,
- NULL,
- NULL);
-
- for (l = identities; l != NULL; l = l->next)
- {
- PolkitIdentity *identity = POLKIT_IDENTITY (l->data);
- _PolkitIdentity *real;
-
- real = polkit_identity_get_real (identity);
- egg_dbus_array_seq_add (array, real);
- }
-
- _polkit_local_authority_handle_enumerate_users_finish (method_invocation, array);
-
- g_object_unref (array);
-
- out:
-
- g_list_foreach (identities, (GFunc) g_object_unref, NULL);
- g_list_free (identities);
-
- g_object_unref (caller);
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
-local_authority_handle_enumerate_groups (_PolkitLocalAuthority *instance,
- EggDBusMethodInvocation *method_invocation)
-{
- Server *server = SERVER (instance);
- PolkitSubject *caller;
- EggDBusArraySeq *array;
- GError *error;
- GList *identities;
- GList *l;
-
- error = NULL;
-
- caller = polkit_system_bus_name_new (egg_dbus_method_invocation_get_caller (method_invocation));
-
- identities = polkit_backend_authority_enumerate_groups (server->authority,
- caller,
- &error);
- if (error != NULL)
- {
- egg_dbus_method_invocation_return_gerror (method_invocation, error);
- g_error_free (error);
- goto out;
- }
-
- array = egg_dbus_array_seq_new (G_TYPE_OBJECT, //_POLKIT_TYPE_IDENTITY,
- (GDestroyNotify) g_object_unref,
- NULL,
- NULL);
-
- for (l = identities; l != NULL; l = l->next)
- {
- PolkitIdentity *identity = POLKIT_IDENTITY (l->data);
- _PolkitIdentity *real;
-
- real = polkit_identity_get_real (identity);
- egg_dbus_array_seq_add (array, real);
- }
-
- _polkit_local_authority_handle_enumerate_groups_finish (method_invocation, array);
-
- g_object_unref (array);
-
- out:
-
- g_list_foreach (identities, (GFunc) g_object_unref, NULL);
- g_list_free (identities);
-
- g_object_unref (caller);
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
check_auth_cb (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
@@ -927,149 +638,6 @@ authority_handle_cancel_check_authorization (_PolkitAuthority *ins
/* ---------------------------------------------------------------------------------------------------- */
static void
-local_authority_handle_enumerate_authorizations (_PolkitLocalAuthority *instance,
- _PolkitIdentity *real_identity,
- EggDBusMethodInvocation *method_invocation)
-{
- Server *server = SERVER (instance);
- PolkitSubject *caller;
- PolkitIdentity *identity;
- EggDBusArraySeq *array;
- GError *error;
- GList *authorizations;
- GList *l;
-
- error = NULL;
-
- caller = polkit_system_bus_name_new (egg_dbus_method_invocation_get_caller (method_invocation));
-
- identity = polkit_identity_new_for_real (real_identity);
-
- authorizations = polkit_backend_authority_enumerate_authorizations (server->authority,
- caller,
- identity,
- &error);
-
- if (error != NULL)
- {
- egg_dbus_method_invocation_return_gerror (method_invocation, error);
- g_error_free (error);
- goto out;
- }
-
- array = egg_dbus_array_seq_new (G_TYPE_OBJECT, //_POLKIT_TYPE_IDENTITY,
- (GDestroyNotify) g_object_unref,
- NULL,
- NULL);
-
- for (l = authorizations; l != NULL; l = l->next)
- {
- PolkitLocalAuthorization *authorization = POLKIT_LOCAL_AUTHORIZATION (l->data);
- _PolkitLocalAuthorization *real;
-
- real = polkit_local_authorization_get_real (authorization);
- egg_dbus_array_seq_add (array, real);
- }
-
- _polkit_local_authority_handle_enumerate_authorizations_finish (method_invocation, array);
-
- g_object_unref (array);
-
- out:
-
- g_list_foreach (authorizations, (GFunc) g_object_unref, NULL);
- g_list_free (authorizations);
-
- g_object_unref (caller);
-
- g_object_unref (identity);
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
-local_authority_handle_add_authorization (_PolkitLocalAuthority *instance,
- _PolkitIdentity *real_identity,
- _PolkitLocalAuthorization *real_authorization,
- EggDBusMethodInvocation *method_invocation)
-{
- Server *server = SERVER (instance);
- PolkitSubject *caller;
- PolkitIdentity *identity;
- PolkitLocalAuthorization *authorization;
- GError *error;
-
-
- caller = polkit_system_bus_name_new (egg_dbus_method_invocation_get_caller (method_invocation));
-
- identity = polkit_identity_new_for_real (real_identity);
-
- authorization = polkit_local_authorization_new_for_real (real_authorization);
-
- error = NULL;
- if (!polkit_backend_authority_add_authorization (server->authority,
- caller,
- identity,
- authorization,
- &error))
- {
- egg_dbus_method_invocation_return_gerror (method_invocation, error);
- g_error_free (error);
- goto out;
- }
-
- _polkit_local_authority_handle_add_authorization_finish (method_invocation);
-
- out:
- g_object_unref (authorization);
- g_object_unref (identity);
- g_object_unref (caller);
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
-local_authority_handle_remove_authorization (_PolkitLocalAuthority *instance,
- _PolkitIdentity *real_identity,
- _PolkitLocalAuthorization *real_authorization,
- EggDBusMethodInvocation *method_invocation)
-{
- Server *server = SERVER (instance);
- PolkitSubject *caller;
- PolkitIdentity *identity;
- PolkitLocalAuthorization *authorization;
- GError *error;
-
-
- caller = polkit_system_bus_name_new (egg_dbus_method_invocation_get_caller (method_invocation));
-
- identity = polkit_identity_new_for_real (real_identity);
-
- authorization = polkit_local_authorization_new_for_real (real_authorization);
-
- error = NULL;
- if (!polkit_backend_authority_remove_authorization (server->authority,
- caller,
- identity,
- authorization,
- &error))
- {
- egg_dbus_method_invocation_return_gerror (method_invocation, error);
- g_error_free (error);
- goto out;
- }
-
- _polkit_local_authority_handle_remove_authorization_finish (method_invocation);
-
- out:
- g_object_unref (authorization);
- g_object_unref (identity);
- g_object_unref (caller);
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
authority_handle_register_authentication_agent (_PolkitAuthority *instance,
const gchar *session_id,
const gchar *locale,
@@ -1184,16 +752,6 @@ authority_iface_init (_PolkitAuthorityIface *authority_iface)
}
static void
-local_authority_iface_init (_PolkitLocalAuthorityIface *local_authority_iface)
-{
- local_authority_iface->handle_enumerate_users = local_authority_handle_enumerate_users;
- local_authority_iface->handle_enumerate_groups = local_authority_handle_enumerate_groups;
- local_authority_iface->handle_enumerate_authorizations = local_authority_handle_enumerate_authorizations;
- local_authority_iface->handle_add_authorization = local_authority_handle_add_authorization;
- local_authority_iface->handle_remove_authorization = local_authority_handle_remove_authorization;
-}
-
-static void
authority_died (gpointer user_data,
GObject *where_the_object_was)
{
@@ -1275,8 +833,6 @@ polkit_backend_register_authority (PolkitBackendAuthority *authority,
object_path,
_POLKIT_TYPE_AUTHORITY,
G_OBJECT (server),
- _POLKIT_TYPE_LOCAL_AUTHORITY,
- G_OBJECT (server),
G_TYPE_INVALID);
/* take a weak ref and kill server when listener dies */
diff --git a/src/polkitbackend/polkitbackendauthority.h b/src/polkitbackend/polkitbackendauthority.h
index 9afb864..679ae4c 100644
--- a/src/polkitbackend/polkitbackendauthority.h
+++ b/src/polkitbackend/polkitbackendauthority.h
@@ -27,7 +27,6 @@
#define __POLKIT_BACKEND_AUTHORITY_H
#include <glib-object.h>
-#include <polkitlocal/polkitlocal.h>
#include "polkitbackendtypes.h"
@@ -87,21 +86,6 @@ struct _PolkitBackendAuthority
* doesn't support the operation. See
* polkit_backend_authority_authentication_agent_response() for
* details.
- * @enumerate_users: Enumerates users on the system or %NULL if the
- * backend doesn't support the operation. See
- * polkit_backend_authority_enumerate_users() for details.
- * @enumerate_groups: Enumerates groups on the system or %NULL if the
- * backend doesn't support the operation. See
- * polkit_backend_authority_enumerate_groups() for details.
- * @enumerate_authorizations: Enumerates authorizations for a given
- * identity or %NULL if the backend doesn't support the operation. See
- * polkit_backend_authority_enumerate_authorizations() for details.
- * @add_authorization: Add an authorization to a given identity or
- * %NULL if the backend doesn't support the operation. See
- * polkit_backend_authority_add_authorization() for details.
- * @remove_authorization: Remove an authorization for a given identity
- * or %NULL if the backend doesn't support the operation. See
- * polkit_backend_authority_remove_authorization() for details.
* @system_bus_name_owner_changed: temporary VFunc, to be removed before 1.0.
*
* VFuncs that authority backends need to implement.
@@ -154,31 +138,6 @@ struct _PolkitBackendAuthorityClass
PolkitIdentity *identity,
GError **error);
- GList *(*enumerate_users) (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error);
-
- GList *(*enumerate_groups) (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error);
-
- GList *(*enumerate_authorizations) (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- GError **error);
-
- gboolean (*add_authorization) (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
- gboolean (*remove_authorization) (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
/* TODO: need something more efficient such that we don't watch all name changes */
void (*system_bus_name_owner_changed) (PolkitBackendAuthority *authority,
const gchar *name,
@@ -195,6 +154,30 @@ struct _PolkitBackendAuthorityClass
void (*_polkit_reserved6) (void);
void (*_polkit_reserved7) (void);
void (*_polkit_reserved8) (void);
+ void (*_polkit_reserved9) (void);
+ void (*_polkit_reserved10) (void);
+ void (*_polkit_reserved11) (void);
+ void (*_polkit_reserved12) (void);
+ void (*_polkit_reserved13) (void);
+ void (*_polkit_reserved14) (void);
+ void (*_polkit_reserved15) (void);
+ void (*_polkit_reserved16) (void);
+ void (*_polkit_reserved17) (void);
+ void (*_polkit_reserved18) (void);
+ void (*_polkit_reserved19) (void);
+ void (*_polkit_reserved20) (void);
+ void (*_polkit_reserved21) (void);
+ void (*_polkit_reserved22) (void);
+ void (*_polkit_reserved23) (void);
+ void (*_polkit_reserved24) (void);
+ void (*_polkit_reserved25) (void);
+ void (*_polkit_reserved26) (void);
+ void (*_polkit_reserved27) (void);
+ void (*_polkit_reserved28) (void);
+ void (*_polkit_reserved29) (void);
+ void (*_polkit_reserved30) (void);
+ void (*_polkit_reserved31) (void);
+ void (*_polkit_reserved32) (void);
};
GType polkit_backend_authority_get_type (void) G_GNUC_CONST;
@@ -211,14 +194,6 @@ GList *polkit_backend_authority_enumerate_actions (PolkitBackendAuthor
const gchar *locale,
GError **error);
-GList *polkit_backend_authority_enumerate_users (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error);
-
-GList *polkit_backend_authority_enumerate_groups (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error);
-
void polkit_backend_authority_check_authorization (PolkitBackendAuthority *authority,
PolkitSubject *caller,
PolkitSubject *subject,
@@ -233,23 +208,6 @@ PolkitAuthorizationResult *polkit_backend_authority_check_authorization_finish (
GAsyncResult *res,
GError **error);
-GList *polkit_backend_authority_enumerate_authorizations (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- GError **error);
-
-gboolean polkit_backend_authority_add_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
-gboolean polkit_backend_authority_remove_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
gboolean polkit_backend_authority_register_authentication_agent (PolkitBackendAuthority *authority,
PolkitSubject *caller,
const gchar *session_id,
diff --git a/src/polkitbackend/polkitbackendlocalauthority.c b/src/polkitbackend/polkitbackendlocalauthority.c
index 5c43aa5..4bfa7da 100644
--- a/src/polkitbackend/polkitbackendlocalauthority.c
+++ b/src/polkitbackend/polkitbackendlocalauthority.c
@@ -46,29 +46,20 @@
* and supports interaction with authentication agents.
*/
-typedef struct
-{
- PolkitBackendActionPool *action_pool;
-
- PolkitBackendSessionMonitor *session_monitor;
-
- PolkitBackendConfigSource *config_source;
-
- GHashTable *hash_identity_to_authority_store;
-
- GHashTable *hash_session_to_authentication_agent;
-
-} PolkitBackendLocalAuthorityPrivate;
-
/* ---------------------------------------------------------------------------------------------------- */
-struct AuthorizationStore;
-typedef struct AuthorizationStore AuthorizationStore;
+typedef struct TemporaryAuthorizationStore TemporaryAuthorizationStore;
+
+static TemporaryAuthorizationStore *temporary_authorization_store_new (void);
+static void temporary_authorization_store_free (TemporaryAuthorizationStore *store);
-static void authorization_store_free (AuthorizationStore *store);
+static gboolean temporary_authorization_store_has_authorization (TemporaryAuthorizationStore *store,
+ PolkitSubject *subject,
+ const gchar *action_id);
-static AuthorizationStore *get_authorization_store_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity);
+static void temporary_authorization_store_add_authorization (TemporaryAuthorizationStore *store,
+ PolkitSubject *subject,
+ const gchar *action_id);
/* ---------------------------------------------------------------------------------------------------- */
@@ -114,34 +105,14 @@ static void authentication_session_cancel (AuthenticationSession *session);
/* ---------------------------------------------------------------------------------------------------- */
-static gboolean check_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- const gchar *action_id);
-
-static gboolean check_temporary_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- PolkitSubject *subject,
- const gchar *action_id);
-
static GList *get_users_in_group (PolkitBackendLocalAuthority *authority,
PolkitIdentity *group,
gboolean include_root);
+#if 0
static GList *get_groups_for_user (PolkitBackendLocalAuthority *authority,
PolkitIdentity *user);
-
-static GList *get_authorizations_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity);
-
-static gboolean add_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
-static gboolean remove_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
+#endif
/* ---------------------------------------------------------------------------------------------------- */
@@ -155,14 +126,6 @@ static GList *polkit_backend_local_authority_enumerate_actions (PolkitBackendAu
const gchar *locale,
GError **error);
-static GList *polkit_backend_local_authority_enumerate_users (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error);
-
-static GList *polkit_backend_local_authority_enumerate_groups (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error);
-
static void polkit_backend_local_authority_check_authorization (PolkitBackendAuthority *authority,
PolkitSubject *caller,
PolkitSubject *subject,
@@ -185,23 +148,6 @@ static PolkitAuthorizationResult *check_authorization_sync (PolkitBackendAuthori
PolkitImplicitAuthorization *out_implicit_authorization,
GError **error);
-static GList *polkit_backend_local_authority_enumerate_authorizations (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- GError **error);
-
-static gboolean polkit_backend_local_authority_add_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
-static gboolean polkit_backend_local_authority_remove_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
static gboolean polkit_backend_local_authority_register_authentication_agent (PolkitBackendAuthority *authority,
PolkitSubject *caller,
const gchar *session_id,
@@ -221,14 +167,22 @@ static gboolean polkit_backend_local_authority_authentication_agent_response (Po
PolkitIdentity *identity,
GError **error);
+
/* ---------------------------------------------------------------------------------------------------- */
-static void
-action_pool_changed (PolkitBackendActionPool *action_pool,
- PolkitBackendLocalAuthority *authority)
+typedef struct
{
- g_signal_emit_by_name (authority, "changed");
-}
+ PolkitBackendActionPool *action_pool;
+
+ PolkitBackendSessionMonitor *session_monitor;
+
+ PolkitBackendConfigSource *config_source;
+
+ TemporaryAuthorizationStore *temporary_authorization_store;
+
+ GHashTable *hash_session_to_authentication_agent;
+
+} PolkitBackendLocalAuthorityPrivate;
/* ---------------------------------------------------------------------------------------------------- */
@@ -240,6 +194,17 @@ G_DEFINE_TYPE_WITH_CODE (PolkitBackendLocalAuthority, polkit_backend_local_autho
#define POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), POLKIT_BACKEND_TYPE_LOCAL_AUTHORITY, PolkitBackendLocalAuthorityPrivate))
+/* ---------------------------------------------------------------------------------------------------- */
+
+static void
+action_pool_changed (PolkitBackendActionPool *action_pool,
+ PolkitBackendLocalAuthority *authority)
+{
+ g_signal_emit_by_name (authority, "changed");
+}
+
+/* ---------------------------------------------------------------------------------------------------- */
+
static void
polkit_backend_local_authority_init (PolkitBackendLocalAuthority *authority)
{
@@ -260,10 +225,7 @@ polkit_backend_local_authority_init (PolkitBackendLocalAuthority *authority)
priv->config_source = polkit_backend_config_source_new (directory);
g_object_unref (directory);
- priv->hash_identity_to_authority_store = g_hash_table_new_full ((GHashFunc) polkit_identity_hash,
- (GEqualFunc) polkit_identity_equal,
- (GDestroyNotify) g_object_unref,
- (GDestroyNotify) authorization_store_free);
+ priv->temporary_authorization_store = temporary_authorization_store_new ();
priv->hash_session_to_authentication_agent = g_hash_table_new_full ((GHashFunc) polkit_subject_hash,
(GEqualFunc) polkit_subject_equal,
@@ -291,7 +253,7 @@ polkit_backend_local_authority_finalize (GObject *object)
if (priv->session_monitor != NULL)
g_object_unref (priv->session_monitor);
- g_hash_table_unref (priv->hash_identity_to_authority_store);
+ temporary_authorization_store_free (priv->temporary_authorization_store);
g_hash_table_unref (priv->hash_session_to_authentication_agent);
@@ -311,13 +273,8 @@ polkit_backend_local_authority_class_init (PolkitBackendLocalAuthorityClass *kla
authority_class->system_bus_name_owner_changed = polkit_backend_local_authority_system_bus_name_owner_changed;
authority_class->enumerate_actions = polkit_backend_local_authority_enumerate_actions;
- authority_class->enumerate_users = polkit_backend_local_authority_enumerate_users;
- authority_class->enumerate_groups = polkit_backend_local_authority_enumerate_groups;
authority_class->check_authorization = polkit_backend_local_authority_check_authorization;
authority_class->check_authorization_finish = polkit_backend_local_authority_check_authorization_finish;
- authority_class->enumerate_authorizations = polkit_backend_local_authority_enumerate_authorizations;
- authority_class->add_authorization = polkit_backend_local_authority_add_authorization;
- authority_class->remove_authorization = polkit_backend_local_authority_remove_authorization;
authority_class->register_authentication_agent = polkit_backend_local_authority_register_authentication_agent;
authority_class->unregister_authentication_agent = polkit_backend_local_authority_unregister_authentication_agent;
authority_class->authentication_agent_response = polkit_backend_local_authority_authentication_agent_response;
@@ -355,94 +312,6 @@ polkit_backend_local_authority_enumerate_actions (PolkitBackendAuthority *auth
/* ---------------------------------------------------------------------------------------------------- */
-static GList *
-polkit_backend_local_authority_enumerate_users (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error)
-{
- PolkitBackendLocalAuthority *local_authority;
- PolkitBackendLocalAuthorityPrivate *priv;
- struct passwd *passwd;
- GList *list;
-
- local_authority = POLKIT_BACKEND_LOCAL_AUTHORITY (authority);
- priv = POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE (local_authority);
-
- list = NULL;
-
- passwd = getpwent ();
- if (passwd == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "getpwent failed: %m");
- goto out;
- }
-
- do
- {
- PolkitIdentity *identity;
-
- identity = polkit_unix_user_new (passwd->pw_uid);
-
- list = g_list_prepend (list, identity);
- }
- while ((passwd = getpwent ()) != NULL);
- endpwent ();
-
- list = g_list_reverse (list);
-
- out:
- return list;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static GList *
-polkit_backend_local_authority_enumerate_groups (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- GError **error)
-{
- PolkitBackendLocalAuthority *local_authority;
- PolkitBackendLocalAuthorityPrivate *priv;
- struct group *group;
- GList *list;
-
- local_authority = POLKIT_BACKEND_LOCAL_AUTHORITY (authority);
- priv = POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE (local_authority);
-
- list = NULL;
-
- group = getgrent ();
- if (group == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "getpwent failed: %m");
- goto out;
- }
-
- do
- {
- PolkitIdentity *identity;
-
- identity = polkit_unix_group_new (group->gr_gid);
-
- list = g_list_prepend (list, identity);
- }
- while ((group = getgrent ()) != NULL);
- endgrent ();
-
- list = g_list_reverse (list);
-
- out:
- return list;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
static void
check_authorization_challenge_cb (AuthenticationAgent *agent,
PolkitSubject *subject,
@@ -454,9 +323,12 @@ check_authorization_challenge_cb (AuthenticationAgent *agent,
gpointer user_data)
{
GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ PolkitBackendLocalAuthorityPrivate *priv;
PolkitAuthorizationResult *result;
gchar *subject_str;
+ priv = POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE (authority);
+
result = NULL;
subject_str = polkit_subject_to_string (subject);
@@ -476,25 +348,9 @@ check_authorization_challenge_cb (AuthenticationAgent *agent,
if (implicit_authorization == POLKIT_IMPLICIT_AUTHORIZATION_AUTHENTICATION_REQUIRED_RETAINED ||
implicit_authorization == POLKIT_IMPLICIT_AUTHORIZATION_ADMINISTRATOR_AUTHENTICATION_REQUIRED_RETAINED)
{
- GError *error;
- PolkitLocalAuthorization *authorization;
-
- authorization = polkit_local_authorization_new (action_id,
- subject,
- FALSE);
-
- if (!add_authorization_for_identity (authority,
- user_of_subject,
- authorization,
- &error))
- {
- g_warning ("Error adding temporary authorization gained from authentication: %s",
- error->message);
-
- g_error_free (error);
- }
-
- g_object_unref (authorization);
+ temporary_authorization_store_add_authorization (priv->temporary_authorization_store,
+ subject,
+ action_id);
}
}
else
@@ -601,7 +457,7 @@ polkit_backend_local_authority_check_authorization (PolkitBackendAuthority
/* we only allow trusted callers (uid 0 + others) to check authorizations */
if (!POLKIT_IS_UNIX_USER (user_of_caller) ||
- polkit_unix_user_get_uid (POLKIT_UNIX_USER (user_of_caller)) != 0) /* TODO: allow other uids like 'haldaemon' */
+ polkit_unix_user_get_uid (POLKIT_UNIX_USER (user_of_caller)) != 0) /* TODO: allow other uids like 'haldaemon'? */
{
g_simple_async_result_set_error (simple,
POLKIT_ERROR,
@@ -713,7 +569,6 @@ check_authorization_sync (PolkitBackendAuthority *authority,
PolkitSubject *session_for_subject;
gchar *subject_str;
GList *groups_of_user;
- GList *l;
PolkitActionDescription *action_desc;
gboolean session_is_local;
gboolean session_is_active;
@@ -807,13 +662,16 @@ check_authorization_sync (PolkitBackendAuthority *authority,
}
/* then see if there's a temporary authorization for the subject */
- if (check_temporary_authorization_for_identity (local_authority, user_of_subject, subject, action_id))
+ if (temporary_authorization_store_has_authorization (priv->temporary_authorization_store,
+ subject,
+ action_id))
{
g_debug (" is authorized (has temporary authorization)");
result = polkit_authorization_result_new (TRUE, FALSE, NULL);
goto out;
}
+#if 0
/* then see if we have an authorization for the user */
if (check_authorization_for_identity (local_authority, user_of_subject, action_id))
{
@@ -835,6 +693,7 @@ check_authorization_sync (PolkitBackendAuthority *authority,
goto out;
}
}
+#endif
if (implicit_authorization != POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED)
{
@@ -874,226 +733,6 @@ check_authorization_sync (PolkitBackendAuthority *authority,
/* ---------------------------------------------------------------------------------------------------- */
-static GList *
-polkit_backend_local_authority_enumerate_authorizations (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- GError **error)
-{
- PolkitBackendLocalAuthority *local_authority;
- PolkitBackendLocalAuthorityPrivate *priv;
- PolkitIdentity *user_of_caller;
- gchar *identity_str;
- GList *list;
-
- list = NULL;
-
- local_authority = POLKIT_BACKEND_LOCAL_AUTHORITY (authority);
- priv = POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE (local_authority);
-
- identity_str = polkit_identity_to_string (identity);
-
- g_debug ("enumerating authorizations for %s", identity_str);
-
- user_of_caller = polkit_backend_session_monitor_get_user_for_subject (priv->session_monitor,
- caller,
- error);
- if (user_of_caller == NULL)
- goto out;
-
- /* special case: uid 0, root, is _always_ authorized */
- if (polkit_unix_user_get_uid (POLKIT_UNIX_USER (user_of_caller)) != 0)
- {
- /* allow users to read their own authorizations */
- if (!polkit_identity_equal (user_of_caller, identity))
- {
- /* in the future, use something like org.freedesktop.policykit1.localauthority.manage to allow this */
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Can't look at authorizations belonging to other identities");
- goto out;
- }
- }
-
- list = get_authorizations_for_identity (local_authority, identity);
-
- out:
- g_free (identity_str);
- if (user_of_caller != NULL)
- g_object_unref (user_of_caller);
-
- return list;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static gboolean
-polkit_backend_local_authority_add_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- PolkitBackendLocalAuthority *local_authority;
- PolkitBackendLocalAuthorityPrivate *priv;
- PolkitIdentity *user_of_caller;
- PolkitSubject *subject;
- const gchar *action_id;
- gboolean is_negative;
- gchar *subject_str;
- gboolean ret;
-
- local_authority = POLKIT_BACKEND_LOCAL_AUTHORITY (authority);
- priv = POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE (local_authority);
-
- ret = FALSE;
-
- subject_str = NULL;
- user_of_caller = NULL;
-
- subject = polkit_local_authorization_get_subject (authorization);
- action_id = polkit_local_authorization_get_action_id (authorization);
- is_negative = polkit_local_authorization_get_is_negative (authorization);
-
- if (subject != NULL)
- subject_str = polkit_subject_to_string (subject);
-
- g_debug ("add authorization with subject=%s, action_id=%s, is_negative=%d",
- subject_str != NULL ? subject_str : "<none>",
- action_id,
- is_negative);
-
- user_of_caller = polkit_backend_session_monitor_get_user_for_subject (priv->session_monitor,
- caller,
- error);
- if (user_of_caller == NULL)
- goto out;
-
- /* special case: uid 0, root, is _always_ authorized */
- if (polkit_unix_user_get_uid (POLKIT_UNIX_USER (user_of_caller)) != 0)
- {
- /* in the future, use something like org.freedesktop.policykit1.localauthority.manage to allow this */
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Not authorized to add authorization");
- goto out;
- }
-
- /* We can only add temporary authorizations to users, not e.g. groups */
- if (subject != NULL && !POLKIT_IS_UNIX_USER (identity))
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Can only add temporary authorizations to users");
- goto out;
- }
-
- if (!add_authorization_for_identity (local_authority,
- identity,
- authorization,
- error))
- {
- goto out;
- }
-
- ret = TRUE;
-
- out:
- g_free (subject_str);
- if (user_of_caller != NULL)
- g_object_unref (user_of_caller);
-
- return ret;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static gboolean
-polkit_backend_local_authority_remove_authorization (PolkitBackendAuthority *authority,
- PolkitSubject *caller,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- PolkitBackendLocalAuthority *local_authority;
- PolkitBackendLocalAuthorityPrivate *priv;
- PolkitIdentity *user_of_caller;
- PolkitSubject *subject;
- const gchar *action_id;
- gboolean is_negative;
- gchar *subject_str;
- gboolean ret;
-
- local_authority = POLKIT_BACKEND_LOCAL_AUTHORITY (authority);
- priv = POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE (local_authority);
-
- ret = FALSE;
-
- subject_str = NULL;
- user_of_caller = NULL;
-
- subject = polkit_local_authorization_get_subject (authorization);
- action_id = polkit_local_authorization_get_action_id (authorization);
- is_negative = polkit_local_authorization_get_is_negative (authorization);
-
- if (subject != NULL)
- subject_str = polkit_subject_to_string (subject);
-
- g_debug ("remove authorization with subject=%s, action_id=%s, is_negative=%d",
- subject_str != NULL ? subject_str : "<none>",
- action_id,
- is_negative);
-
- user_of_caller = polkit_backend_session_monitor_get_user_for_subject (priv->session_monitor,
- caller,
- error);
- if (user_of_caller == NULL)
- goto out;
-
- /* special case: uid 0, root, is _always_ authorized */
- if (polkit_unix_user_get_uid (POLKIT_UNIX_USER (user_of_caller)) != 0)
- {
- /* in the future, use something like org.freedesktop.policykit1.localauthority.manage to allow this */
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Not authorized to remove authorization");
- goto out;
- }
-
- /* We can only remove temporary authorizations from users, not e.g. groups */
- if (subject != NULL && !POLKIT_IS_UNIX_USER (identity))
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Can only remove temporary authorizations from users");
- goto out;
- }
-
- if (!remove_authorization_for_identity (local_authority,
- identity,
- authorization,
- error))
- {
- goto out;
- }
-
- ret = TRUE;
-
- out:
- g_free (subject_str);
- if (user_of_caller != NULL)
- g_object_unref (user_of_caller);
-
- return ret;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
struct AuthenticationAgent
{
PolkitSubject *session;
@@ -2126,514 +1765,106 @@ polkit_backend_local_authority_system_bus_name_owner_changed (PolkitBackendAutho
/* ---------------------------------------------------------------------------------------------------- */
-struct AuthorizationStore
-{
- PolkitIdentity *identity;
-
- gchar *path;
+typedef struct TemporaryAuthorization TemporaryAuthorization;
+struct TemporaryAuthorizationStore
+{
GList *authorizations;
-
- GList *temporary_authorizations;
-
};
-static AuthorizationStore *authorization_store_new (PolkitIdentity *identity);
-static GList *authorization_store_get_all_authorizations (AuthorizationStore *store);
-
-static PolkitLocalAuthorization *authorization_store_find_permanent_authorization (AuthorizationStore *store,
- const gchar *action_id);
-
-static PolkitLocalAuthorization *authorization_store_find_temporary_authorization (AuthorizationStore *store,
- PolkitSubject *subject,
- const gchar *action_id);
-
-static gboolean authorization_store_add_authorization (AuthorizationStore *store,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
-static gboolean authorization_store_remove_authorization (AuthorizationStore *store,
- PolkitLocalAuthorization *authorization,
- GError **error);
-
-/* private */
-static void authorization_store_reload_permanent_authorizations (AuthorizationStore *store);
-static gboolean authorization_store_save_permanent_authorizations (AuthorizationStore *store,
- GError **error);
+struct TemporaryAuthorization
+{
+ PolkitSubject *subject;
+ gchar *action_id;
+ guint64 time_granted;
+};
static void
-authorization_store_free (AuthorizationStore *store)
+temporary_authorization_free (TemporaryAuthorization *authorization)
{
- g_object_unref (store->identity);
- g_list_foreach (store->authorizations, (GFunc) g_object_unref, NULL);
- g_list_free (store->authorizations);
- g_list_foreach (store->temporary_authorizations, (GFunc) g_object_unref, NULL);
- g_list_free (store->temporary_authorizations);
- g_free (store->path);
- g_free (store);
+ g_object_unref (authorization->subject);
+ g_free (authorization->action_id);
+ g_free (authorization);
}
-static AuthorizationStore *
-authorization_store_new (PolkitIdentity *identity)
+static TemporaryAuthorization *
+temporary_authorization_new (PolkitSubject *subject,
+ const gchar *action_id)
{
- AuthorizationStore *store;
- gchar *filename;
- gchar *identity_str;
-
- store = NULL;
- filename = NULL;
+ TemporaryAuthorization *authorization;
- identity_str = polkit_identity_to_string (identity);
-
- if (POLKIT_IS_UNIX_USER (identity))
- {
- filename = g_strdup_printf ("unix-user-%s.authz", identity_str + sizeof ("unix-user:") - 1);
- }
- else if (POLKIT_IS_UNIX_GROUP (identity))
- {
- filename = g_strdup_printf ("unix-group-%s.authz", identity_str + sizeof ("unix-group:") - 1);
- }
- else
- {
- g_error ("Unknown identity %s", identity_str);
- goto out;
- }
+ authorization = g_new0 (TemporaryAuthorization, 1);
+ authorization->subject = g_object_ref (subject);
+ authorization->action_id = g_strdup (action_id);
+ authorization->time_granted = time (NULL);
- store = g_new0 (AuthorizationStore, 1);
- store->identity = g_object_ref (identity);
+ return authorization;
+}
- if (filename != NULL)
- store->path = g_strdup_printf (PACKAGE_LOCALSTATE_DIR "/lib/polkit-1/%s", filename);
+static TemporaryAuthorizationStore *
+temporary_authorization_store_new (void)
+{
+ TemporaryAuthorizationStore *store;
- authorization_store_reload_permanent_authorizations (store);
+ store = g_new0 (TemporaryAuthorizationStore, 1);
+ store->authorizations = NULL;
- out:
- g_free (filename);
- g_free (identity_str);
return store;
}
static void
-authorization_store_reload_permanent_authorizations (AuthorizationStore *store)
+temporary_authorization_store_free (TemporaryAuthorizationStore *store)
{
- GError *error;
- gchar *data;
- gchar **lines;
- gint n;
-
- error = NULL;
- data = NULL;
-
- g_list_foreach (store->authorizations, (GFunc) g_object_unref, NULL);
+ g_list_foreach (store->authorizations, (GFunc) temporary_authorization_free, NULL);
g_list_free (store->authorizations);
- store->authorizations = NULL;
-
- if (store->path == NULL)
- goto out;
-
- if (!g_file_get_contents (store->path,
- &data,
- NULL,
- &error))
- {
- /* it's not a bug if the file doesn't exist */
- if (error->code != G_FILE_ERROR_NOENT)
- {
- g_warning ("Error loading authorizations file at %s: %s", store->path, error->message);
- }
- g_error_free (error);
- goto out;
- }
-
- lines = g_strsplit (data, "\n", 0);
- for (n = 0; lines[n] != NULL; n++)
- {
- gchar *line = lines[n];
- gchar **tokens;
- guint num_tokens;
- const gchar *action_id;
- gboolean is_negative;
- PolkitLocalAuthorization *authorization;
-
- /* skip blank lines and comments */
- if (strlen (line) == 0 || line[0] == '#')
- continue;
-
- tokens = g_strsplit (line, " ", 0);
- num_tokens = g_strv_length (tokens);
-
- if (num_tokens != 2)
- {
- g_warning ("Malformed authorizations line '%s' in file %s at line %d", line, store->path, n);
- g_strfreev (tokens);
- continue;
- }
-
- action_id = tokens[0];
- is_negative = (strcmp (tokens[1], "1") == 0);
-
- authorization = polkit_local_authorization_new (action_id, NULL, is_negative);
-
- store->authorizations = g_list_prepend (store->authorizations, authorization);
- }
- g_strfreev (lines);
-
- store->authorizations = g_list_reverse (store->authorizations);
-
- out:
- g_free (data);
+ g_free (store);
}
static gboolean
-authorization_store_save_permanent_authorizations (AuthorizationStore *store,
- GError **error)
+temporary_authorization_store_has_authorization (TemporaryAuthorizationStore *store,
+ PolkitSubject *subject,
+ const gchar *action_id)
{
- GString *s;
- gchar *str;
GList *l;
gboolean ret;
- ret = FALSE;
- str = NULL;
-
- /* simply unlink the file if there are no authorizations */
- if (store->authorizations == NULL)
- {
- if (g_unlink (store->path) != 0)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Cannot remove authorization. Error unlinking file %s: %m",
- store->path);
- goto out;
- }
-
- ret = TRUE;
- goto out;
- }
-
- s = g_string_new ("# polkit-1 " PACKAGE_VERSION " authorizations file\n"
- "#\n"
- "# Do not edit, use polkit-1(1) to manipulate authorizations\n"
- "#\n"
- "\n");
-
- for (l = store->authorizations; l != NULL; l = l->next)
- {
- PolkitLocalAuthorization *authorization = POLKIT_LOCAL_AUTHORIZATION (l->data);
- const gchar *action_id;
- gboolean is_negative;
-
- action_id = polkit_local_authorization_get_action_id (authorization);
- is_negative = polkit_local_authorization_get_is_negative (authorization);
-
- g_string_append_printf (s, "%s %d\n", action_id, is_negative);
- }
-
- str = g_string_free (s, FALSE);
-
- if (!g_file_set_contents (store->path,
- str,
- strlen (str),
- error))
- goto out;
-
- ret = TRUE;
-
- out:
-
- g_free (str);
-
- return ret;
-}
-
-
-/* caller must free list after unreffing all elements */
-static GList *
-authorization_store_get_all_authorizations (AuthorizationStore *store)
-{
- GList *result;
-
- result = g_list_copy (store->authorizations);
- result = g_list_concat (result, g_list_copy (store->temporary_authorizations));
-
- g_list_foreach (result, (GFunc) g_object_ref, NULL);
-
- return result;
-}
-
-static PolkitLocalAuthorization *
-authorization_store_find_permanent_authorization (AuthorizationStore *store,
- const gchar *action_id)
-{
- GList *l;
- PolkitLocalAuthorization *ret;
-
- ret = NULL;
-
- for (l = store->authorizations; l != NULL; l = l->next)
- {
- PolkitLocalAuthorization *authorization = POLKIT_LOCAL_AUTHORIZATION (l->data);
- const gchar *authorization_action_id;
-
- authorization_action_id = polkit_local_authorization_get_action_id (authorization);
- if (strcmp (authorization_action_id, action_id) == 0)
- {
- ret = authorization;
- goto out;
- }
- }
-
- out:
- return ret;
-}
-
-static PolkitLocalAuthorization *
-authorization_store_find_temporary_authorization (AuthorizationStore *store,
- PolkitSubject *subject,
- const gchar *action_id)
-{
- GList *l;
- PolkitLocalAuthorization *ret;
-
- ret = NULL;
-
- for (l = store->temporary_authorizations; l != NULL; l = l->next)
- {
- PolkitLocalAuthorization *authorization = POLKIT_LOCAL_AUTHORIZATION (l->data);
- const gchar *authorization_action_id;
- PolkitSubject *authorization_subject;
-
- authorization_action_id = polkit_local_authorization_get_action_id (authorization);
- authorization_subject = polkit_local_authorization_get_subject (authorization);
-
- if (strcmp (authorization_action_id, action_id) == 0 &&
- polkit_subject_equal (authorization_subject, subject))
- {
- ret = authorization;
- goto out;
- }
- }
-
- out:
- return ret;
-}
-
-static gboolean
-authorization_store_add_authorization (AuthorizationStore *store,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- gboolean ret;
- PolkitSubject *subject;
- const gchar *action_id;
+ g_return_val_if_fail (store != NULL, FALSE);
+ g_return_val_if_fail (POLKIT_IS_SUBJECT (subject), FALSE);
+ g_return_val_if_fail (action_id != NULL, FALSE);
ret = FALSE;
- action_id = polkit_local_authorization_get_action_id (authorization);
- subject = polkit_local_authorization_get_subject (authorization);
-
- if (subject != NULL)
- {
- /* check if authorization is already present */
- if (authorization_store_find_temporary_authorization (store, subject, action_id) != NULL)
- {
- gchar *subject_str;
+ for (l = store->authorizations; l != NULL; l = l->next) {
+ TemporaryAuthorization *authorization = l->data;
- subject_str = polkit_subject_to_string (subject);
-
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Cannot add authorization. Identity already has an authorization for %s for the subject %s",
- action_id,
- subject_str);
-
- g_free (subject_str);
- goto out;
- }
-
- store->temporary_authorizations = g_list_prepend (store->temporary_authorizations, g_object_ref (authorization));
-
- ret = TRUE;
- }
- else
- {
- /* check if authorization is already present */
- if (authorization_store_find_permanent_authorization (store, action_id) != NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Cannot add authorization. Identity already has an authorization for %s", action_id);
- goto out;
- }
-
- store->authorizations = g_list_prepend (store->authorizations, g_object_ref (authorization));
-
- if (!authorization_store_save_permanent_authorizations (store, error))
- {
- /* roll back then */
- store->authorizations = g_list_remove (store->authorizations, authorization);
- g_object_unref (authorization);
- goto out;
- }
-
- ret = TRUE;
- }
-
- out:
- return ret;
-}
-
-static gboolean
-authorization_store_remove_authorization (AuthorizationStore *store,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- gboolean ret;
- PolkitSubject *subject;
- const gchar *action_id;
- PolkitLocalAuthorization *target;
-
- ret = FALSE;
-
- action_id = polkit_local_authorization_get_action_id (authorization);
- subject = polkit_local_authorization_get_subject (authorization);
-
- if (subject != NULL)
- {
-
- target = authorization_store_find_temporary_authorization (store, subject, action_id);
-
- if (target == NULL)
- {
- gchar *subject_str;
-
- subject_str = polkit_subject_to_string (subject);
-
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Cannot remove authorization. Identity doesn't has an authorization for %s constrained to the subject %s", action_id, subject_str);
-
- g_free (subject_str);
- goto out;
- }
-
- store->temporary_authorizations = g_list_remove (store->temporary_authorizations, target);
-
- ret = TRUE;
-
- goto out;
- }
- else
- {
- GList *old_list;
-
- target = authorization_store_find_permanent_authorization (store, action_id);
-
- if (target == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Cannot remove authorization. Identity doesn't has an authorization for %s", action_id);
- goto out;
- }
-
- old_list = g_list_copy (store->authorizations);
-
- store->authorizations = g_list_remove (store->authorizations, target);
-
- if (!authorization_store_save_permanent_authorizations (store, error))
- {
- /* roll back then */
- g_list_free (store->authorizations);
- store->authorizations = old_list;
- goto out;
- }
-
- g_object_unref (target);
-
- ret = TRUE;
- }
+ if (strcmp (action_id, authorization->action_id) == 0 &&
+ polkit_subject_equal (subject, authorization->subject))
+ {
+ ret = TRUE;
+ goto out;
+ }
+ }
out:
return ret;
}
-/* ---------------------------------------------------------------------------------------------------- */
-
-static AuthorizationStore *
-get_authorization_store_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity)
+static void
+temporary_authorization_store_add_authorization (TemporaryAuthorizationStore *store,
+ PolkitSubject *subject,
+ const gchar *action_id)
{
- PolkitBackendLocalAuthorityPrivate *priv;
- AuthorizationStore *store;
-
- priv = POLKIT_BACKEND_LOCAL_AUTHORITY_GET_PRIVATE (authority);
+ g_return_if_fail (store != NULL);
+ g_return_if_fail (POLKIT_IS_SUBJECT (subject));
+ g_return_if_fail (action_id != NULL);
+ g_return_if_fail (!temporary_authorization_store_has_authorization (store, subject, action_id));
- store = g_hash_table_lookup (priv->hash_identity_to_authority_store, identity);
- if (store != NULL)
- goto out;
-
- store = authorization_store_new (identity);
- if (store == NULL)
- goto out;
-
- g_hash_table_insert (priv->hash_identity_to_authority_store,
- g_object_ref (identity),
- store);
-
- out:
- return store;
+ store->authorizations = g_list_prepend (store->authorizations,
+ temporary_authorization_new (subject, action_id));
}
/* ---------------------------------------------------------------------------------------------------- */
-static gboolean
-check_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- const gchar *action_id)
-{
- AuthorizationStore *store;
- gboolean result;
-
- result = FALSE;
-
- store = get_authorization_store_for_identity (authority, identity);
- if (store == NULL)
- goto out;
-
- result = (authorization_store_find_permanent_authorization (store, action_id) != NULL);
-
- out:
- return result;
-}
-
-static gboolean
-check_temporary_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- PolkitSubject *subject,
- const gchar *action_id)
-{
- AuthorizationStore *store;
- gboolean result;
-
- result = FALSE;
-
- store = get_authorization_store_for_identity (authority, identity);
- if (store == NULL)
- goto out;
-
- result = (authorization_store_find_temporary_authorization (store, subject, action_id) != NULL);
-
- out:
- return result;
-}
-
static GList *
get_users_in_group (PolkitBackendLocalAuthority *authority,
PolkitIdentity *group,
@@ -2681,6 +1912,7 @@ get_users_in_group (PolkitBackendLocalAuthority *authority,
return ret;
}
+#if 0
static GList *
get_groups_for_user (PolkitBackendLocalAuthority *authority,
PolkitIdentity *user)
@@ -2722,85 +1954,6 @@ get_groups_for_user (PolkitBackendLocalAuthority *authority,
return result;
}
-
-static GList *
-get_authorizations_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity)
-{
- AuthorizationStore *store;
- GList *result;
-
- result = NULL;
-
- store = get_authorization_store_for_identity (authority, identity);
- if (store == NULL)
- goto out;
-
- result = authorization_store_get_all_authorizations (store);
-
- out:
- return result;
-}
-
-static gboolean
-add_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- AuthorizationStore *store;
- gboolean ret;
-
- ret = FALSE;
-
- store = get_authorization_store_for_identity (authority, identity);
- if (store == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Malformed identity");
- goto out;
- }
-
- ret = authorization_store_add_authorization (store,
- authorization,
- error);
-
- if (ret)
- g_signal_emit_by_name (authority, "changed");
-
- out:
- return ret;
-}
-
-static gboolean
-remove_authorization_for_identity (PolkitBackendLocalAuthority *authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GError **error)
-{
- AuthorizationStore *store;
- gboolean ret;
-
- ret = FALSE;
-
- store = get_authorization_store_for_identity (authority, identity);
- if (store == NULL)
- {
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "Malformed identity");
- goto out;
- }
-
- ret = authorization_store_remove_authorization (store,
- authorization,
- error);
-
- out:
- return ret;
-}
+#endif
/* ---------------------------------------------------------------------------------------------------- */
diff --git a/src/polkitd/Makefile.am b/src/polkitd/Makefile.am
index af1ca5f..c425d68 100644
--- a/src/polkitd/Makefile.am
+++ b/src/polkitd/Makefile.am
@@ -22,7 +22,6 @@ polkitd_1_SOURCES = \
polkitd_1_CFLAGS = \
-DPOLKIT_BACKEND_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
- -DPOLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
-DG_LOG_DOMAIN=\"polkitd-1\" \
$(GLIB_CFLAGS) \
$(NULL)
diff --git a/src/polkitlocal/Makefile.am b/src/polkitlocal/Makefile.am
deleted file mode 100644
index eac6a24..0000000
--- a/src/polkitlocal/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-NULL =
-
-INCLUDES = \
- -I$(top_builddir)/src \
- -I$(top_srcdir)/src \
- -I$(top_builddir)/src/polkit \
- -I$(top_srcdir)/src/polkit \
- -DPACKAGE_LIBEXEC_DIR=\""$(libexecdir)"\" \
- -DPACKAGE_SYSCONF_DIR=\""$(sysconfdir)"\" \
- -DPACKAGE_DATA_DIR=\""$(datadir)"\" \
- -DPACKAGE_BIN_DIR=\""$(bindir)"\" \
- -DPACKAGE_LOCALSTATE_DIR=\""$(localstatedir)"\" \
- -DPACKAGE_LOCALE_DIR=\""$(localedir)"\" \
- -DPACKAGE_LIB_DIR=\""$(libdir)"\" \
- -D_POSIX_PTHREAD_SEMANTICS \
- -D_REENTRANT \
- -DEGG_DBUS_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
- $(NULL)
-
-lib_LTLIBRARIES=libpolkit-local-1.la
-
-libpolkit_local_1includedir=$(includedir)/polkit-1/polkitlocal
-
-libpolkit_local_1include_HEADERS = \
- polkitlocal.h \
- polkitlocaltypes.h \
- polkitlocalauthority.h \
- polkitlocalauthorization.h \
- $(NULL)
-
-libpolkit_local_1_la_SOURCES = \
- polkitlocal.h \
- polkitlocaltypes.h \
- polkitlocalprivate.h \
- polkitlocalauthority.c polkitlocalauthority.h \
- polkitlocalauthorization.c polkitlocalauthorization.h \
- $(NULL)
-
-libpolkit_local_1_la_CFLAGS = \
- -D_POLKIT_COMPILATION \
- -D_POLKIT_LOCAL_COMPILATION \
- $(GLIB_CFLAGS) \
- $(EGG_DBUS_CFLAGS) \
- $(NULL)
-
-libpolkit_local_1_la_LIBADD = \
- $(GLIB_LIBS) \
- $(EGG_DBUS_LIBS) \
- $(top_builddir)/src/polkit/libpolkit-gobject-1.la \
- $(EXPAT_LIBS) \
- $(NULL)
-
-clean-local :
- rm -f *~
diff --git a/src/polkitlocal/polkitlocal.h b/src/polkitlocal/polkitlocal.h
deleted file mode 100644
index e0317b7..0000000
--- a/src/polkitlocal/polkitlocal.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz at redhat.com>
- */
-
-#ifndef __POLKIT_LOCAL_H
-#define __POLKIT_LOCAL_H
-
-#if !defined (POLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE) && !defined (_POLKIT_LOCAL_COMPILATION)
-#error "libpolkitlocal is unstable API and subject to change. You must define POLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE to acknowledge this."
-#endif
-
-#define _POLKIT_LOCAL_INSIDE_POLKIT_LOCAL_H 1
-#include <polkitlocal/polkitlocaltypes.h>
-#include <polkitlocal/polkitlocalauthority.h>
-#include <polkitlocal/polkitlocalauthorization.h>
-#undef _POLKIT_LOCAL_INSIDE_POLKIT_LOCAL_H
-
-#endif /* __POLKIT_LOCAL_H */
diff --git a/src/polkitlocal/polkitlocalauthority.c b/src/polkitlocal/polkitlocalauthority.c
deleted file mode 100644
index 34605ab..0000000
--- a/src/polkitlocal/polkitlocalauthority.c
+++ /dev/null
@@ -1,656 +0,0 @@
-/*
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz at redhat.com>
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "polkitlocalauthority.h"
-
-#include "polkitprivate.h"
-#include "polkitlocalprivate.h"
-
-/**
- * SECTION:polkitlocalauthority
- * @title: PolkitLocalAuthority
- * @short_description: Manage the Local Authority
- * @stability: Unstable
- *
- * Manage authorizations.
- *
- * To use this unstable API you need to define the symbol
- * <literal>POLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE</literal>.
- */
-
-struct _PolkitLocalAuthority
-{
- GObject parent_instance;
-
- EggDBusConnection *system_bus;
- EggDBusObjectProxy *local_authority_object_proxy;
-
- _PolkitLocalAuthority *real;
-};
-
-struct _PolkitLocalAuthorityClass
-{
- GObjectClass parent_class;
-
-};
-
-/* TODO: locking */
-
-static PolkitLocalAuthority *the_local_authority = NULL;
-
-G_DEFINE_TYPE (PolkitLocalAuthority, polkit_local_authority, G_TYPE_OBJECT);
-
-
-static void
-polkit_local_authority_init (PolkitLocalAuthority *local_authority)
-{
- local_authority->system_bus = egg_dbus_connection_get_for_bus (EGG_DBUS_BUS_TYPE_SYSTEM);
-
- local_authority->local_authority_object_proxy = egg_dbus_connection_get_object_proxy (local_authority->system_bus,
- "org.freedesktop.PolicyKit1",
- "/org/freedesktop/PolicyKit1/Authority");
-
- local_authority->real = _POLKIT_QUERY_INTERFACE_LOCAL_AUTHORITY (local_authority->local_authority_object_proxy);
-}
-
-static void
-polkit_local_authority_finalize (GObject *object)
-{
- PolkitLocalAuthority *local_authority;
-
- local_authority = POLKIT_LOCAL_AUTHORITY (object);
-
- g_object_unref (local_authority->local_authority_object_proxy);
- g_object_unref (local_authority->system_bus);
-
- the_local_authority = NULL;
-
- if (G_OBJECT_CLASS (polkit_local_authority_parent_class)->finalize != NULL)
- G_OBJECT_CLASS (polkit_local_authority_parent_class)->finalize (object);
-}
-
-static void
-polkit_local_authority_class_init (PolkitLocalAuthorityClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
- gobject_class->finalize = polkit_local_authority_finalize;
-
-}
-
-PolkitLocalAuthority *
-polkit_local_authority_get (void)
-{
- if (the_local_authority != NULL)
- goto out;
-
- the_local_authority = POLKIT_LOCAL_AUTHORITY (g_object_new (POLKIT_TYPE_LOCAL_AUTHORITY, NULL));
-
- out:
- return the_local_authority;
-}
-
-static void
-generic_cb (GObject *source_obj,
- GAsyncResult *res,
- gpointer user_data)
-{
- GAsyncResult **target_res = user_data;
-
- *target_res = g_object_ref (res);
-}
-
-static void
-generic_async_cb (GObject *source_obj,
- GAsyncResult *res,
- gpointer user_data)
-{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
-
- g_simple_async_result_set_op_res_gpointer (simple, g_object_ref (res), g_object_unref);
- g_simple_async_result_complete (simple);
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static guint
-polkit_local_authority_enumerate_users_async (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- guint call_id;
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (local_authority),
- callback,
- user_data,
- polkit_local_authority_enumerate_users_async);
-
- call_id = _polkit_local_authority_enumerate_users (local_authority->real,
- EGG_DBUS_CALL_FLAGS_NONE,
- cancellable,
- generic_async_cb,
- simple);
-
- return call_id;
-}
-
-void
-polkit_local_authority_enumerate_users (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- polkit_local_authority_enumerate_users_async (local_authority, cancellable, callback, user_data);
-}
-
-GList *
-polkit_local_authority_enumerate_users_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error)
-{
- EggDBusArraySeq *array_seq;
- GList *result;
- guint n;
- GSimpleAsyncResult *simple;
- GAsyncResult *real_res;
-
- simple = G_SIMPLE_ASYNC_RESULT (res);
- real_res = G_ASYNC_RESULT (g_simple_async_result_get_op_res_gpointer (simple));
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_local_authority_enumerate_users_async);
-
- result = NULL;
-
- if (!_polkit_local_authority_enumerate_users_finish (local_authority->real,
- &array_seq,
- real_res,
- error))
- goto out;
-
- for (n = 0; n < array_seq->size; n++)
- {
- _PolkitIdentity *real_identity;
-
- real_identity = array_seq->data.v_ptr[n];
-
- result = g_list_prepend (result, polkit_identity_new_for_real (real_identity));
- }
-
- result = g_list_reverse (result);
-
- g_object_unref (array_seq);
-
- out:
- g_object_unref (real_res);
- return result;
-}
-
-GList *
-polkit_local_authority_enumerate_users_sync (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GError **error)
-{
- guint call_id;
- GAsyncResult *res;
- GList *result;
-
- call_id = polkit_local_authority_enumerate_users_async (local_authority, cancellable, generic_cb, &res);
-
- egg_dbus_connection_pending_call_block (local_authority->system_bus, call_id);
-
- result = polkit_local_authority_enumerate_users_finish (local_authority, res, error);
-
- g_object_unref (res);
-
- return result;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static guint
-polkit_local_authority_enumerate_groups_async (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- guint call_id;
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (local_authority),
- callback,
- user_data,
- polkit_local_authority_enumerate_groups_async);
-
- call_id = _polkit_local_authority_enumerate_groups (local_authority->real,
- EGG_DBUS_CALL_FLAGS_NONE,
- cancellable,
- generic_async_cb,
- simple);
-
- return call_id;
-}
-
-void
-polkit_local_authority_enumerate_groups (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- polkit_local_authority_enumerate_groups_async (local_authority, cancellable, callback, user_data);
-}
-
-GList *
-polkit_local_authority_enumerate_groups_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error)
-{
- EggDBusArraySeq *array_seq;
- GList *result;
- guint n;
- GSimpleAsyncResult *simple;
- GAsyncResult *real_res;
-
- simple = G_SIMPLE_ASYNC_RESULT (res);
- real_res = G_ASYNC_RESULT (g_simple_async_result_get_op_res_gpointer (simple));
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_local_authority_enumerate_groups_async);
-
- result = NULL;
-
- if (!_polkit_local_authority_enumerate_groups_finish (local_authority->real,
- &array_seq,
- real_res,
- error))
- goto out;
-
- for (n = 0; n < array_seq->size; n++)
- {
- _PolkitIdentity *real_identity;
-
- real_identity = array_seq->data.v_ptr[n];
-
- result = g_list_prepend (result, polkit_identity_new_for_real (real_identity));
- }
-
- result = g_list_reverse (result);
-
- g_object_unref (array_seq);
-
- out:
- g_object_unref (real_res);
- return result;
-}
-
-GList *
-polkit_local_authority_enumerate_groups_sync (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GError **error)
-{
- guint call_id;
- GAsyncResult *res;
- GList *result;
-
- call_id = polkit_local_authority_enumerate_groups_async (local_authority, cancellable, generic_cb, &res);
-
- egg_dbus_connection_pending_call_block (local_authority->system_bus, call_id);
-
- result = polkit_local_authority_enumerate_groups_finish (local_authority, res, error);
-
- g_object_unref (res);
-
- return result;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static guint
-polkit_local_authority_enumerate_authorizations_async (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- guint call_id;
- GSimpleAsyncResult *simple;
- _PolkitIdentity *real_identity;
-
- simple = g_simple_async_result_new (G_OBJECT (local_authority),
- callback,
- user_data,
- polkit_local_authority_enumerate_authorizations_async);
-
- real_identity = polkit_identity_get_real (identity);
-
- call_id = _polkit_local_authority_enumerate_authorizations (local_authority->real,
- EGG_DBUS_CALL_FLAGS_NONE,
- real_identity,
- cancellable,
- generic_async_cb,
- simple);
-
- g_object_unref (real_identity);
-
- return call_id;
-}
-
-void
-polkit_local_authority_enumerate_authorizations (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- polkit_local_authority_enumerate_authorizations_async (local_authority,
- identity,
- cancellable,
- callback,
- user_data);
-}
-
-GList *
-polkit_local_authority_enumerate_authorizations_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error)
-{
- EggDBusArraySeq *array_seq;
- GList *result;
- guint n;
- GSimpleAsyncResult *simple;
- GAsyncResult *real_res;
-
- simple = G_SIMPLE_ASYNC_RESULT (res);
- real_res = G_ASYNC_RESULT (g_simple_async_result_get_op_res_gpointer (simple));
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_local_authority_enumerate_authorizations_async);
-
- result = NULL;
-
- if (!_polkit_local_authority_enumerate_authorizations_finish (local_authority->real,
- &array_seq,
- real_res,
- error))
- goto out;
-
- for (n = 0; n < array_seq->size; n++)
- {
- _PolkitLocalAuthorization *real_authorization;
-
- real_authorization = array_seq->data.v_ptr[n];
-
- result = g_list_prepend (result, polkit_local_authorization_new_for_real (real_authorization));
- }
-
- result = g_list_reverse (result);
-
- g_object_unref (array_seq);
-
- out:
- g_object_unref (real_res);
- return result;
-}
-
-
-GList *
-polkit_local_authority_enumerate_authorizations_sync (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- GCancellable *cancellable,
- GError **error)
-{
- guint call_id;
- GAsyncResult *res;
- GList *result;
-
- call_id = polkit_local_authority_enumerate_authorizations_async (local_authority,
- identity,
- cancellable,
- generic_cb,
- &res);
-
- egg_dbus_connection_pending_call_block (local_authority->system_bus, call_id);
-
- result = polkit_local_authority_enumerate_authorizations_finish (local_authority, res, error);
-
- g_object_unref (res);
-
- return result;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static guint
-polkit_local_authority_add_authorization_async (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- guint call_id;
- GSimpleAsyncResult *simple;
- _PolkitLocalAuthorization *real_authorization;
- _PolkitIdentity *real_identity;
-
- simple = g_simple_async_result_new (G_OBJECT (local_authority),
- callback,
- user_data,
- polkit_local_authority_add_authorization_async);
-
- real_identity = polkit_identity_get_real (identity);
- real_authorization = polkit_local_authorization_get_real (authorization);
-
- call_id = _polkit_local_authority_add_authorization (local_authority->real,
- EGG_DBUS_CALL_FLAGS_NONE,
- real_identity,
- real_authorization,
- cancellable,
- generic_async_cb,
- simple);
-
- g_object_unref (real_authorization);
- g_object_unref (real_identity);
-
- return call_id;
-}
-
-void
-polkit_local_authority_add_authorization (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- polkit_local_authority_add_authorization_async (local_authority,
- identity,
- authorization,
- cancellable,
- callback,
- user_data);
-}
-
-gboolean
-polkit_local_authority_add_authorization_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GAsyncResult *real_res;
- gboolean ret;
-
- simple = G_SIMPLE_ASYNC_RESULT (res);
- real_res = G_ASYNC_RESULT (g_simple_async_result_get_op_res_gpointer (simple));
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_local_authority_add_authorization_async);
-
- ret = _polkit_local_authority_add_authorization_finish (local_authority->real,
- real_res,
- error);
-
- if (!ret)
- goto out;
-
- out:
- g_object_unref (real_res);
- return ret;
-}
-
-
-gboolean
-polkit_local_authority_add_authorization_sync (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GError **error)
-{
- guint call_id;
- GAsyncResult *res;
- gboolean ret;
-
- call_id = polkit_local_authority_add_authorization_async (local_authority,
- identity,
- authorization,
- cancellable,
- generic_cb,
- &res);
-
- egg_dbus_connection_pending_call_block (local_authority->system_bus, call_id);
-
- ret = polkit_local_authority_add_authorization_finish (local_authority, res, error);
-
- g_object_unref (res);
-
- return ret;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static guint
-polkit_local_authority_remove_authorization_async (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- guint call_id;
- GSimpleAsyncResult *simple;
- _PolkitLocalAuthorization *real_authorization;
- _PolkitIdentity *real_identity;
-
- simple = g_simple_async_result_new (G_OBJECT (local_authority),
- callback,
- user_data,
- polkit_local_authority_remove_authorization_async);
-
- real_identity = polkit_identity_get_real (identity);
- real_authorization = polkit_local_authorization_get_real (authorization);
-
- call_id = _polkit_local_authority_remove_authorization (local_authority->real,
- EGG_DBUS_CALL_FLAGS_NONE,
- real_identity,
- real_authorization,
- cancellable,
- generic_async_cb,
- simple);
-
- g_object_unref (real_authorization);
- g_object_unref (real_identity);
-
- return call_id;
-}
-
-void
-polkit_local_authority_remove_authorization (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- polkit_local_authority_remove_authorization_async (local_authority,
- identity,
- authorization,
- cancellable,
- callback,
- user_data);
-}
-
-gboolean
-polkit_local_authority_remove_authorization_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GAsyncResult *real_res;
- gboolean ret;
-
- simple = G_SIMPLE_ASYNC_RESULT (res);
- real_res = G_ASYNC_RESULT (g_simple_async_result_get_op_res_gpointer (simple));
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_local_authority_remove_authorization_async);
-
- ret = _polkit_local_authority_remove_authorization_finish (local_authority->real,
- real_res,
- error);
-
- if (!ret)
- goto out;
-
- out:
- g_object_unref (real_res);
- return ret;
-}
-
-
-gboolean
-polkit_local_authority_remove_authorization_sync (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GError **error)
-{
- guint call_id;
- GAsyncResult *res;
- gboolean ret;
-
- call_id = polkit_local_authority_remove_authorization_async (local_authority,
- identity,
- authorization,
- cancellable,
- generic_cb,
- &res);
-
- egg_dbus_connection_pending_call_block (local_authority->system_bus, call_id);
-
- ret = polkit_local_authority_remove_authorization_finish (local_authority, res, error);
-
- g_object_unref (res);
-
- return ret;
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
diff --git a/src/polkitlocal/polkitlocalauthority.h b/src/polkitlocal/polkitlocalauthority.h
deleted file mode 100644
index cc1afe5..0000000
--- a/src/polkitlocal/polkitlocalauthority.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz at redhat.com>
- */
-
-#if !defined (_POLKIT_LOCAL_COMPILATION) && !defined(_POLKIT_LOCAL_INSIDE_POLKIT_LOCAL_H)
-#error "Only <polkitlocal/polkitlocal.h> can be included directly, this file may disappear or change contents."
-#endif
-
-#ifndef __POLKIT_LOCAL_AUTHORITY_H
-#define __POLKIT_LOCAL_AUTHORITY_H
-
-#include <glib-object.h>
-#include <gio/gio.h>
-#include <polkitlocal/polkitlocaltypes.h>
-
-G_BEGIN_DECLS
-
-#define POLKIT_TYPE_LOCAL_AUTHORITY (polkit_local_authority_get_type())
-#define POLKIT_LOCAL_AUTHORITY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), POLKIT_TYPE_LOCAL_AUTHORITY, PolkitLocalAuthority))
-#define POLKIT_LOCAL_AUTHORITY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), POLKIT_TYPE_LOCAL_AUTHORITY, PolkitLocalAuthorityClass))
-#define POLKIT_LOCAL_AUTHORITY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), POLKIT_TYPE_LOCAL_AUTHORITY, PolkitLocalAuthorityClass))
-#define POLKIT_IS_LOCAL_AUTHORITY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), POLKIT_TYPE_LOCAL_AUTHORITY))
-#define POLKIT_IS_LOCAL_AUTHORITY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), POLKIT_TYPE_LOCAL_AUTHORITY))
-
-#if 0
-typedef struct _PolkitLocalAuthority PolkitLocalAuthority;
-#endif
-typedef struct _PolkitLocalAuthorityClass PolkitLocalAuthorityClass;
-
-GType polkit_local_authority_get_type (void) G_GNUC_CONST;
-
-PolkitLocalAuthority *polkit_local_authority_get (void);
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-GList *polkit_local_authority_enumerate_users_sync (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GError **error);
-
-GList *polkit_local_authority_enumerate_groups_sync (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GError **error);
-
-GList *polkit_local_authority_enumerate_authorizations_sync (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- GCancellable *cancellable,
- GError **error);
-
-gboolean polkit_local_authority_add_authorization_sync (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GError **error);
-
-gboolean polkit_local_authority_remove_authorization_sync (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GError **error);
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-
-void polkit_local_authority_enumerate_users (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-GList * polkit_local_authority_enumerate_users_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error);
-
-void polkit_local_authority_enumerate_groups (PolkitLocalAuthority *local_authority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-GList * polkit_local_authority_enumerate_groups_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error);
-
-void polkit_local_authority_enumerate_authorizations (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-GList * polkit_local_authority_enumerate_authorizations_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error);
-
-void polkit_local_authority_add_authorization (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean polkit_local_authority_add_authorization_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error);
-
-void polkit_local_authority_remove_authorization (PolkitLocalAuthority *local_authority,
- PolkitIdentity *identity,
- PolkitLocalAuthorization *authorization,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean polkit_local_authority_remove_authorization_finish (PolkitLocalAuthority *local_authority,
- GAsyncResult *res,
- GError **error);
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-G_END_DECLS
-
-#endif /* __POLKIT_LOCAL_AUTHORITY_H */
diff --git a/src/polkitlocal/polkitlocalauthorization.c b/src/polkitlocal/polkitlocalauthorization.c
deleted file mode 100644
index 19756dd..0000000
--- a/src/polkitlocal/polkitlocalauthorization.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz at redhat.com>
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "polkitlocalauthorization.h"
-#include "polkitprivate.h"
-#include "polkitlocalprivate.h"
-
-/**
- * SECTION:polkitlocalauthorization
- * @title: PolkitLocalAuthorization
- * @short_description: Local Authorization
- * @stability: Unstable
- *
- * Instances of this class represents authorizations for the local authority backend.
- *
- * To use this unstable API you need to define the symbol
- * <literal>POLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE</literal>.
- */
-
-struct _PolkitLocalAuthorization
-{
- GObject parent_instance;
-
- _PolkitLocalAuthorization *real;
-
- PolkitSubject *subject;
-};
-
-struct _PolkitLocalAuthorizationClass
-{
- GObjectClass parent_class;
-
-};
-
-G_DEFINE_TYPE (PolkitLocalAuthorization, polkit_local_authorization, G_TYPE_OBJECT);
-
-static void
-polkit_local_authorization_init (PolkitLocalAuthorization *local_authorization)
-{
-}
-
-static void
-polkit_local_authorization_finalize (GObject *object)
-{
- PolkitLocalAuthorization *local_authorization;
-
- local_authorization = POLKIT_LOCAL_AUTHORIZATION (object);
-
- if (local_authorization->subject != NULL)
- g_object_unref (local_authorization->subject);
-
- g_object_unref (local_authorization->real);
-
- if (G_OBJECT_CLASS (polkit_local_authorization_parent_class)->finalize != NULL)
- G_OBJECT_CLASS (polkit_local_authorization_parent_class)->finalize (object);
-}
-
-static void
-polkit_local_authorization_class_init (PolkitLocalAuthorizationClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
- gobject_class->finalize = polkit_local_authorization_finalize;
-}
-
-PolkitLocalAuthorization *
-polkit_local_authorization_new (const gchar *action_id,
- PolkitSubject *subject,
- gboolean is_negative)
-{
- PolkitLocalAuthorization *local_authorization;
- _PolkitLocalAuthorization *real;
- _PolkitSubject *real_subject;
-
- real_subject = polkit_subject_get_real (subject);
-
- real = _polkit_local_authorization_new (action_id, real_subject, is_negative);
-
- g_object_unref (real_subject);
-
- local_authorization = polkit_local_authorization_new_for_real (real);
-
- g_object_unref (real);
-
- return local_authorization;
-}
-
-PolkitLocalAuthorization *
-polkit_local_authorization_new_for_real (_PolkitLocalAuthorization *real)
-{
- PolkitLocalAuthorization *local_authorization;
-
- local_authorization = POLKIT_LOCAL_AUTHORIZATION (g_object_new (POLKIT_TYPE_LOCAL_AUTHORIZATION, NULL));
-
- local_authorization->real = g_object_ref (real);
-
- return local_authorization;
-}
-
-_PolkitLocalAuthorization *
-polkit_local_authorization_get_real (PolkitLocalAuthorization *local_authorization)
-{
- return g_object_ref (local_authorization->real);
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-const gchar *
-polkit_local_authorization_get_action_id (PolkitLocalAuthorization *local_authorization)
-{
- return _polkit_local_authorization_get_action_id (local_authorization->real);
-}
-
-
-PolkitSubject *
-polkit_local_authorization_get_subject (PolkitLocalAuthorization *local_authorization)
-{
- if (local_authorization->subject == NULL)
- local_authorization->subject = polkit_subject_new_for_real (_polkit_local_authorization_get_subject (local_authorization->real));
-
- return local_authorization->subject;
-}
-
-gboolean
-polkit_local_authorization_get_is_negative (PolkitLocalAuthorization *local_authorization)
-{
- return _polkit_local_authorization_get_is_negative (local_authorization->real);
-}
diff --git a/src/polkitlocal/polkitlocalauthorization.h b/src/polkitlocal/polkitlocalauthorization.h
deleted file mode 100644
index e23c1b7..0000000
--- a/src/polkitlocal/polkitlocalauthorization.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz at redhat.com>
- */
-
-#if !defined (_POLKIT_LOCAL_COMPILATION) && !defined(_POLKIT_LOCAL_INSIDE_POLKIT_LOCAL_H)
-#error "Only <polkitlocal/polkitlocal.h> can be included directly, this file may disappear or change contents."
-#endif
-
-#ifndef __POLKIT_LOCAL_AUTHORIZATION_H
-#define __POLKIT_LOCAL_AUTHORIZATION_H
-
-#include <glib-object.h>
-#include <gio/gio.h>
-#include <polkitlocal/polkitlocaltypes.h>
-
-#if defined (POLKIT_I_KNOW_AUTHORITY_MANAGER_API_IS_SUBJECT_TO_CHANGE) || defined (_POLKIT_COMPILATION)
-
-G_BEGIN_DECLS
-
-#define POLKIT_TYPE_LOCAL_AUTHORIZATION (polkit_local_authorization_get_type())
-#define POLKIT_LOCAL_AUTHORIZATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), POLKIT_TYPE_LOCAL_AUTHORIZATION, PolkitLocalAuthorization))
-#define POLKIT_LOCAL_AUTHORIZATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), POLKIT_TYPE_LOCAL_AUTHORIZATION, PolkitLocalAuthorizationClass))
-#define POLKIT_LOCAL_AUTHORIZATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), POLKIT_TYPE_LOCAL_AUTHORIZATION, PolkitLocalAuthorizationClass))
-#define POLKIT_IS_LOCAL_AUTHORIZATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), POLKIT_TYPE_LOCAL_AUTHORIZATION))
-#define POLKIT_IS_LOCAL_AUTHORIZATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), POLKIT_TYPE_LOCAL_AUTHORIZATION))
-
-#if 0
-typedef struct _PolkitLocalAuthorization PolkitLocalAuthorization;
-#endif
-typedef struct _PolkitLocalAuthorizationClass PolkitLocalAuthorizationClass;
-
-GType polkit_local_authorization_get_type (void) G_GNUC_CONST;
-
-PolkitLocalAuthorization *polkit_local_authorization_new (const gchar *action_id,
- PolkitSubject *subject,
- gboolean is_negative);
-
-const gchar *polkit_local_authorization_get_action_id (PolkitLocalAuthorization *local_authorization);
-
-PolkitSubject *polkit_local_authorization_get_subject (PolkitLocalAuthorization *local_authorization);
-
-gboolean polkit_local_authorization_get_is_negative (PolkitLocalAuthorization *local_authorization);
-
-G_END_DECLS
-
-#endif /* API hiding */
-
-#endif /* __POLKIT_LOCAL_AUTHORIZATION_H */
diff --git a/src/polkitlocal/polkitlocalprivate.h b/src/polkitlocal/polkitlocalprivate.h
deleted file mode 100644
index bf41900..0000000
--- a/src/polkitlocal/polkitlocalprivate.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz at redhat.com>
- */
-
-#ifndef __POLKIT_LOCAL_PRIVATE_H
-#define __POLKIT_LOCAL_PRIVATE_H
-
-#include "_polkitbindings.h"
-
-/* notes:
- *
- * - the _new_for_real() functions will ref the passed arg (you will still own the ref)
- * - the _get_real() functions will return a ref (you will own the ref)
- *
- */
-
-PolkitLocalAuthorization *polkit_local_authorization_new_for_real (_PolkitLocalAuthorization *real);
-_PolkitLocalAuthorization *polkit_local_authorization_get_real (PolkitLocalAuthorization *authorization);
-
-#endif /* __POLKIT_LOCAL_PRIVATE_H */
diff --git a/src/polkitlocal/polkitlocaltypes.h b/src/polkitlocal/polkitlocaltypes.h
deleted file mode 100644
index 803370a..0000000
--- a/src/polkitlocal/polkitlocaltypes.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz at redhat.com>
- */
-
-#if !defined(_POLKIT_LOCAL_INSIDE_POLKIT_LOCAL_H) && !defined (_POLKIT_LOCAL_COMPILATION)
-#error "Only <polkitlocal/polkitlocal.h> can be included directly, this file may disappear or change contents"
-#endif
-
-#ifndef __POLKIT_LOCAL_TYPES_H
-#define __POLKIT_LOCAL_TYPES_H
-
-#include <polkit/polkit.h>
-
-G_BEGIN_DECLS
-
-struct _PolkitLocalAuthority;
-typedef struct _PolkitLocalAuthority PolkitLocalAuthority;
-
-struct _PolkitLocalAuthorization;
-typedef struct _PolkitLocalAuthorization PolkitLocalAuthorization;
-
-G_END_DECLS
-
-#endif /* __POLKIT_LOCAL_TYPES_H */
diff --git a/src/programs/Makefile.am b/src/programs/Makefile.am
index 79e9161..074fb39 100644
--- a/src/programs/Makefile.am
+++ b/src/programs/Makefile.am
@@ -41,7 +41,6 @@ libpkexec_action_lookup_la_SOURCES = \
libpkexec_action_lookup_la_CFLAGS = \
-DPOLKIT_BACKEND_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
- -DPOLKIT_LOCAL_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
-DG_LOG_DOMAIN=\"pkexec-action-lookup\" \
$(GLIB_CFLAGS) \
$(NULL)
More information about the hal-commit
mailing list