#!/bin/sh

G_MML_FILE_PATH="/opt/huawei/snas/script/inspect_mml"
source $G_MML_FILE_PATH/CheckItems
CurInspectNum="334"
CurInspectFun="$(GetInspectType $CurInspectNum)"
RESULTFILE="/tmp/tmpResult${CurInspectFun}"
LOG_FILE="/var/log/inspect.log"

>${RESULTFILE}
function LOG
{
    time=$(date)
    echo [${time}][$$][$CurInspectFun]$@ >> $LOG_FILE
}
function testDiff()
{
    local staticFile=$1
    local tarFile=$2
    if [ ! -f "${staticFile}" ]; then
        return 1
    fi
    if [ ! -f "${tarFile}" ]; then
        return 1
    fi
    local srcFileSha256=$(sha256sum "${staticFile}" | awk '{print $1}')
    local tarFileSha256=$(sha256sum "${tarFile}" | awk '{print $1}')
    if [ "is${srcFileSha256}" = "is${tarFileSha256}" ]; then
        return 0
    else
        return 1
    fi
}
function CheckStaticCFG
{
    local isPass=0
    local tmpDir="/var/log/check_static"
    local changeFile=""
    if [ ! -f "/opt/huawei/deploy/package/snas-base.tar.gz" ];then
        isPass=4
        echo "result:${changeFile:-no snas-base.tar.gz}" >>${RESULTFILE} 2>&1
        echo "${CurInspectFun}_Pass ${isPass}" >>${RESULTFILE} 2>&1
        return
    fi
    [ -d ${tmpDir} ] && rm -rf ${tmpDir}
    mkdir ${tmpDir}
    cp /opt/huawei/deploy/package/snas-base.tar.gz ${tmpDir}
    cd ${tmpDir}
    tar xzvf snas-base.tar.gz
    cd ${tmpDir}/snas-base/
    rpm2cpio snas-base*.rpm | cpio -div  >/dev/null 2>&1
    excep=$(ls -lt /opt/huawei/snas/static/*.ini | tac | head -n1 | awk '{print $8}')
    all_file="$(ls -lt /opt/huawei/snas/static/*.ini | tac | grep -v " ${excep} " | grep -wv "funcver.ini" | awk '{print $NF}' | awk -F"/" '{print $NF}' | tr "\n" " " 2>&1)"
    for file in ${all_file};do
        if [ -f ${tmpDir}/snas-base/${file} ];then
            testDiff ${tmpDir}/snas-base/opt/huawei/snas/static/${file} /opt/huawei/snas/static/${file}
            if [ $? -ne 0 ]; then
                isPass=4
                changeFile="${file} ${changeFile}"
                LOG "[$LINENO]diff: ${tmpDir}/snas-base/opt/huawei/snas/static/${file} /opt/huawei/snas/static/${file}"
            fi
        elif [ -f /opt/huawei/deploy/package/snas-public/${file} ];then
            testDiff /opt/huawei/deploy/package/snas-public/${file} /opt/huawei/snas/static/${file}
            if [ $? -ne 0 ]; then
                isPass=4
                changeFile="${file} ${changeFile}"
                LOG "[$LINENO]diff: /opt/huawei/deploy/package/snas-public/${file} /opt/huawei/snas/static/${file}"
            fi
        fi
    done
    [ -d ${tmpDir} ] && rm -rf ${tmpDir}
    echo "result:${changeFile:-no change}" >>${RESULTFILE} 2>&1
    echo "${CurInspectFun}_Pass ${isPass}" >>${RESULTFILE} 2>&1
}
CheckStaticCFG



