| version 1.75.2.3, 2001/09/21 22:36:51 |
version 1.75.2.4, 2001/10/22 20:41:58 |
| Line 778 udp6_realinput(af, src, dst, m, off) |
|
| Line 778 udp6_realinput(af, src, dst, m, off) |
|
| !in6_mcmatch(in6p, &dst6, m->m_pkthdr.rcvif)) |
!in6_mcmatch(in6p, &dst6, m->m_pkthdr.rcvif)) |
| continue; |
continue; |
| } |
} |
| #ifndef INET6_BINDV6ONLY |
|
| else { |
else { |
| if (IN6_IS_ADDR_V4MAPPED(&dst6) && |
if (IN6_IS_ADDR_V4MAPPED(&dst6) && |
| (in6p->in6p_flags & IN6P_BINDV6ONLY)) |
(in6p->in6p_flags & IN6P_IPV6_V6ONLY)) |
| continue; |
continue; |
| } |
} |
| #endif |
|
| if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) { |
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) { |
| if (!IN6_ARE_ADDR_EQUAL(&in6p->in6p_faddr, |
if (!IN6_ARE_ADDR_EQUAL(&in6p->in6p_faddr, |
| &src6) || in6p->in6p_fport != sport) |
&src6) || in6p->in6p_fport != sport) |
| continue; |
continue; |
| } |
} |
| #ifndef INET6_BINDV6ONLY |
|
| else { |
else { |
| if (IN6_IS_ADDR_V4MAPPED(&src6) && |
if (IN6_IS_ADDR_V4MAPPED(&src6) && |
| (in6p->in6p_flags & IN6P_BINDV6ONLY)) |
(in6p->in6p_flags & IN6P_IPV6_V6ONLY)) |
| continue; |
continue; |
| } |
} |
| #endif |
|
| |
|
| last = in6p; |
last = in6p; |
| udp6_sendup(m, off, (struct sockaddr *)src, |
udp6_sendup(m, off, (struct sockaddr *)src, |