summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHakan Olsson <ho@cvs.openbsd.org>1999-11-04 11:21:15 +0000
committerHakan Olsson <ho@cvs.openbsd.org>1999-11-04 11:21:15 +0000
commitcf2012cf938f4b4f6c8474a2c47b7462954ef47c (patch)
treec6598869ef67bd42fc288bced3301698bf24f25c
parentdc51b4d4051e34c6a83683b46e20365d1bf990e4 (diff)
pfkeyv2 aquire should not happen when bypassing IPsec. Add missing splx().
-rw-r--r--sys/netinet/ip_output.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index d29cafe4dc2..277a0608ed9 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_output.c,v 1.51 1999/10/29 02:10:02 angelos Exp $ */
+/* $OpenBSD: ip_output.c,v 1.52 1999/11/04 11:21:14 ho Exp $ */
/* $NetBSD: ip_output.c,v 1.28 1996/02/13 23:43:07 christos Exp $ */
/*
@@ -68,6 +68,7 @@
#include <netinet/ip_esp.h>
#include <netinet/udp.h>
#include <netinet/tcp.h>
+#include <net/pfkeyv2.h>
#ifdef ENCDEBUG
#define DPRINTF(x) if (encdebug) printf x
@@ -304,11 +305,13 @@ ip_output(m0, va_alist)
* default (which should be tunable via sysctl).
* For now, drop packet and ignore SPD entry.
*/
+ splx(s);
goto no_encap;
}
/* PF_KEYv2 notification message */
- pfkeyv2_acquire(tdb, 0); /* XXX Check for errors */
+ if (tdb->tdb_satype != SADB_X_SATYPE_BYPASS)
+ pfkeyv2_acquire(tdb, 0); /* XXX Check for errors */
splx(s);