]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Unicast options are taken into account only for RENEWs
authorFrancis Dupont <fdupont@isc.org>
Fri, 28 Dec 2007 10:20:41 +0000 (10:20 +0000)
committerFrancis Dupont <fdupont@isc.org>
Fri, 28 Dec 2007 10:20:41 +0000 (10:20 +0000)
RELNOTES
client/dhc6.c

index 2437f8b0448423796267288cf6b52b4ae01de8c3..bda62bb1bb77bf00ffbd7f191ecd590503f73f68 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -81,6 +81,8 @@ suggested fixes to <dhcp-users@isc.org>.
 - 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
index 764ab4200010dc19a36036d0869811125f487d12..8024c256149e787185eed1c0825fc1b4e5c23d64 100644 (file)
@@ -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);