identity crisis of 6-STABLE in ipfw ipv6 ?

David Malone dwmalone at maths.tcd.ie
Wed Aug 16 08:53:59 UTC 2006


On Wed, Aug 16, 2006 at 08:13:20AM +0200, Kees Plonsz wrote:
> I just updated to 6-STABLE but my ipfw rules stopped working.
> It seems that "me6" is vanished into thin air.
> 
> # ipfw add 7000 allow ip from me6 to me6
> ipfw: hostname ``me6'' unknown

I think it was broken by some missing brackets in this commit:

	http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/ipfw2.c#rev1.88

Can you try the patch below? If it looks good, Max or I can commit
the fix.

	David.


Index: ipfw2.c
===================================================================
RCS file: /FreeBSD/FreeBSD-CVS/src/sbin/ipfw/ipfw2.c,v
retrieving revision 1.88
diff -u -r1.88 ipfw2.c
--- ipfw2.c	14 May 2006 03:53:04 -0000	1.88
+++ ipfw2.c	16 Aug 2006 08:50:04 -0000
@@ -3707,10 +3707,10 @@
 	    inet_pton(AF_INET6, host, &a))
 		ret = add_srcip6(cmd, av);
 	/* XXX: should check for IPv4, not !IPv6 */
-	if ((ret == NULL) && proto == IPPROTO_IP || strcmp(av, "me") == 0 ||
-	    !inet_pton(AF_INET6, host, &a))
+	if ((ret == NULL) && (proto == IPPROTO_IP || strcmp(av, "me") == 0 ||
+	    !inet_pton(AF_INET6, host, &a)))
 		ret = add_srcip(cmd, av);
-	if ((ret == NULL) && strcmp(av, "any") != 0)
+	if ((ret == NULL) && (strcmp(av, "any") != 0))
 		ret = cmd;
 
 	free(host);
@@ -3733,10 +3733,10 @@
 	    inet_pton(AF_INET6, host, &a))
 		ret = add_dstip6(cmd, av);
 	/* XXX: should check for IPv4, not !IPv6 */
-	if ((ret == NULL) && proto == IPPROTO_IP || strcmp(av, "me") == 0 ||
-	    !inet_pton(AF_INET6, av, &a))
+	if ((ret == NULL) && (proto == IPPROTO_IP || strcmp(av, "me") == 0 ||
+	    !inet_pton(AF_INET6, av, &a)))
 		ret = add_dstip(cmd, av);
-	if ((ret == NULL) && strcmp(av, "any") != 0)
+	if ((ret == NULL) && (strcmp(av, "any") != 0))
 		ret = cmd;
 
 	free(host);


More information about the freebsd-stable mailing list