I've downloaded and installed the latest 4.1.23RC4 and have installed
it on Solaris 8 and 9 hosts.

Latest version seems to fix kernel crashes

        It seemed to have cured the kernel crash problem bedevilling
        previous 4.1.30 builds.  I've sent core dump analysis to Darren,
        but I've narrowed down the problem to UDP port filtering rules.
        It starts crashing when you add port matching criteria to a
        block rule.  But since the latest version seemed to have cured
        the problem, I have lost the impetus to look into this further.

Latest version seems to restore return-rst function

        The return-rst problem where RST packets were not being emitted
        also seems to have been fixed (some routing problem).  The latest
        version seems to jiggle the kernel enough to generate a routing
        entry for a returning RST packet.

The latter fix encouraged me to try and replace the Solaris10's 4.1.9
version with the latest.  I came across two issues:

Header problems

        # Output of "make solaris"
        gcc -I.  -I../.. -D_BSD_SOURCE -O2 -ffreestanding  -DSOLARIS2=10 -c 
../../lib/addicmp.c -o sparcv7/addicmp.o
        In file included from ../../netinet/ip_compat.h:147,
                         from ../../ipf.h:69,
                         from ../../lib/addicmp.c:11:
        /usr/include/sys/proc.h:202: error: parse error before "p_t1_lgrpid"
        /usr/include/sys/proc.h:203: error: parse error before "p_tr_lgrpid"
        /usr/include/sys/proc.h:337: error: parse error before '}' token
        In file included from /usr/include/sys/devops.h:16,
                         from ../../netinet/ip_compat.h:148,
                         from ../../ipf.h:69,
                         from ../../lib/addicmp.c:11:
        /usr/include/vm/as.h:120: error: parse error before "proc_t"
        *** Error code 1

        I think the problem stems from the fact that gcc's "fixed" header
        files located in

                $prefix/lib/gcc/sparc-sun-solaris2.10/<version>/include/

        gets out of sync with respect to the system headers, which are
        updated via patches.  In the particular case above, <sys/types.h>
        has been updated to include the definition of "lgrp_id_t",
        whereas the gcc's version does not.

        To fix it, you can run fixinclude from the gcc build directory
        again, or try and figure out how to run

                
$prefix/libexec/gcc/sparc-sun-solaris2.10/<version>/install-tools/fix*

        tools, but I just diff'd the headers and updated gcc's copy manually.

        This might be the cause of other problems that some earlier posters
        have had with compiling ipf using gcc.

Lack of ncurses libraries

        It would be nice to have "ipfstat -t" working, but it seems to
        want the libncurses which I haven't installed.  I could install
        it, but what does Solaris10 ipf use since ncurses isn't part
        of Solaris?  Is it just compiled against the regular curses
        library.  Can I use that instead?

                STATETOP_INC=
                STATETOP_LIB=-lcurses

        There's also an annoying bug with Solaris10's "ipfstat -t" where
        under some circumstances, exiting the program kills my entire tty
        session, forcing me to log in again.

Joseph Tam <[email protected]>

Reply via email to