From: Jeffrey Cutter <jeff_m_cut...@yahoo.com> When no DOMAIN is received from push/pull, do not add either domain or search to the resolv.conf. Fix typo in comment resolv.con[f]. Only add new line when using domain or search.
URL: https://github.com/OpenVPN/openvpn/pull/34 Acked-by: Steffan Karger <stef...@karger.me> Signed-off-by: Samuli Seppänen <sam...@openvpn.net> --- contrib/pull-resolv-conf/client.up | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/contrib/pull-resolv-conf/client.up b/contrib/pull-resolv-conf/client.up index b28d4d1..8858b47 100644 --- a/contrib/pull-resolv-conf/client.up +++ b/contrib/pull-resolv-conf/client.up @@ -50,9 +50,10 @@ nl=' # or # "dhcp-option DNS 10.10.10.10" (multiple allowed) -# each DNS option becomes a "nameserver" option in resolv.con +# each DNS option becomes a "nameserver" option in resolv.conf # if we get one DOMAIN, that becomes "domain" in resolv.conf # if we get multiple DOMAINS, those become "search" lines in resolv.conf +# if we get no DOMAINS, then don't use either domain or search. while true; do eval fopt=\$foreign_option_${i} @@ -78,13 +79,15 @@ while true; do i=$((i + 1)) done -ds=domain -if [ $ndoms -gt 1 ]; then - ds=search +ds="" +if [ $ndoms -eq 1 ]; then + ds="${nl}domain" +elif [ $ndoms -gt 1 ]; then + ds="${nl}search" fi # This is the complete file - "$domains" has a leading space already -out="# resolv.conf autogenerated by ${0} (${1})${nl}${dns}${nl}${ds}${domains}" +out="# resolv.conf autogenerated by ${0} (${1})${nl}${dns}${ds}${domains}" # use resolvconf if it's available if type resolvconf >/dev/null 2>&1; then -- 2.5.5