#!/bin/ksh
#
# check and configure the atalk.conf file (if/nif)
# ===============================================
#
# ( default adapter = if ; other adapters = nif )
#
#

echo "\n\n Configuration of 'atalk.conf' file...\n\n"

AtalkConf=/usr/local/es/conf/atalk.conf

cp $AtalkConf "$AtalkConf".org

AtalkConFiles=`echo $AtalkConf "$AtalkConf"_valid`

# --- Default_ip --- 
Default=`netstat -rn | grep -c default`
if [ $Default -eq 1 ]
then
  Def_int=`netstat -rn | grep default | awk '{print $6}'`
  Def_ip=`netstat -rn | grep "U " | grep $Def_int | awk '{print $2}'`
else
  Hostname=`hostname`
  Hosts=`cat /etc/hosts | grep "^[0-9]" | grep -v loopback | grep -v $Hostname | awk '{print $2}'`
  for Host in $Hosts
  do
    ping -c 1 $Host >/dev/null 2>&1
    if [ $? = 0 ]  # host exist
    then
      Def_ip=`traceroute $Host 2>/dev/null |awk '/source/ && ! /trying/ {print $4}'`
      Def_int=`netstat -rn | grep "U " | grep $Def_ip | awk '{print $6}'`
      break
    fi
  done
  if [ "$Def_ip" = "" ]
  then
    Def_ip=`traceroute $Hostname 2>/dev/null |awk '/source/ && ! /trying/ {print $4}'`
    Def_int=`netstat -rn | grep "U " | grep $Def_ip | awk '{print $6}'`
  fi
fi
# -----------------------------


for AtalkConFile in $AtalkConFiles
do
  test -f $AtalkConFile
  if [ $? = 0 ]  # file exist 
  then  
    Default=`echo $Def_int | tr "n" "t"`   # en0 >> et0 
    ETs=`cat $AtalkConFile | awk -F ":" '/atalkd/{print $2}' | tr "," " "`
    for ET in $ETs
    do
      IF=`echo $ET | awk -F "=" '{print $1}'`
      et=`echo $ET | awk -F "=" '{print $2}'`
      et=`echo $et | tr -d \" | tr -d \'` 
      if [ "$et" = "$Default" -a "$IF" = "nif" ]
      then
        sed s/"$ET"/if=\"$et\"/g $AtalkConFile > /tmp/tmp
        cp /tmp/tmp $AtalkConFile
      fi
      if [ "$et" != "$Default" -a "$IF" = "if" ]
      then
        sed s/"$ET"/nif=\"$et\"/g $AtalkConFile > /tmp/tmp
        cp /tmp/tmp $AtalkConFile
      fi
    done
  fi
done

cd /scitex/version/usr/local/es
./res > /dev/null 2>&1 
