From b51c785f98469adea2ce19a686669b8ef80c1111 Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Fri, 28 Dec 2007 10:20:41 +0000 Subject: [PATCH] Unicast options are taken into account only for RENEWs --- RELNOTES | 2 ++ client/dhc6.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/RELNOTES b/RELNOTES index 2437f8b04..bda62bb1b 100644 --- a/RELNOTES +++ b/RELNOTES @@ -81,6 +81,8 @@ suggested fixes to . - Allocated interface IDs are better controlled ('u' bit set to zero, reserved IDs avoided). +- Unicast options are taken into account only for RENEWs. + Changes since 4.0.0b3 - The reverse dns name for PTR updates on IPv6 addresses has been fixed to diff --git a/client/dhc6.c b/client/dhc6.c index 764ab4200..8024c2561 100644 --- a/client/dhc6.c +++ b/client/dhc6.c @@ -2930,7 +2930,7 @@ do_refresh6(void *input) /* * 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); if (oc && evaluate_option_cache(&ds, NULL, NULL, NULL, @@ -2943,7 +2943,9 @@ do_refresh6(void *input) unicast.sin6_family = AF_INET6; unicast.sin6_port = remote_port; memcpy(&unicast.sin6_addr, ds.data, 16); - dest_addr = &unicast; + if (client->refresh_type == DHCPV6_RENEW) { + dest_addr = &unicast; + } } data_string_forget(&ds, MDL); -- 2.47.3