diff --git a/CHANGELOG b/CHANGELOG index 6c3f0e3..a18e111 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,10 @@ version 2.62 advertisements with some configurations. Thanks to Vladislav Grishenko for the patch. + Fixed bug which broke DHCPv6/RA with prefix lengths + which are not divisible by 8. Thanks to Andre Coetzee + for spotting this. + version 2.61 Re-write interface discovery code on *BSD to use diff --git a/src/util.c b/src/util.c index 789bdd4..07f0338 100644 --- a/src/util.c +++ b/src/util.c @@ -330,7 +330,7 @@ int is_same_net6(struct in6_addr *a, struct in6_addr *b, int prefixlen) return 0; if (pfbits == 0 || - (a->s6_addr[pfbytes] >> (8 - pfbits) != b->s6_addr[pfbytes] >> (8 - pfbits))) + (a->s6_addr[pfbytes] >> (8 - pfbits) == b->s6_addr[pfbytes] >> (8 - pfbits))) return 1; return 0;