Module Name:    src
Committed By:   christos
Date:           Mon Jun 16 03:34:45 UTC 2014

Modified Files:
        src/sys/netipsec: key.c

Log Message:
cleanup debugging printfs and fix port endianness printing issue.


To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 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/key.c
diff -u src/sys/netipsec/key.c:1.90 src/sys/netipsec/key.c:1.91
--- src/sys/netipsec/key.c:1.90	Thu Jun  5 13:18:19 2014
+++ src/sys/netipsec/key.c	Sun Jun 15 23:34:45 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: key.c,v 1.90 2014/06/05 17:18:19 christos Exp $	*/
+/*	$NetBSD: key.c,v 1.91 2014/06/16 03:34:45 christos 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.90 2014/06/05 17:18:19 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.91 2014/06/16 03:34:45 christos Exp $");
 
 /*
  * This code is referd to RFC 2367
@@ -5082,81 +5082,82 @@ static int
 key_handle_natt_info(struct secasvar *sav,
       		     const struct sadb_msghdr *mhp)
 {
+	const char *msg = "?" ;
+	struct sadb_x_nat_t_type *type;
+	struct sadb_x_nat_t_port *sport, *dport;
+	struct sadb_address *iaddr, *raddr;
+	struct sadb_x_nat_t_frag *frag;
 
-	if (mhp->ext[SADB_X_EXT_NAT_T_OAI] != NULL)
-		ipseclog((LOG_DEBUG,"update: NAT-T OAi present\n"));
-	if (mhp->ext[SADB_X_EXT_NAT_T_OAR] != NULL)
-		ipseclog((LOG_DEBUG,"update: NAT-T OAr present\n"));
+	if (mhp->ext[SADB_X_EXT_NAT_T_TYPE] == NULL ||
+	    mhp->ext[SADB_X_EXT_NAT_T_SPORT] == NULL ||
+	    mhp->ext[SADB_X_EXT_NAT_T_DPORT] == NULL)
+		return 0;
 
-	if ((mhp->ext[SADB_X_EXT_NAT_T_TYPE] != NULL) &&
-	    (mhp->ext[SADB_X_EXT_NAT_T_SPORT] != NULL) &&
-	    (mhp->ext[SADB_X_EXT_NAT_T_DPORT] != NULL)) {
-		struct sadb_x_nat_t_type *type;
-		struct sadb_x_nat_t_port *sport;
-		struct sadb_x_nat_t_port *dport;
-		struct sadb_address *iaddr, *raddr;
-		struct sadb_x_nat_t_frag *frag;
+	if (mhp->extlen[SADB_X_EXT_NAT_T_TYPE] < sizeof(*type)) {
+		msg = "TYPE";
+		goto bad;
+	}
 
-		if ((mhp->extlen[SADB_X_EXT_NAT_T_TYPE] < sizeof(*type)) ||
-		    (mhp->extlen[SADB_X_EXT_NAT_T_SPORT] < sizeof(*sport)) ||
-		    (mhp->extlen[SADB_X_EXT_NAT_T_DPORT] < sizeof(*dport))) {
-			ipseclog((LOG_DEBUG, "key_update: "
-			    "invalid message.\n"));
-			return -1;
-		}
+	if (mhp->extlen[SADB_X_EXT_NAT_T_SPORT] < sizeof(*sport)) {
+		msg = "SPORT";
+		goto bad;
+	}
 
-		if ((mhp->ext[SADB_X_EXT_NAT_T_OAI] != NULL) &&
-		    (mhp->extlen[SADB_X_EXT_NAT_T_OAI] < sizeof(*iaddr))) {
-			ipseclog((LOG_DEBUG, "key_update: invalid message\n"));
-			return -1;
-		}
+	if (mhp->extlen[SADB_X_EXT_NAT_T_DPORT] < sizeof(*dport)) {
+		msg = "DPORT";
+		goto bad;
+	}
 
-		if ((mhp->ext[SADB_X_EXT_NAT_T_OAR] != NULL) &&
-		    (mhp->extlen[SADB_X_EXT_NAT_T_OAR] < sizeof(*raddr))) {
-			ipseclog((LOG_DEBUG, "key_update: invalid message\n"));
-			return -1;
+	if (mhp->ext[SADB_X_EXT_NAT_T_OAI] != NULL) {
+		ipseclog((LOG_DEBUG,"%s: NAT-T OAi present\n", __func__));
+		if (mhp->extlen[SADB_X_EXT_NAT_T_OAI] < sizeof(*iaddr)) {
+			msg = "OAI";
+			goto bad;
 		}
+	}
 
-		if ((mhp->ext[SADB_X_EXT_NAT_T_FRAG] != NULL) &&
-		    (mhp->extlen[SADB_X_EXT_NAT_T_FRAG] < sizeof(*frag))) {
-			ipseclog((LOG_DEBUG, "key_update: invalid message\n"));
-			return -1;
+	if (mhp->ext[SADB_X_EXT_NAT_T_OAR] != NULL) {
+		ipseclog((LOG_DEBUG,"%s: NAT-T OAr present\n", __func__));
+		if (mhp->extlen[SADB_X_EXT_NAT_T_OAR] < sizeof(*raddr)) {
+			msg = "OAR";
+			goto bad;
 		}
+	}
 
-		type = (struct sadb_x_nat_t_type *)
-		    mhp->ext[SADB_X_EXT_NAT_T_TYPE];
-		sport = (struct sadb_x_nat_t_port *)
-		    mhp->ext[SADB_X_EXT_NAT_T_SPORT];
-		dport = (struct sadb_x_nat_t_port *)
-		    mhp->ext[SADB_X_EXT_NAT_T_DPORT];
-		iaddr = (struct sadb_address *)
-		    mhp->ext[SADB_X_EXT_NAT_T_OAI];
-		raddr = (struct sadb_address *)
-		    mhp->ext[SADB_X_EXT_NAT_T_OAR];
-		frag = (struct sadb_x_nat_t_frag *)
-		    mhp->ext[SADB_X_EXT_NAT_T_FRAG];
-
-		ipseclog((LOG_DEBUG,
-			"key_update: type %d, sport = %d, dport = %d\n",
-			type->sadb_x_nat_t_type_type,
-			sport->sadb_x_nat_t_port_port,
-			dport->sadb_x_nat_t_port_port));
-
-		if (type)
-			sav->natt_type = type->sadb_x_nat_t_type_type;
-		if (sport)
-			key_porttosaddr(&sav->sah->saidx.src,
-			    sport->sadb_x_nat_t_port_port);
-		if (dport)
-			key_porttosaddr(&sav->sah->saidx.dst,
-			    dport->sadb_x_nat_t_port_port);
-		if (frag)
-			sav->esp_frag = frag->sadb_x_nat_t_frag_fraglen;
-		else
-			sav->esp_frag = IP_MAXPACKET;
+	if (mhp->ext[SADB_X_EXT_NAT_T_FRAG] != NULL) {
+	    if (mhp->extlen[SADB_X_EXT_NAT_T_FRAG] < sizeof(*frag)) {
+		    msg = "FRAG";
+		    goto bad;
+	    }
 	}
 
+	type = (struct sadb_x_nat_t_type *)mhp->ext[SADB_X_EXT_NAT_T_TYPE];
+	sport = (struct sadb_x_nat_t_port *)mhp->ext[SADB_X_EXT_NAT_T_SPORT];
+	dport = (struct sadb_x_nat_t_port *)mhp->ext[SADB_X_EXT_NAT_T_DPORT];
+	iaddr = (struct sadb_address *)mhp->ext[SADB_X_EXT_NAT_T_OAI];
+	raddr = (struct sadb_address *)mhp->ext[SADB_X_EXT_NAT_T_OAR];
+	frag = (struct sadb_x_nat_t_frag *)mhp->ext[SADB_X_EXT_NAT_T_FRAG];
+
+	ipseclog((LOG_DEBUG, "%s: type %d, sport = %d, dport = %d\n",
+	    __func__, type->sadb_x_nat_t_type_type,
+	    ntohs(sport->sadb_x_nat_t_port_port),
+	    ntohs(dport->sadb_x_nat_t_port_port)));
+
+	sav->natt_type = type->sadb_x_nat_t_type_type;
+	key_porttosaddr(&sav->sah->saidx.src,
+	    sport->sadb_x_nat_t_port_port);
+	key_porttosaddr(&sav->sah->saidx.dst,
+	    dport->sadb_x_nat_t_port_port);
+	if (frag)
+		sav->esp_frag = frag->sadb_x_nat_t_frag_fraglen;
+	else
+		sav->esp_frag = IP_MAXPACKET;
+
 	return 0;
+bad:
+	ipseclog((LOG_DEBUG, "%s: invalid message %s\n", __func__, msg));
+	__USE(msg);
+	return -1;
 }
 
 /* Just update the IPSEC_NAT_T ports if present */
