aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSUZUKI, Shinsuke <suz@kame.net>2007-03-22 06:06:03 +0000
committerBjørn Mork <bjorn@mork.no>2010-08-06 15:37:36 +0200
commitfb7626d31e760b0995679de9a56caea3831bbd49 (patch)
treede0868b54a3c26fd9a651cc3935da7d42cad3ac3
parent9a651a9b0f3937b1483c563852a63b93723daab8 (diff)
fixed a bug that Rebind does not work for IA-NA.
-rw-r--r--CHANGES2
-rw-r--r--dhcp6s.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 257a2b9..e688b90 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,10 @@
2007-03-21 SUZUKI, Shinsuke <suz@kame.net>
+ fixed several bugs found in IPv6-Ready-Logo DHCPv6 Self-Test script.
* dhcp6s.c, config.h, if.c: implemented DHCPv6 Confirm message processing
on DHCPv6 server.
* dhcp6s.c, lease.c: implemented DHCPv6 Decline message processing on DHCPv6 server.
* dhcp6s.c: fixed a Solicitation message validation as stated in RFC3315 15.2.
+ * dhcp6s.c: fixed a bug that Rebind does not work for IA-NA.
2007-03-20 SUZUKI, Shinsuke <suz@kame.net>
* common.c: fixed a bug that IA-PD/IA-NA cannot coexist in one DHCP message
diff --git a/dhcp6s.c b/dhcp6s.c
index cd0f479..273877f 100644
--- a/dhcp6s.c
+++ b/dhcp6s.c
@@ -1850,15 +1850,16 @@ react_rebind(ifp, dh6, len, optinfo, from, fromlen, relayinfohead)
}
/*
- * If the returned iapd_list is empty, we do not have an explicit
- * knowledge about validity nor invalidity for any IA_PD information
+ * If the returned iana/pd_list is empty, we do not have an explicit
+ * knowledge about validity nor invalidity for any IA_NA/PD information
* in the Rebind message. In this case, we should rather ignore the
* message than to send a Reply with empty information back to the
* client, which may annoy the recipient. However, if we have at least
* one useful information, either positive or negative, based on some
* explicit knowledge, we should reply with the responsible part.
*/
- if (TAILQ_EMPTY(&roptinfo.iapd_list)) {
+ if (TAILQ_EMPTY(&roptinfo.iapd_list) &&
+ TAILQ_EMPTY(&roptinfo.iana_list)) {
dprintf(LOG_INFO, FNAME, "no useful information for a rebind");
goto fail; /* discard the rebind */
}