summaryrefslogtreecommitdiffhomepage
path: root/src/dhcpv6-ia.c
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2018-02-20 11:23:25 +0100
committerHans Dedecker <dedeckeh@gmail.com>2018-02-20 16:04:29 +0100
commit96033e937c56a407d8ca9302c5901cd77366da29 (patch)
tree2bf63dc76b0c0499d06a7164e38dd87762ef75e6 /src/dhcpv6-ia.c
parent7aa2594c5a127d92fa8f04328ac7b43e595bcaa7 (diff)
dhcpv6-ia: don't always send reconf accept option (FS#1377)
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>
Diffstat (limited to 'src/dhcpv6-ia.c')
-rw-r--r--src/dhcpv6-ia.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c
index 533af00..9afde3f 100644
--- a/src/dhcpv6-ia.c
+++ b/src/dhcpv6-ia.c
@@ -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;