. /usr/sbin/firewall_update.sh
BACKUP_DIR="/etc/config/backup"
APP="firewallhandler"
lock() {
    while true; do
        if mkdir /var/lock/$APP; then
            #logger -p "user.debug" "$APP$1 $$ : lock"
            break
        else
            #logger -p "user.debug" "$APP$1 $$ : wait"
            usleep 500000
        fi
    done
}

unlock() {
    #logger -p "user.debug" "$APP$1 $$ : unlock"
    rm -rf  /var/lock/$APP
}
lock
#logger -p "user.debug" "LTRX: ****handler**** action=$ACTION interface=$INTERFACE device=$DEVICE"
if [[ "$ACTION" == "connected" && "$DEVICE" == "wlan0" ]]; then
    SSID=`wpa_cli -i"$DEVICE" status | grep ^ssid= | awk -F'ssid=' '{print $2}' | tr -d '\n'`
    #logger -p "user.debug" "LTRX: Connected to: $SSID"
    if [[ "x$SSID" == "xLantronix_Initial_Default_Infra" ]]; then
        #logger -p "user.info" "LTRX: Connected"
        open_firewall
    else
        #logger -p "user.info" "LTRX: Connected, Disconnected from default profile!"
        revert_firewall
    fi
fi
if [[ "$ACTION" == "disconnected" && "$DEVICE" == "wlan0" ]]; then
    #logger -p "user.debug" "LTRX: Disconnected $DEVICE"
    if [ -e $BACKUP_DIR/ltrx_default_wifi ]; then
        #logger -p "user.info" "LTRX: Disconnected"
        revert_firewall
    fi
fi
if [[ "$ACTION" == "ifdown" && "$INTERFACE" == "wwan" ]]; then
    #logger -p "user.debug" "LTRX: Disconnected $INTERFACE"
    if [ -e $BACKUP_DIR/ltrx_default_wifi ]; then
        #logger -p "user.info" "LTRX: Disconnected"
        revert_firewall
    fi
fi
if [[ "$ACTION" == "ifdown" && "$INTERFACE" == "wwan6" ]]; then
    #logger -p "user.debug" "LTRX: Disconnected $INTERFACE"
    if [ -e $BACKUP_DIR/ltrx_default_wifi ]; then
        #logger -p "user.info" "LTRX: Disconnected"
        revert_firewall
    fi
fi
if [[ "$ACTION" == "wireless_config_changed" && "$DEVICE" == "wlan0" ]]; then
    #logger -p "user.debug" "LTRX: Wireless configuation changed $DEVICE"
    SSID=`uci -q show wireless | grep -E "^wireless.wifinet.*.ssid='Lantronix_Initial_Default_Infra'"`
    if [[ "$SSID" == "" ]]; then
        #logger -p "user.info" "LTRX: LTRX SSID removed"
        if [ -e $BACKUP_DIR/ltrx_default_wifi ]; then
            #logger -p "user.info" "LTRX: Disconnected"
            revert_firewall
        fi
    fi
fi
unlock
