]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: disable SO_BINDTOIFINDEX hack for localhost IP addresses
authorLennart Poettering <lennart@poettering.net>
Thu, 5 Jan 2023 21:10:46 +0000 (22:10 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 6 Jan 2023 09:37:37 +0000 (10:37 +0100)
Fixes: #23010
src/resolve/resolved-dns-scope.c

index 7b82ae2b4589ed539c765bd3e8cd332d93e1cffc..c95875ec1012c7eaddfaeeef12e7e3f643b23672 100644 (file)
@@ -474,7 +474,8 @@ static int dns_scope_socket(
                  * host result in EHOSTUNREACH, since Linux won't send the packets out of the specified
                  * interface, but delivers them directly to the local socket. */
                 if (s->link &&
-                    !manager_find_link_address(s->manager, sa.sa.sa_family, sockaddr_in_addr(&sa.sa))) {
+                    !manager_find_link_address(s->manager, sa.sa.sa_family, sockaddr_in_addr(&sa.sa)) &&
+                    in_addr_is_localhost(sa.sa.sa_family, sockaddr_in_addr(&sa.sa)) == 0) {
                         r = socket_bind_to_ifindex(fd, ifindex);
                         if (r < 0)
                                 return r;