[systemd-commits] src/bus-proxyd

Kay Sievers kay at kemper.freedesktop.org
Fri Jan 9 09:48:33 PST 2015


 src/bus-proxyd/bus-xml-policy.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

New commits:
commit a2be9e047e6e0b243fe946f972d5d4d04db140e5
Author: Kay Sievers <kay at vrfy.org>
Date:   Fri Jan 9 18:46:08 2015 +0100

    bus-proxyd: xml - consider empty tags as recv

diff --git a/src/bus-proxyd/bus-xml-policy.c b/src/bus-proxyd/bus-xml-policy.c
index 9e4cc45..5824103 100644
--- a/src/bus-proxyd/bus-xml-policy.c
+++ b/src/bus-proxyd/bus-xml-policy.c
@@ -280,7 +280,7 @@ static int file_load(Policy *p, const char *path) {
                                 else if (streq(name, "eavesdrop")) {
                                         log_debug("Unsupported attribute %s= at %s:%u, ignoring.", name, path, line);
                                         state = STATE_ALLOW_DENY_OTHER_ATTRIBUTE;
-                                        ic = POLICY_ITEM_RECV; /* eavesdrop is a type of receive attribute match! */
+                                        break;
                                 } else {
                                         log_error("Unknown attribute %s= at %s:%u, ignoring.", name, path, line);
                                         state = STATE_ALLOW_DENY_OTHER_ATTRIBUTE;
@@ -329,10 +329,9 @@ static int file_load(Policy *p, const char *path) {
                         } else if (t == XML_TAG_CLOSE_EMPTY ||
                                    (t == XML_TAG_CLOSE && streq(name, i->type == POLICY_ITEM_ALLOW ? "allow" : "deny"))) {
 
-                                if (i->class == _POLICY_ITEM_CLASS_UNSET) {
-                                        log_error("Policy not set at %s:%u.", path, line);
-                                        return -EINVAL;
-                                }
+                                /* If the tag is fully empty so far, we consider it a recv */
+                                if (i->class == _POLICY_ITEM_CLASS_UNSET)
+                                        i->class = POLICY_ITEM_RECV;
 
                                 if (policy_category == POLICY_CATEGORY_DEFAULT)
                                         item_append(i, &p->default_items);



More information about the systemd-commits mailing list