#!/bin/bash
# lancfg by Roberto Bartola
# Release 0.0.1
ETCDIR="/etc" 

#ADDRESS
IP_CHECK_HOME="192.168.0.254"
IP_CHECK_JOB="192.168.1.5"
#FILE
NET_CFG="$ETCDIR/rc.d/rc.inet1.conf"
NET_CFG_HOME="$NET_CFG-HOME"
NET_CFG_JOB="$NET_CFG-JOB"
DNS_CFG="$ETCDIR/resolv.conf"
DNS_CFG_HOME="$DNS_CFG-HOME"
DNS_CFG_JOB="$DNS_CFG-JOB"
LOG="/var/log/eth_rotate"
# VARIUS
LOOP=0
IPCHECK="/usr/local/sbin/ping-check"

#ENVIRONMENT - DEFAULT

date >> $LOG

case "$1" in
'home' )
	NET_ENV="HOME"
	NET_NOENV="JOB"
	ADDRESS_CK=$IP_CHECK_HOME
	ADDRESS_NOCK=$IP_CHECK_JOB
	;;
'HOME' )
	NET_ENV="HOME"
	NET_NOENV="JOB"
	ADDRESS_CK=$IP_CHECK_HOME
	ADDRESS_NOCK=$IP_CHECK_JOB
	;;
'job')
	NET_ENV="JOB"
	NET_NOENV="HOME"
	ADDRESS_CK=$IP_CHECK_JOB
	ADDRESS_NOCK=$IP_CHECK_HOME
	;;
'JOB')
	NET_ENV="JOB"
	NET_NOENV="HOME"
	ADDRESS_CK=$IP_CHECK_JOB
	ADDRESS_NOCK=$IP_CHECK_HOME
	;;
*)
	ADDRESS_CK=$1
esac


##CHECK
#File Check
#if [ -a $ETCDIR ] ; then ls $ETCDIR ; else echo "File not found" ; fi
#if [ -a $NET_CFG ] ; then ls $NET_CFG ; else echo "File not found" ; fi
#if [ -a $NET_CFG_HOME ] ; then ls $NET_CFG_HOME ; else echo "File not found" ; fi
#if [ -a $NET_CFG_JOB ] ; then ls $NET_CFG_JOB ; else echo "File not found" ; fi
#if [ -a $DNS_CFG ] ; then ls $DNS_CFG ; else echo "File not found" ; fi
#if [ -a $DNS_CFG_HOME ] ; then ls $DNS_CFG_HOME ; else echo "File not found" ; fi
#if [ -a $DNS_CFG_JOB ] ; then ls $DNS_CFG_JOB ; else echo "File not found" ; fi
#if [ -a $IPCHECK ] ; then ls $IPCHECK ; else echo "File not found" ; fi
#if [ -a $LOG ]  ; then ls $LOG ; else echo "File not found" ; fi
#

 while  [ "$LOOP" != 2  ] 
 do
# <-----------------
# Here from loop
#CORE
# cp command

echo "Environment check" >> $LOG
echo "Origin: $NET_CFG-$NET_ENV Destination $NET_CFG" >> $LOG
#echo "Origin: $NET_CFG-$NET_ENV Destination $NET_CFG" 
cp $NET_CFG-$NET_ENV $NET_CFG 
#ls $NET_CFG-$NET_ENV $NET_CFG
#echo "Origin: $DNS-$NET_ENV Destination $DNS_CFG" 
cp $DNS_CFG-$NET_ENV $DNS_CFG 
#ls $DNS_CFG-$NET_ENV $DNS_CFG

#ls $NET_CFG-$NET_ENV
#ls $NET_CFG

#ifconfig up (etc/rc.d/rc.inet1)
# Initialize the networking hardware.
if [ -x /etc/rc.d/rc.inet1 ]; then
  . /etc/rc.d/rc.inet1
fi

#IP_check
echo "Executing scrit $IPCHECK $ADDRESS_CK" >> $LOG
if  $IPCHECK $ADDRESS_CK ; then echo "OK! Network configuration found $ADDRESS_CK" ; LOOP=2 ; OK="OK" ; else 
	echo "KO! Network configuration not found $ADDRESS_CK"  
	echo "non e' finito. Quindi continuo" >> $LOG 
#LOOP INCREMENT
(( LOOP=$LOOP+1 ))
#ifconfig down (etc/rc.d/rc.inet1)
# Initialize the networking hardware.

if [ -x /etc/rc.d/rc.inet1 ]; then
  . /etc/rc.d/rc.inet1 stop
fi

TMP=$NET_ENV
NET_ENV=$NET_NOENV
NET_NOENV=$TMP
TMP=$ADDRESS_CK
ADDRESS_CK=$ADDRESS_NOCK
ADDRESS_NOCK=$TMP
OK="KO"
	fi
#echo "After $NET_ENV $NET_NOENV $ADDRESS_CK $ADDRESS_NOCK" >> $LOG
# --------------------->
done
if [ $OK = "KO" ] ; then
	echo "Network configuration not avaible"
date >> $LOG
echo "Network configuration not avaible" >> $LOG
#exit 0
fi
