#!/bin/sh
#
# $NetBSD: yppasswdd,v 1.6 2002/03/22 04:34:01 thorpej Exp $
# $FreeBSD: src/etc/rc.d/yppasswdd,v 1.7 2003/07/09 03:21:03 mtm Exp $
#

# PROVIDE: yppasswdd
# REQUIRE: ypserv ypbind
# BEFORE:  LOGIN
# KEYWORD: DragonFly FreeBSD NetBSD

. /etc/rc.subr

name="yppasswdd"
command="/usr/sbin/rpc.${name}"
start_precmd="yppasswdd_precmd"

load_rc_config $name
case ${OSTYPE} in
DragonFly)
	rcvar="nis_yppasswdd_enable"
        command_args="${nis_yppasswdd_flags}"
        ;;

FreeBSD)
	rcvar="nis_yppasswdd_enable"
	command_args="${nis_yppasswdd_flags}"
	;;
NetBSD)
	rcvar=$name
	required_vars="rpcbind ypserv"
	;;
esac

yppasswdd_precmd()
{
	case ${OSTYPE} in
	DragonFly)	
		if ! checkyesno rpcbind_enable  && \
                    ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
                then
                        force_depend rpcbind || return 1
                fi
                if ! checkyesno nis_server_enable && \
                    ! /etc/rc.d/ypserv forcestatus 1>/dev/null 2>&1
                then
                        force_depend ypserv || return 1
                fi
                ;;

	FreeBSD)
		if ! checkyesno rpcbind_enable  && \
		    ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
		then
			force_depend rpcbind || return 1
		fi
		if ! checkyesno nis_server_enable && \
		    ! /etc/rc.d/ypserv forcestatus 1>/dev/null 2>&1
		then
			force_depend ypserv || return 1
		fi
		;;
	esac

	_domain=`domainname`
	if [ -z "$_domain" ]; then
		warn "NIS domainname(1) is not set."
		return 1
	fi
}

run_rc_command "$1"