@@ -5164,11 +5165,10 @@ static int
 key_set_natt_ports(union sockaddr_union *src, union sockaddr_union *dst,
       		     const struct sadb_msghdr *mhp)
 {
-
 	if (mhp->ext[SADB_X_EXT_NAT_T_OAI] != NULL)
-		ipseclog((LOG_DEBUG,"update: NAT-T OAi present\n"));
+		ipseclog((LOG_DEBUG,"%s: NAT-T OAi present\n", __func__));
 	if (mhp->ext[SADB_X_EXT_NAT_T_OAR] != NULL)
-		ipseclog((LOG_DEBUG,"update: NAT-T OAr present\n"));
+		ipseclog((LOG_DEBUG,"%s: NAT-T OAr present\n", __func__));
 
 	if ((mhp->ext[SADB_X_EXT_NAT_T_TYPE] != NULL) &&
 	    (mhp->ext[SADB_X_EXT_NAT_T_SPORT] != NULL) &&
@@ -5180,22 +5180,25 @@ key_set_natt_ports(union sockaddr_union 
 		if ((mhp->extlen[SADB_X_EXT_NAT_T_TYPE] < sizeof(*type)) ||
 		    (mhp->extlen[SADB_X_EXT_NAT_T_SPORT] < sizeof(*sport)) ||
 		    (mhp->extlen[SADB_X_EXT_NAT_T_DPORT] < sizeof(*dport))) {
-			ipseclog((LOG_DEBUG, "key_update: "
-			    "invalid message.\n"));
+			ipseclog((LOG_DEBUG, "%s: invalid message\n",
+			    __func__));
 			return -1;
 		}
 
+		type = (struct sadb_x_nat_t_type *)
+		    mhp->ext[SADB_X_EXT_NAT_T_TYPE];
 		sport = (struct sadb_x_nat_t_port *)
 		    mhp->ext[SADB_X_EXT_NAT_T_SPORT];
 		dport = (struct sadb_x_nat_t_port *)
 		    mhp->ext[SADB_X_EXT_NAT_T_DPORT];
 
-		if (sport)
-			key_porttosaddr(src,
-			    sport->sadb_x_nat_t_port_port);
-		if (dport)
-			key_porttosaddr(dst,
-			    dport->sadb_x_nat_t_port_port);
+		key_porttosaddr(src, sport->sadb_x_nat_t_port_port);
+		key_porttosaddr(dst, dport->sadb_x_nat_t_port_port);
+
+		ipseclog((LOG_DEBUG, "%s: type %d, sport = %d, dport = %d\n",
+		    __func__, type->sadb_x_nat_t_type_type,
+		    ntohs(sport->sadb_x_nat_t_port_port),
+		    ntohs(dport->sadb_x_nat_t_port_port)));
 	}
 
 	return 0;

Reply via email to