Date: Wed, 29 Jan 2003 21:29:18 -0800 (PST) From: "Thom O'Connor" <thom@interludium.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/47664: change in ip_output.c in 4.7-STABLE seems to have broken ip_filter 3.4.31 build Message-ID: <200301300529.h0U5TI7M004690@tweedy.interludium.com>
next in thread | raw e-mail | index | archive | help
>Number: 47664 >Category: kern >Synopsis: change in ip_output.c in 4.7-STABLE seems to have broken ip_filter 3.4.31 build >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jan 29 21:30:07 PST 2003 >Closed-Date: >Last-Modified: >Originator: Charlie & >Release: FreeBSD 4.7-STABLE i386 >Organization: Interludium >Environment: System: FreeBSD tweedy.interludium.com 4.7-STABLE FreeBSD 4.7-STABLE #1: Wed Jan 29 14:08:30 PST 2003 root@tweedy.interludium.com:/usr/obj/usr/src/sys/TWEEDY i386 >Description: Hi. Got a build error building ip_filter 3.4.31, then went back and attempted to build an older version of ip_filter (3.4.28), that for sure built fine before my cvsup of 4.7-STABLE on 1/28/2003. Nothing appears to have changed in the ip_filter code for ip_auth.c: Here is the build error: <snip> cc -Wall -Wstrict-prototypes -Wuninitialized -O -g -I../.. -DIPFILTER_LOG -DIPFILTER_LKM -Di386 -D__i386__ -DINET -DKERNEL -D_KERNEL -I/usr/include -I/sys -I/sys/sys -I/sys/arch -DKLD_MODULE -I/sys -c ../../ip_state.c -o ip_state.o cc -Wall -Wstrict-prototypes -Wuninitialized -O -g -I../.. -DIPFILTER_LOG -DIPFILTER_LKM -Di386 -D__i386__ -DINET -DKERNEL -D_KERNEL -I/usr/include -I/sys -I/sys/sys -I/sys/arch -DKLD_MODULE -I/sys -c ../../ip_proxy.c -o ip_proxy.o cc -Wall -Wstrict-prototypes -Wuninitialized -O -g -I../.. -DIPFILTER_LOG -DIPFILTER_LKM -Di386 -D__i386__ -DINET -DKERNEL -D_KERNEL -I/usr/include -I/sys -I/sys/sys -I/sys/arch -DKLD_MODULE -I/sys -c ../../ip_auth.c -o ip_auth.o ../../ip_auth.c: In function `fr_auth_ioctl': ../../ip_auth.c:425: too few arguments to function `ip_output' *** Error code 1 Stop in /usr/local/src/ipfilter/ip_fil3.4.31/BSD/FreeBSD-4.7-STABLE-i386. *** Error code 1 The ip_auth.c code that appears to be triggering this is: # if ((_BSDI_VERSION >= 199802) && (_BSDI_VERSION < 200005)) || \ defined(__OpenBSD__) || (defined(IRIX) && (IRIX >= 605)) error = ip_output(m, NULL, &ro, IP_FORWARDING, NULL, NULL); # else error = ip_output(m, NULL, &ro, IP_FORWARDING, NULL); # endif It looks to me that the ip_output.c code was changed quite recently. From the /usr/sup file: C src/sys/netinet/ip_output.c,v RELENG_4 . 2#871#110#10433850946#2584543#444 1.99.2.35 2003.01.24.05.11.34 2#871#110#10438248515#540973#644 And the ip_output function in /usr/src/sys/netinet/ip_output.c seems to match the BSDI version above: int ip_output(m0, opt, ro, flags, imo, inp) Looks like the ip_output.c code might have been suddenly changed, I guess? Perhaps this should really be an ip_filter bug, I suppose, but it seems odd that older versions would suddenly be broken. Unfortunately, I can't find a way to retrive an older version of the ip_output.c file to compare the source. But when I change the above ip_auth.c code to this, it does compile: error = ip_output(m, NULL, &ro, IP_FORWARDING, NULL, NULL); Good luck, cheers, thanks for all the hard work and great code over the years. -thom >How-To-Repeat: # cvsup 4.7-STABLE (as of 1/28/2003) # tar xvfz ip-fil3.4.31.tar.gz # cd ip_fil3.4.31/ # make freebsd4 >Fix: Probably change ip_auth.c in ip_filter as noted above. However, old versions of ip_filter now broken too. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301300529.h0U5TI7M004690>