X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fresolve%2Fresolved-conf.c;h=ae3773f4f7cd7d3d4f8e5bfceaacd43d0ff89219;hb=bd8f65387673e29f46136a4ed172097035002c23;hp=0def80e3a578d84276348192d3924e64f2715ff1;hpb=4e945a6f7971fd7d1f6b2c62ee3afdaff3c95ce4;p=elogind.git diff --git a/src/resolve/resolved-conf.c b/src/resolve/resolved-conf.c index 0def80e3a..ae3773f4f 100644 --- a/src/resolve/resolved-conf.c +++ b/src/resolve/resolved-conf.c @@ -94,20 +94,27 @@ int config_parse_dnsv( else l = &m->dns_servers; - /* Empty assignment means clear the list */ if (isempty(rvalue)) { + + /* Empty assignment means clear the list */ while (*l) dns_server_free(*l); - return 0; - } + } else { - r = manager_parse_dns_server(m, ltype, rvalue); - if (r < 0) { - log_syntax(unit, LOG_ERR, filename, line, -r, "Failed to parse DNS server string '%s'. Ignoring.", rvalue); - return 0; + /* Otherwise add to the list */ + r = manager_parse_dns_server(m, ltype, rvalue); + if (r < 0) { + log_syntax(unit, LOG_ERR, filename, line, -r, "Failed to parse DNS server string '%s'. Ignoring.", rvalue); + return 0; + } } + /* If we have a manual setting, then we stop reading + * /etc/resolv.conf */ + if (ltype == DNS_SERVER_SYSTEM) + m->read_resolv_conf = false; + return 0; }