#! /bin/sh
rm -rf /tmp/asus_router_tag
APP_UCLIBC_VERSION=0.9.28

PATH=/bin:/sbin:/usr/sbin:/usr/bin:/opt/bin

APPS_MOUNTED_PATH=`nvram get apps_mounted_path`
APPS_INSTALL_FOLDER=`nvram get apps_install_folder`
APPS_INSTALL_PATH=$APPS_MOUNTED_PATH/$APPS_INSTALL_FOLDER
APPS_DEV=`nvram get apps_dev`
APPS_PATH=${APPS_MOUNTED_PATH:9}

MEMORY_TOTAL=`free | head -2 |tail -1 |awk '{print $2}'`

LANGUAGE_R=`nvram get preferred_lang`

PRODUCTID=`nvram get odmpid`
if [ "$PRODUCTID" == "" ]; then
   PRODUCTID=`nvram get productid`
fi
LAN_IP=`nvram get lan_ipaddr`
MISCR_HTTPPORT_X=`nvram get misc_httpport_x`
MISCR_HTTPSPORT_X=`nvram get misc_httpsport_x`
HTTPS_LANPORT=`nvram get https_lanport`
MISCR_HTTP_X=`nvram get misc_http_x`
HTTP_PASSWD=`nvram get http_passwd`
WAN_IP=`nvram get wan0_ipaddr`
DDNS_ENABLE_X=`nvram get ddns_enable_x`
DDNS_HOSTNAME_X=`nvram get ddns_hostname_x`
RFW_ENABLE_X=`nvram get fw_enable_x`
LOCAL_DOMAIN=`nvram get local_domain`
HTTP_AUTOLOGOUT=`nvram get http_autologout`
if [ "$HTTP_AUTOLOGOUT" == "" ]; then
	HTTP_AUTOLOGOUT="30"
fi
SW_MODE=`nvram get sw_mode`
HTTP_ENABLE=`nvram get http_enable`
dir_router_file=/tmp/asus_router.conf

APPS_MOUNTED_TYPE=`mount |grep "/dev/$APPS_DEV on " |awk '{print $5}'`

APP_OWNER_ASUS="/opt/lib/ipkg/lists/optware.asus"
Utility_Ver_CHECK=`cat "$APP_OWNER_ASUS" |grep "Filename: DM2_"`
Utility_Ver=${Utility_Ver_CHECK:10}
Utility_CHECK_TMP_1=`cat "$dir_router_file" |grep "Utility_Ver" | awk 'BEGIN{FS="="}{print $2}'`
LOCAL_DOMAIN_TMP_1=`cat "$dir_router_file" |grep "local_domain" | awk 'BEGIN{FS="="}{print $2}'`
HTTP_AUTOLOGOUT_TMP=`cat "$dir_router_file" |grep "HTTP_AUTOLOGOUT" | awk 'BEGIN{FS="="}{print $2}'`
MISCR_HTTPSPORT_X_TMP=`cat "$dir_router_file" |grep "MISCR_HTTPSPORT_X" | awk 'BEGIN{FS="="}{print $2}'`
HTTPS_LANPORT_TMP=`cat "$dir_router_file" |grep "HTTPS_LANPORT" | awk 'BEGIN{FS="="}{print $2}'`
SW_MODE_TMP=`cat "$dir_router_file" |grep "SW_MODE" | awk 'BEGIN{FS="="}{print $2}'`
case "$1" in
  
  general-check)
	if [ "$Utility_CHECK_TMP_1" == "" ] || [ "$LOCAL_DOMAIN_TMP_1" == "" ] || [ "$HTTP_AUTOLOGOUT_TMP" == "" ] || [ "$MISCR_HTTPSPORT_X_TMP" == "" ] || [ "$SW_MODE_TMP" == "" ] || [ "$HTTPS_LANPORT_TMP" == "" ]; then
		rm -rf /tmp/asus_router.conf
	fi
	if [ ! -f "$dir_router_file" ]; then
		echo "\$EX_MAINDIR=$APPS_MOUNTED_PATH">/tmp/asus_router.conf
		echo "BASE_PATH=$APPS_MOUNTED_PATH">>/tmp/asus_router.conf
		echo "LAN_IP=$LAN_IP">>/tmp/asus_router.conf
		echo "MISCR_HTTPPORT_X=$MISCR_HTTPPORT_X">>/tmp/asus_router.conf
		echo "MISCR_HTTP_X=$MISCR_HTTP_X">>/tmp/asus_router.conf
		echo "PRODUCTID=$PRODUCTID">>/tmp/asus_router.conf
		echo "APPS_DEV=$APPS_DEV">>/tmp/asus_router.conf
		echo "WAN_IP=$WAN_IP">>/tmp/asus_router.conf
		echo "DDNS_ENABLE_X=$DDNS_ENABLE_X">>/tmp/asus_router.conf
		echo "DDNS_HOSTNAME_X=$DDNS_HOSTNAME_X">>/tmp/asus_router.conf
		echo "RFW_ENABLE_X=$RFW_ENABLE_X">>/tmp/asus_router.conf
		echo "DEVICE_TYPE=$APPS_MOUNTED_TYPE">>/tmp/asus_router.conf
		echo "Utility_Ver=$Utility_Ver">>/tmp/asus_router.conf
		if [ -z "$LOCAL_DOMAIN" ]; then	
			echo "local_domain=www.asusnetwork.net">>/tmp/asus_router.conf
		else
			echo "local_domain=$LOCAL_DOMAIN">>/tmp/asus_router.conf
		fi
		echo "HTTP_AUTOLOGOUT=$HTTP_AUTOLOGOUT">>/tmp/asus_router.conf 	
		echo "MISCR_HTTPSPORT_X=$MISCR_HTTPSPORT_X">>/tmp/asus_router.conf
		echo "HTTPS_LANPORT=$HTTPS_LANPORT">>/tmp/asus_router.conf
		echo "SW_MODE=$SW_MODE">>/tmp/asus_router.conf
		echo "HTTP_ENABLE=$HTTP_ENABLE">>/tmp/asus_router.conf
	fi
    ;;

  general-renew)
    ;;

  router-general)
		echo "\$EX_MAINDIR=$APPS_MOUNTED_PATH">/tmp/asus_router.conf
		echo "BASE_PATH=$APPS_MOUNTED_PATH">>/tmp/asus_router.conf
		echo "LAN_IP=$LAN_IP">>/tmp/asus_router.conf
		echo "MISCR_HTTPPORT_X=$MISCR_HTTPPORT_X">>/tmp/asus_router.conf
		echo "MISCR_HTTP_X=$MISCR_HTTP_X">>/tmp/asus_router.conf
		echo "PRODUCTID=$PRODUCTID">>/tmp/asus_router.conf
		echo "APPS_DEV=$APPS_DEV">>/tmp/asus_router.conf
		echo "WAN_IP=$WAN_IP">>/tmp/asus_router.conf
		echo "DDNS_ENABLE_X=$DDNS_ENABLE_X">>/tmp/asus_router.conf
		echo "DDNS_HOSTNAME_X=$DDNS_HOSTNAME_X">>/tmp/asus_router.conf
		echo "RFW_ENABLE_X=$RFW_ENABLE_X">>/tmp/asus_router.conf
		echo "DEVICE_TYPE=$APPS_MOUNTED_TYPE">>/tmp/asus_router.conf
		echo "Utility_Ver=$Utility_Ver">>/tmp/asus_router.conf	
		if [ -z "$LOCAL_DOMAIN" ]; then	
			echo "local_domain=www.asusnetwork.net">>/tmp/asus_router.conf
		else
			echo "local_domain=$LOCAL_DOMAIN">>/tmp/asus_router.conf
		fi
		echo "HTTP_AUTOLOGOUT=$HTTP_AUTOLOGOUT">>/tmp/asus_router.conf
		echo "MISCR_HTTPSPORT_X=$MISCR_HTTPSPORT_X">>/tmp/asus_router.conf
		echo "HTTPS_LANPORT=$HTTPS_LANPORT">>/tmp/asus_router.conf
		echo "SW_MODE=$SW_MODE">>/tmp/asus_router.conf  
		echo "HTTP_ENABLE=$HTTP_ENABLE">>/tmp/asus_router.conf
    ;;

  router-general-renew)
