summaryrefslogtreecommitdiff
path: root/sys/netinet6/ipsec.c
diff options
context:
space:
mode:
authorHajimu UMEMOTO <ume@FreeBSD.org>2000-11-03 06:10:56 +0000
committerHajimu UMEMOTO <ume@FreeBSD.org>2000-11-03 06:10:56 +0000
commitf09a94dbe3a48192a430cd4c71dfa22c80173471 (patch)
treec0b7153f589b71348c5179a5cb170a9a151a1ece /sys/netinet6/ipsec.c
parent4c4f66db723ee3969491c8c4b93f5b692d9406e5 (diff)
Notes
Diffstat (limited to 'sys/netinet6/ipsec.c')
-rw-r--r--sys/netinet6/ipsec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet6/ipsec.c b/sys/netinet6/ipsec.c
index 87e771f227d4..6d8022bf58ca 100644
--- a/sys/netinet6/ipsec.c
+++ b/sys/netinet6/ipsec.c
@@ -3148,6 +3148,8 @@ ipsec4_tunnel_validate(ip, nxt0, sav)
if (nxt != IPPROTO_IPV4)
return 0;
+ if (sav->sah->saidx.mode != IPSEC_MODE_TUNNEL)
+ return 0;
#ifdef _IP_VHL
hlen = _IP_VHL_HL(ip->ip_vhl) << 2;
#else
@@ -3186,6 +3188,8 @@ ipsec6_tunnel_validate(ip6, nxt0, sav)
if (nxt != IPPROTO_IPV6)
return 0;
+ if (sav->sah->saidx.mode != IPSEC_MODE_TUNNEL)
+ return 0;
switch (((struct sockaddr *)&sav->sah->saidx.dst)->sa_family) {
case AF_INET6:
sin6 = ((struct sockaddr_in6 *)&sav->sah->saidx.dst);