From owner-freebsd-stable Wed Apr 14 12: 3:56 1999 Delivered-To: freebsd-stable@freebsd.org Received: from odin.siol.net (odin.siol.net [193.189.160.10]) by hub.freebsd.org (Postfix) with ESMTP id AF85714D2F for ; Wed, 14 Apr 1999 12:03:49 -0700 (PDT) (envelope-from tomaz.borstnar@over.net) Received: from hang ([193.189.183.211]) by odin.siol.net (Post.Office MTA v3.5.3 release 223 ID# 620-58654U60000L60000S0V35) with SMTP id net; Wed, 14 Apr 1999 21:01:25 +0200 Message-Id: <4.1.19990414185917.00bd3a90@193.189.189.100> X-Misc: N/A X-Legalese: #include Date: Wed, 14 Apr 1999 20:51:53 +0200 To: ipfilter@coombs.anu.edu.au From: Tomaz Borstnar Subject: 3.2.11beta6 and FreeBSD 3.1-stable - needs work to compile and then remote sessions to machine hang after inactivity Cc: freebsd-stable@freebsd.org In-Reply-To: <88256753.005A1B4D.00@notes.bankamerica.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hello! Let me first say that beta4 and beta5 work great on 2 machines so I decided to play with beta6 on latest FreeBSD 3.1-stable (sources fetched today). I started with 'make freebsd30' with IPFLKM commented, because in previous betas only kernel mode worked. First error: cc -g -I../.. -DIPFILTER_LOG -Di386 -D__i386__ -DINET -DKERNEL -D_KERNEL -I/us r/include -I/sys -I/sys/sys -I/sys/arch -c ../../ip_fil.c -o ip_fil.o In file included from ../../ip_fil.c:52: /usr/include/sys/dir.h:41: warning: #warning "The information in this file shoul d be obtained from " /usr/include/sys/dir.h:42: warning: #warning "and is provided solely (and tempor arily) for backward compatibility." In file included from /usr/include/sys/signal.h:46, from /usr/include/sys/proc.h:49, from ../../netinet/ip_compat.h:351, from ../../ip_fil.c:89: /usr/include/sys/_posix.h:45: opt_posix.h: No such file or directory Fixed by touch opt_posix.h. Next: cc -g -I../.. -DIPFILTER_LOG -Di386 -D__i386__ -DINET -DKERNEL -D_KERNEL -I/us r/include -I/sys -I/sys/sys -I/sys/arch -c ../../ip_fil.c -o ip_fil.o In file included from ../../ip_fil.c:52: /usr/include/sys/dir.h:41: warning: #warning "The information in this file shoul d be obtained from " /usr/include/sys/dir.h:42: warning: #warning "and is provided solely (and tempor arily) for backward compatibility." ../../ip_fil.c: In function `send_reset': ../../ip_fil.c:859: too many arguments to function `ip_output' *** Error code 1 Stop. ip_output doesn't accept so many argument according to ip_output.c in /usr/src/sysnetinet: int ip_output(m0, opt, ro, flags, imo) struct mbuf *m0; struct mbuf *opt; struct route *ro; int flags; struct ip_moptions *imo; The error is here: # if defined(__FreeBSD_version) && (__FreeBSD_version >= 220000) bzero((char *)&ro, sizeof(ro)); err = ip_output(m, (struct mbuf *)0, &ro, 0, 0, NULL); <================ 6 params? if (ro.ro_rt) RTFREE(ro.ro_rt); # else /* * extra 0 in case of multicast */ err = ip_output(m, (struct mbuf *)0, 0, 0, 0); # endif We can get rid of one zere and it goes further till ip_auth where we have to edit again and get rid of one parameter (one NULL) to ip_output. And 'make freebsd30' compiles! 'make install-bsd' goes correctly. Then the picky part: FreeBSD-2.2/kinstall: It fails here: -------------------------- |*** /sys/netinet/ip_output.c.orig Sat May 24 14:07:24 1997 |--- /sys/netinet/ip_output.c Sat May 24 15:00:29 1997 -------------------------- Patching file ip_output.c using Plan A... Hunk #1 succeeded at 73 with fuzz 2 (offset 6 lines). Hunk #2 failed at 85. Hunk #3 failed at 348. Hunk #4 failed at 580. 3 out of 4 hunks failed--saving rejects to ip_output.c.rej Most of the stuff is the except ip_optcopy loses 'static' in 'static int' as return value. So now we can re-config the kernel and build it: loading kernel mlf_ipl.o: In function `iplaction': mlf_ipl.o(.text+0x19): undefined reference to `lkmexists' *** Error code 1 We get rid of iplaction in mlf_ipl.c and it compiles. We reboot and feel proud to make it work. Great, huh? Then we go home and find out that our ssh sessions stop responding if we're inactive for more than a minute. Not so great, right? Then we build a kernel without ipfilter and sessions stay like they used to. So it is not ssh. Could be something in netinet in FreeBSD 3.1-stable that was changed since 30th March - I have a machine with FreeBSD 3.1-STABLE build with ipfilter 3.2.11beta5 and FreeBSD sources from that day which works perfect. I'm not sure. Tomaz ---- Tomaz Borstnar "Love is the answer to the final question you ask" - Unknown To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message