Fix removal of DHCP_CLIENT_MAC options from DHCPv6 relay replies.

This commit is contained in:
Simon Kelley
2019-01-10 21:58:18 +00:00
parent 4bf62f616b
commit f8c77edbdf

View File

@@ -219,6 +219,9 @@ static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz,
if (opt6_ptr(opt, 0) + opt6_len(opt) > end)
return 0;
/* Don't copy MAC address into reply. */
if (opt6_type(opt) != OPTION6_CLIENT_MAC)
{
int o = new_opt6(opt6_type(opt));
if (opt6_type(opt) == OPTION6_RELAY_MSG)
{
@@ -231,10 +234,11 @@ static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz,
if (!dhcp6_maybe_relay(state, opt6_ptr(opt, 0), opt6_len(opt), client_addr, 0, now))
return 0;
}
else if (opt6_type(opt) != OPTION6_CLIENT_MAC)
else
put_opt6(opt6_ptr(opt, 0), opt6_len(opt));
end_opt6(o);
}
}
return 1;
}