#! /bin/sh
#//%2006////////////////////////////////////////////////////////////////////////
#//
#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
#// IBM Corp.; EMC Corporation, The Open Group.
#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
#// EMC Corporation; VERITAS Software Corporation; The Open Group.
#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
#// EMC Corporation; Symantec Corporation; The Open Group.
#//
#// Permission is hereby granted, free of charge, to any person obtaining a copy
#// of this software and associated documentation files (the "Software"), to
#// deal in the Software without restriction, including without limitation the
#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
#// sell copies of the Software, and to permit persons to whom the Software is
#// furnished to do so, subject to the following conditions:
#// 
#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#//
#//==============================================================================
#//
#//%/////////////////////////////////////////////////////////////////////////////

### BEGIN INIT INFO
# Provides: tog-pegasus
# Required-Start: $syslog $network
# Should-Start: $time
# Required-Stop: $syslog
# Default-Start:  3 5
# Default-Stop: 0 1 2 6
# Description:	  init script for Pegasus CIM server
### END INIT INFO

CIMSERVER_BIN=/usr/sbin/cimserver
PEGASUS_SCRIPT_DIR=/usr/share/Pegasus/scripts
PEGASUS_SSL_CONF_FILE=/etc/Pegasus/ssl.cnf
PEGASUS_SSL_CERT_FILE=/etc/Pegasus/server.pem
PEGASUS_SSL_KEY_FILE=/etc/Pegasus/file.pem
PEGASUS_SSL_TRUSTSTORE=/etc/Pegasus/client.pem
#//%2006////////////////////////////////////////////////////////////////////////
#//
#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
#// IBM Corp.; EMC Corporation, The Open Group.
#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
#// EMC Corporation; VERITAS Software Corporation; The Open Group.
#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
#// EMC Corporation; Symantec Corporation; The Open Group.
#//
#// Permission is hereby granted, free of charge, to any person obtaining a copy
#// of this software and associated documentation files (the "Software"), to
#// deal in the Software without restriction, including without limitation the
#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
#// sell copies of the Software, and to permit persons to whom the Software is
#// furnished to do so, subject to the following conditions:
#// 
#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#//
#//==============================================================================
prog=cimserver

if [ ! -x $CIMSERVER_BIN ]; then
    echo -n "tog-pegasus $1: $CIMSERVER_BIN not found or not executable.";
    exit 1;
fi;

[ -e /etc/sysconfig/tog-pegasus ] && . /etc/sysconfig/tog-pegasus;

. /lib/lsb/init-functions
RETVAL=0

case "$1" in
     start)
	if [ ! -e ${PEGASUS_SSL_CONF_FILE} ] || [ ! -e ${PEGASUS_SSL_CERT_FILE} ] || 
	   [ ! -e ${PEGASUS_SSL_KEY_FILE} ]  || [ ! -e ${PEGASUS_SSL_TRUSTSTORE} ]; then
	   if [ -x $PEGASUS_SCRIPT_DIR/genOpenPegasusSSLCerts ]; then
	       echo -n "tog-pegasus: Generating cimserver SSL certificates...";
	       $PEGASUS_SCRIPT_DIR/genOpenPegasusSSLCerts;
	       if [ $? -eq 0 ]; then
		   echo "SSL certificates generated";
	       else
		   echo "SSL certificates failed";
	       fi;
	       echo;
	   fi;
	fi;
 	echo -n $"Starting up CIM server: "
	$CIMSERVER_BIN ${CIMSERVER_OPTIONS}
 	RETVAL=$?
	[ "$RETVAL" -eq 0 ] && log_success_msg $"$prog start" || log_failure_msg $"$prog start"
	echo;
	;;

     stop)
	echo -n $"Shutting down CIM server: "
	killproc cimserver
	RETVAL=$?
        if [ "$RETVAL" -eq 0 ]; then
           killproc cimservermain
           RETVAL=$?
        fi
	[ "$RETVAL" -eq 0 ] && log_success_msg $"$prog stop" || log_failure_msg $"$prog stop"
	echo
	;;
     status)
	pid=`pidofproc $CIMSERVER_BIN`
	RETVAL=$?
	if [ "$RETVAL" -eq 0 ]; then
		echo "CIM server ($pid) is running"
	else
		echo "CIM server is not running"
	fi
	;;
     condrestart)
	pid=`pidofproc $CIMSERVER_BIN`
	RETVAL=$?
	if [ "$RETVAL" -eq 0 ]; then
	    $0 stop && $0 start;
	    RETVAL=$?;
	fi;
        ;;
     try-restart)
	$0 stop && $0 start;
	;;
     restart|force-reload)
	$0 stop;
	$0 start;
	;;
     reload)
	;;
     *)
	echo "Usage: $0 {start|stop|status|restart|reload|force-reload|try-restart}"
	exit 1
esac

exit $RETVAL

