elif [ -x /usr/sbin/unbound-control ] && /usr/sbin/unbound-control status > /dev/null 2>&1; then
MODIFYRESOLVCONF=modify_resolvconf_unbound
RESTORERESOLVCONF=restore_resolvconf_unbound
+elif [ -x /usr/sbin/rcctl ] && /usr/sbin/rcctl check resolvd >/dev/null; then
+ # OpenBSD's resolvd by sending route messages
+ MODIFYRESOLVCONF=modify_resolvconf_resolvd
+ RESTORERESOLVCONF=restore_resolvconf_resolvd
else # Generic for any OS
MODIFYRESOLVCONF=modify_resolvconf_generic
RESTORERESOLVCONF=restore_resolvconf_generic
fi
}
+# === resolv.conf handling via resolvd =========
+
+modify_resolvconf_resolvd() {
+ /sbin/route nameserver $TUNDEV $INTERNAL_IP4_DNS $INTERNAL_IP6_DNS
+}
+
+restore_resolvconf_resolvd() {
+ /sbin/route nameserver $TUNDEV
+}
+
# ========= Toplevel state handling =======================================
do_pre_init() {