chiark / gitweb /
resolved: fall back to hardcoded ifindex when checking if a link is the loopback
[elogind.git] / src / resolve / resolved-dns-stream.c
index 9a0d59d2247d9500c7b6147aeea30f7744618962..8aad5e4df1cc330692d4e77835cc4abea7bc1cc8 100644 (file)
@@ -64,7 +64,7 @@ static int dns_stream_complete(DnsStream *s, int error) {
 static int dns_stream_identify(DnsStream *s) {
         union {
                 struct cmsghdr header; /* For alignment */
-                uint8_t buffer[CMSG_SPACE(MAX(sizeof(struct in_pktinfo), sizeof(struct in6_pktinfo)))
+                uint8_t buffer[CMSG_SPACE(MAXSIZE(struct in_pktinfo, struct in6_pktinfo))
                                + EXTRA_CMSG_SPACE /* kernel appears to require extra space */];
         } control;
         struct msghdr mh = {};
@@ -172,11 +172,11 @@ static int dns_stream_identify(DnsStream *s) {
                 if (s->local.sa.sa_family == AF_INET) {
                         r = setsockopt(s->fd, IPPROTO_IP, IP_UNICAST_IF, &ifindex, sizeof(ifindex));
                         if (r < 0)
-                                return -errno;
+                                log_debug("Failed to invoke IP_UNICAST_IF: %m");
                 } else if (s->local.sa.sa_family == AF_INET6) {
                         r = setsockopt(s->fd, IPPROTO_IPV6, IPV6_UNICAST_IF, &ifindex, sizeof(ifindex));
                         if (r < 0)
-                                return -errno;
+                                log_debug("Failed to invoke IPV6_UNICAST_IF: %m");
                 }
         }