| #!/bin/csh -f | 
 | # | 
 | set major=47 | 
 | set minor=0 | 
 | set dir=`pwd` | 
 | set karch=`uname -m` | 
 | if ( -d /sys/arch/$karch ) set archdir="/sys/arch/$karch" | 
 | if ( -d /sys/$karch ) set archdir="/sys/$karch" | 
 | set confdir="$archdir/conf" | 
 |  | 
 | if ( $dir =~ */BSDOS4 ) cd .. | 
 | foreach i (ip_{auth,fil,frag,nat,proxy,scan,state,sync}.[ch] fil.c ipl.h \ | 
 | 	   ip_compat.h ip_log.c ip_*_pxy.c ) | 
 | 	echo -n "$i "; | 
 | 	cp $i /sys/netinet | 
 | 	chmod 664 /sys/netinet/$i | 
 | 	switch ($i) | 
 | 	case *.h: | 
 | 		/bin/cp $i /usr/include/netinet/$i | 
 | 		chmod 644 /usr/include/netinet/$i | 
 | 		breaksw | 
 | 	endsw | 
 | end | 
 | echo "" | 
 | if ( -f /sys/netinet/ip_input.c ) then | 
 | 	echo "Patching ip_input.c, ip_output.c, in_proto.c" | 
 | 	cat BSDOS4/ip_{in,out}put.c.diffs BSDOS4/in_proto.c.diffs | \ | 
 | 	(cd /sys/netinet; patch) | 
 | else | 
 | 	echo "Patching in_proto.c" | 
 | 	cat BSDOS4/in_proto.c.diffs | (cd /sys/netinet; patch) | 
 | 	echo "Installing new object files ip_input.o, ip_output.o" | 
 | 	foreach i (ip_input.o ip_output.o) | 
 | 		if ( ! -f $archdir/OBJ/$i.preipf ) then | 
 | 			mv $archdir/OBJ/$i $archdir/OBJ/$i.preipf | 
 | 		endif | 
 | 		cp -p BSDOS4/OBJS/$i $archdir/OBJ/$i | 
 | 		chmod 644 $archdir/OBJ/$i | 
 | 	end | 
 | endif | 
 |  | 
 | echo "Patching /sys/conf/files, $archdir/conf/ioconf.c.i386" | 
 | cat BSDOS4/files.diffs | (cd /sys/conf; patch) | 
 | cat BSDOS4/ioconf.c.i386.diffs | (cd $archdir/conf; patch) | 
 |  | 
 | echo "Creating device files..." | 
 | foreach i (/dev/ipl /dev/ipnat /dev/ipstate /dev/ipauth /dev/ipsync /dev/ipscan) | 
 | 	if ( -f $i ) then | 
 | 		/bin/rm -f $i | 
 | 	endif | 
 | 	echo "$i - character device major $major, minor $minor" | 
 | 	mknod $i c $major $minor | 
 | 	set minor=`expr $minor + 1` | 
 | end | 
 |  | 
 | set confpath=`/bin/ls -1t $confdir/[0-9A-Z_]* | head -1` | 
 | set config=`basename $confpath` | 
 |  | 
 | echo -n "Kernel configuration to update [$config] " | 
 | set newconfig=$< | 
 | if ( "$newconfig" != "" ) then | 
 | 	set config="$confdir/$newconfig" | 
 | else | 
 | 	set newconfig=$config | 
 | endif | 
 | echo "Re-config'ing $newconfig..." | 
 | if ( -f $confdir/$newconfig ) then | 
 | 	mv $confdir/$newconfig $confdir/$newconfig.bak | 
 | endif | 
 | if ( -d $archdir/$newconfig ) then | 
 | 	mv $archdir/$newconfig $archdir/$newconfig.bak | 
 | endif | 
 | awk '{ print $0; if($2=="INET") \ | 
 | 	{ \ | 
 | 	print "options \tIPFILTER\t\t# IP Filtering"; \ | 
 | 	print "# options \tIPFILTER_LOG\t\t# IP Filter logging"; \ | 
 | 	} \ | 
 |     }' $confdir/$newconfig.bak > $confdir/$newconfig | 
 | echo 'You will now need to run "config" and build a new kernel.' | 
 | exit 0 |