summaryrefslogtreecommitdiff
path: root/etc/rc.d/yppasswdd
diff options
context:
space:
mode:
Diffstat (limited to 'etc/rc.d/yppasswdd')
-rw-r--r--etc/rc.d/yppasswdd28
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