mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Fix removal of DHCP_CLIENT_MAC options from DHCPv6 relay replies.
This commit is contained in:
@@ -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)
|
if (opt6_ptr(opt, 0) + opt6_len(opt) > end)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/* Don't copy MAC address into reply. */
|
||||||
|
if (opt6_type(opt) != OPTION6_CLIENT_MAC)
|
||||||
|
{
|
||||||
int o = new_opt6(opt6_type(opt));
|
int o = new_opt6(opt6_type(opt));
|
||||||
if (opt6_type(opt) == OPTION6_RELAY_MSG)
|
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))
|
if (!dhcp6_maybe_relay(state, opt6_ptr(opt, 0), opt6_len(opt), client_addr, 0, now))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (opt6_type(opt) != OPTION6_CLIENT_MAC)
|
else
|
||||||
put_opt6(opt6_ptr(opt, 0), opt6_len(opt));
|
put_opt6(opt6_ptr(opt, 0), opt6_len(opt));
|
||||||
end_opt6(o);
|
end_opt6(o);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user