git: 96e215ad8173 - main - Revert "openssh: Don't try to bind to unsupported addresses"

From: Dag-Erling Smørgrav <des_at_FreeBSD.org>
Date: Tue, 04 Nov 2025 20:16:12 UTC
The branch main has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=96e215ad8173185337cf3057b80f2a0723ca201a

commit 96e215ad8173185337cf3057b80f2a0723ca201a
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2025-11-04 20:13:11 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2025-11-04 20:13:11 +0000

    Revert "openssh: Don't try to bind to unsupported addresses"
    
    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 e5ff8e7977434b150a66bb3e472c6d0e0f644cfa.
    
    PR:             195231
---
 crypto/openssh/sshconnect.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/crypto/openssh/sshconnect.c b/crypto/openssh/sshconnect.c
index cb45d719f961..c86182d13673 100644
--- a/crypto/openssh/sshconnect.c
+++ b/crypto/openssh/sshconnect.c
@@ -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 &&