Mercurial > hg > dhcpcd
changeset 2540:1264779ee9c0 draft
If just given a domain and no search list, make the search list the domain.
This allows correct formatting when building resolv.conf.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Wed, 18 Jun 2014 21:12:39 +0000 |
| parents | 2fcd644eb89a |
| children | 98b581c3152b |
| files | dhcpcd-hooks/20-resolv.conf |
| diffstat | 1 files changed, 12 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/dhcpcd-hooks/20-resolv.conf Mon Jun 16 09:57:55 2014 +0000 +++ b/dhcpcd-hooks/20-resolv.conf Wed Jun 18 21:12:39 2014 +0000 @@ -70,7 +70,7 @@ 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 @@ -101,24 +101,23 @@ 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
