The icmp6(4) protocol has been updated to fix ICMPv6 redirects.

Corresponding upstream changeset from https://svnweb.freebsd.org/base/stable/11/sys/netinet6/icmp6.c?r1=329581&r2=329580&pathrev=329581.
dev
fengbojiang(姜凤波) 2019-11-22 15:57:05 +08:00
parent da6a6342a9
commit 007a5634b2
1 changed files with 8 additions and 0 deletions

View File

@ -2357,6 +2357,14 @@ icmp6_redirect_input(struct mbuf *m, int off)
goto bad;
}
/*
* Embed scope zone id into next hop address, since
* fib6_lookup_nh_basic() returns address without embedded
* scope zone id.
*/
if (in6_setscope(&nh6.nh_addr, m->m_pkthdr.rcvif, NULL))
goto freeit;
if (IN6_ARE_ADDR_EQUAL(&src6, &nh6.nh_addr) == 0) {
nd6log((LOG_ERR,
"ICMP6 redirect rejected; "