interface-ip: DNS name server sorting support in resolv.conf.auto
[project/netifd.git] / ubus.c
diff --git a/ubus.c b/ubus.c
index 454b42d..4d43b57 100644 (file)
--- a/ubus.c
+++ b/ubus.c
@@ -290,7 +290,7 @@ netifd_handle_set_state(struct ubus_context *ctx, struct ubus_object *obj,
        if (!cur)
                return UBUS_STATUS_INVALID_ARGUMENT;
 
-       dev = device_get(blobmsg_data(cur), false);
+       dev = device_find(blobmsg_data(cur));
        if (!dev)
                return UBUS_STATUS_NOT_FOUND;
 
@@ -685,8 +685,9 @@ netifd_dump_status(struct interface *iface)
                if (iface->ip4table)
                        blobmsg_add_u32(&b, "ip4table", iface->ip4table);
                if (iface->ip6table)
-                       blobmsg_add_u32(&b, "ip6table", iface->ip6table);                 
+                       blobmsg_add_u32(&b, "ip6table", iface->ip6table);
                blobmsg_add_u32(&b, "metric", iface->metric);
+               blobmsg_add_u32(&b, "dns_metric", iface->dns_metric);
                blobmsg_add_u8(&b, "delegation", !iface->proto_ip.no_delegation);
                a = blobmsg_open_array(&b, "ipv4-address");
                interface_ip_dump_address_list(&iface->config_ip, false, true);
@@ -969,6 +970,9 @@ static void netifd_add_iface_object(void)
        int i;
 
        methods = calloc(1, sizeof(iface_object_methods));
+       if (!methods)
+               return;
+
        memcpy(methods, iface_object_methods, sizeof(iface_object_methods));
        iface_object.methods = methods;