ipfilter fails to compile WITHOUT_INET6

Cy Schubert Cy.Schubert at komquats.com
Fri Jun 23 01:22:02 UTC 2017


In message <20170622220229.GD56803 at wkstn-mjohnston.west.isilon.com>, Mark 
Johns
ton writes:
> On Thu, Jun 22, 2017 at 02:49:24PM -0400, Mikhail T. wrote:
> > On 22.06.2017 10:28, Hans Petter Selasky wrote:
> > > Usually you only need the kernel from drm-next. 
> > 
> > Maybe, the scope of the GH-project can/should be narrowed then?
> > 
> > On 22.06.2017 12:54, Mark Johnston wrote:
> > > I verified that the kernel compiles with IPFILTER enabled.
> > I do not have IPFILTER in kernel -- indeed, kernel was compiling Ok 
> > before. It is the "world" that was not building... And still is not:
> 
> Sorry, I missed that. I can reproduce the failure on stock FreeBSD by
> building sbin/ipf with WITHOUT_INET6 set. CC'ed the ipf maintainer.
> 
> > 
> >     .../freebsd-base-graphics/contrib/ipfilter/lib/printhashnode.c:44:44:
> >     error: no member named 'in6' in 'union i6addr'
> >                              str = inet_ntop(AF_INET6, &ipe.ipe_addr.in6,
> >     ~~~~~~~~~~~~ ^
> 

Hi Mikhai,

Can you try the attached patch please?



-------------- next part --------------
Index: contrib/ipfilter/lib/familyname.c
===================================================================
--- contrib/ipfilter/lib/familyname.c	(revision 320221)
+++ contrib/ipfilter/lib/familyname.c	(working copy)
@@ -4,7 +4,7 @@
 {
 	if (family == AF_INET)
 		return "inet";
-#ifdef AF_INET6
+#ifdef USE_INET6
 	if (family == AF_INET6)
 		return "inet6";
 #endif
Index: contrib/ipfilter/lib/printhashnode.c
===================================================================
--- contrib/ipfilter/lib/printhashnode.c	(revision 320221)
+++ contrib/ipfilter/lib/printhashnode.c	(working copy)
@@ -35,7 +35,7 @@
 		}
 		printf("\n");
 	} else if ((opts & OPT_DEBUG) != 0) {
-#ifdef AF_INET6
+#ifdef USE_INET6
 		if (ipe.ipe_family == AF_INET6) {
 			char buf[INET6_ADDRSTRLEN + 1];
 			const char *str;
@@ -59,7 +59,7 @@
 		} else if (ipe.ipe_family == AF_INET) {
 #else
 		if (ipe.ipe_family == AF_INET) {
-#endif /* AF_INET6 */
+#endif /* USE_INET6 */
 			PRINTF("\t%d\tAddress: %s", hv,
 				inet_ntoa(ipe.ipe_addr.in4));
 			printmask(ipe.ipe_family, (u_32_t *)&ipe.ipe_mask.in4_addr);
Index: contrib/ipfilter/lib/printip.c
===================================================================
--- contrib/ipfilter/lib/printip.c	(revision 320221)
+++ contrib/ipfilter/lib/printip.c	(working copy)
@@ -25,7 +25,7 @@
 		else
 			PRINTF("%s", inet_ntoa(ipa));
 	}
-#ifdef AF_INET6
+#ifdef USE_INET6
 	else if (family == AF_INET6) {
 		char buf[INET6_ADDRSTRLEN + 1];
 		const char *str;
Index: contrib/ipfilter/lib/printpoolnode.c
===================================================================
--- contrib/ipfilter/lib/printpoolnode.c	(revision 320221)
+++ contrib/ipfilter/lib/printpoolnode.c	(working copy)
@@ -33,7 +33,7 @@
 		printmask(np->ipn_addr.adf_family,
 			  (u_32_t *)&np->ipn_mask.adf_addr);
 	} else {
-#ifdef AF_INET6
+#ifdef USE_INET6
 		if (np->ipn_addr.adf_family == AF_INET6) {
 			char buf[INET6_ADDRSTRLEN + 1];
 			const char *str;
@@ -54,9 +54,7 @@
 		} else {
 			PRINTF("\tAddress: family: %d\n",
 				np->ipn_addr.adf_family);
-#ifdef AF_INET6
 		}
-#endif
 		printmask(np->ipn_addr.adf_family,
 			  (u_32_t *)&np->ipn_mask.adf_addr);
 #ifdef USE_QUAD_T
-------------- next part --------------
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.


More information about the freebsd-current mailing list