cvs commit: src/sys/contrib/ipfilter/netinetip_auth.cip_compat.h
ip_frag.c ip_log.c ip_nat.h ip_proxy.c ip_state.c ip_state.h mlfk_ipl.c
Scott Long
scottl at freebsd.org
Fri Dec 24 16:46:13 PST 2004
Giorgos Keramidas wrote:
> On 2004-12-24 17:13, Scott Long <scottl at freebsd.org> wrote:
>
>>Giorgos Keramidas wrote:
>>
>>>On 2004-12-24 16:14, Scott Long <scottl at freebsd.org> wrote:
>>>
>>>
>>>>Giorgos Keramidas wrote:
>>>>
>>>>
>>>>>On 2004-12-24 14:46, Scott Long <scottl at freebsd.org> wrote:
>>>>>
>>>>>
>>>>>>Darren Reed wrote:
>>>>>>
>>>>>>
>>>>>>>darrenr 2004-12-24 09:14:26 UTC
>>>>>>>
>>>>>>>FreeBSD src repository
>>>>>>>
>>>>>>>Modified files:
>>>>>>>sys/contrib/ipfilter/netinet ip_auth.c ip_compat.h ip_frag.c
>>>>>>> ip_log.c ip_nat.h ip_proxy.c
>>>>>>> ip_state.c ip_state.h mlfk_ipl.c
>>>>>>>Log:
>>>>>>>Enable fine grained locking within IPFilter, using mtx(9) and sx(9)
>>>>>>>allowing
>>>>>>>the the "needs giant" flag to be removed from the driver.
>>>>>>
>>>>>>I'm not sure how this could possibly compile on FreeBSD. Did you forget
>>>>>>to check in a file perhaps? Please fix this ASAP, otherwise it's going
>>>>>>to get reverted.
>>>>>
>>>>>Hi Scott,
>>>>>
>>>>>can you test this as a fix for the build problems? It seems to fix the
>>>>>buildkernel issues here. The arbitrary choise of __FreeBSD_version's
>>>>>value was based on this snippet from
>>>>>src/sys/ipfilter/netinet/ip_compat.h:
>>>>
>>>>Thanks, I'll test it in a few minutes. Would you also be willing to fix
>>>>the warning from PFIL_HOOKS being redefined?
>>>
>>>
>>>Sure. The ip_fil.h header defines PFIL_HOOKS unconditionally, possibly
>>>overriding the definition passed on the command line by the Makefile of
>>>src/sys/modules/ipfilter.
>>>
>>>There are two options:
>>>
>>>a) Either we remove the -DPFIL_HOOKS from the Makefile (possibly resulting
>>>in other breakages at places where ip_fil.h is not included, even though
>>>it should be), or
>>>
>>>b) we commit something like this minor diff to ip_fil.h:
>>>
>>>%%%
>>>gothmog:/usr/src# cvs di -u sys/contrib/ipfilter/netinet/ip_fil.h
>>>Index: sys/contrib/ipfilter/netinet/ip_fil.h
>>>===================================================================
>>>RCS file: /home/ncvs/src/sys/contrib/ipfilter/netinet/ip_fil.h,v
>>>retrieving revision 1.27
>>>diff -u -r1.27 ip_fil.h
>>>--- sys/contrib/ipfilter/netinet/ip_fil.h 27 Aug 2004 20:01:08 -0000
>>>1.27
>>>+++ sys/contrib/ipfilter/netinet/ip_fil.h 25 Dec 2004 00:03:19 -0000
>>>@@ -498,7 +498,9 @@
>>> (defined(NetBSD1_2) && NetBSD1_2 > 1) || (defined(__FreeBSD_version)
>>> && \
>>> (__FreeBSD_version >= 500011))
>>># if (NetBSD >= 199905) || (__FreeBSD_version >= 600001)
>>>-# define PFIL_HOOKS
>>>+# ifndef PFIL_HOOKS
>>>+# define PFIL_HOOKS
>>>+# endif
>>># endif
>>># ifdef PFIL_HOOKS
>>># define NETBSD_PF
>>>%%%
>>
>>I don't see anywhere in the ipfilter source where PFIL_HOOKS is actually
>>checked. PFIL_HOOKS was removed as an option from FreeBSD a few months
>>ago and is now assumed to always be present.
>
>
> True. I remember this. The PFIL_HOOKS ifdef doesn't work as a kernel
> option anymore in ipfilter though.
>
>
>>Maybe we should just remove the __FreeBSD_version from the clause.
>
>
> PFIL_HOOKS is used in ip_fil.h to check if NETBSD_PF should be defined.
> We need NETBSD_PF defined, because it is used in fil.c and ip_fil.c as a
> conditional.
>
> These will break if NETBSD_PF is not defined, as they depend on
> NETBSD_PF and ip_compat.h to include the pfil interface from
> <net/pfil.h>
>
Bugger, you're right. I'll fix it now. What a tangled web =-(
Scott
More information about the cvs-all
mailing list