summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2015-12-04 13:26:12 +0000
committerdes <des@FreeBSD.org>2015-12-04 13:26:12 +0000
commit72c7e45913048bf7a7a9f4f898363ea802ba3ab7 (patch)
tree658b312c2da2a4079aee851908bd5b4bd805ab2b /etc
parentfc230dcf447eb45f054aa940c35313f825b926df (diff)
downloadFreeBSD-src-72c7e45913048bf7a7a9f4f898363ea802ba3ab7.zip
FreeBSD-src-72c7e45913048bf7a7a9f4f898363ea802ba3ab7.tar.gz
MFH (r287917, r287918, r289063): upgrade to latest Unbound
MFH (r283301, r289592, r291582): rc script improvements MFH (r287880): respect manually configured forwarders when using DHCP MFH (r289321): deconfuse man page PR: 184047 203580 204931
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.d/local_unbound27
1 files changed, 24 insertions, 3 deletions
diff --git a/etc/rc.d/local_unbound b/etc/rc.d/local_unbound
index b826025..0a81e2c 100755
--- a/etc/rc.d/local_unbound
+++ b/etc/rc.d/local_unbound
@@ -17,21 +17,22 @@ rcvar="local_unbound_enable"
command="/usr/sbin/unbound"
extra_commands="anchor configtest reload setup"
start_precmd="local_unbound_prestart"
+start_postcmd="local_unbound_poststart"
reload_precmd="local_unbound_configtest"
anchor_cmd="local_unbound_anchor"
configtest_cmd="local_unbound_configtest"
setup_cmd="local_unbound_setup"
pidfile="/var/run/${name}.pid"
+load_rc_config $name
+
: ${local_unbound_workdir:=/var/unbound}
: ${local_unbound_config:=${local_unbound_workdir}/unbound.conf}
-: ${local_unbound_flags:=-c${local_unbound_config}}
+: ${local_unbound_flags:="-c ${local_unbound_config}"}
: ${local_unbound_forwardconf:=${local_unbound_workdir}/forward.conf}
: ${local_unbound_anchor:=${local_unbound_workdir}/root.key}
: ${local_unbound_forwarders:=}
-load_rc_config $name
-
do_as_unbound()
{
echo "$@" | su -m unbound
@@ -88,5 +89,25 @@ local_unbound_prestart()
fi
}
+#
+# After starting, wait for Unbound to report that it is ready to avoid
+# race conditions with services which require functioning DNS.
+#
+local_unbound_poststart()
+{
+ local retry=5
+
+ echo -n "Waiting for nameserver to start..."
+ until "${command}-control" status | grep -q "is running" ; do
+ if [ $((retry -= 1)) -eq 0 ] ; then
+ echo " giving up"
+ return 1
+ fi
+ echo -n "."
+ sleep 1
+ done
+ echo " good"
+}
+
load_rc_config $name
run_rc_command "$1"
OpenPOWER on IntegriCloud