Don't reply to DHCPv6 SOLICIT messages when not configured for statefull DHCPv6.

This commit is contained in:
Win King Wan
2015-01-21 20:41:48 +00:00
committed by Simon Kelley
parent fbf01f7046
commit 61b838dd57
2 changed files with 17 additions and 0 deletions

View File

@@ -824,6 +824,19 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
}
else
{
/* Windows 8 always requests an address even if the Managed bit
in RA is 0 and it keeps retrying if it receives a reply
stating that no addresses are available. We solve this
by not replying at all if we're not configured to give any
addresses by DHCPv6. RFC 3315 17.2.1. appears to allow this. */
for (c = state->context; c; c = c->current)
if (!(c->flags & CONTEXT_RA_STATELESS))
break;
if (!c)
return 0;
/* no address, return error */
o1 = new_opt6(OPTION6_STATUS_CODE);
put_opt6_short(DHCP6NOADDRS);