#! /bin/sh
#
# nis.init:     Start/Stop daemons for NIS+ client/server
#
# Author:       Thorsten Kukuk, <kukuk@suse.de>
#
# Version:      $Id: redhat.rc,v 1.2 1999/09/25 18:13:11 kukuk Exp $
#
# chkconfig: 345 27 49
# description: Starting the daemons for NIS+ and secure RPC

# Source function library.
. /etc/rc.d/init.d/functions

# Get config.
. /etc/sysconfig/network

# Run rpc.nisd in YP compat mode
#EMULYP=-Y

# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
	exit 0
fi

case "$1" in
  start)
 	gprintf "Starting NIS+ services: "
	if [ `/bin/domainname` = "(none)" ]; then
	    if [ -n "$NISDOMAIN" ]; then
		/bin/domainname $NISDOMAIN
	    else if [ -n "$DOMAINNAME" ]; then
		/bin/domainname $DOMAINNAME
	    else if [ `/bin/dnsdomainname` != "(none)" ]; then
		/bin/domainname `/bin/dnsdomainname`
		else
		exit 1
	    fi fi fi
	fi

	daemon keyserv
	if [ -f /var/nis/NIS_COLD_START -a -f /usr/sbin/nis_cachemgr ]
	then
	    daemon nis_cachemgr
	fi
	if [ -d /var/nis/data -a -f /usr/sbin/rpc.nisd ]
	then
	   daemon rpc.nisd $EMULYP
	   daemon rpc.nispasswdd
	fi
	echo
	touch /var/lock/subsys/nisplus
	;;
  stop)
	gprintf "Stopping NIS+ services: "
	killproc keyserv
	if [ -f /var/nis/NIS_COLD_START -a -f /usr/sbin/nis_cachemgr ]
	then
	    killproc nis_cachemgr
	fi
	if [ -d /var/nis/data -a -f /usr/sbin/rpc.nisd ]
	then
	   killproc rpc.nisd
	   killproc rpc.nispasswdd
	fi
	echo
	rm -f /var/lock/subsys/nisplus
	;;
  status)
        status keyserv
	if [ -d /var/nis/NIS_COLD_START -a -f /usr/sbin/nis_cachemgr ]
	then
	    status nis_cachemgr
	fi
	if [ -d /var/nis/data -a -f /usr/sbin/rpc.nisd ]
	then
	   status rpc.nisd
	   status rpc.nispasswdd
	fi
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        $0 stop
        $0 start
        ;;
  *)
	gprintf "Usage: nisplus {start|stop|status|restart|reload}\n"
	exit 1
esac

exit 0
