Revert "openssh: Don't try to bind to unsupported addresses"
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run

This doesn't actually do anything useful, since getifaddrs() will only
return supported addresses.  The root cause of the issue described in
the PR lies earlier in the connection timeline, around the start of the
ssh_create_socket() function.

This reverts commit e5ff8e7977.

PR:		195231
This commit is contained in:
Dag-Erling Smørgrav 2025-11-04 21:13:11 +01:00
parent a935c2a63f
commit 96e215ad81

View file

@ -303,8 +303,6 @@ check_ifaddrs(const char *ifname, int af, const struct ifaddrs *ifaddrs,
* Prefer addresses that are not loopback or linklocal, but use them
* if nothing else matches.
*/
int inet_supported = feature_present("inet");
int inet6_supported = feature_present("inet6");
for (allow_local = 0; allow_local < 2; allow_local++) {
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
if (ifa->ifa_addr == NULL || ifa->ifa_name == NULL ||
@ -314,8 +312,6 @@ check_ifaddrs(const char *ifname, int af, const struct ifaddrs *ifaddrs,
continue;
switch (ifa->ifa_addr->sa_family) {
case AF_INET:
if (!inet_supported)
continue;
sa = (struct sockaddr_in *)ifa->ifa_addr;
if (!allow_local && sa->sin_addr.s_addr ==
htonl(INADDR_LOOPBACK))
@ -328,8 +324,6 @@ check_ifaddrs(const char *ifname, int af, const struct ifaddrs *ifaddrs,
memcpy(resultp, sa, *rlenp);
return 0;
case AF_INET6:
if (!inet6_supported)
continue;
sa6 = (struct sockaddr_in6 *)ifa->ifa_addr;
v6addr = &sa6->sin6_addr;
if (!allow_local &&