elif [ -x /sbin/modify_resolvconf ]; then # Mandatory tool on Suse earlier than 11.1
MODIFYRESOLVCONF=modify_resolvconf_suse
RESTORERESOLVCONF=restore_resolvconf_suse
+elif [ -x /usr/sbin/unbound-control ] && /usr/sbin/unbound-control status > /dev/null 2>&1; then
+ MODIFYRESOLVCONF=modify_resolvconf_unbound
+ RESTORERESOLVCONF=restore_resolvconf_unbound
else # Generic for any OS
MODIFYRESOLVCONF=modify_resolvconf_generic
RESTORERESOLVCONF=restore_resolvconf_generic
/sbin/resolvconf -d $TUNDEV
}
+# === resolv.conf handling via unbound =========
+
+modify_resolvconf_unbound() {
+ if [ -n "$CISCO_DEF_DOMAIN" ]; then
+ /usr/sbin/unbound-control forward_add +i ${CISCO_DEF_DOMAIN} ${INTERNAL_IP4_DNS}
+ /usr/sbin/unbound-control flush_requestlist
+ /usr/sbin/unbound-control flush_zone ${CISCO_DEF_DOMAIN}
+ fi
+}
+
+restore_resolvconf_unbound() {
+ if [ -n "$CISCO_DEF_DOMAIN" ]; then
+ /usr/sbin/unbound-control forward_remove +i ${CISCO_DEF_DOMAIN}
+ /usr/sbin/unbound-control flush_zone ${CISCO_DEF_DOMAIN}
+ /usr/sbin/unbound-control flush_requestlist
+ fi
+}
+
# ========= Toplevel state handling =======================================
kernel_is_2_6_or_above() {