#!/bin/bash

. /ips/setup/.config
. /ips/setup/.version


DIR=`dirname $0`
cd $DIR


if [ "$1" = "" ]; then
   echo use $0 filename
   exit 1
fi

#TDIR="/"
#if [ "$2" != "" ]; then
#   TDIR="/"
#fi


function dirrenew {

DI=$1

cd $DI
echo renewing $DI

for ip in * ; do

    i=`echo $ip | cut -f4-4 -d "."` 
    if [ "$i" != "$ip" ]; then
       #echo -n " $ip -> $i"
       mv -v $ip $i 2> /dev/null
    fi

done

#echo "done"
cd $DIR



echo done

}



arc=$1.tgz


if [ ! -f "$arc" ]; then
   echo can not find $arc
   exit 1
fi


if [ 1  = 0 ]; then
echo -n saving current configuration
./.qos-conf-save 2> /dev/null > /dev/null
echo " done"
fi

rm -f /ips/box/iptables 2> /dev/null

for i in /ips/ads/ /ips/ads2/ /ips/ali/ /ips/con.in/ /ips/con.out/ /ips/fpr/ /ips/gro/ /ips/imq/ /ips/ind/ /ips/ips/ /ips/lan/ /ips/mac/ /ips/nam/  /ips/noa/  /ips/pri/ /ips/pts/ /ips/pus/ /ips/pts2/ /ips/pus2/ /ips/qos.in/ /ips/qos.out/ /ips/soq/ /ips/usr/ ; do

echo -n cleaning $i
rm -f $i/* 2> /dev/null
echo " done"

done

for i in /ips/qos/in.auto   \
/ips/qos/out.auto   \
/ips/qos/in.I   \
/ips/qos/out.I   \
 ; do

echo -n removing $i
rm -f $i 2> /dev/null
echo " done"

done


echo -n cleaning /ips/setup
rm -f /ips/setup/.config* 2> /dev/null
echo " done"


echo -n cleaning /ips/nam
rm -f /ips/nam/.groups* 2> /dev/null
echo " done"



tar  xvvzf $arc -C /


RES=$?
echo $RES


for i in \
/ips/ads/   \
/ips/ads2/   \
/ips/ali/   \
/ips/con.in/   \
/ips/con.out/   \
/ips/box/   \
/ips/fpr/  \
/ips/gro/   \
/ips/imq/  \
/ips/ind/  \
/ips/ips/  \
/ips/lan/   \
/ips/mac/   \
/ips/nam/   \
/ips/noa/   \
/ips/pri/   \
/ips/pts/   \
/ips/pus/   \
/ips/pts2/   \
/ips/pus2/   \
/ips/qos.in/   \
/ips/qos.out/   \
/ips/qos/in.auto   \
/ips/qos/out.auto   \
/ips/qos/in.I   \
/ips/qos/out.I   \
/ips/soq/   \
/ips/nam/.groups \
/ips/setup/.config ; do

# /bin/chown www-data.www-data $i* 2> /dev/null
 /bin/chown apache.apache $i* 2> /dev/null
 /bin/chmod 664 $i* 2> /dev/null

done

 /bin/cp -f /ips/use/* /ips/usr/
 /bin/chmod 775 /ips/usr/* 2> /dev/null


#for i in /ips/ads/ /ips/ads2/ /ips/con.in/ /ips/con.out/ /ips/ips/ /ips/lan/ /ips/mac/ /ips/nam/ /ips/on/ /ips/off/ /ips/pts/ /ips/pus/ /ips/pts2/ /ips/pus2/ /ips/qos.in/ /ips/qos.out/   ; do
#   dirrenew $i
#done

echo 1 > /ips/setup/.MODALL
#if [ "$QOS_IPTABLESX" = "" ]; then
  if [ -f /ips/box/iptables ]; then
     echo 1 > /ips/setup/.NOTIPSALL
  fi
#fi

exit $RES
