2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-22 18:07:25 +00:00

Unicast options are taken into account only for RENEWs

This commit is contained in:
Francis Dupont 2007-12-28 10:20:41 +00:00
parent 0674055a49
commit b51c785f98
2 changed files with 6 additions and 2 deletions

View File

@ -81,6 +81,8 @@ suggested fixes to <dhcp-users@isc.org>.
- Allocated interface IDs are better controlled ('u' bit set to zero, - Allocated interface IDs are better controlled ('u' bit set to zero,
reserved IDs avoided). reserved IDs avoided).
- Unicast options are taken into account only for RENEWs.
Changes since 4.0.0b3 Changes since 4.0.0b3
- The reverse dns name for PTR updates on IPv6 addresses has been fixed to - The reverse dns name for PTR updates on IPv6 addresses has been fixed to

View File

@ -2930,7 +2930,7 @@ do_refresh6(void *input)
/* /*
* Check whether the server has sent a unicast option; if so, we can * Check whether the server has sent a unicast option; if so, we can
* use the address it specified. * use the address it specified for RENEWs.
*/ */
oc = lookup_option(&dhcpv6_universe, lease->options, D6O_UNICAST); oc = lookup_option(&dhcpv6_universe, lease->options, D6O_UNICAST);
if (oc && evaluate_option_cache(&ds, NULL, NULL, NULL, if (oc && evaluate_option_cache(&ds, NULL, NULL, NULL,
@ -2943,7 +2943,9 @@ do_refresh6(void *input)
unicast.sin6_family = AF_INET6; unicast.sin6_family = AF_INET6;
unicast.sin6_port = remote_port; unicast.sin6_port = remote_port;
memcpy(&unicast.sin6_addr, ds.data, 16); memcpy(&unicast.sin6_addr, ds.data, 16);
dest_addr = &unicast; if (client->refresh_type == DHCPV6_RENEW) {
dest_addr = &unicast;
}
} }
data_string_forget(&ds, MDL); data_string_forget(&ds, MDL);