Fix exec from setuid/setgid binaries
[dragonfly.git] / contrib / ipfilter / FreeBSD-2.2 / kinstall
blob9ecadc4ce2c20d48eb88749b54bc401fd4d53a01
1 #!/bin/csh -f
3 set dir=`pwd`
4 set karch=`uname -m`
5 if ( -d /sys/arch/$karch ) set archdir="/sys/arch/$karch"
6 if ( -d /sys/$karch ) set archdir="/sys/$karch"
7 set confdir="$archdir/conf"
9 if ( $dir =~ */FreeBSD* ) cd ..
10 echo -n "Installing "
11 foreach i (ip_fil.[ch] ip_nat.[ch] ip_frag.[ch] ip_state.[ch] fil.c \
12 ip_proxy.[ch] ip_*_pxy.c mlf_ipl.c ipl.h ip_compat.h \
13 ip_auth.[ch] ip_log.c)
14 echo -n "$i ";
15 cp $i /sys/netinet
16 chmod 644 /sys/netinet/$i
17 switch ( $i )
18 case *.h:
19 /bin/cp $i /usr/include/netinet/$i
20 chmod 644 /usr/include/netinet/$i
21 breaksw
22 endsw
23 end
24 echo ""
25 echo "Copying /usr/include/osreldate.h to /sys/sys"
26 cp /usr/include/osreldate.h /sys/sys
27 echo "Patching ip_input.c, ip_output.c and in_proto.c"
28 cat FreeBSD-2.2/ip_{in,out}put.c.diffs FreeBSD-2.2/in_proto.c.diffs | \
29 (cd /sys/netinet; patch)
31 if ( -f /sys/conf/files.newconf ) then
32 echo "Patching /sys/conf/files.newconf"
33 cat FreeBSD-2.2/files.newconf.diffs | (cd /sys/conf; patch)
34 echo "Patching /sys/conf/files"
35 cat FreeBSD-2.2/files.diffs | (cd /sys/conf; patch)
36 endif
37 if ( -f /sys/conf/files.oldconf ) then
38 echo "Patching /sys/conf/files.oldconf"
39 cat FreeBSD-2.2/files.oldconf.diffs | (cd /sys/conf; patch)
40 echo "Patching /sys/conf/files"
41 cat FreeBSD-2.2/filez.diffs | (cd /sys/conf; patch)
42 endif
44 set config=`(cd $confdir; /bin/ls -1t [0-9A-Z_]*) | head -1`
45 echo -n "Kernel configuration to update [$config] "
46 set newconfig=$<
47 if ( "$newconfig" != "" ) then
48 set config="$confdir/$newconfig"
49 else
50 set newconfig=$config
51 endif
52 echo "Re-config'ing $newconfig..."
53 if ( -f $confdir/$newconfig ) then
54 mv $confdir/$newconfig $confdir/$newconfig.bak
55 endif
56 if ( -d $archdir/../compile/$newconfig ) then
57 set bak=".bak"
58 set dot=0
59 while ( -d $archdir/../compile/${newconfig}.${bak} )
60 set bak=".bak.$dot"
61 set dot=`expr 1 + $dot`
62 end
63 mv $archdir/../compile/$newconfig $archdir/../compile/${newconfig}.${bak}
64 endif
65 awk '{print $0;if($2=="INET"){print"options IPFILTER"}}' \
66 $confdir/$newconfig.bak > $confdir/$newconfig
67 echo 'You will now need to run "config" and build a new kernel.'
68 exit 0