From nobody Tue Nov 04 11:32:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4d15sD1LK9z6FtXk; Tue, 04 Nov 2025 11:32:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4d15sD0ZsDz3hbm; Tue, 04 Nov 2025 11:32:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762255936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z4hmLqNjwK0SPKl1cyIyeM6+pLNSb7pUcD1XDgwjD+g=; b=oYCBWKixL58nqOq8+ZNUfLiLDyRWGe+JOll2qr+wvV8CbwKeqS9lcfRvaw0BWaLIBWIs8v 3omoHuPccPQhcgzn46lH8Ex7InfIFMI0Cj746ODQLfWgIiWawpp9+2x7ADZ1pgFkXWBj+b B/WsF9CSlFy/qy2DSJp7GQVQcSXEWq0yeYpz+mgoKOuLp69FGntJzVmdX1/VB1fu4sDuDk SasNkpc3XPAPOK+7pjLkULdF3N3xjp5Tw5/F/Zu37l8eJEJyHdVq3EawcMSEDxEi9bA5m4 nagQwmeVA9fHMNMzSaNcikfEfcN5rJsROtdT2xWCazF9S3kcwWxnHB0ZEMeuOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762255936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z4hmLqNjwK0SPKl1cyIyeM6+pLNSb7pUcD1XDgwjD+g=; b=rCL2eSffyzFUUIGw0QX1Ue5ow8+hEku7zTglvKeS6IczGOboAMSb3XVrHV6k6V9agJLwqg N1JlgzI9qtYAFPmqwNJyirCb5NQfu3Xm8+al4WR2bIIrt39EBq+FhlY6HEV26mFIb0a3AX pXaU/KB39JShnx1sXAjqcEK3R6xNSrSZebo6jo4PP3f9m3GlH3mdN4qpII+RCHVoNKN0SQ 8xH0UiT71FkgKlbqn5mwlsLiEYiRssCGGD7tPMM5XYAa9B8mn+rrUf8VTfSTb7dyeHfKHW BH37asabrS//HueDbZsgwWR6G/GL7cAyLp+AqBgOLXkpeXJgmEQIipWTeCri9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1762255936; a=rsa-sha256; cv=none; b=BGmPW9wNa2usVVT/5jT8pxH4ia615e7UC9gRGXp47XQ15Z3tRJU+oDWwPE/uqYnyu03M9X ZXXvTQBLgaoaD9iUcR1qD3QT7wdoZmR/vrrUCkXK3rNXbg4MfrrYeCUJiJvnsdT0EEWV+L ig7roFKHEj2dr/k/wxJLEsdXjL5aMNBXR7Jm49mXFpZbpI7eqZwjOKwvHvdL7MWH3ebZLT CXcl4tJGYuYU0gpGbp+KGpx3g+oG1ANWDKpxMGKmoR3U8kMpcDWuuTlz5hsS+5jhHjZQEb zjqLu4H6LLDGqkbzfLRcXgStxa2lSi1Z+wiQjqsqbO/cmnMtcQ0WZnGDSOr29A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4d15sD01BkzwGD; Tue, 04 Nov 2025 11:32:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5A4BWFVp064086; Tue, 4 Nov 2025 11:32:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5A4BWFf2064083; Tue, 4 Nov 2025 11:32:15 GMT (envelope-from git) Date: Tue, 4 Nov 2025 11:32:15 GMT Message-Id: <202511041132.5A4BWFf2064083@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: e5ff8e797743 - main - openssh: Don't try to bind to unsupported addresses List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5ff8e7977434b150a66bb3e472c6d0e0f644cfa Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e5ff8e7977434b150a66bb3e472c6d0e0f644cfa commit e5ff8e7977434b150a66bb3e472c6d0e0f644cfa Author: Dag-Erling Smørgrav AuthorDate: 2025-11-04 11:31:48 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-11-04 11:31:48 +0000 openssh: Don't try to bind to unsupported addresses When selecting an address to bind to, skip IPv4 addresses if the kernel does not support the inet feature, and IPv6 addresses if the kernel does not support the inet6 feature. PR: 195231 MFC after: 1 week Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D53561 --- crypto/openssh/sshconnect.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crypto/openssh/sshconnect.c b/crypto/openssh/sshconnect.c index c86182d13673..cb45d719f961 100644 --- a/crypto/openssh/sshconnect.c +++ b/crypto/openssh/sshconnect.c @@ -303,6 +303,8 @@ 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 || @@ -312,6 +314,8 @@ 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)) @@ -324,6 +328,8 @@ 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 &&