#!/bin/bash

	set -e -x

	FWBUILDSTRING="# THIS SCRIPT IS FROM MATRIX CFENGINE AUTOMATIC"
	FWBUILDSTRING="${FWBUILDSTRING} CONFIGURATION FOR FW BOWSER.MATRIX.MSU.EDU"

	error=0
#	trap "error=$((error|1))" ERR

	cat > /etc/network/interfaces <<EOF
#GENERATED BY MATRIX.MSU.EDU PRESEED
auto lo
iface lo inet loopback

EOF

	netdevices_up=$(/sbin/ip link |
		perl -anF'\s+' -e 'print "$F[1]\n" if $F[1];' |
		grep -v "^lo" |
		sort |
		uniq)
	for linkraw in $netdevices_up
	do
		link=$(echo $linkraw | sed 's/:$//')
		output4=$(ip -f inet addr show $link |
			grep "scope global $link" |
			awk '/inet /{print $2}')
		IPADDR=$(echo $output4 |
			 sed 's/\/.*//g' |
			 awk -F. 'OFS="." {print $1,$2,$3,$4}')
		GWADDR=$(echo $output4 | awk -F. 'OFS="." {print $1,$2,$3,"1"}')
		BCAST=$(echo $output4 | awk -F. 'OFS="." {print $1,$2,$3,"255"}')
		NETWORK=$(echo $output4 | awk -F. 'OFS="." {print $1,$2,$3,"0"}')
		NETMASK="255.255.255.0"

		case "${IPADDR}" in
			35.*)
				TENADDR=`echo $IPADDR | sed 's/35\.9\.18/10.0.0/'`
				if grep -v -q "$FWBUILDSTRING" /etc/network/interfaces
				then
					cat >> /etc/network/interfaces <<EOF
auto eth0
iface eth0 inet static
address $IPADDR
netmask $NETMASK
network $NETWORK
broadcast $BCAST
gateway $GWADDR

auto eth1
iface eth1 inet static
address $TENADDR
netmask $NETMASK
network 10.0.0.0
broadcast 10.0.0.255
mtu 1500
EOF
				fi

				if [ -n "$NETWORK" ]
				then
					if [ -f /etc/networks ]
					then
						echo "localnet $NETWORK" >> /etc/networks
					else
					echo "localnet $NETWORK" > /etc/networks
					fi
				fi
				;;
			*)
				;;
		esac
	done

	exit $error
