From ae9677993397faf59a5d985d188d68dcdd79b421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Wed, 16 Sep 2015 23:09:31 +0000 Subject: [PATCH] If forwarders were specified on the command line, create an empty resolvconf.conf so that resolvconf won't replace the manually configured forwarders with dynamically configured ones the next time the lease is renewed. --- .../local-setup/local-unbound-setup.sh | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/usr.sbin/unbound/local-setup/local-unbound-setup.sh b/usr.sbin/unbound/local-setup/local-unbound-setup.sh index 4c464d1cb0d7..5df476014897 100755 --- a/usr.sbin/unbound/local-setup/local-unbound-setup.sh +++ b/usr.sbin/unbound/local-setup/local-unbound-setup.sh @@ -172,13 +172,18 @@ do_not_edit() { # the libc resolver will try unbound first. # gen_resolvconf_conf() { + local style="$1" do_not_edit echo "resolv_conf=\"/dev/null\" # prevent updating ${resolv_conf}" - echo "unbound_conf=\"${forward_conf}\"" - echo "unbound_pid=\"${pidfile}\"" - echo "unbound_service=\"${service}\"" - # resolvconf(8) likes to restart rather than reload - echo "unbound_restart=\"service ${service} reload\"" + if [ "${style}" = "dynamic" ] ; then + echo "unbound_conf=\"${forward_conf}\"" + echo "unbound_pid=\"${pidfile}\"" + echo "unbound_service=\"${service}\"" + # resolvconf(8) likes to restart rather than reload + echo "unbound_restart=\"service ${service} reload\"" + else + echo "# Static DNS configuration" + fi } # @@ -379,6 +384,9 @@ main() { if [ -z "$forwarders" ] ; then echo "Extracting forwarders from ${resolv_conf}." forwarders=$(get_nameservers <"${resolv_conf}") + style=dynamic + else + style=static fi # @@ -440,7 +448,7 @@ main() { # instead of resolv.conf. # local tmp_resolvconf_conf=$(mktemp -u "${resolvconf_conf}.XXXXX") - gen_resolvconf_conf | unexpand >"${tmp_resolvconf_conf}" + gen_resolvconf_conf "${style}" | unexpand >"${tmp_resolvconf_conf}" replace "${resolvconf_conf}" "${tmp_resolvconf_conf}" #