ubus: display accept reconf status for DHCPv6 assignments
[project/odhcpd.git] / src / ubus.c
index 5786318..2ffa4e3 100644 (file)
@@ -27,7 +27,7 @@ static int handle_dhcpv4_leases(struct ubus_context *ctx, _unused struct ubus_ob
        a = blobmsg_open_table(&b, "device");
 
        list_for_each_entry(iface, &interfaces, head) {
-               if (iface->dhcpv4 != RELAYD_SERVER)
+               if (iface->dhcpv4 != MODE_SERVER || iface->dhcpv4_assignments.next == NULL)
                        continue;
 
                void *i = blobmsg_open_table(&b, iface->ifname);
@@ -106,7 +106,7 @@ static int handle_dhcpv6_leases(_unused struct ubus_context *ctx, _unused struct
        a = blobmsg_open_table(&b, "device");
 
        list_for_each_entry(iface, &interfaces, head) {
-               if (iface->dhcpv6 != RELAYD_SERVER)
+               if (iface->dhcpv6 != MODE_SERVER || iface->ia_assignments.next == NULL)
                        continue;
 
                void *i = blobmsg_open_table(&b, iface->ifname);
@@ -117,7 +117,7 @@ static int handle_dhcpv6_leases(_unused struct ubus_context *ctx, _unused struct
 
                list_for_each_entry(a, &iface->ia_assignments, head) {
                        if (a == border || (!INFINITE_VALID(a->valid_until) &&
-                                       a->valid_until < now))
+                                               a->valid_until < now))
                                continue;
 
                        void *m, *l = blobmsg_open_table(&b, NULL);
@@ -128,6 +128,7 @@ static int handle_dhcpv6_leases(_unused struct ubus_context *ctx, _unused struct
 
                        blobmsg_add_u32(&b, "iaid", ntohl(a->iaid));
                        blobmsg_add_string(&b, "hostname", (a->hostname) ? a->hostname : "");
+                       blobmsg_add_u8(&b, "accept-reconf", a->accept_reconf);
                        blobmsg_add_u32(&b, "assigned", a->assigned);
 
                        m = blobmsg_open_array(&b, "flags");