while ((network = manager->networks))
network_free(network);
- r = conf_files_list_strv(&files, ".network", NULL, (const char **)manager->network_dirs);
+ r = conf_files_list_strv(&files, ".network", NULL, network_dirs);
if (r < 0) {
log_error("Failed to enumerate network files: %s", strerror(-r));
return r;
free(network->description);
+ address_free(network->dns);
+
while ((route = network->static_routes))
route_free(route);
assert(device);
assert(ret);
- if (manager_should_reload(manager))
- manager_load_config(manager);
-
LIST_FOREACH(networks, network, manager->networks) {
if (net_match_config(network->match_mac, network->match_path,
network->match_driver, network->match_type,
if (r < 0)
return r;
+ if (network->dns) {
+ r = manager_update_resolv_conf(manager);
+ if (r < 0)
+ return r;
+ }
+
return 0;
}