diff options
Diffstat (limited to 'contrib/openresolv/unbound.in')
-rw-r--r-- | contrib/openresolv/unbound.in | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/contrib/openresolv/unbound.in b/contrib/openresolv/unbound.in index aa04a31..5752e6f 100644 --- a/contrib/openresolv/unbound.in +++ b/contrib/openresolv/unbound.in @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (c) 2009 Roy Marples +# Copyright (c) 2009-2014 Roy Marples # All rights reserved # unbound subscriber for resolvconf @@ -26,10 +26,12 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +unbound_insecure= + [ -f "@SYSCONFDIR@"/resolvconf.conf ] || exit 0 . "@SYSCONFDIR@/resolvconf.conf" || exit 1 [ -z "$unbound_conf" ] && exit 0 -[ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)" +[ -z "$RESOLVCONF" ] && eval "$(@SBINDIR@/resolvconf -v)" NL=" " @@ -41,6 +43,11 @@ newconf="# Generated by resolvconf$NL" for d in $DOMAINS; do dn="${d%%:*}" ns="${d#*:}" + case "$unbound_insecure" in + [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) + newconf="$newconf${NL}domain-insecure: \"$dn\"" + ;; + esac newconf="$newconf${NL}forward-zone:$NL name: \"$dn\"$NL" while [ -n "$ns" ]; do newconf="$newconf forward-addr: ${ns%%,*}$NL" @@ -56,6 +63,13 @@ if [ -n "$NAMESERVERS" ]; then done fi +# Try to ensure that config dirs exist +if type config_mkdirs >/dev/null 2>&1; then + config_mkdirs "$unbound_conf" +else + @SBINDIR@/resolvconf -D "$unbound_conf" +fi + if [ ! -f "$unbound_conf" ] || \ [ "$(cat "$unbound_conf")" != "$(printf %s "$newconf")" ] then |