X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fodhcpd.git;a=blobdiff_plain;f=src%2Fconfig.c;h=65b35519ab2b09b76f2fe8e1aa0fdc45f91c1a8e;hp=98a826fc3b70a6a1895c20cafa2382dcb48cf0ba;hb=3fcc0814db3773e1295a372ea7a4194e19c62e52;hpb=dd3a301be17b33079306ae54b4a3fc30fcafba57 diff --git a/src/config.c b/src/config.c index 98a826f..65b3551 100644 --- a/src/config.c +++ b/src/config.c @@ -32,7 +32,6 @@ enum { IFACE_ATTR_NDP, IFACE_ATTR_DNS, IFACE_ATTR_DOMAIN, - IFACE_ATTR_ULA_COMPAT, IFACE_ATTR_RA_DEFAULT, IFACE_ATTR_RA_MANAGEMENT, IFACE_ATTR_RA_OFFLINK, @@ -60,7 +59,6 @@ static const struct blobmsg_policy iface_attrs[IFACE_ATTR_MAX] = { [IFACE_ATTR_NDP] = { .name = "ndp", .type = BLOBMSG_TYPE_STRING }, [IFACE_ATTR_DNS] = { .name = "dns", .type = BLOBMSG_TYPE_ARRAY }, [IFACE_ATTR_DOMAIN] = { .name = "domain", .type = BLOBMSG_TYPE_ARRAY }, - [IFACE_ATTR_ULA_COMPAT] = { .name = "ula_compat", .type = BLOBMSG_TYPE_BOOL }, [IFACE_ATTR_RA_DEFAULT] = { .name = "ra_default", .type = BLOBMSG_TYPE_INT32 }, [IFACE_ATTR_RA_MANAGEMENT] = { .name = "ra_management", .type = BLOBMSG_TYPE_INT32 }, [IFACE_ATTR_RA_OFFLINK] = { .name = "ra_offlink", .type = BLOBMSG_TYPE_BOOL }, @@ -89,7 +87,7 @@ enum { LEASE_ATTR_MAC, LEASE_ATTR_DUID, LEASE_ATTR_HOSTID, - LEASE_ATTR_HOSTNAME, + LEASE_ATTR_NAME, LEASE_ATTR_MAX }; @@ -99,7 +97,7 @@ static const struct blobmsg_policy lease_attrs[LEASE_ATTR_MAX] = { [LEASE_ATTR_MAC] = { .name = "mac", .type = BLOBMSG_TYPE_STRING }, [LEASE_ATTR_DUID] = { .name = "duid", .type = BLOBMSG_TYPE_STRING }, [LEASE_ATTR_HOSTID] = { .name = "hostid", .type = BLOBMSG_TYPE_STRING }, - [LEASE_ATTR_HOSTNAME] = { .name = "hostname", .type = BLOBMSG_TYPE_STRING }, + [LEASE_ATTR_NAME] = { .name = "name", .type = BLOBMSG_TYPE_STRING }, }; @@ -214,7 +212,7 @@ static int set_lease(struct uci_section *s) blobmsg_parse(lease_attrs, LEASE_ATTR_MAX, tb, blob_data(b.head), blob_len(b.head)); size_t hostlen = 1; - if ((c = tb[LEASE_ATTR_HOSTNAME])) + if ((c = tb[LEASE_ATTR_NAME])) hostlen = blobmsg_data_len(c); struct lease *lease = calloc(1, sizeof(*lease) + hostlen); @@ -448,9 +446,6 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr } } - if ((c = tb[IFACE_ATTR_ULA_COMPAT])) - iface->deprecate_ula_if_public_avail = blobmsg_get_bool(c); - if ((c = tb[IFACE_ATTR_RA_DEFAULT])) iface->default_router = blobmsg_get_u32(c); @@ -475,6 +470,8 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr if ((c = tb[IFACE_ATTR_NDPROXY_ROUTING])) iface->learn_routes = blobmsg_get_bool(c); + else + iface->learn_routes = true; if ((c = tb[IFACE_ATTR_NDPROXY_SLAVE])) iface->external = blobmsg_get_bool(c); @@ -497,7 +494,7 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr } } - iface->ignore = (iface->ifindex = if_nametoindex(iface->ifname)) < 0; + iface->ignore = (iface->ifindex = if_nametoindex(iface->ifname)) <= 0; return 0; err: @@ -536,7 +533,7 @@ void odhcpd_reload(void) struct uci_element *e; uci_foreach_element(&dhcp->sections, e) { struct uci_section *s = uci_to_section(e); - if (!strcmp(s->type, "lease")) + if (!strcmp(s->type, "host")) set_lease(s); else if (!strcmp(s->type, "odhcpd")) set_config(s);