assert(m);
- r = sd_network_monitor_new(NULL, &m->network_monitor);
+ r = sd_network_monitor_new(&m->network_monitor, NULL);
if (r < 0)
return r;
}
int manager_parse_config_file(Manager *m) {
- int r;
-
assert(m);
- r = config_parse(NULL,
- "/etc/systemd/resolved.conf", NULL,
- "Resolve\0",
- config_item_perf_lookup, (void*) resolved_gperf_lookup,
- false, false, m);
- if (r < 0)
- log_warning("Failed to parse configuration file: %s", strerror(-r));
-
- return 0;
+ return config_parse(NULL, "/etc/systemd/resolved.conf", NULL,
+ "Resolve\0",
+ config_item_perf_lookup, resolved_gperf_lookup,
+ false, false, true, m);
}
int manager_new(Manager **ret) {
l = recvmsg(fd, &mh, 0);
if (l < 0) {
- if (errno == EAGAIN)
+ if (errno == EAGAIN || errno == EINTR)
return 0;
return -errno;
l = recvmsg(fd, &mh, 0);
if (l < 0) {
- if (errno == EAGAIN)
+ if (errno == EAGAIN || errno == EINTR)
return 0;
return -errno;
if (r <= 0)
return r;
- t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_HEADER(p)->id));
+ t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_ID(p)));
if (!t)
return 0;
- return dns_query_transaction_reply(t, p);
+ dns_query_transaction_reply(t, p);
+ return 0;
}
static int on_dns_ipv6_packet(sd_event_source *s, int fd, uint32_t revents, void *userdata) {
if (r <= 0)
return r;
- t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_HEADER(p)->id));
+ t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_ID(p)));
if (!t)
return 0;
- return dns_query_transaction_reply(t, p);
+ dns_query_transaction_reply(t, p);
+ return 0;
}
int manager_dns_ipv4_fd(Manager *m) {