summaryrefslogtreecommitdiffstats
path: root/bus/policy.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-03-23 07:41:54 +0000
committerHavoc Pennington <hp@redhat.com>2003-03-23 07:41:54 +0000
commita26607ab68bf0878f23d2dbddec781b4b760d034 (patch)
treefe9153c14712ce893b605a7b23b47e4e7e8d17d8 /bus/policy.c
parentb6ffea177fccb6cc4e65992da7d8b390054277f7 (diff)
2003-03-23 Havoc Pennington <hp@pobox.com>
* bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny policies code * dbus/dbus-hash.h: add ULONG hash keys * dbus/dbus-sysdeps.c (_dbus_get_groups): new (_dbus_get_group_id): new function
Diffstat (limited to 'bus/policy.c')
-rw-r--r--bus/policy.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/bus/policy.c b/bus/policy.c
index f916383c..015757a0 100644
--- a/bus/policy.c
+++ b/bus/policy.c
@@ -156,7 +156,7 @@ remove_rules_by_type_up_to (BusPolicy *policy,
}
}
-static void
+void
bus_policy_optimize (BusPolicy *policy)
{
DBusList *link;
@@ -175,6 +175,9 @@ bus_policy_optimize (BusPolicy *policy)
* file.
*/
+ _dbus_verbose ("Optimizing policy with %d rules\n",
+ _dbus_list_get_length (&policy->rules));
+
link = _dbus_list_get_first (&policy->rules);
while (link != NULL)
{
@@ -208,6 +211,21 @@ bus_policy_optimize (BusPolicy *policy)
link = next;
}
+
+ _dbus_verbose ("After optimization, policy has %d rules\n",
+ _dbus_list_get_length (&policy->rules));
+}
+
+dbus_bool_t
+bus_policy_append_rule (BusPolicy *policy,
+ BusPolicyRule *rule)
+{
+ if (!_dbus_list_append (policy->rules, rule))
+ return FALSE;
+
+ bus_policy_rule_ref (rule);
+
+ return TRUE;
}
dbus_bool_t