diff options
author | ume <ume@FreeBSD.org> | 2004-01-10 08:11:51 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2004-01-10 08:11:51 +0000 |
commit | a48a902f6fb84764c5f082cfbf9d5a5f2d805113 (patch) | |
tree | 1cfb9194f16838767229d8809c1bb959cb5d588c /sys/netinet6 | |
parent | c2134f4017f9fbae7b1bb8b16b2b7cfc250646c3 (diff) | |
download | FreeBSD-src-a48a902f6fb84764c5f082cfbf9d5a5f2d805113.zip FreeBSD-src-a48a902f6fb84764c5f082cfbf9d5a5f2d805113.tar.gz |
in set{peer, sock}addr, do not convert the unspecified
address (::) to the mapped address form.
PR: kern/22868
Obtained from: KAME
MFC after: 3 days
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/in6_pcb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index b3d58e8..6b3f91b 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -561,7 +561,7 @@ in6_mapped_sockaddr(struct socket *so, struct sockaddr **nam) if (inp == NULL) return EINVAL; - if (inp->inp_vflag & INP_IPV4) { + if ((inp->inp_vflag & (INP_IPV4 | INP_IPV6)) == INP_IPV4) { error = in_setsockaddr(so, nam, &tcbinfo); if (error == 0) in6_sin_2_v4mapsin6_in_sock(nam); @@ -581,7 +581,7 @@ in6_mapped_peeraddr(struct socket *so, struct sockaddr **nam) if (inp == NULL) return EINVAL; - if (inp->inp_vflag & INP_IPV4) { + if ((inp->inp_vflag & (INP_IPV4 | INP_IPV6)) == INP_IPV4) { error = in_setpeeraddr(so, nam, &tcbinfo); if (error == 0) in6_sin_2_v4mapsin6_in_sock(nam); |