# $Id: ws_sum_config,v 1.1.4.1 2005/01/12 12:49:32 rhonnava Exp $
#
# Copyright (C) 2005 McAfee, Inc. All rights reserved.
#
# Extract relevant part of the configuration and handle the reload
#

. /var/NAIENV/.profile.vars


STP_SETTINGS="/PolicySet/GlobalSettings[@name='machine']/Policy[@name='system_variables']/PolicyStatement/Settings[@name='stp-settings']"

sum_config()
{ 
xsltproc - ${XMLCONFDIR}/${2}.xml <<-END | md5sum | sed "s/-/${1}/"
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>

<xsl:template match="/">
    <xsl:for-each select="${3}">
        <xsl:for-each select="Attr">
		<xsl:value-of select="@name"/>
                <xsl:text> </xsl:text>
		<xsl:value-of select="@value"/>
                <xsl:text>&#10;</xsl:text>
        </xsl:for-each>
    </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
END
}

find_signature()
{
    case $1 in 
         stp)
        	sum_config stp machine $STP_SETTINGS
                ;;
    esac
}

case $1 in 
        --all)
                find_signature stp
		;;
	--delta)
                shift
		find_signature $* |
                (
                   read SUM VALUE
                   OLDSIG=`grep " ${VALUE}\$" ${XMLCONFDIR}/.config_signatures|cut -f1 -d" "`
		   if [ "T${OLDSIG}" != "T${SUM}" ]
		   then
			exit 0
		   fi
		   exit 1
                )
                exit $?
        ;;
         *)
           find_signature $*
         ;;
esac


exit 0
