struct in6_addr prefix = addrs[i].addr;
prefix.s6_addr32[1] |= htonl(a->assigned);
odhcpd_setup_route(&prefix, (a->managed_size) ? addrs[i].prefix : a->length,
- iface, &a->peer.sin6_addr, add);
+ iface, &a->peer.sin6_addr, 1024, add);
}
}
if (datalen + entrlen + 4 > buflen ||
(a->assigned == 0 && a->managed_size == 0) ||
- (!a->managed_size && a->length < p.preferred))
+ (!a->managed_size && a->length <= addrs[i].prefix))
continue;
memcpy(buf + datalen, &p, sizeof(p));