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)) {
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)