add_resolv_conf()
{
- local x= conf="$signature$NL" i=${ra_count:-0} ra=
+ local x= conf="$signature$NL" i=${ra_count:-0} ra= warn=true
while [ $i -ne 0 ]; do
eval ra=\$ra${i}_rdnss
if [ -n "$new_domain_name" ]; then
set -- $new_domain_name
- new_domain_name="$1"
- if valid_domainname "$new_domain_name"; then
- conf="${conf}domain $new_domain_name$NL"
+ if valid_domainname "$1"; then
+ conf="${conf}domain $1$NL"
else
- syslog err "Invalid domain name: $new_domain_name"
+ syslog err "Invalid domain name: $1"
fi
- # Support RFC violating search in domain
- if [ -z "$new_domain_search" -a -n "$2" ]; then
- new_domain_search="$*"
+ # If there is no search this, make this one
+ if [ -z "$new_domain_search" ]; then
+ new_domain_search="$new_domain_name"
+ [ "$new_domain_name" = "$1" ] && warn=true
fi
fi
- if [ -n "$new_domain_search" -a \
- "$new_domain_search" != "$new_domain_name" ]
- then
+ if [ -n "$new_domain_search" ]; then
if valid_domainname_list $new_domain_search; then
conf="${conf}search $new_domain_search$NL"
- else
- syslog err "Invalid domain name in list: $new_domain_search"
+ elif ! $warn; then
+ syslog err "Invalid domain name in list:" \
+ "$new_domain_search"
fi
fi
for x in ${new_domain_name_servers}; do