Module Name: src
Committed By: ozaki-r
Date: Tue Jul 4 08:11:32 UTC 2017
Modified Files:
src/sys/net: pfkeyv2.h
src/sys/netipsec: ipsec_netbsd.c key.c
Log Message:
Introduce and use SADB_SASTATE_USABLE_P
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/net/pfkeyv2.h
cvs rdiff -u -r1.41 -r1.42 src/sys/netipsec/ipsec_netbsd.c
cvs rdiff -u -r1.164 -r1.165 src/sys/netipsec/key.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net/pfkeyv2.h
diff -u src/sys/net/pfkeyv2.h:1.31 src/sys/net/pfkeyv2.h:1.32
--- src/sys/net/pfkeyv2.h:1.31 Thu Apr 13 16:38:31 2017
+++ src/sys/net/pfkeyv2.h Tue Jul 4 08:11:32 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: pfkeyv2.h,v 1.31 2017/04/13 16:38:31 christos Exp $ */
+/* $NetBSD: pfkeyv2.h,v 1.32 2017/07/04 08:11:32 ozaki-r Exp $ */
/* $KAME: pfkeyv2.h,v 1.36 2003/07/25 09:33:37 itojun Exp $ */
/*
@@ -339,6 +339,9 @@ struct sadb_x_nat_t_frag {
#define SADB_SASTATE_DEAD 3
#define SADB_SASTATE_MAX 3
+#define SADB_SASTATE_USABLE_P(sav) \
+ ((sav)->state == SADB_SASTATE_MATURE || (sav)->state == SADB_SASTATE_DYING)
+
#define SADB_SAFLAGS_PFS 1
/*
Index: src/sys/netipsec/ipsec_netbsd.c
diff -u src/sys/netipsec/ipsec_netbsd.c:1.41 src/sys/netipsec/ipsec_netbsd.c:1.42
--- src/sys/netipsec/ipsec_netbsd.c:1.41 Tue Jul 4 08:09:19 2017
+++ src/sys/netipsec/ipsec_netbsd.c Tue Jul 4 08:11:32 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ipsec_netbsd.c,v 1.41 2017/07/04 08:09:19 ozaki-r Exp $ */
+/* $NetBSD: ipsec_netbsd.c,v 1.42 2017/07/04 08:11:32 ozaki-r Exp $ */
/* $KAME: esp_input.c,v 1.60 2001/09/04 08:43:19 itojun Exp $ */
/* $KAME: ah_input.c,v 1.64 2001/09/04 08:43:19 itojun Exp $ */
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipsec_netbsd.c,v 1.41 2017/07/04 08:09:19 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipsec_netbsd.c,v 1.42 2017/07/04 08:11:32 ozaki-r Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -111,9 +111,7 @@ ah4_ctlinput(int cmd, const struct socka
IPPROTO_AH, ah->ah_spi, 0, 0);
if (sav) {
- if (sav->state == SADB_SASTATE_MATURE ||
- sav->state == SADB_SASTATE_DYING) {
-
+ if (SADB_SASTATE_USABLE_P(sav)) {
/*
* Now that we've validated that we are actually
* communicating with the host indicated in the
@@ -159,9 +157,7 @@ esp4_ctlinput(int cmd, const struct sock
IPPROTO_ESP, esp->esp_spi, 0, 0);
if (sav) {
- if (sav->state == SADB_SASTATE_MATURE ||
- sav->state == SADB_SASTATE_DYING) {
-
+ if (SADB_SASTATE_USABLE_P(sav)) {
/*
* Now that we've validated that we are actually
* communicating with the host indicated in the
@@ -242,8 +238,7 @@ ah6_ctlinput(int cmd, const struct socka
IPPROTO_AH, ahp->ah_spi, 0, 0);
if (sav) {
- if (sav->state == SADB_SASTATE_MATURE ||
- sav->state == SADB_SASTATE_DYING)
+ if (SADB_SASTATE_USABLE_P(sav))
valid++;
KEY_FREESAV(&sav);
}
@@ -348,8 +343,7 @@ esp6_ctlinput(int cmd, const struct sock
IPPROTO_ESP, espp->esp_spi, 0, 0);
if (sav) {
- if (sav->state == SADB_SASTATE_MATURE ||
- sav->state == SADB_SASTATE_DYING)
+ if (SADB_SASTATE_USABLE_P(sav))
valid++;
KEY_FREESAV(&sav);
}
Index: src/sys/netipsec/key.c
diff -u src/sys/netipsec/key.c:1.164 src/sys/netipsec/key.c:1.165
--- src/sys/netipsec/key.c:1.164 Sat Jun 10 14:21:01 2017
+++ src/sys/netipsec/key.c Tue Jul 4 08:11:32 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: key.c,v 1.164 2017/06/10 14:21:01 ozaki-r Exp $ */
+/* $NetBSD: key.c,v 1.165 2017/07/04 08:11:32 ozaki-r Exp $ */
/* $FreeBSD: src/sys/netipsec/key.c,v 1.3.2.3 2004/02/14 22:23:23 bms Exp $ */
/* $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $ */
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.164 2017/06/10 14:21:01 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.165 2017/07/04 08:11:32 ozaki-r Exp $");
/*
* This code is referd to RFC 2367
@@ -1191,8 +1191,7 @@ key_allocsa(
/* sanity check */
KEY_CHKSASTATE(sav->state, state);
/* do not return entries w/ unusable state */
- if (sav->state != SADB_SASTATE_MATURE &&
- sav->state != SADB_SASTATE_DYING) {
+ if (!SADB_SASTATE_USABLE_P(sav)) {
KEYDEBUG_PRINTF(KEYDEBUG_MATCH,
"bad state %d\n", sav->state);
continue;