From: Vladislav Grishenko Date: Tue, 17 Feb 2015 17:28:45 +0000 (+0500) Subject: Fix handling of DHCPv6 replies containing unrequested IA_NA/IA_PD options X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=e20ee553da0b17d2e2569650327fff568a4a222d;p=project%2Fodhcp6c.git Fix handling of DHCPv6 replies containing unrequested IA_NA/IA_PD options --- diff --git a/src/dhcpv6.c b/src/dhcpv6.c index 1786688..6ae6f7a 100644 --- a/src/dhcpv6.c +++ b/src/dhcpv6.c @@ -947,6 +947,10 @@ static int dhcpv6_handle_reply(enum dhcpv6_msg orig, _unused const int rc, && olen > -4 + sizeof(struct dhcpv6_ia_hdr)) { struct dhcpv6_ia_hdr *ia_hdr = (void*)(&odata[-4]); + if ((na_mode == IA_MODE_NONE && otype == DHCPV6_OPT_IA_NA) || + (pd_mode == IA_MODE_NONE && otype == DHCPV6_OPT_IA_PD)) + continue; + // Test ID if (ia_hdr->iaid != htonl(1) && otype == DHCPV6_OPT_IA_NA) continue;