diff options
author | Havoc Pennington <hp@redhat.com> | 2003-08-18 15:27:33 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-08-18 15:27:33 +0000 |
commit | 95717a938b237d12211935f6a7467ef610288fe5 (patch) | |
tree | 9182521c86f31e74ad642eb19b431a433859c85f /bus/bus.c | |
parent | 7c3693a53b4eba0db1aebe1edab5ded21eb7757f (diff) |
2003-08-17 Havoc Pennington <hp@pobox.com>
This doesn't compile yet, but syncing up so I can hack on it from
work. What are branches for if not broken code? ;-)
* dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
DBUS_HEADER_FIELD_ERROR_NAME
* dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
for the interface+member pairs
(string_hash): change to use g_str_hash algorithm
(find_direct_function, find_string_function): refactor these to
share most code.
* dbus/dbus-message.c: port all of this over to support
interface/member fields instead of name field
* dbus/dbus-object-registry.c: port over
* dbus/dbus-string.c (_dbus_string_validate_interface): rename
from _dbus_string_validate_name
* bus/dbus-daemon-1.1: change file format for the
<deny>/<allow> stuff to match new message naming scheme
* bus/policy.c: port over
* bus/config-parser.c: parse new format
Diffstat (limited to 'bus/bus.c')
-rw-r--r-- | bus/bus.c | 33 |
1 files changed, 22 insertions, 11 deletions
@@ -870,20 +870,21 @@ bus_context_check_security_policy (BusContext *context, * the hello message to the bus driver */ if (recipient == NULL && - dbus_message_has_name (message, DBUS_MESSAGE_HELLO)) + dbus_message_has_interface (message, DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS) && + dbus_message_has_member (message, "Hello")) { _dbus_verbose ("security check allowing %s message\n", - DBUS_MESSAGE_HELLO); + "Hello"); return TRUE; } else { _dbus_verbose ("security check disallowing non-%s message\n", - DBUS_MESSAGE_HELLO); + "Hello"); dbus_set_error (error, DBUS_ERROR_ACCESS_DENIED, "Client tried to send a message other than %s without being registered", - DBUS_MESSAGE_HELLO); + "Hello"); return FALSE; } @@ -934,9 +935,14 @@ bus_context_check_security_policy (BusContext *context, "A security policy in place prevents this sender " "from sending this message to this recipient, " "see message bus configuration file (rejected message " - "had name \"%s\" destination \"%s\")", - dbus_message_get_name (message), - dest ? dest : DBUS_SERVICE_DBUS); + "had interface \"%s\" member \"%s\" error name \"%s\" destination \"%s\")", + dbus_message_get_interface (message) ? + dbus_message_get_interface (message) : "(unset)", + dbus_message_get_member (message) ? + dbus_message_get_member (message) : "(unset)", + dbus_message_get_error_name (message) ? + dbus_message_get_error_name (message) : "(unset)", + dest ? dest : DBUS_SERVICE_ORG_FREEDESKTOP_DBUS); _dbus_verbose ("security policy disallowing message due to sender policy\n"); return FALSE; } @@ -951,9 +957,14 @@ bus_context_check_security_policy (BusContext *context, "A security policy in place prevents this recipient " "from receiving this message from this sender, " "see message bus configuration file (rejected message " - "had name \"%s\" destination \"%s\")", - dbus_message_get_name (message), - dest ? dest : DBUS_SERVICE_DBUS); + "had interface \"%s\" member \"%s\" error name \"%s\" destination \"%s\")", + dbus_message_get_interface (message) ? + dbus_message_get_interface (message) : "(unset)", + dbus_message_get_member (message) ? + dbus_message_get_member (message) : "(unset)", + dbus_message_get_error_name (message) ? + dbus_message_get_error_name (message) : "(unset)", + dest ? dest : DBUS_SERVICE_ORG_FREEDESKTOP_DBUS); _dbus_verbose ("security policy disallowing message due to recipient policy\n"); return FALSE; } @@ -966,7 +977,7 @@ bus_context_check_security_policy (BusContext *context, const char *dest = dbus_message_get_destination (message); dbus_set_error (error, DBUS_ERROR_LIMITS_EXCEEDED, "The destination service \"%s\" has a full message queue", - dest ? dest : DBUS_SERVICE_DBUS); + dest ? dest : DBUS_SERVICE_ORG_FREEDESKTOP_DBUS); _dbus_verbose ("security policy disallowing message due to full message queue\n"); return FALSE; } |