diff options
Diffstat (limited to 'etc/rc.d/yppasswdd')
-rw-r--r-- | etc/rc.d/yppasswdd | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/etc/rc.d/yppasswdd b/etc/rc.d/yppasswdd new file mode 100644 index 00000000000..99c93049f37 --- /dev/null +++ b/etc/rc.d/yppasswdd @@ -0,0 +1,28 @@ +#!/bin/sh +# +# $OpenBSD: yppasswdd,v 1.1 2011/07/07 01:52:58 robert Exp $ + +daemon="/usr/sbin/rpc.yppasswdd" + +. /etc/rc.d/rc.subr + +rc_reload=NO + +rc_pre() { + [ X`domainname` != X"" -a -d /var/yp/`domainname` ] || \ + return 1 + _host1=`ypwhich -m passwd 2> /dev/null` + _host2=`hostname` + if [ `grep '^lookup' /etc/resolv.conf | grep yp | wc -c` -ne 0 ]; then + _host1=`ypmatch $_host1 hosts | cut -d' ' -f2` + _host2=`ypmatch $_host2 hosts | cut -d' ' -f2 | head -1` + else + _host1=`echo $_host1 | nslookup | grep '^Name: ' | \ + sed -e 's/^Name: //'` + _host2=`echo $_host2 | nslookup | grep '^Name: ' | \ + sed -e 's/^Name: //'` + fi + [ "$_host2" != "$_host1" ] && return 1 +} + +rc_cmd $1 |