summaryrefslogtreecommitdiffstats
path: root/bus/policy.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-08-18 22:43:30 +0000
committerHavoc Pennington <hp@redhat.com>2003-08-18 22:43:30 +0000
commit68a3c593b9e77b33614726363c7b6fd85d113021 (patch)
treeec3035e33c20febc29d2b27e13139540dc739bbc /bus/policy.c
parent95717a938b237d12211935f6a7467ef610288fe5 (diff)
2003-08-18 Havoc Pennington <hp@redhat.com>
* dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix dumb bug created earlier (wrong order of args to decode_header_data()) * tools/dbus-send.c: port * tools/dbus-print-message.c (print_message): port * test/data/*messages: port all messages over * dbus/dbus-message-builder.c: support including message type * bus/driver.c: port over * bus/dispatch.c: port over to new stuff * dbus/dbus-connection.c (_dbus_connection_new_for_transport): rename disconnect signal to "Disconnected"
Diffstat (limited to 'bus/policy.c')
-rw-r--r--bus/policy.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/bus/policy.c b/bus/policy.c
index 3b3ceb4e..04ea4230 100644
--- a/bus/policy.c
+++ b/bus/policy.c
@@ -801,8 +801,9 @@ bus_client_policy_check_can_send (BusClientPolicy *policy,
if (rule->d.send.interface != NULL)
{
- if (!dbus_message_has_interface (message,
- rule->d.send.interface))
+ if (dbus_message_get_interface (message) == NULL ||
+ strcmp (dbus_message_get_interface (message),
+ rule->d.send.interface) != 0)
{
_dbus_verbose (" (policy) skipping rule for different interface\n");
continue;
@@ -810,8 +811,9 @@ bus_client_policy_check_can_send (BusClientPolicy *policy,
}
else if (rule->d.send.member != NULL)
{
- if (!dbus_message_has_member (message,
- rule->d.send.member))
+ if (dbus_message_get_member (message) == NULL ||
+ strcmp (dbus_message_get_member (message),
+ rule->d.send.member) != 0)
{
_dbus_verbose (" (policy) skipping rule for different member\n");
continue;
@@ -819,8 +821,9 @@ bus_client_policy_check_can_send (BusClientPolicy *policy,
}
else if (rule->d.send.error != NULL)
{
- if (!dbus_message_has_error_name (message,
- rule->d.send.error))
+ if (dbus_message_get_error_name (message) == NULL ||
+ strcmp (dbus_message_get_error_name (message),
+ rule->d.send.error) != 0)
{
_dbus_verbose (" (policy) skipping rule for different error name\n");
continue;
@@ -914,8 +917,9 @@ bus_client_policy_check_can_receive (BusClientPolicy *policy,
if (rule->d.receive.interface != NULL)
{
- if (!dbus_message_has_interface (message,
- rule->d.receive.interface))
+ if (dbus_message_get_interface (message) == NULL ||
+ strcmp (dbus_message_get_interface (message),
+ rule->d.receive.interface) != 0)
{
_dbus_verbose (" (policy) skipping rule for different interface\n");
continue;
@@ -923,8 +927,9 @@ bus_client_policy_check_can_receive (BusClientPolicy *policy,
}
else if (rule->d.receive.member != NULL)
{
- if (!dbus_message_has_member (message,
- rule->d.receive.member))
+ if (dbus_message_get_member (message) == NULL ||
+ strcmp (dbus_message_get_member (message),
+ rule->d.receive.member) != 0)
{
_dbus_verbose (" (policy) skipping rule for different member\n");
continue;
@@ -932,8 +937,9 @@ bus_client_policy_check_can_receive (BusClientPolicy *policy,
}
else if (rule->d.receive.error != NULL)
{
- if (!dbus_message_has_error_name (message,
- rule->d.receive.error))
+ if (dbus_message_get_error_name (message) == NULL ||
+ strcmp (dbus_message_get_error_name (message),
+ rule->d.receive.error) != 0)
{
_dbus_verbose (" (policy) skipping rule for different error name\n");
continue;