#!/bin/ksh -p
#
# ident "@(#)utsyslogctl.ksh	1.7	11/04/08 Oracle"
#
# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
#

set -u
########################################################################
#
# Configures the syslog entries
#
########################################################################

PATH=/usr/bin:/bin:/usr/sbin:/sbin
export PATH

########################################################################
#
# Operation entry points, one for each keyword.  This is where the
# specific work for this feature happens.
#
########################################################################


#
# disable()
#
disable() {
	typeset TMPFILE=${SUNWUTVAR}/tmp/syslog.conf.$$

	umask 077
	rm -f $TMPFILE
	sed -e "\,^[ 	]*user\.info[ 	]*${SUNWUTVAR}/log/messages[ 	]*\$,d" \
		-e "\,^[ 	]*daemon\.info[ 	]*${SUNWUTVAR}/log/messages[ 	]*\$,d" \
		-e "\,^[ 	]*local1\.info[ 	]*${SUNWUTVAR}/log/admin_log[ 	]*\$,d" \
		$SYSLOG_CONF > $TMPFILE
	umask 133

	if ! cmp $TMPFILE $SYSLOG_CONF >/dev/null; then
		cp $TMPFILE $SYSLOG_CONF
		pkill -HUP -x syslogd
		if $VERB; then
			print "syslog entries disabled"
		fi
	fi
	rm -f $TMPFILE

	return 0
}

#
# enable()
# NOTE: nothing will be done if the syslog entries already exist.
#
enable() {
	typeset TMPFILE=$SUNWUTVAR/tmp/syslog.conf.$$
	typeset UPDATED=false
	typeset ENTRY

	umask 077
	cat /dev/null >$TMPFILE

	ENTRY="`sed -n \"s:user\.info.*$SUNWUTVAR/log/messages:yes:p\" \
		$SYSLOG_CONF`"
	if [ -z "$ENTRY" ]; then
	  echo "user.info		$SUNWUTVAR/log/messages" >>$TMPFILE
	fi

	ENTRY="`sed -n \"s:daemon\.info.*$SUNWUTVAR/log/messages:yes:p\" \
		$SYSLOG_CONF`"
	if [ -z "$ENTRY" ]; then
	  echo "daemon.info		$SUNWUTVAR/log/messages" >>$TMPFILE
	fi

	ENTRY="`sed -n \"s:local1\.info.*$SUNWUTVAR/log/admin_log:yes:p\" \
		$SYSLOG_CONF`"
	if [ -z "$ENTRY" ]; then
	  echo "local1.info		$SUNWUTVAR/log/admin_log" >>$TMPFILE
	fi

	if [ -s $TMPFILE ]; then
	  cat $TMPFILE >>$SYSLOG_CONF
	  UPDATED=true
	fi

	touch $SUNWUTVAR/log/messages
	touch $SUNWUTVAR/log/admin_log
	#
	# HUP the syslod
	if $UPDATED; then
	  pkill -HUP -x syslogd
	  if $VERB; then
		print "syslog entries enabled"
	  fi
	fi

	rm -f $TMPFILE
	return 0
}


#########################################
# LOCAL VARIABLES
# They must defined here to resolve the some of parameter resolution
# problem
#########################################
local_variables() {
	SYSLOG_CONF=/etc/syslog.conf
}


#########################################
#
# Configurable parameter
#
#########################################
# NONE

#########################################
#
# variables used in the shared script utctl-shlib
#
#########################################
DESCR="sets up the syslog entries for Sun Ray"

########################################################################
#
# Execution starts here
#

PROGPATH=`dirname $0`
. $PROGPATH/utctl-shlib
