Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Apr 2009 15:19:09 +0000 (UTC)
From:      Paolo Pisati <piso@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r190938 - in head/sys: . netinet/libalias
Message-ID:  <200904111519.n3BFJ9jx090567@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: piso
Date: Sat Apr 11 15:19:09 2009
New Revision: 190938
URL: http://svn.freebsd.org/changeset/base/190938

Log:
  Plug two bugs introduced with modules conversion:
  
  -UdpAliasIn(): correctly check return code after modules ran.
  -alias_nbt: in case of malformed packets (or some other unrecoverable
   error), toss the packet.

Modified:
  head/sys/   (props changed)
  head/sys/netinet/libalias/alias.c
  head/sys/netinet/libalias/alias_nbt.c

Modified: head/sys/netinet/libalias/alias.c
==============================================================================
--- head/sys/netinet/libalias/alias.c	Sat Apr 11 15:16:11 2009	(r190937)
+++ head/sys/netinet/libalias/alias.c	Sat Apr 11 15:19:09 2009	(r190938)
@@ -742,7 +742,7 @@ UdpAliasIn(struct libalias *la, struct i
 		u_short alias_port;
 		u_short proxy_port;
 		int accumulate;
-		int r = 0, error;
+		int error;
 		struct alias_data ad = {
 			.lnk = lnk, 
 			.oaddr = &original_address, 
@@ -804,7 +804,7 @@ UdpAliasIn(struct libalias *la, struct i
 		/*
 		 * If we cannot figure out the packet, ignore it.
 		 */
-		if (r < 0)
+		if (error < 0)
 			return (PKT_ALIAS_IGNORED);
 		else
 			return (PKT_ALIAS_OK);

Modified: head/sys/netinet/libalias/alias_nbt.c
==============================================================================
--- head/sys/netinet/libalias/alias_nbt.c	Sat Apr 11 15:16:11 2009	(r190937)
+++ head/sys/netinet/libalias/alias_nbt.c	Sat Apr 11 15:19:09 2009	(r190938)
@@ -93,8 +93,7 @@ static int 
 protohandler1(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 	
-	AliasHandleUdpNbt(la, pip, ah->lnk, ah->aaddr, *ah->aport);
-	return (0);
+	return (AliasHandleUdpNbt(la, pip, ah->lnk, ah->aaddr, *ah->aport));
 }
 
 static int 
@@ -123,9 +122,8 @@ static int 
 protohandler2out(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 	
-	AliasHandleUdpNbtNS(la, pip, ah->lnk, &pip->ip_src, ah->sport,
- 			    ah->aaddr, ah->aport);
-	return (0);
+	return (AliasHandleUdpNbtNS(la, pip, ah->lnk, &pip->ip_src, ah->sport,
+ 	    ah->aaddr, ah->aport));
 }
 
 /* Kernel module definition. */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904111519.n3BFJ9jx090567>