NetBSD/usr.sbin/ipf/ipfilter2netbsd
veego 10a4c3c374 Updated to the new NetBSD source layout with basesrc and syssrc.
Apply the MKMAN and MKSHARE changes which someone changed in the Makefiles
but did not apply them here.
Add the mediaone example.
Changes for the new ipfilter version 3.3.3.
1999-10-24 19:56:31 +00:00

426 lines
12 KiB
Bash

#! /bin/sh
#
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
#
# Copyright (c) 1996 Matthew R. Green
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by Matthew R. Green for
# the NetBSD Project.
# 4. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# ipfilter2netbsd: convert a ipfilter source tree into a
# netbsd ipfilter source tree, under syssrc/sys, basesrc/usr.sbin,
# etc., ready for importing.
if [ $# -ne 2 ]; then echo "ipfilter2netbsd src dest"; exit 1; fi
r=$1
d=$2/ipfilter
case "$d" in
/*)
;;
*)
d=`/bin/pwd`/$d
;;
esac
case "$r" in
/*)
;;
*)
r=`/bin/pwd`/$r
;;
esac
echo preparing directory $d
rm -rf $d
mkdir -p $d; cd $d
mkdir -p syssrc/sys/lkm/netinet/if_ipl syssrc/sys/netinet basesrc/usr.sbin/ipf/ipf basesrc/usr.sbin/ipf/ipfstat basesrc/usr.sbin/ipf/ipftest basesrc/usr.sbin/ipf/ipmon basesrc/usr.sbin/ipf/ipnat basesrc/usr.sbin/ipf/ipresend basesrc/usr.sbin/ipf/ipsend basesrc/usr.sbin/ipf/iptest basesrc/usr.sbin/ipf/rules
### start Makefile ###############################
cd $d/basesrc/usr.sbin/ipf
echo creating main Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
SUBDIR= ipf ipfstat ipftest ipmon ipnat ipresend ipsend iptest rules
.include <bsd.subdir.mk>
__eof_makefile
### end Makefile ###############################
### start Makefile.inc ###############################
cd $d/basesrc/usr.sbin/ipf
echo creating main Makefile.inc
cat > Makefile.inc<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
WARNS?= 1
.if exists(${.CURDIR}/../../Makefile.inc)
.include "${.CURDIR}/../../Makefile.inc"
.endif
__eof_makefile
### end Makefile.inc ###############################
### start ipf ###############################
cd $r
echo ipf:
src='ipf.c parse.c opt.c ipf.h facpri.c facpri.h'
man='ipf.8 ipf.4 ipf.5 ipl.4'
pax -rvw $src $d/basesrc/usr.sbin/ipf/ipf
cd man; pax -rvw $man $d/basesrc/usr.sbin/ipf/ipf; cd ..
cd $d/basesrc/usr.sbin/ipf/ipf
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
.include <bsd.own.mk>
PROG= ipf
SRCS= ipf.c parse.c facpri.c opt.c
MAN= ipf.8 ipf.4 ipf.5 ipl.4
MLINKS= ipl.4 ipfilter.4 ipf.5 ipf.conf.5
BINDIR= /sbin
LDSTATIC?= -static
.include <bsd.prog.mk>
__eof_makefile
### end ipf ###############################
### start ipfstat ###############################
cd $r
echo ipfstat:
src='kmem.c kmem.h fils.c'
man=ipfstat.8
pax -rvw $src $d/basesrc/usr.sbin/ipf/ipfstat
cd man; pax -rvw $man $d/basesrc/usr.sbin/ipf/ipfstat; cd ..
cd $d/basesrc/usr.sbin/ipf/ipfstat
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
PROG= ipfstat
SRCS= kmem.c fils.c opt.c parse.c facpri.c
MAN= ipfstat.8
CPPFLAGS+=-I${.CURDIR}/../ipf
.PATH: ${.CURDIR}/../ipf
.include <bsd.prog.mk>
__eof_makefile
### end ipfstat ###############################
### start ipftest ###############################
cd $r
echo ipftest:
src='ipt.c ipft_sn.c ipft_ef.c ipft_td.c ipft_pc.c ipft_tx.c misc.c ipft_hx.c ipt.h snoop.h pcap.h'
man=ipftest.1
pax -rvw $src test $d/basesrc/usr.sbin/ipf/ipftest
cd man; pax -rvw $man $d/basesrc/usr.sbin/ipf/ipftest; cd ..
cd $d/basesrc/usr.sbin/ipf/ipftest
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
PROG= ipftest
SRCS= ipt.c ipft_sn.c ipft_ef.c ipft_td.c ipft_pc.c opt.c ipft_tx.c misc.c ip_frag.c ip_state.c ip_nat.c ipft_hx.c ip_fil.c fil.c parse.c facpri.c ip_proxy.c ip_auth.c
MAN= ipftest.1
CPPFLAGS+=-I${.CURDIR} -I${.CURDIR}/../ipf
.PATH: ${.CURDIR}/../ipf ${.CURDIR}/../../../sys/netinet
.include <bsd.prog.mk>
__eof_makefile
### end ipftest ###############################
### start ipmon ###############################
cd $r
echo ipmon:
src=ipmon.c
man=ipmon.8
pax -rvw $src $d/basesrc/usr.sbin/ipf/ipmon
cd man; pax -rvw $man $d/basesrc/usr.sbin/ipf/ipmon; cd ..
cd $d/basesrc/usr.sbin/ipf/ipmon
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
PROG= ipmon
MAN= ipmon.8
CPPFLAGS+=-DLOGFAC=LOG_LOCAL0 -I${.CURDIR}/../ipf
.PATH: ${.CURDIR}/../ipf
.include <bsd.prog.mk>
__eof_makefile
### end ipmon ###############################
### start ipnat ###############################
cd $r
echo ipnat:
src='ipnat.c natparse.c'
man='ipnat.1 ipnat.4 ipnat.5'
pax -rvw $src $d/basesrc/usr.sbin/ipf/ipnat
cd man; pax -rvw $man $d/basesrc/usr.sbin/ipf/ipnat; cd ..
cd $d/basesrc/usr.sbin/ipf/ipnat
mv ipnat.1 ipnat.8
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
PROG= ipnat
SRCS= kmem.c ipnat.c natparse.c
MAN= ipnat.8 ipnat.4 ipnat.5
MLINKS= ipnat.5 ipnat.conf.5
CPPFLAGS+=-I${.CURDIR}/../ipf -I${.CURDIR}/../ipfstat
.PATH: ${.CURDIR}/../ipf ${.CURDIR}/../ipfstat
.include <bsd.prog.mk>
__eof_makefile
### end ipnat ###############################
### start of ipresend ##############################
cd $r
echo ipresend:
src='ipresend.c resend.c'
man=ipresend.1
cd ipsend; pax -rvw $src $man $d/basesrc/usr.sbin/ipf/ipresend
cd $d/basesrc/usr.sbin/ipf/ipresend
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
PROG= ipresend
SRCS= ipresend.c ip.c resend.c opt.c ipft_ef.c ipft_hx.c ipft_sn.c ipft_td.c ipft_tx.c sbpf.c 44arp.c ipft_pc.c
MAN= ipresend.1
CPPFLAGS+=-I${.CURDIR}/../ipf -I${.CURDIR}/../ipfstat
CPPFLAGS+=-I${.CURDIR}/../ipsend -I${.CURDIR}/../ipftest
.PATH: ${.CURDIR}/../ipf ${.CURDIR}/../ipfstat
.PATH: ${.CURDIR}/../ipsend ${.CURDIR}/../ipftest
.include <bsd.prog.mk>
__eof_makefile
### end of ipresend ###############################
### start of ipsend ##############################
cd $r
echo ipsend:
src='44arp.c ip.c ipsend.c ipsend.h ipsopt.c sbpf.c tcpip.h'
src2='iplang_l.l iplang_y.y iplang.tst iplang.h'
man='ipsend.1 ipsend.5'
cd ipsend; pax -rvw $src $man $d/basesrc/usr.sbin/ipf/ipsend
cd $r
cd iplang; pax -rvw $src2 $d/basesrc/usr.sbin/ipf/ipsend
cd $d/basesrc/usr.sbin/ipf/ipsend
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
PROG= ipsend
SRCS= ipsend.c ip.c ipsopt.c 44arp.c sbpf.c iplang_l.l iplang_y.y
CPPFLAGS+=-I${.CURDIR}/../ipftest -I${.CURDIR}/../ipf -I.
YHEADER=1
LDADD= -ll
DPADD= ${LIBL}
MAN= ipsend.1 ipsend.5
.PATH: ${.CURDIR}/../ipf
.include <bsd.prog.mk>
__eof_makefile
### end of ipsend ###############################
### start of iptest ##############################
cd $r
echo iptest:
src='iptest.c iptests.c sock.c'
man=iptest.1
cd ipsend; pax -rvw $src $man $d/basesrc/usr.sbin/ipf/iptest
cd $d/basesrc/usr.sbin/ipf/iptest
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
PROG= iptest
SRCS= iptest.c iptests.c ip.c sbpf.c 44arp.c sock.c
MAN= iptest.1
CPPFLAGS+=-I${.CURDIR}/../ipsend -I${.CURDIR}/../ipftest -I${.CURDIR}/../ipf -I${.CURDIR}/../ipnat
.PATH: ${.CURDIR}/../ipf ${.CURDIR}/../ipsend ${.CURDIR}/../ipnat
.include <bsd.prog.mk>
__eof_makefile
### end of iptest ###############################
### start of rules ##############################
cd $r
echo rules:
file=mkfilters
man=mkfilters.1
pax -rvw rules $d/basesrc/usr.sbin/ipf
pax -rvw $file $d/basesrc/usr.sbin/ipf/rules
cd man; pax -rvw $man $d/basesrc/usr.sbin/ipf/rules
cd $d/basesrc/usr.sbin/ipf/rules
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
.include <bsd.own.mk>
MAN= mkfilters.1
.if ${MKSHARE} != "no"
FILESDIR= /usr/share/examples/ipf
FILES= BASIC.NAT BASIC_1.FW BASIC_2.FW example.1 example.2 example.3 \
example.4 example.5 example.6 example.7 example.8 example.9 \
example.10 example.sr firewall ftp-proxy ftppxy nat-setup \
nat.eg server tcpstate mkfilters mediaone
.endif
.include <bsd.man.mk>
.include <bsd.files.mk>
__eof_makefile
### end of rules ###############################
### start ipfilter in kernel #######################
cd $r
echo kernel modules:
src='ip_auth.c ip_auth.h ip_fil.c fil.c ip_nat.c ip_frag.c ip_state.c ip_fil.h ip_compat.h ip_frag.h ip_nat.h ip_state.h ip_proxy.c ip_proxy.h ip_ftp_pxy.c ip_log.c ip_raudio_pxy.c ip_rcmd_pxy.c ipl.h'
pax -rvw $src $d/syssrc/sys/netinet
### end ipfilter in kernel #######################
### start ip_fil lkm #######################
cd $r
echo loadable kernel modules:
src='mln_ipl.c'
pax -rvw $src $d/syssrc/sys/lkm/netinet/if_ipl
cd $d/syssrc/sys/lkm/netinet/if_ipl
echo creating Makefile
cat > Makefile<<'__eof_makefile'
# $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
.include "../Makefile.inc"
.PATH: $S/netinet
CPPFLAGS+= -DIPFILTER_LOG -I$S/netinet
KMOD= if_ipl
SRCS= ip_fil.c fil.c mln_ipl.c ip_nat.c ip_frag.c ip_state.c ip_proxy.c \
ip_auth.c ip_log.c
MKMAN= no
.include <bsd.kmod.mk>
__eof_makefile
### end ip_fil lkm #######################
find $d -name '*.[chly]' -print | while read c; do
sed -e 's/"ip_fil.h"/<netinet\/ip_fil.h>/
s/"ip_compat.h"/<netinet\/ip_compat.h>/
s/"ip_nat.h"/<netinet\/ip_nat.h>/
s/"ip_frag.h"/<netinet\/ip_frag.h>/
s/"ip_state.h"/<netinet\/ip_state.h>/
s/"ip_proxy.h"/<netinet\/ip_proxy.h>/
s/"ip_auth.h"/<netinet\/ip_auth.h>/
s/\$\(Id.*\)\$/\1/' \
< $c > /tmp/ipf2n$$ && mv /tmp/ipf2n$$ $c && echo transformed $c
sed 1q < $c | grep -q '\$NetBSD' || (
cat <<'__eof_header' > /tmp/ipf3n$$
/* $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $ */
__eof_header
cat $c >> /tmp/ipf3n$$
mv /tmp/ipf3n$$ $c && echo added RCS tag to $c
)
done
find $d -name '*.[0-9]' -a \! -name 'example.*' -print | while read m; do
sed 1q < $m | grep -q '\$NetBSD' || (
cat <<'__eof_header' > /tmp/ipf3n$$
.\" $NetBSD: ipfilter2netbsd,v 1.27 1999/10/24 19:56:31 veego Exp $
.\"
__eof_header
cat $m >> /tmp/ipf3n$$
mv /tmp/ipf3n$$ $m && echo added RCS tag to $m
)
done
echo done
# Clean up any CVS directories that might be around.
echo "cleaning up CVS residue."
(
cd $d
find . -type d -name "CVS" -print | xargs rm -r
)
echo done
# Fixing file and directory permissions.
echo "Fixing file/directory permissions."
(
cd $d
find . -type f -print | xargs chmod u+rw,go+r
find . -type d -print | xargs chmod u+rwx,go+rx
)
echo done
exit 0