Add resolv_conf_local_only which defaults to true.
authorRoy Marples <roy@marples.name>
Wed, 22 Feb 2012 11:26:33 +0000 (11:26 +0000)
committerRoy Marples <roy@marples.name>
Wed, 22 Feb 2012 11:26:33 +0000 (11:26 +0000)
This means that the default behaviour is not to add any nameservers to
resolv.conf if we have a local nameserver. This way we don't query the
servers twice if a host isn't found, but does rely on a working
local nameserver. Set it to false to revert to the prior behaviour.

libc.in
resolvconf.conf.5.in

diff --git a/libc.in b/libc.in
index 5aea64174b59373f9b9aa81181ee0c81236d0339..4988c18cf429a084a68c93b16e7342926e4cd368 100644 (file)
--- a/libc.in
+++ b/libc.in
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2007-2011 Roy Marples
+# Copyright (c) 2007-2012 Roy Marples
 # All rights reserved
 
 # libc subscriber for resolvconf
@@ -132,7 +132,11 @@ case "${resolv_conf_passthrough:-NO}" in
 *)
        [ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)"
        newsearch="$(uniqify $search_domains $SEARCH $search_domains_append)"
-       NS="$LOCALNAMESERVERS $NAMESERVERS"
+       NS="$LOCALNAMESERVERS"
+       case "${resolv_conf_local_only:-1}" in
+       [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) ;;
+       *) NS="$NS $NAMESERVERS";;
+       esac
        newns="$(uniqify $name_servers $NS $name_servers_append)"
 
        # Hold our new resolv.conf in a variable to save on temporary files
index 80c6a06af36dc42d8337d0bb6f2623c4e57c0a94..b06d8654fe318fc7fe8e8dff7bd5a1c46d32732e 100644 (file)
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2009-2011 Roy Marples
+.\" Copyright (c) 2009-2012 Roy Marples
 .\" All rights reserved
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -99,6 +99,12 @@ without any alteration.
 .It Sy resolv_conf_sortlist
 A libc resolver sortlist, as specified in
 .Xr resolv.conf 5 .
+.It Sy resolv_conf_local_only
+If a local nameserver is configured then the default is just to specify that
+and ignore all other entries as they will be configured for the local
+nameserver.
+Set this to YES to list them instead, if you need working DNS and the local
+nameserver stops functioning at the expense of duplicated server queries.
 .El
 .Sh SUBSCRIBER OPTIONS
 openresolv ships with subscribers for the name servers