#!/bin/sh
#
# start upgraderweb

# Check if system is running from JFFS2 (QSPI).
running_from_jffs2() {
        FSTYPE=`awk '$2 == "/" && $3 != "rootfs" { print $3 }' /proc/mounts`
        test "$FSTYPE" = "jffs2"
}

start() {
        if ! running_from_jffs2; then
                echo "Running from SD card: automatically enabling web recovery interface"
                touch /tmp/enable_upgrade_server
        fi

        echo -n "Starting upgraderweb: "
        cd /ross/app/upgraderweb && ./upgraderweb &

        # Ensure upgraderweb actually started before continuing
        i=0
        while [ "$i" -lt 5 ]; do
                if netstat -tuln | grep -q ":80 "; then
                        echo "Upgraderweb started on port 80"
                        echo "OK"
                        return 0
                fi
                if [ "$i" -eq 4 ]; then
                        break
                fi
                echo "Waiting for upgraderweb to start using port 80..."
                i=$((i+1))
                sleep 1
        done

        echo "Error: upgraderweb could not start on port 80."
        return 2
}

stop() {
        echo -n "Stopping upgraderweb: "
        killall upgraderweb
        echo "OK"
}

restart() {
        stop
        start
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart|reload)
                restart
                ;;
        *)
                echo "Usage: $0 {start|stop|restart}"
                exit 1
                ;;
esac

exit $?
