#!/bin/bash

source /usr/lib/vserver/dhcp-functions


make_resolv_conf(){
	VSERVER=$1
	eval `/usr/lib/vserver/printconf.sh --quote $1`

	if [ -n "$new_domain_name" ] || [ -n "$new_domain_name_servers" ]; then
		cp -fp $VSERVERDIR/etc/resolv.conf $VSERVERDIR/etc/resolv.conf.predhclient
		rscf=`mktemp /tmp/XXXXXX`
		echo '; generated by /usr/lib/vserver/dhclient-script' > $rscf
		if [ -n "$new_domain_name" ]; then
			echo search $new_domain_name >> $rscf
		fi
		for nameserver in $new_domain_name_servers; do
			echo nameserver $nameserver >> $rscf
		done
		cp -fp $rscf $VSERVERDIR/etc/resolv.conf
	    rm -f $rscf
	fi
}



# echo dhclient: $reason >&2
# env
case $reason in
	BOUND|REBOOT)
		make_resolv_conf $VSERVER
		_dhcp_create_info_file $interface $VSERVER $SUFFIX
		;;
	RENEW|REBIND)
		if [ "$new_ip_address" != "$old_ip_address" ] ; then
			logger -t "vserver dhclient-script" "invoked for $reason ('$new_ip_address' != '$old_ip_address') on $interface:$VSERVER$SUFFIX"
			_dhcp_set_file_variables $interface $VSERVER $SUFFIX
			rm -f $DHCP_INFO_FILE
		fi
		;;
	EXPIRE|FAIL|TIMEOUT)
		logger -t "vserver dhclient-script" "invoked for $reason on $interface:$VSERVER$SUFFIX"
		_dhcp_set_file_variables $interface $VSERVER $SUFFIX
		rm -f $DHCP_INFO_FILE
		;;
esac
	

