#!/bin/bash

# Set up /etc/resolv.conf
#

RESOLVE=/etc/resolv.conf
DHCP_ETH0=/var/lib/dhcpcd/dhcpcd-eth0.info
DHCP_ETH1=/var/lib/dhcpcd/dhcpcd-eth1.info
LOCAL=/SpliceCom/localAddress

n=0
trace=0

addhost() {
	x=1
	[ $trace -ne 0 ] && echo considering $1
	while [ $x -le $n ]; do
		[ $1 = ${DNSHOSTS[$x]} ] && return
		x=`expr $x + 1`
	done
	
	n=`expr $n + 1`
	[ $trace -ne 0 ] && echo adding $1 at index $n
	DNSHOSTS[$n]=$1
}

addhosts() {
	[ $trace -ne 0 ] && echo argc=$#
	[ $trace -ne 0 ] && echo arg1=$1 arg2=$2
	while [ $# -ge 1 ]; do
		addhost $1
		shift
	done
}

IFS=','
[ -f $DHCP_ETH0 ] && . $DHCP_ETH0
[ "$DNS" ] && addhosts $DNS
DNS=""

[ -f $LOCAL ] && . $LOCAL

[ -f $DHCP_ETH1 ] && . $DHCP_ETH1

[ "$DNS" ] && addhosts $DNS
[ "$dnsPrimary" ] && addhost $dnsPrimary
[ "$dnsSecondary" ] && addhost $dnsSecondary

IFS=''
[ $trace -ne 0 ] && echo servers: ${DNSHOSTS[@]}

if [ "$n" -gt 0 ]; then
	cp $RESOLVE $RESOLVE.bak
	while read line; do
		if [ "${line#nameserver}" = "$line" ]; then
			echo $line
		else
			echo nameserver ${DNSHOSTS[*]}
		fi
	done <$RESOLVE.bak >$RESOLVE
fi

