X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fresolve%2Fresolved-manager.c;h=9f61c9d9a294a3e03a03eb3d1153d527f7be5de8;hb=31938a8560a664c32a9d72f1fc2d4347b232e6e9;hp=74f4ad5dba40c3494bf51675b03270724a678d6d;hpb=a5a807e63a50314e190e9166d8a453cd8dd258e3;p=elogind.git diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index 74f4ad5db..9f61c9d9a 100644 --- a/src/resolve/resolved-manager.c +++ b/src/resolve/resolved-manager.c @@ -100,7 +100,7 @@ static int manager_process_link(sd_rtnl *rtnl, sd_rtnl_message *mm, void *userda return 0; fail: - log_warning("Failed to process RTNL link message: %s", strerror(-r)); + log_warning_errno(r, "Failed to process RTNL link message: %m"); return 0; } @@ -185,7 +185,7 @@ static int manager_process_address(sd_rtnl *rtnl, sd_rtnl_message *mm, void *use return 0; fail: - log_warning("Failed to process RTNL address message: %s", strerror(-r)); + log_warning_errno(r, "Failed to process RTNL address message: %m"); return 0; } @@ -278,12 +278,12 @@ static int on_network_event(sd_event_source *s, int fd, uint32_t revents, void * HASHMAP_FOREACH(l, m->links, i) { r = link_update_monitor(l); if (r < 0) - log_warning("Failed to update monitor information for %i: %s", l->ifindex, strerror(-r)); + log_warning_errno(r, "Failed to update monitor information for %i: %m", l->ifindex); } r = manager_write_resolv_conf(m); if (r < 0) - log_warning("Could not update resolv.conf: %s", strerror(-r)); + log_warning_errno(r, "Could not update resolv.conf: %m"); return 0; } @@ -380,7 +380,7 @@ static int manager_watch_hostname(Manager *m) { /* kernels prior to 3.2 don't support polling this file. Ignore the failure. */ m->hostname_fd = safe_close(m->hostname_fd); else { - log_error("Failed to add hostname event source: %s", strerror(-r)); + log_error_errno(r, "Failed to add hostname event source: %m"); return r; } } @@ -688,7 +688,7 @@ static void write_resolv_conf_server(DnsServer *s, FILE *f, unsigned *count) { r = in_addr_to_string(s->family, &s->address, &t); if (r < 0) { - log_warning("Invalid DNS address. Ignoring: %s", strerror(-r)); + log_warning_errno(r, "Invalid DNS address. Ignoring: %m"); return; } @@ -960,7 +960,7 @@ int manager_recv(Manager *m, int fd, DnsProtocol protocol, DnsPacket **ret) { * device if the packet came from the local host since it * avoids the routing table in such a case. Let's unset the * interface index in such a case. */ - if (p->ifindex > 0 && manager_ifindex_is_loopback(m, p->ifindex) != 0) + if (p->ifindex == LOOPBACK_IFINDEX) p->ifindex = 0; /* If we don't know the interface index still, we look for the @@ -1695,26 +1695,6 @@ fail: return r; } -/* lo having ifindex 1 is hardcoded in the kernel */ -#define LOOPBACK_IFINDEX 1 - -int manager_ifindex_is_loopback(Manager *m, int ifindex) { - Link *l; - assert(m); - - if (ifindex <= 0) - return -EINVAL; - - l = hashmap_get(m->links, INT_TO_PTR(ifindex)); - if (!l) - /* in case we don't yet track the link, rely on the hardcoded value */ - return ifindex == LOOPBACK_IFINDEX; - else if (l->flags & IFF_LOOPBACK) - return 1; - - return 0; -} - int manager_find_ifindex(Manager *m, int family, const union in_addr_union *in_addr) { LinkAddress *a;