From owner-freebsd-bugs Wed Jan 29 21:30:11 2003 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8EBDD37B401 for ; Wed, 29 Jan 2003 21:30:08 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E50E43F3F for ; Wed, 29 Jan 2003 21:30:07 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id h0U5U7NS013422 for ; Wed, 29 Jan 2003 21:30:07 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id h0U5U7BB013421; Wed, 29 Jan 2003 21:30:07 -0800 (PST) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E79D637B401 for ; Wed, 29 Jan 2003 21:29:19 -0800 (PST) Received: from tweedy.interludium.com (dsl093-131-114.sfo2.dsl.speakeasy.net [66.93.131.114]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2DC1843F79 for ; Wed, 29 Jan 2003 21:29:19 -0800 (PST) (envelope-from thom@interludium.com) Received: from tweedy.interludium.com (localhost.interludium.com [127.0.0.1]) by tweedy.interludium.com (8.12.5/8.12.5) with ESMTP id h0U5TIEb004691 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Wed, 29 Jan 2003 21:29:18 -0800 (PST) Received: (from root@localhost) by tweedy.interludium.com (8.12.5/8.12.2/Submit) id h0U5TI7M004690; Wed, 29 Jan 2003 21:29:18 -0800 (PST) Message-Id: <200301300529.h0U5TI7M004690@tweedy.interludium.com> Date: Wed, 29 Jan 2003 21:29:18 -0800 (PST) From: "Thom O'Connor" Reply-To: "Thom O'Connor" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/47664: change in ip_output.c in 4.7-STABLE seems to have broken ip_filter 3.4.31 build Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >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: 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