dhcpv6-ia: don't always send reconf accept option (FS#1377)
authorHans Dedecker <dedeckeh@gmail.com>
Tue, 20 Feb 2018 10:23:25 +0000 (11:23 +0100)
committerHans Dedecker <dedeckeh@gmail.com>
Tue, 20 Feb 2018 15:04:29 +0000 (16:04 +0100)
Send reconfigure accept and reconfigure key authentication protocol options
only if the client indicates it supports reconfigure accept as descibed
in RFC3315 paragraph 21.5.

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

index 533af00..9afde3f 100644 (file)
@@ -1222,7 +1222,8 @@ ssize_t dhcpv6_handle_ia(uint8_t *buf, size_t buflen, struct interface *iface,
                        if (!assigned || iface->addr6_len == 0)
                                /* Set error status */
                                status = (is_pd) ? DHCPV6_STATUS_NOPREFIXAVAIL : DHCPV6_STATUS_NOADDRSAVAIL;
-                       else if (assigned && !first && hdr->msg_type != DHCPV6_MSG_REBIND) {
+                       else if (accept_reconf && assigned && !first &&
+                                       hdr->msg_type != DHCPV6_MSG_REBIND) {
                                size_t handshake_len = 4;
                                buf[0] = 0;
                                buf[1] = DHCPV6_OPT_RECONF_ACCEPT;