From 6a65f4802e95ba442c520f8e225da837e0a9f73b Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Fri, 10 Oct 2003 02:42:21 +0000 Subject: 2003-10-09 Havoc Pennington Make matching rules theoretically work (add parser). * bus/bus.c (bus_context_check_security_policy): fix up to handle the case where destination is explicitly specified as bus driver and someone else is eavesdropping. * bus/policy.c (bus_client_policy_check_can_receive): fix up definition of eavesdropping and assertion * tools/dbus-send.c (main): use dbus_message_type_from_string * bus/signals.c (bus_match_rule_parse): implement * dbus/dbus-message.c (dbus_message_type_from_string): new * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add --- bus/config-parser.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) (limited to 'bus/config-parser.c') diff --git a/bus/config-parser.c b/bus/config-parser.c index 7b9b962d..3ff3ec50 100644 --- a/bus/config-parser.c +++ b/bus/config-parser.c @@ -813,21 +813,6 @@ start_busconfig_child (BusConfigParser *parser, } } -static int -message_type_from_string (const char *type_str) -{ - if (strcmp (type_str, "method_call") == 0) - return DBUS_MESSAGE_TYPE_METHOD_CALL; - if (strcmp (type_str, "method_return") == 0) - return DBUS_MESSAGE_TYPE_METHOD_RETURN; - else if (strcmp (type_str, "signal") == 0) - return DBUS_MESSAGE_TYPE_SIGNAL; - else if (strcmp (type_str, "error") == 0) - return DBUS_MESSAGE_TYPE_ERROR; - else - return DBUS_MESSAGE_TYPE_INVALID; -} - static dbus_bool_t append_rule_from_element (BusConfigParser *parser, const char *element_name, @@ -1027,7 +1012,7 @@ append_rule_from_element (BusConfigParser *parser, message_type = DBUS_MESSAGE_TYPE_INVALID; if (send_type != NULL) { - message_type = message_type_from_string (send_type); + message_type = dbus_message_type_from_string (send_type); if (message_type == DBUS_MESSAGE_TYPE_INVALID) { dbus_set_error (error, DBUS_ERROR_FAILED, @@ -1079,7 +1064,7 @@ append_rule_from_element (BusConfigParser *parser, message_type = DBUS_MESSAGE_TYPE_INVALID; if (receive_type != NULL) { - message_type = message_type_from_string (receive_type); + message_type = dbus_message_type_from_string (receive_type); if (message_type == DBUS_MESSAGE_TYPE_INVALID) { dbus_set_error (error, DBUS_ERROR_FAILED, -- cgit