]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/ipfilter/FreeBSD-4.0/kinstall
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / ipfilter / FreeBSD-4.0 / kinstall
1 #!/bin/csh -f
2 #
3 set dir=`pwd`
4 set karch=`uname -m`
5 set ipfdir=/sys/netinet
6 set krev=`uname -r|sed -e 's/\([0-9\.]*\)-.*/\1/'`
7 if ( -d /sys/arch/$karch ) set archdir="/sys/arch/$karch"
8 if ( -d /sys/$karch ) set archdir="/sys/$karch"
9 if ( -d /sys/contrib/ipfilter ) set ipfdir=/sys/contrib/ipfilter/netinet
10 set confdir="$archdir/conf"
11
12 if ( $dir =~ */FreeBSD* ) cd ..
13 echo -n "Installing "
14 foreach i (ip_{auth,fil,nat,pool,proxy,scan,state,sync}.[ch] fil.c \
15            ip_*_pxy.c mlfk_ipl.c ipl.h ip_compat.h ip_log.c )
16         echo -n "$i ";
17         cp $i /sys/netinet
18         chmod 644 /sys/netinet/$i
19         switch ($i)
20         case *.h:
21                 /bin/cp $i /usr/include/netinet/$i
22                 chmod 644 /usr/include/netinet/$i
23                 breaksw 
24         endsw   
25 end
26 echo ""
27 echo "Linking /usr/include/osreldate.h to /sys/sys/osreldate.h"
28 ln -s /usr/include/osreldate.h /sys/sys/osreldate.h
29
30 echo ""
31 echo "Patching ip6_input.c and ip6_output.c"
32 cat FreeBSD-4.0/ipv6-patch-$krev | (cd /sys/netinet6; patch -N)
33
34 set config=`(cd $confdir; /bin/ls -1t [0-9A-Z_]*) | head -1`
35 echo -n "Kernel configuration to update [$config] "
36 set newconfig=$<
37 if ( "$newconfig" != "" ) then
38         set config="$confdir/$newconfig"
39 else
40         set newconfig=$config
41 endif
42 grep -q IPFILTER $confdir/$newconfig
43 if ($status == 0) then
44         echo "IPFilter already configured in kernel config file"
45         exit 0
46 endif
47 echo "Rewriting $newconfig..."
48 if ( -f $confdir/$newconfig ) then
49         mv $confdir/$newconfig $confdir/$newconfig.bak
50 endif
51 if ( -d $archdir/../compile/$newconfig ) then
52         set bak=".bak"
53         set dot=0
54         while ( -d $archdir/../compile/${newconfig}.${bak} )
55                 set bak=".bak.$dot"
56                 set dot=`expr 1 + $dot`
57         end
58         mv $archdir/../compile/$newconfig $archdir/../compile/${newconfig}.${bak}
59 endif
60 awk '{print $0;if($2=="INET"){print"options IPFILTER\noptions IPFILTER_LOG"}}'\
61         $confdir/$newconfig.bak > $confdir/$newconfig
62 echo "You will now need to run config on $newconfig and build a new kernel."
63 exit 0