fprintf(f, "# Interface %s\n", iface->name);
write_resolv_conf_entries(f, &iface->config_ip);
- write_resolv_conf_entries(f, &iface->proto_ip);
+ if (!iface->proto_ip.no_dns)
+ write_resolv_conf_entries(f, &iface->proto_ip);
}
fclose(f);
if (rename(path, resolv_conf) < 0) {
void
interface_ip_update_start(struct interface_ip_settings *ip)
{
- vlist_simple_update(&ip->dns_servers);
- vlist_simple_update(&ip->dns_search);
+ if (ip != &ip->iface->config_ip) {
+ vlist_simple_update(&ip->dns_servers);
+ vlist_simple_update(&ip->dns_search);
+ }
vlist_update(&ip->route);
vlist_update(&ip->addr);
}