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