Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Apr 1999 20:51:53 +0200
From:      Tomaz Borstnar <tomaz.borstnar@over.net>
To:        ipfilter@coombs.anu.edu.au
Cc:        freebsd-stable@freebsd.org
Subject:   3.2.11beta6 and FreeBSD 3.1-stable - needs work to compile and then remote sessions to machine hang after inactivity
Message-ID:  <4.1.19990414185917.00bd3a90@193.189.189.100>
In-Reply-To: <88256753.005A1B4D.00@notes.bankamerica.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <dirent.h>"
/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 <dirent.h>"
/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 <tomaz.borstnar@over.net>
"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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4.1.19990414185917.00bd3a90>