X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fnetwork.c;h=4b9e4f10958f733df1f661c8e8f5b087d4f8a16a;hp=3b01f9f45d0cb261488889ba8637b10db560c30b;hb=f6d419d22a4c69af185201b30f78b5a88da51219;hpb=9b7a01a40fd9476583fb5f7dfbd4006e45d8e291 diff --git a/discover/network.c b/discover/network.c index 3b01f9f..4b9e4f1 100644 --- a/discover/network.c +++ b/discover/network.c @@ -428,7 +428,7 @@ static void network_init_dns(struct network *network) int dns_conf_len; char *dns_conf; - dns_conf = talloc_asprintf(network, "server %s\n", + dns_conf = talloc_asprintf(network, "nameserver %s\n", config->network.dns_servers[i]); if (strstr(buf, dns_conf)) { @@ -441,17 +441,18 @@ static void network_init_dns(struct network *network) memcpy(buf + len, dns_conf, dns_conf_len); len += dns_conf_len; modified = true; - } - if (!modified) - return; + talloc_free(dns_conf); + } - rc = replace_file("/etc/resolv.conf", buf, len); - if (rc) { - pb_log("error replacing resolv.conf: %s\n", strerror(errno)); - return; + if (modified) { + rc = replace_file("/etc/resolv.conf", buf, len); + if (rc) + pb_log("error replacing resolv.conf: %s\n", + strerror(errno)); } + talloc_free(buf); } struct network *network_init(void *ctx, struct waitset *waitset, bool dry_run)