bin/104921: [patch] ipfw(8) sometimes treats ipv6 input as ipv4
(another variation on PR 91245)
Stephen E. Halpin
seh-k3t3z4 at mail.quadrizen.com
Mon Apr 21 07:20:05 UTC 2008
The following reply was made to PR bin/104921; it has been noted by GNATS.
From: "Stephen E. Halpin" <seh-k3t3z4 at mail.quadrizen.com>
To: bug-followup at FreeBSD.org,
seh-k3t3z4 at mail.quadrizen.com
Cc:
Subject: Re: bin/104921: [patch] ipfw(8) sometimes treats ipv6 input as ipv4 (another variation on PR 91245)
Date: Mon, 21 Apr 2008 03:14:22 -0400
(Note updated e-mail address...)
The same problem exists in FreeBSD 6.3, and essentially the same set
of diffs work:
*** ipfw2.c.orig Sun Oct 14 04:58:01 2007
--- ipfw2.c Sun Jan 20 12:35:46 2008
***************
*** 3816,3822 ****
if ((host = strdup(av)) == NULL)
return NULL;
! if ((ch = strrchr(host, '/')) != NULL)
*ch = '\0';
if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 ||
--- 3816,3822 ----
if ((host = strdup(av)) == NULL)
return NULL;
! if ((ch = strpbrk(host, "/,")) != NULL)
*ch = '\0';
if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 ||
***************
*** 3842,3848 ****
if ((host = strdup(av)) == NULL)
return NULL;
! if ((ch = strrchr(host, '/')) != NULL)
*ch = '\0';
if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 ||
--- 3842,3848 ----
if ((host = strdup(av)) == NULL)
return NULL;
! if ((ch = strpbrk(host, "/,")) != NULL)
*ch = '\0';
if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 ||
-Steve
More information about the freebsd-ipfw
mailing list