#!/bin/sh
. /etc/rc.common
Startyppasswdd()
{
if [ -f "${VARYP}/${NISDOMAIN}/ypservers.db" ]; then
NISMASTER=$(makedbm -U "${VARYP}/${NISDOMAIN}/ypservers" | sed -n '/YP_MASTER_NAME/p' | awk '{print $2}')
if [ "$NISMASTER" = "$(hostname)" ]; then
rpc.yppasswdd
fi
fi
}
StartService ()
{
CheckForNetwork
if [ -f /var/run/NIS.StartupItem -o "${NETWORKUP}" = "-NO-" ]; then exit; fi
touch /var/run/NIS.StartupItem
if [ "${NISDOMAIN:=-NO-}" != "-NO-" ]; then
VARYP=/var/yp
echo "Starting Network Information Service"
echo "Setting NIS domainname to ${NISDOMAIN}"
domainname "${NISDOMAIN}"
if [ -d "${VARYP}/${NISDOMAIN}" ]; then
if ! pid=$(GetPID ypserv); then
ypserv
fi
fi
Startyppasswdd
ypbind
fi
}
StopService ()
{
echo "Stopping Network Information Service"
killall -TERM ypbind > /dev/null 2>&1
killall -TERM rpc.yppasswdd > /dev/null 2>&1
if pid=$(GetPID ypserv); then
kill -TERM "${pid}"
fi
}
RestartService ()
{
echo "Restarting Network Information Service"
killall -TERM ypbind > /dev/null 2>&1
killall -TERM rpc.yppasswdd > /dev/null 2>&1
if pid=$(GetPID ypserv); then
kill -HUP "${pid}"
Startyppasswdd
ypbind
else
StartService
fi
}
RunService "$1"