Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-updates > by-pkgid > e2c30a1ba61008c055d9703815c7dc5c > files > 1

heimdal-server-1.5.3-6.1.mga5.i586.rpm

#!/bin/sh
#
# chkconfig: 345 39 61
# description:	Starts and stops the Heimdal kdc, and optionally kadmin,
#               kpasswdd, ipropd-slave/ipropd-master etc.
#
### BEGIN INIT INFO
# Provides:       kdc
# Required-Start: $network
# Required-Stop:
# Default-Start:   3 4 5
# Default-Stop:
# Short-Description:    Heimdal Kerberos servers
# Description:    Starts and stops the Heimdal kdc, and optionally kadmin,
#                 kpasswdd, ipropd-slave/ipropd-master etc.
### END INIT INFO

# define gprintf for distros without it:
gprintf() {
	printf -- "$@"
}

[ -f /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions

service=kdc
KDC_DESC="Heimdal Kerberos 5 Key Distribution Center"
START_KDC=yes
KDC_DAEMON=/usr/sbin/kdc
KDC_ARGS="--detach"
MASTER_DESC="Heimdal Incremental Propagation Server"
START_MASTER=no
MASTER_DAEMON=/usr/sbin/ipropd-master
MASTER_ARGS="--detach"
SLAVE_DESC="Heimdal Incremental Propagation Slave"
START_SLAVE=no
SLAVE_DAEMON=/usr/sbin/ipropd-slave
SLAVE_ARGS="--detach"
MASTER=""
KADMIND_DESC="Heimdal administration server"
START_KADMIND=no
KADMIND_DAEMON=/usr/sbin/kadmind
KADMIND_ARGS=""
START_KPASSWD=no
KPASSWD_DESC="Heimdal Kerberos 5 password changing server"
KPASSWD_DAEMON="/usr/sbin/kpasswdd"
KPASSWD_ARGS=""
[ -e /etc/sysconfig/heimdal ] && . /etc/sysconfig/heimdal

start() {
	# Start daemons.
	if [ "${START_KDC}" = "yes" -a -x "${KDC_DAEMON}" ]
	then
		gprintf "Starting %s:" "${KDC_DESC}"
		daemon "${KDC_DAEMON} ${KDC_ARGS}"
		RETVAL1=$?
		echo
	fi
	if [ "${START_KADMIND}" = "yes" -a -x "${KADMIND_DAEMON}" ]
	then
		gprintf "Starting %s:" "${KADMIND_DESC}"
		daemon "${KADMIND_DAEMON} ${KADMIND_ARGS} &"
		RETVAL2=$?
		echo
	fi
	if [ "${START_MASTER}" = "yes" -a -x "${MASTER_DAEMON}" ]
	then
		gprintf "Starting %s" "${MASTER_DESC}"
		daemon "${MASTER_DAEMON} ${MASTER_ARGS}"
		RETVAL3=$?
		echo
	fi
	if [ "${START_SLAVE}" = "yes" -a -x "${SLAVE_DAEMON}" ]
	then
		gprintf "Starting %s" "${SLAVE_DESC}"
		daemon "${SLAVE_DAEMON} ${SLAVE_ARGS} ${MASTER}"
		RETVAL4=$?
		echo
	fi
	if [ "${START_KPASSWD}" = "yes" -a -x "${KPASSWD_DAEMON}" ]
	then
		gprintf "Starting %s:" "${KPASSWD_DESC}"
		daemon "${KPASSWD_DAEMON} ${KPASSWD_ARGS} &"
		RETVAL5=$?
		echo
	fi

	RETVAL=$[RETVAL1+RETVAL2+RETVAL3+RETVAL4+RETVAL5]
}

stop() {
	# Stop killprocs.
	if [ "${START_KDC}" = "yes" -a -x "${KDC_DAEMON}" ]
	then
		gprintf "Stopping %s:" "${KDC_DESC}"
		killproc "${KDC_DAEMON}" -TERM
		RETVAL1=$?
		echo
	fi
	if [ "${START_KADMIND}" = "yes" -a -x "${KADMIND_DAEMON}" ]
	then
		gprintf "Stopping %s:" "${KADMIND_DESC}"
		killproc "${KADMIND_DAEMON}" -TERM
		RETVAL2=$?
		echo
	fi
	if [ "${START_MASTER}" = "yes" -a -x "${MASTER_DAEMON}" ]
	then
		gprintf "Stopping %s:" "${MASTER_DESC}"
		killproc "${MASTER_DAEMON}" -TERM
		RETVAL3=$?
		echo
	fi
	if [ "${START_SLAVE}" = "yes" -a -x "${SLAVE_DAEMON}" ]
	then
		gprintf "Stopping %s:" "${SLAVE_DESC}"
		killproc "${SLAVE_DAEMON}" -TERM
		RETVAL4=$?
		echo
	fi
	if [ "${START_KPASSWD}" = "yes" -a -x "${KPASSWD_DAEMON}" ]
	then
		gprintf "Stopping %s:" "${KPASSWD_DESC}"
		killproc "${KPASSWD_DAEMON}" -TERM
		RETVAL5=$?
		echo
	fi

	RETVAL=$[RETVAL1+RETVAL2+RETVAL3+RETVAL4+RETVAL5]
}

# See how we were called.
case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart|force-reload)
	stop
	start
	;;
  reload)
	;;
  status)
	if [ "${START_KDC}" = "yes" ]; then status ${KDC_DAEMON};fi
	RETVAL1=$?
	if [ "${START_KADMIND}" = "yes" ];then status ${KADMIND_DAEMON};fi
	RETVAL2=$?
	if [ "${START_MASTER}" = "yes" ]; then status ${MASTER_DAEMON};fi
	RETVAL3=$?
	if [ "${START_SLAVE}" = "yes" ]; then status ${SLAVE_DAEMON};fi
	RETVAL4=$?
	if [ "${START_KPASSWD}" = "yes" ]; then status ${KPASSWD_DAEMON};fi
	RETVAL5=$?

	RETVAL=$[RETVAL1+RETVAL2+RETVAL3+RETVAL4+RETVAL5]
	;;
  *)
	gprintf "Usage: %s {start|stop|restart|reload|force-reload|status}\n" "$0"
	exit 1
esac

exit $RETVAL