BASE_PATH=${APPS_MOUNTED_PATH:9}
			sed -i "1s/^.*$/\$EX_MAINDIR=\/tmp\/mnt\/$BASE_PATH/" /tmp/asus_router.conf
			sed -i "2s/^.*$/BASE_PATH=\/tmp\/mnt\/$BASE_PATH/" /tmp/asus_router.conf
			sed -i "3s/^.*$/LAN_IP=$LAN_IP/" /tmp/asus_router.conf
			sed -i "4s/^.*$/MISCR_HTTPPORT_X=$MISCR_HTTPPORT_X/" /tmp/asus_router.conf
			sed -i "5s/^.*$/MISCR_HTTP_X=$MISCR_HTTP_X/" /tmp/asus_router.conf
			sed -i "6s/^.*$/PRODUCTID=$PRODUCTID/" /tmp/asus_router.conf
			sed -i "7s/^.*$/APPS_DEV=$APPS_DEV/" /tmp/asus_router.conf
			sed -i "8s/^.*$/WAN_IP=$WAN_IP/" /tmp/asus_router.conf
			sed -i "9s/^.*$/DDNS_ENABLE_X=$DDNS_ENABLE_X/" /tmp/asus_router.conf
			sed -i "10s/^.*$/DDNS_HOSTNAME_X=$DDNS_HOSTNAME_X/" /tmp/asus_router.conf
			sed -i "11s/^.*$/RFW_ENABLE_X=$RFW_ENABLE_X/" /tmp/asus_router.conf
			sed -i "12s/^.*$/DEVICE_TYPE=$APPS_MOUNTED_TYPE/" /tmp/asus_router.conf
			sed -i "13s/^.*$/Utility_Ver=$Utility_Ver/" /tmp/asus_router.conf
			sed -i "14s/^.*$/local_domain=$LOCAL_DOMAIN/" /tmp/asus_router.conf
			sed -i "15s/^.*$/HTTP_AUTOLOGOUT=$HTTP_AUTOLOGOUT/" /tmp/asus_router.conf
			sed -i "16s/^.*$/MISCR_HTTPSPORT_X=$MISCR_HTTPSPORT_X/" /tmp/asus_router.conf
			sed -i "17s/^.*$/HTTPS_LANPORT=$HTTPS_LANPORT/" /tmp/asus_router.conf
			sed -i "18s/^.*$/SW_MODE=$SW_MODE/" /tmp/asus_router.conf
			sed -i "19s/^.*$/HTTP_ENABLE=$HTTP_ENABLE/" /tmp/asus_router.conf
		touch /tmp/asus_router_tag
		rm -rf /tmp/asus_routergen_tag
    ;;

  *)



    #echo "Usage: /opt/etc/init.d/dm {start|stop|restart|force-reload|firewall-start|firewall-stop|firewall-restart|lighttpd-restart|general-renew}"
    exit 1
    ;;
esac
