rework IPv6 dns address selection (FS#635)
authorHans Dedecker <dedeckeh@gmail.com>
Wed, 29 Mar 2017 15:03:29 +0000 (17:03 +0200)
committerHans Dedecker <dedeckeh@gmail.com>
Thu, 30 Mar 2017 12:48:02 +0000 (14:48 +0200)
commit3d9f4067d56660a2c75ab2ce9b801ae1a4ff4cde
treed3a1a5e9dedd1d4d32dc375e2bb37dfbd21016d3
parentbc6c3ace738fd4eb28c06be533f6bbc75d0587a5
rework IPv6 dns address selection (FS#635)

Don't return anymore the link local IPv6 address as DNS IPv6 address
since different OS implementations (e.g. android, ...) cannot handle
a link local IPv6 address as DNS address.

IPv6 DNS address selection is reworked as follows :
-Consider all global/ULA IPv6 address having a valid lifetime
-Give preference to global/ULA IPv6 addresses being not deprecated
-Give preference to ULA IPv6 addresses over IPv6 global addresses
-Give preference to the IPv6 address with the longest preferred lifetime in
its selected category (ULA or global)
-If no global/ULA IPv6 address is present use the IPv6 link local address

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
src/dhcpv6.c
src/odhcpd.c
src/odhcpd.h
src/router.c