summaryrefslogtreecommitdiff
path: root/sys/net/pfkeyv2.c
diff options
context:
space:
mode:
authorHakan Olsson <ho@cvs.openbsd.org>2002-06-07 04:47:07 +0000
committerHakan Olsson <ho@cvs.openbsd.org>2002-06-07 04:47:07 +0000
commit8604a53fdc4c1ec0f2406692fd38ee2a812796e0 (patch)
treeb9d8b762aac3f58aeba790234659b05bb19d3035 /sys/net/pfkeyv2.c
parentf0d82ee8c0a0ac5b1596a33689846abae8356446 (diff)
Add flow type arg to import_flow()
Diffstat (limited to 'sys/net/pfkeyv2.c')
-rw-r--r--sys/net/pfkeyv2.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/net/pfkeyv2.c b/sys/net/pfkeyv2.c
index 44d73be335d..b0d468237de 100644
--- a/sys/net/pfkeyv2.c
+++ b/sys/net/pfkeyv2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pfkeyv2.c,v 1.82 2002/05/31 01:42:17 angelos Exp $ */
+/* $OpenBSD: pfkeyv2.c,v 1.83 2002/06/07 04:47:06 ho Exp $ */
/*
* @(#)COPYRIGHT 1.1 (NRL) 17 January 1995
@@ -921,11 +921,13 @@ pfkeyv2_send(struct socket *socket, void *message, int len)
/* Either all or none of the flow must be included */
if ((headers[SADB_X_EXT_SRC_FLOW] ||
headers[SADB_X_EXT_PROTOCOL] ||
+ headers[SADB_X_EXT_FLOW_TYPE] ||
headers[SADB_X_EXT_DST_FLOW] ||
headers[SADB_X_EXT_SRC_MASK] ||
headers[SADB_X_EXT_DST_MASK]) &&
!(headers[SADB_X_EXT_SRC_FLOW] &&
headers[SADB_X_EXT_PROTOCOL] &&
+ headers[SADB_X_EXT_FLOW_TYPE] &&
headers[SADB_X_EXT_DST_FLOW] &&
headers[SADB_X_EXT_SRC_MASK] &&
headers[SADB_X_EXT_DST_MASK]))
@@ -1000,7 +1002,8 @@ pfkeyv2_send(struct socket *socket, void *message, int len)
import_flow(&newsa->tdb_filter, &newsa->tdb_filtermask,
headers[SADB_X_EXT_SRC_FLOW], headers[SADB_X_EXT_SRC_MASK],
headers[SADB_X_EXT_DST_FLOW], headers[SADB_X_EXT_DST_MASK],
- headers[SADB_X_EXT_PROTOCOL]);
+ headers[SADB_X_EXT_PROTOCOL],
+ headers[SADB_X_EXT_FLOW_TYPE]);
headers[SADB_EXT_KEY_AUTH] = NULL;
headers[SADB_EXT_KEY_ENCRYPT] = NULL;
@@ -1061,11 +1064,13 @@ pfkeyv2_send(struct socket *socket, void *message, int len)
/* Either all or none of the flow must be included */
if ((headers[SADB_X_EXT_SRC_FLOW] ||
headers[SADB_X_EXT_PROTOCOL] ||
+ headers[SADB_X_EXT_FLOW_TYPE] ||
headers[SADB_X_EXT_DST_FLOW] ||
headers[SADB_X_EXT_SRC_MASK] ||
headers[SADB_X_EXT_DST_MASK]) &&
!(headers[SADB_X_EXT_SRC_FLOW] &&
headers[SADB_X_EXT_PROTOCOL] &&
+ headers[SADB_X_EXT_FLOW_TYPE] &&
headers[SADB_X_EXT_DST_FLOW] &&
headers[SADB_X_EXT_SRC_MASK] &&
headers[SADB_X_EXT_DST_MASK]))
@@ -1146,7 +1151,8 @@ pfkeyv2_send(struct socket *socket, void *message, int len)
import_flow(&newsa->tdb_filter, &newsa->tdb_filtermask,
headers[SADB_X_EXT_SRC_FLOW], headers[SADB_X_EXT_SRC_MASK],
headers[SADB_X_EXT_DST_FLOW], headers[SADB_X_EXT_DST_MASK],
- headers[SADB_X_EXT_PROTOCOL]);
+ headers[SADB_X_EXT_PROTOCOL],
+ headers[SADB_X_EXT_FLOW_TYPE]);
headers[SADB_EXT_KEY_AUTH] = NULL;
headers[SADB_EXT_KEY_ENCRYPT] = NULL;
@@ -1463,7 +1469,7 @@ pfkeyv2_send(struct socket *socket, void *message, int len)
import_flow(&encapdst, &encapnetmask,
headers[SADB_X_EXT_SRC_FLOW], headers[SADB_X_EXT_SRC_MASK],
headers[SADB_X_EXT_DST_FLOW], headers[SADB_X_EXT_DST_MASK],
- headers[SADB_X_EXT_PROTOCOL]);
+ headers[SADB_X_EXT_PROTOCOL], headers[SADB_X_EXT_FLOW_TYPE]);
/* Determine whether the exact same SPD entry already exists. */
bzero(&encapgw, sizeof(struct sockaddr_encap));