summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authoritojun <itojun@openbsd.org>2002-01-08 02:29:03 +0000
committeritojun <itojun@openbsd.org>2002-01-08 02:29:03 +0000
commitd7b9ca6105b4e7dd095409e8bb4729e20da35a4c (patch)
tree4e56025bd4387fa7ac6976713277a14758987f0f /sys/netinet6
parentClose potential memory leak wrt "fromname"; inspired by similar FreeBSD (diff)
downloadwireguard-openbsd-d7b9ca6105b4e7dd095409e8bb4729e20da35a4c.tar.xz
wireguard-openbsd-d7b9ca6105b4e7dd095409e8bb4729e20da35a4c.zip
correct behavior of IPv4 over IPv6 tunnel (using gif).
http://archives.neohapsis.com/archives/openbsd/2001-09/0165.html From: Alexander Yurchenko <grange@rt.mipt.ru>
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/in6_proto.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c
index 0d1bd59567c..5d46a0e2aff 100644
--- a/sys/netinet6/in6_proto.c
+++ b/sys/netinet6/in6_proto.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: in6_proto.c,v 1.31 2001/08/08 15:09:00 jjbg Exp $ */
+/* $OpenBSD: in6_proto.c,v 1.32 2002/01/08 02:29:03 itojun Exp $ */
/* $KAME: in6_proto.c,v 1.66 2000/10/10 15:35:47 itojun Exp $ */
/*
@@ -184,35 +184,35 @@ struct ip6protosw inet6sw[] = {
#endif /* IPSEC */
#if NGIF > 0
{ SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR,
- in6_gif_input,0, 0, 0,
- 0,
+ in6_gif_input, rip6_output, 0, rip6_ctloutput,
+ rip6_usrreq, /* XXX */
0, 0, 0, 0,
},
#ifdef INET
-{ SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR,
- in6_gif_input,0, 0, 0,
- 0,
+{ SOCK_RAW, &inet6domain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR,
+ in6_gif_input, rip6_output, 0, rip6_ctloutput,
+ rip6_usrreq, /* XXX */
0, 0, 0, 0,
},
#endif /* INET */
#else /* NGIF */
-{ SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR,
- ip4_input6, rip6_output, 0, rip6_ctloutput,
- rip6_usrreq, /* XXX */
- 0, 0, 0, 0, ipip_sysctl
+{ SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR,
+ ip4_input6, rip6_output, 0, rip6_ctloutput,
+ rip6_usrreq, /* XXX */
+ 0, 0, 0, 0, ipip_sysctl
},
#ifdef INET
-{ SOCK_RAW, &inet6domain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR,
- ip4_input6, rip6_output, 0, rip6_ctloutput,
- 0,
- 0, 0, 0, 0,
+{ SOCK_RAW, &inet6domain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR,
+ ip4_input6, rip6_output, 0, rip6_ctloutput,
+ rip6_usrreq, /* XXX */
+ 0, 0, 0, 0,
},
#endif /* INET */
#endif /* GIF */
-{ SOCK_RAW, &inet6domain, IPPROTO_PIM, PR_ATOMIC|PR_ADDR,
- pim6_input, rip6_output, 0, rip6_ctloutput,
+{ SOCK_RAW, &inet6domain, IPPROTO_PIM, PR_ATOMIC|PR_ADDR,
+ pim6_input, rip6_output, 0, rip6_ctloutput,
rip6_usrreq,
- 0, 0, 0, 0,
+ 0, 0, 0, 0,
},
/* raw wildcard */
{ SOCK_RAW, &inet6domain, 0, PR_ATOMIC|PR_ADDR,