ubus: always trigger an update if interface is not found
[oweals/odhcpd.git] / src / ubus.c
index b263da6516b36b0297bb5fe8a156ce3af4d2c602..b2e48cf184ca69cdd1e5be5f42fb5d29b224672e 100644 (file)
@@ -245,15 +245,15 @@ static int handle_update(_unused struct ubus_context *ctx, _unused struct ubus_o
 {
        struct blob_attr *tb[IFACE_ATTR_MAX];
        struct interface *c;
-       bool update = false;
+       bool update = true;
 
        blobmsg_parse(iface_attrs, IFACE_ATTR_MAX, tb, blob_data(msg), blob_len(msg));
        const char *interface = (tb[IFACE_ATTR_INTERFACE]) ?
                        blobmsg_get_string(tb[IFACE_ATTR_INTERFACE]) : "";
 
        avl_for_each_element(&interfaces, c, avl) {
-               if (!strcmp(interface, c->name) && !c->ignore) {
-                       update = true;
+               if (!strcmp(interface, c->name) && c->ignore) {
+                       update = false;
                        break;
                }
        }