cvs commit: src/sbin/ipf Makefile Makefile.inc src/sbin/ipf/ipf
Makefile src/sbin/ipf/ipfs Makefile src/sbin/ipf/ipfstat Makefile
src/sbin/ipf/ipftest Makefile src/sbin/ipf/ipmon Makefile
src/sbin/ipf/ipnat Makefile src/sbin/ipf/ippool Makefile ...
Giorgos Keramidas
keramida at freebsd.org
Tue Apr 26 04:15:50 PDT 2005
On 2005-04-26 03:28, Giorgos Keramidas <keramida at freebsd.org> wrote:
> A buildworld takes a few hours here (slow workstation). I'll look again
> into this after the current runs finishes, but it may take a few hours
> before I have a definitive buildworld unbreaking diff.
>
> In the mean time, of course, Darren may fix this, but anyway :)
So far, I've discovered the following things that may need to change:
% --- contrib/ipfilter/ip_fil_freebsd.c 25 Apr 2005 18:20:08 -0000 1.2
% +++ contrib/ipfilter/ip_fil_freebsd.c 26 Apr 2005 10:46:20 -0000
% @@ -61,7 +61,7 @@
% #include <net/if.h>
% #if __FreeBSD_version >= 300000
% # include <net/if_var.h>
% -# if !defined(IPFILTER_LKM)
% +# if !defined(IPFILTER_LKM) && defined(KERNEL)
% # include "opt_ipfilter.h"
% # endif
% #endif
% @@ -79,7 +79,7 @@
% #include <netinet/tcpip.h>
% #include <netinet/ip_icmp.h>
% #ifndef _KERNEL
% -# include "netinet/ipf.h"
% +# include "ipf.h"
% #endif
% #include "netinet/ip_compat.h"
% #ifdef USE_INET6
I'm not sure if this change is correct. There is no netinet/ipf.h
header though. There is an ipf.h in src/contrib/ipfilter, but it's not
very obvious if we really need to pull it in ip_fil_freebsd.c
% Index: contrib/ipfilter/lib/ipft_tx.c
% ===================================================================
% RCS file: /home/ncvs/src/contrib/ipfilter/lib/ipft_tx.c,v
% retrieving revision 1.2
% diff -u -r1.2 ipft_tx.c
% --- contrib/ipfilter/lib/ipft_tx.c 25 Apr 2005 18:20:12 -0000 1.2
% +++ contrib/ipfilter/lib/ipft_tx.c 26 Apr 2005 10:35:12 -0000
% @@ -280,8 +280,6 @@
% ip->ip_dst.s_addr = tx_hostnum(*cpp, &r);
% cpp++;
% if (*cpp && ip->ip_p == IPPROTO_TCP) {
% - extern char _tcp_flagset[];
% - extern u_char _tcp_flags[];
% char *s, *t;
The _tcp_flagset[] and _tcp_flags[] vectors are declared as "static"
further up in the same file. Declaring them again, as "extern" is not a
good idea here.
% Index: sys/contrib/ipfilter/netinet/fil.c
% Index: sys/contrib/ipfilter/netinet/ip_auth.c
% Index: sys/contrib/ipfilter/netinet/ip_frag.c
% Index: sys/contrib/ipfilter/netinet/ip_nat.c
All these files have grown duplicate rcsid[] vectors; one with a
"$FreeBSD$" RCS id and one with a new (obviously) "$Id$" line.
IMHO, the duplicates should go away or at least be moved in rcsid_ipf[]
vectors.
% Index: rescue/rescue/Makefile
% ===================================================================
% RCS file: /home/ncvs/src/rescue/rescue/Makefile,v
% retrieving revision 1.42
% diff -u -r1.42 Makefile
% --- rescue/rescue/Makefile 18 Mar 2005 12:55:07 -0000 1.42
% +++ rescue/rescue/Makefile 26 Apr 2005 09:31:45 -0000
% @@ -124,7 +124,8 @@
% .endif
%
% .if !defined(NO_IPFILTER)
% -CRUNCH_PROGS_sbin+= ipf ipfs ipfstat ipmon ipnat
% +CRUNCH_SRCDIRS+= sbin/ipf
% +CRUNCH_PROGS_sbin/ipf+= ipf ipfs ipfstat ipmon ipnat
% .endif
This is needed to let src/rescue pick the ipf related programs from the
correct subdir of the src/sbin/ipf tree.
% # crunchgen does not like C++ programs; this should be fixed someday
% Index: sbin/ipf/Makefile.inc
% ===================================================================
% RCS file: /home/ncvs/src/sbin/ipf/Makefile.inc,v
% retrieving revision 1.1
% diff -u -r1.1 Makefile.inc
% --- sbin/ipf/Makefile.inc 25 Apr 2005 18:55:50 -0000 1.1
% +++ sbin/ipf/Makefile.inc 26 Apr 2005 10:15:43 -0000
% @@ -6,6 +6,7 @@
% CFLAGS+= -I${.CURDIR}/../../../contrib/ipfilter/tools
% CFLAGS+= -I${.CURDIR}/../../../sys
% CFLAGS+= -I${.CURDIR}/../../../sys/contrib/ipfilter
% +CFLAGS+= -I${.CURDIR}/../../../sys/contrib/ipfilter/netinet
% CFLAGS+= -DSTATETOP -D__UIO_EXPOSE
This is needed for `ipl.h'. Otherwise, the build of src/sbin/ipf breaks
with the following error:
===> libipf (depend)
rm -f .depend
[...]
/usr/src/sbin/ipf/libipf/../../../contrib/ipfilter/lib/ipf_dotuning.c:4:17: ipl.h: No such file or directory
mkdep: compile failed
*** Error code 1
% -.PATH: ${.CURDIR}/../../../contrib/ipfilter \
% - ${.CURDIR}/../../../contrib/ipfilter/lib \
% - ${.CURDIR}/../../../contrib/ipfilter/tools \
% - ${.CURDIR}/../../../contrib/ipfilter/man
% +.PATH: ${.CURDIR}/../../../contrib/ipfilter \
% + ${.CURDIR}/../../../contrib/ipfilter/lib \
% + ${.CURDIR}/../../../contrib/ipfilter/tools \
% + ${.CURDIR}/../../../contrib/ipfilter/man \
% + ${.CURDIR}/../../../sys/contrib/ipfilter/netinet
The misalignment of the \ continuation characters is probably not so
bad, but sys/contrib/ipfilter/netinet is needed here, otherwise fil.c
cannot be located and "make depend" fails again:
===> ipftest (depend)
${_MKTARGET_CREATE} expands to empty string
[...]
make: don't know how to make fil.c. Stop
*** Error code 2
% Index: sbin/ipf/ipftest/Makefile
% ===================================================================
% RCS file: /home/ncvs/src/sbin/ipf/ipftest/Makefile,v
% retrieving revision 1.1
% diff -u -r1.1 Makefile
% --- sbin/ipf/ipftest/Makefile 25 Apr 2005 18:55:51 -0000 1.1
% +++ sbin/ipf/ipftest/Makefile 26 Apr 2005 10:45:47 -0000
% @@ -8,7 +8,7 @@
% SRCS= ipftest.c fil.c ip_frag.c ip_state.c ip_nat.c \
% ip_proxy.c ip_auth.c ip_htable.c ip_lookup.c \
% ip_pool.c ip_scan.c ip_sync.c ip_rules.c \
% - ip_fil.c ip_log.c ippool_y.c ippool_l.c ipf_y.c \
% + ip_log.c ippool_y.c ippool_l.c ipf_y.c \
There is no ip_fil.c any more. Changing this to ip_fil_freebsd.c
doesn't seem to work quite right either :-(
After all these changes are applied and ip_fil.c is replaced with
ip_fil_freebsd.c in src/sbin/ipf/ipftest/Makefile, I can "make depend"
and get half-way through a build of src/sbin/ipf/*, but things are still
broken, but I am really running out of clues about what else could be
done to fix ipfilter in CURRENT...
% In file included from /usr/src/sbin/ipf/ipftest/../../../contrib/ipfilter/ip_fil_freebsd.c:49:
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:156: warning: conflicting types for built-in function 'log'
% In file included from /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:248,
% from /usr/src/sbin/ipf/ipftest/../../../contrib/ipfilter/ip_fil_freebsd.c:49:
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/libkern.h:101: warning: conflicting types for built-in function 'strdup'
% In file included from /usr/src/sbin/ipf/ipftest/../../../contrib/ipfilter/ip_fil_freebsd.c:49:
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:278: error: syntax error before "splbio"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:278: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:279: error: syntax error before "splcam"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:279: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:280: error: syntax error before "splclock"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:280: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:281: error: syntax error before "splhigh"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:281: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:282: error: syntax error before "splimp"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:282: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:283: error: syntax error before "splnet"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:283: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:284: error: syntax error before "splsoftcam"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:284: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:285: error: syntax error before "splsoftclock"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:285: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:286: error: syntax error before "splsofttty"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:286: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:287: error: syntax error before "splsoftvm"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:287: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:288: error: syntax error before "splsofttq"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:288: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:289: error: syntax error before "splstatclock"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:289: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:290: error: syntax error before "spltty"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:290: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:291: error: syntax error before "splvm"
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:291: warning: return type defaults to `int'
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:292: error: syntax error before "ipl"
% In file included from /usr/src/sbin/ipf/ipftest/../../../contrib/ipfilter/ip_fil_freebsd.c:49:
% /usr/src/sbin/ipf/ipftest/../../../sys/sys/systm.h:38:1: unterminated #ifndef
% *** Error code 1
%
% Stop in /usr/src/sbin/ipf/ipftest.
% *** Error code 1
%
% Stop in /usr/src/sbin/ipf.
More information about the cvs-src
mailing list