Module Name: src
Committed By: ozaki-r
Date: Thu Apr 20 03:41:47 UTC 2017
Modified Files:
src/sys/netipsec: ipsec.c ipsec.h key.c
Log Message:
Provide IPSEC_DIR_* validation macros
To generate a diff of this commit:
cvs rdiff -u -r1.80 -r1.81 src/sys/netipsec/ipsec.c
cvs rdiff -u -r1.41 -r1.42 src/sys/netipsec/ipsec.h
cvs rdiff -u -r1.114 -r1.115 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/netipsec/ipsec.c
diff -u src/sys/netipsec/ipsec.c:1.80 src/sys/netipsec/ipsec.c:1.81
--- src/sys/netipsec/ipsec.c:1.80 Wed Apr 19 07:19:46 2017
+++ src/sys/netipsec/ipsec.c Thu Apr 20 03:41:47 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ipsec.c,v 1.80 2017/04/19 07:19:46 ozaki-r Exp $ */
+/* $NetBSD: ipsec.c,v 1.81 2017/04/20 03:41:47 ozaki-r Exp $ */
/* $FreeBSD: /usr/local/www/cvsroot/FreeBSD/src/sys/netipsec/ipsec.c,v 1.2.2.2 2003/07/01 01:38:13 sam Exp $ */
/* $KAME: ipsec.c,v 1.103 2001/05/24 07:14:18 sakane Exp $ */
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipsec.c,v 1.80 2017/04/19 07:19:46 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipsec.c,v 1.81 2017/04/20 03:41:47 ozaki-r Exp $");
/*
* IPsec controller part.
@@ -211,15 +211,7 @@ ipsec_checkpcbcache(struct mbuf *m, stru
{
struct secpolicyindex spidx;
- switch (dir) {
- case IPSEC_DIR_INBOUND:
- case IPSEC_DIR_OUTBOUND:
- case IPSEC_DIR_ANY:
- break;
- default:
- return NULL;
- }
-
+ KASSERT(IPSEC_DIR_IS_VALID(dir));
KASSERT(pcbsp != NULL);
KASSERT(dir < sizeof(pcbsp->sp_cache)/sizeof(pcbsp->sp_cache[0]));
@@ -276,14 +268,7 @@ ipsec_fillpcbcache(struct inpcbpolicy *p
struct secpolicy *sp, int dir)
{
- switch (dir) {
- case IPSEC_DIR_INBOUND:
- case IPSEC_DIR_OUTBOUND:
- break;
- default:
- return EINVAL;
- }
-
+ KASSERT(IPSEC_DIR_IS_INOROUT(dir));
KASSERT(dir < sizeof(pcbsp->sp_cache)/sizeof(pcbsp->sp_cache[0]));
if (pcbsp->sp_cache[dir].cachesp)
@@ -426,8 +411,7 @@ ipsec_getpolicy(const struct tdb_ident *
struct secpolicy *sp;
KASSERT(tdbi != NULL);
- KASSERTMSG(dir == IPSEC_DIR_INBOUND || dir == IPSEC_DIR_OUTBOUND,
- "invalid direction %u", dir);
+ KASSERTMSG(IPSEC_DIR_IS_INOROUT(dir), "invalid direction %u", dir);
sp = KEY_ALLOCSP2(tdbi->spi, &tdbi->dst, tdbi->proto, dir);
if (sp == NULL) /*XXX????*/
@@ -460,8 +444,7 @@ ipsec_getpolicybysock(struct mbuf *m, u_
KASSERT(m != NULL);
KASSERT(inp != NULL);
KASSERT(error != NULL);
- KASSERTMSG(dir == IPSEC_DIR_INBOUND || dir == IPSEC_DIR_OUTBOUND,
- "invalid direction %u", dir);
+ KASSERTMSG(IPSEC_DIR_IS_INOROUT(dir), "invalid direction %u", dir);
KASSERT(inp->inph_socket != NULL);
@@ -592,8 +575,7 @@ ipsec_getpolicybyaddr(struct mbuf *m, u_
KASSERT(m != NULL);
KASSERT(error != NULL);
- KASSERTMSG(dir == IPSEC_DIR_INBOUND || dir == IPSEC_DIR_OUTBOUND,
- "invalid direction %u", dir);
+ KASSERTMSG(IPSEC_DIR_IS_INOROUT(dir), "invalid direction %u", dir);
sp = NULL;
Index: src/sys/netipsec/ipsec.h
diff -u src/sys/netipsec/ipsec.h:1.41 src/sys/netipsec/ipsec.h:1.42
--- src/sys/netipsec/ipsec.h:1.41 Wed Apr 19 03:39:14 2017
+++ src/sys/netipsec/ipsec.h Thu Apr 20 03:41:47 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ipsec.h,v 1.41 2017/04/19 03:39:14 ozaki-r Exp $ */
+/* $NetBSD: ipsec.h,v 1.42 2017/04/20 03:41:47 ozaki-r Exp $ */
/* $FreeBSD: /usr/local/www/cvsroot/FreeBSD/src/sys/netipsec/ipsec.h,v 1.2.4.2 2004/02/14 22:23:23 bms Exp $ */
/* $KAME: ipsec.h,v 1.53 2001/11/20 08:32:38 itojun Exp $ */
@@ -171,6 +171,10 @@ struct secspacq {
#define IPSEC_DIR_MAX 3
#define IPSEC_DIR_INVALID 4
+#define IPSEC_DIR_IS_VALID(dir) ((dir) >= 0 && (dir) <= IPSEC_DIR_MAX)
+#define IPSEC_DIR_IS_INOROUT(dir) ((dir) == IPSEC_DIR_INBOUND || \
+ (dir) == IPSEC_DIR_OUTBOUND)
+
/* Policy level */
/*
* IPSEC, ENTRUST and BYPASS are allowed for setsockopt() in PCB,
Index: src/sys/netipsec/key.c
diff -u src/sys/netipsec/key.c:1.114 src/sys/netipsec/key.c:1.115
--- src/sys/netipsec/key.c:1.114 Wed Apr 19 09:23:19 2017
+++ src/sys/netipsec/key.c Thu Apr 20 03:41:47 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: key.c,v 1.114 2017/04/19 09:23:19 ozaki-r Exp $ */
+/* $NetBSD: key.c,v 1.115 2017/04/20 03:41:47 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.114 2017/04/19 09:23:19 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.115 2017/04/20 03:41:47 ozaki-r Exp $");
/*
* This code is referd to RFC 2367
@@ -652,8 +652,7 @@ key_allocsp2(u_int32_t spi,
int s;
KASSERT(dst != NULL);
- KASSERTMSG(dir == IPSEC_DIR_INBOUND || dir == IPSEC_DIR_OUTBOUND,
- "invalid direction %u", dir);
+ KASSERTMSG(IPSEC_DIR_IS_INOROUT(dir), "invalid direction %u", dir);
KEYDEBUG_PRINTF(KEYDEBUG_IPSEC_STAMP, "DP from %s:%u\n", where, tag);