#!/bin/bash

. /etc/sysconfig/rc.conf
. /etc/sysconfig/network.conf
. /etc/image_features


do_Copy()
{
    if [ -e /etc/fiad-conf/dhcpd.conf.$ARG_EXT -a ! -e /etc/fiad-conf/dhcpd.conf.$ARG_EXT~ ] ; then
        /bin/cp -f /etc/fiad-conf/dhcpd.conf.$ARG_EXT /etc/fiad-conf/dhcpd.conf.$ARG_EXT~ > /dev/null
	echo "dhcpd.conf.$ARG_EXT~ is copied"
    else
	if [ ! -e /etc/fiad-conf/dhcpd.conf.$ARG_EXT ] ; then
	    echo "dhcpd.conf.$ARG_EXT doesn't exist!"
	    return 1
	fi
	echo "dhcpd.conf.$ARG_EXT~ exists."
    fi
    return 0
}

if [ "$START_DHCPD_LAN" = "true" ] ; then
    ARG_EXT=lan
    do_Copy
fi

if [ "$FEATURE_VLAN" = "1" ] && [ "$START_DHCPD_VLAN" = "true" ] ; then
    if [ "$DHCPD_VLAN_INTERFACE" = "0" ] ; then
	DHCPD_INTERFACE="lan$DHCPD_VLAN_INTERFACE.$DHCPD_VLAN_ID"
    else
	DHCPD_INTERFACE="wan0.$DHCPD_VLAN_ID"
    fi
    ACTUAL_VLAN_INTERFACE=`/sbin/ifconfig | grep $DHCPD_INTERFACE`
    if [ -n "$ACTUAL_VLAN_INTERFACE" ] ; then
	ARG_EXT=vlan$DHCPD_VLAN_ID
	do_Copy
    fi
fi

#Update 'if' sections for IP phones; arg of this script are -f $CONFIG_LABEL -t $IMAGE_LABEL
DHCPDCONFLAN=dhcpd.conf.lan

if [ -f /etc/fiad-conf/$DHCPDCONFLAN ] ; then
    echo "Copying 'if' section to $DHCPDCONFLAN..."
    /bin/dhcp_conf_update.sh /etc/default-conf/$DHCPDCONFLAN /etc/fiad-conf/$DHCPDCONFLAN
    /bin/update_dhcp_if_blocks.sh /etc/default-conf/$DHCPDCONFLAN /etc/fiad-conf/$DHCPDCONFLAN
fi

#In any case update .vlan files
if [ "$FEATURE_VLAN" = "1" ] ; then
    echo "Copying 'if' section to dhcpd.conf.vlan..."
    /bin/dhcp_conf_update.sh /etc/default-conf/dhcpd.conf.vlan /etc/fiad-conf/dhcpd.conf.vlan$DHCPD_VLAN_ID
    /bin/update_dhcp_if_blocks.sh /etc/default-conf/dhcpd.conf.vlan /etc/fiad-conf/dhcpd.conf.vlan$DHCPD_VLAN_ID
fi
