#!/bin/sh

SERVER_IP=$1
FILE_NAME=$2
PW_ENCRYPT=$3
FILE_KEY=$4

echo -n "Configuration backup... "
rm -f /tmp/cfg.tar.gz

#encode password in config
if [ "$PW_ENCRYPT" == "true" ];then
	cp -r /etc/persistence/config/ /tmp
		
	/sbin/cfg_password_crypt encrypt	
	tar -zcf /tmp/cfg.tar.gz /tmp/config /www/langs /etc/persistence/data/ipsec.d/ /etc/persistence/data/rev /tmp/key_profile.txt
	rm -r /tmp/config
else
	#cd /etc/config
	#tar -zcf /tmp/cfg.tar.gz *
	tar -zcf /tmp/cfg.tar.gz /etc/persistence/config /www/langs /etc/persistence/data/ipsec.d/ /etc/persistence/data/rev
	
	#encrypt config file
	if [ "$FILE_KEY" -ne "" ];then
		openssl enc -aes-256-cbc -salt -in /tmp/cfg.tar.gz -out /tmp/ENC.tgz -k $FILE_KEY
		mv /tmp/ENC.tgz /tmp/cfg.tar.gz
	fi
fi

cd /tmp
tftp -p -l cfg.tar.gz -r $FILE_NAME $SERVER_IP >/dev/null 2>&1
RETURN_VALUE=$?
if [ $RETURN_VALUE = 0 ]
then
	echo "done"
	rm -f /tmp/cfg.tar.gz
	return 0
else
	echo "failed"
	rm -f /tmp/cfg.tar.gz
	return 1
fi
