unbound.in (587392a5a04955b85c3beac4cff26ca568359f54) unbound.in (a02aba5f3c73d7ed377f88327fedd11f70f23353)
1#!/bin/sh
2# Copyright (c) 2009 Roy Marples
3# All rights reserved
4
5# unbound subscriber for resolvconf
6
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions

--- 16 unchanged lines hidden (view full) ---

25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29[ -f "@SYSCONFDIR@"/resolvconf.conf ] || exit 0
30. "@SYSCONFDIR@/resolvconf.conf" || exit 1
31[ -z "$unbound_conf" ] && exit 0
32[ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)"
1#!/bin/sh
2# Copyright (c) 2009 Roy Marples
3# All rights reserved
4
5# unbound subscriber for resolvconf
6
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions

--- 16 unchanged lines hidden (view full) ---

25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29[ -f "@SYSCONFDIR@"/resolvconf.conf ] || exit 0
30. "@SYSCONFDIR@/resolvconf.conf" || exit 1
31[ -z "$unbound_conf" ] && exit 0
32[ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)"
33NL="
34"
33
34: ${unbound_pid:=/var/run/unbound.pid}
35: ${unbound_service:=unbound}
36: ${unbound_restart:=@RESTARTCMD ${unbound_service}@}
35
36: ${unbound_pid:=/var/run/unbound.pid}
37: ${unbound_service:=unbound}
38: ${unbound_restart:=@RESTARTCMD ${unbound_service}@}
37newconf="# Generated by resolvconf\n"
39newconf="# Generated by resolvconf$NL"
38
39for d in $DOMAINS; do
40 dn="${d%%:*}"
41 ns="${d#*:}"
40
41for d in $DOMAINS; do
42 dn="${d%%:*}"
43 ns="${d#*:}"
42 newconf="${newconf}\nforward-zone:\n\tname: \"$dn\"\n"
44 newconf="$newconf${NL}forward-zone:$NL name: \"$dn\"$NL"
43 while [ -n "$ns" ]; do
45 while [ -n "$ns" ]; do
44 newconf="${newconf}\tforward-addr: ${ns%%,*}\n"
46 newconf="$newconf forward-addr: ${ns%%,*}$NL"
45 [ "$ns" = "${ns#*,}" ] && break
46 ns="${ns#*,}"
47 done
48done
49
50if [ -n "$NAMESERVERS" ]; then
47 [ "$ns" = "${ns#*,}" ] && break
48 ns="${ns#*,}"
49 done
50done
51
52if [ -n "$NAMESERVERS" ]; then
51 newconf="${newconf}\nforward-zone:\n\tname: \".\"\n"
53 newconf="$newconf${NL}forward-zone:$NL name: \".\"$NL"
52 for n in $NAMESERVERS; do
54 for n in $NAMESERVERS; do
53 newconf="${newconf}\tforward-addr: $n\n"
55 newconf="$newconf forward-addr: $n$NL"
54 done
55fi
56
57if [ ! -f "$unbound_conf" ] || \
56 done
57fi
58
59if [ ! -f "$unbound_conf" ] || \
58 [ "$(cat "$unbound_conf")" != "$(printf "$newconf")" ]
60 [ "$(cat "$unbound_conf")" != "$(printf %s "$newconf")" ]
59then
61then
60 printf "$newconf" >"$unbound_conf"
62 printf %s "$newconf" >"$unbound_conf"
61 # If we can't sent a HUP then force a restart
62 if [ -s "$unbound_pid" ]; then
63 if ! kill -HUP $(cat "$unbound_pid") 2>/dev/null; then
64 eval $unbound_restart
65 fi
66 else
67 eval $unbound_restart
68 fi
69fi
63 # If we can't sent a HUP then force a restart
64 if [ -s "$unbound_pid" ]; then
65 if ! kill -HUP $(cat "$unbound_pid") 2>/dev/null; then
66 eval $unbound_restart
67 fi
68 else
69 eval $unbound_restart
70 fi
71fi