#!/bin/sh

RESOLVCONF="/etc/resolv.conf"
DEBUG_FILENAME="/tmp/dhcp-debug"

dump_variables() {
    ENV=`env`
    echo "==============================" >> ${DEBUG_FILENAME}
    echo `date` >> ${DEBUG_FILENAME}
    for VAL in ${ENV}; do
      echo ${VAL} >> ${DEBUG_FILENAME}
    done
    echo "===========================" >> ${DEBUG_FILENAME}
}

if [ -f /var/tvip/dhcp_debug ]; then
    dump_variables
fi



set_update_server() {
    UPDATE_SERVER_DHCP_OLD=""
    if [ -f /var/tvip/update_server.dhcp ]; then
        UPDATE_SERVER_DHCP_OLD=`cat /var/tvip/update_server.dhcp`
    fi

    NEW_NIS_SERVER=`echo ${new_nis_servers} | awk '{print $1}'` # first server

    UPDATE_SERVER_DHCP_NEW=""
    #first try "tvip_update_server" option
    if [ -n "${new_tvip_update_server}" ]; then
      UPDATE_SERVER_DHCP_NEW="${new_tvip_update_server}"
    #then try "nis_servers"    
    elif [ -n "${NEW_NIS_SERVER}" ]; then
      UPDATE_SERVER_DHCP_NEW="${NEW_NIS_SERVER}"
    fi

    if [ -z "${UPDATE_SERVER_DHCP_NEW}" ]; then
      rm -f /var/tvip/update_server.dhcp
    elif [ "${UPDATE_SERVER_DHCP_NEW}" != "${UPDATE_SERVER_DHCP_OLD}" ]; then
      echo ${UPDATE_SERVER_DHCP_NEW} > /var/tvip/update_server.dhcp
    fi
}

set_provision_server() {
    PROVISION_SERVER_DHCP_OLD=""
    if [ -f /var/tvip/provision_server.dhcp ]; then
        PROVISION_SERVER_DHCP_OLD=`cat /var/tvip/provision_server.dhcp`
    fi

    PROVISION_SERVER_DHCP_NEW="${new_tvip_provision_server}"

    if [ -z "${PROVISION_SERVER_DHCP_NEW}" ]; then
      rm -f /var/tvip/provision_server.dhcp
    elif [ "${PROVISION_SERVER_DHCP_NEW}" != "${PROVISION_SERVER_DHCP_OLD}" ]; then
      echo ${PROVISION_SERVER_DHCP_NEW} > /var/tvip/provision_server.dhcp
    fi
}

check_params() {
  if [ ! -z "${new_tvip_force_startup_update}" ]; then
    echo "${new_tvip_force_startup_update}" > /tmp/tvip_force_startup_update
  fi
}

case "${reason}" in
  BOUND|RENEW|REBIND|REBOOT)
  
    set_update_server
    set_provision_server
    check_params
  
      ;;
  *)      
      echo "Nothing to do"
      ;;
esac
