diff options
Diffstat (limited to 'bus/config-parser.c')
| -rw-r--r-- | bus/config-parser.c | 22 | 
1 files changed, 14 insertions, 8 deletions
diff --git a/bus/config-parser.c b/bus/config-parser.c index ea12ce7f..f5b1f802 100644 --- a/bus/config-parser.c +++ b/bus/config-parser.c @@ -1181,7 +1181,6 @@ append_rule_from_element (BusConfigParser   *parser,         (send_interface && receive_member) ||         (send_interface && receive_error) ||         (send_interface && receive_sender) || -       (send_interface && eavesdrop) ||         (send_interface && receive_requested_reply) ||         (send_interface && own) ||         (send_interface && user) || @@ -1192,7 +1191,6 @@ append_rule_from_element (BusConfigParser   *parser,         (send_member && receive_member) ||         (send_member && receive_error) ||         (send_member && receive_sender) || -       (send_member && eavesdrop) ||         (send_member && receive_requested_reply) ||         (send_member && own) ||         (send_member && user) || @@ -1202,7 +1200,6 @@ append_rule_from_element (BusConfigParser   *parser,         (send_error && receive_member) ||         (send_error && receive_error) ||         (send_error && receive_sender) || -       (send_error && eavesdrop) ||         (send_error && receive_requested_reply) ||         (send_error && own) ||         (send_error && user) || @@ -1212,7 +1209,6 @@ append_rule_from_element (BusConfigParser   *parser,         (send_destination && receive_member) ||         (send_destination && receive_error) ||         (send_destination && receive_sender) || -       (send_destination && eavesdrop) ||         (send_destination && receive_requested_reply) ||         (send_destination && own) ||         (send_destination && user) || @@ -1222,7 +1218,6 @@ append_rule_from_element (BusConfigParser   *parser,         (send_type && receive_member) ||         (send_type && receive_error) ||         (send_type && receive_sender) || -       (send_type && eavesdrop) ||         (send_type && receive_requested_reply) ||         (send_type && own) ||         (send_type && user) || @@ -1232,7 +1227,6 @@ append_rule_from_element (BusConfigParser   *parser,         (send_path && receive_member) ||         (send_path && receive_error) ||         (send_path && receive_sender) || -       (send_path && eavesdrop) ||         (send_path && receive_requested_reply) ||         (send_path && own) ||         (send_path && user) || @@ -1242,7 +1236,6 @@ append_rule_from_element (BusConfigParser   *parser,         (send_requested_reply && receive_member) ||         (send_requested_reply && receive_error) ||         (send_requested_reply && receive_sender) || -       (send_requested_reply && eavesdrop) ||         (send_requested_reply && receive_requested_reply) ||         (send_requested_reply && own) ||         (send_requested_reply && user) || @@ -1319,6 +1312,16 @@ append_rule_from_element (BusConfigParser   *parser,              }          } +      if (eavesdrop && +          !(strcmp (eavesdrop, "true") == 0 || +            strcmp (eavesdrop, "false") == 0)) +        { +          dbus_set_error (error, DBUS_ERROR_FAILED, +                          "Bad value \"%s\" for %s attribute, must be true or false", +                          "eavesdrop", eavesdrop); +          return FALSE; +        } +        if (send_requested_reply &&            !(strcmp (send_requested_reply, "true") == 0 ||              strcmp (send_requested_reply, "false") == 0)) @@ -1333,9 +1336,12 @@ append_rule_from_element (BusConfigParser   *parser,        if (rule == NULL)          goto nomem; +      if (eavesdrop) +        rule->d.send.eavesdrop = (strcmp (eavesdrop, "true") == 0); +        if (send_requested_reply)          rule->d.send.requested_reply = (strcmp (send_requested_reply, "true") == 0); -       +        rule->d.send.message_type = message_type;        rule->d.send.path = _dbus_strdup (send_path);        rule->d.send.interface = _dbus_strdup (send_interface);  | 
