kern/89472: ipfw2 no longer supports filtering
IPv6-over-IPv4 on 6.0-RELEASE
Hajimu UMEMOTO
ume at freebsd.org
Sun Nov 27 05:30:27 GMT 2005
The following reply was made to PR kern/89472; it has been noted by GNATS.
From: Hajimu UMEMOTO <ume at freebsd.org>
To: gael.roualland at dial.oleane.com
Cc: FreeBSD-gnats-submit at freebsd.org
Subject: Re: kern/89472: ipfw2 no longer supports filtering IPv6-over-IPv4 on 6.0-RELEASE
Date: Sun, 27 Nov 2005 14:20:37 +0900
Hi,
>>>>> On Sun, 27 Nov 2005 05:10:15 GMT
>>>>> Hajimu UMEMOTO <ume at freebsd.org> said:
ume> Oops, please try this patch instead.
Umm, the patch was encoded by quoted-printable wrongly. So, I've
resend it.
Index: sbin/ipfw/ipfw2.c
diff -u -p sbin/ipfw/ipfw2.c.orig sbin/ipfw/ipfw2.c
--- sbin/ipfw/ipfw2.c.orig Sat Aug 20 17:36:57 2005
+++ sbin/ipfw/ipfw2.c Sun Nov 27 13:19:40 2005
@@ -3596,7 +3596,7 @@ add_proto(ipfw_insn *cmd, char *av, u_ch
*proto = IPPROTO_IP;
- if (_substrcmp(av, "all") == 0)
+ if (_substrcmp(av, "all") == 0 || strcmp(av, "ip") == 0)
; /* do not set O_IP4 nor O_IP6 */
else if (strcmp(av, "ipv4") == 0 || strcmp(av, "ip4") == 0)
/* explicit "just IPv4" rule */
@@ -3606,13 +3606,12 @@ add_proto(ipfw_insn *cmd, char *av, u_ch
*proto = IPPROTO_IPV6;
fill_cmd(cmd, O_IP6, 0, 0);
} else if ((*proto = atoi(av)) > 0)
- ; /* all done! */
- else if ((pe = getprotobyname(av)) != NULL)
+ fill_cmd(cmd, O_PROTO, 0, *proto);
+ else if ((pe = getprotobyname(av)) != NULL) {
*proto = pe->p_proto;
- else
- return NULL;
- if (*proto != IPPROTO_IP && *proto != IPPROTO_IPV6)
fill_cmd(cmd, O_PROTO, 0, *proto);
+ } else
+ return NULL;
return cmd;
}
Sincerely,
--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume at mahoroba.org ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/
More information about the freebsd-ipfw
mailing list