#!/bin/bash

check_app()
{
    local appid=$1
    local file=$2

    # if entry does not exist, add it
    if ! grep -q "^$appid" $file; then
        echo "$appid|0.0.0.0|0.0.0.0" >> $file
    fi
}

remove_entry()
{
    local appid=$1
    local file=$2

    # if entry does exist, remove it
    cat $file | sed -e "/^$appid/d" > $file.tmp
    mv $file.tmp $file
}

migrate_app()
{
    local old_appid=$1
    local file=$2
    local new_appid=$3

    # if entry does exist, change it
    cat $file | sed -e "s/^$old_appid/$new_appid/" > $file.tmp
    mv $file.tmp $file
}


for file in /opt/ccfw/data/FirewallSettings.*; do
    check_app "ASM.name" $file
    check_app "pegasus.name" $file
    check_app "FCS.name" $file
    check_app "l2tp.name" $file
    check_app "SLP.name" $file
    check_app "RPD.name" $file
    check_app "hwserver.name" $file

    migrate_app "WebSM.name" $file "SecureRemoteAccess.name"

    remove_entry "Bobcat.name" $file
    remove_entry "cim.name" $file
    remove_entry "cim_ind.name" $file
    remove_entry "SecureWeb.name" $file

    chmod 664 $file
    chown ccfw.ccfw $file
done
