From nobody Thu Mar 5 19:58:17 2026 X-Original-To: dev-commits-src-main@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 4fRgMG1GJ8z6TZmv for ; Thu, 05 Mar 2026 19:58:18 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fRgMG0jqWz4Dlx for ; Thu, 05 Mar 2026 19:58:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772740698; 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=UqXuXeLHZCJNkAnmbGCMR/6LozaBtM/IUTA5UoFWJEM=; b=xrDFlDhvl/V5KwalwX8TSdle0vNazYFY3McGkVRnoC4e1cHlv1cjBwjzNaiNE5by+15gsW oXnwX8C99hXwvwMrK49QJyCPn21p5gSIvd5Iyc9zRoPBGINMZ9vSKpx86otnZsU+eiWzB5 gokmp0V8hWakcJsob27NO5xWKTsZ3ITNp9SIrS5JNZImhTIDu61NhHGFuVGzMpqQSjJI7i e21D/WdYuEPGlGLftHog2kG3Wp+Kk6U2oHAGkanoD9JL5mHsigjf8pGiJuj6e7bOOhAhWz sWxrQc/f0FMJjFAako4SRwCTeKsuPaMAFPd5WTHstilqH9YmAsYlfmyOgqUr6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772740698; a=rsa-sha256; cv=none; b=dGmO3vfe0jUl0MVKwyUKJ9/mGEqwz8R4NqyaPL0a1Ni8A8oU+rQGLzQ5Skzmh2R0TpRMbL 1XZjKTPC44cC5EhjMAFysmoHm14wuS/mfl0CqAHC+6q8PLGCbBKixO1HDuaHUnGRr9JQoA 0oQySDeE0Naftd+ov6JzxPtg3eCYmncDT6uQL6d3Pen63OGHU3al405N1wiH3mWOYJQ4kx 1dgjWP9890JI6DIEpLxgc3JEQsd3rQPkJC4v0mZhh0vfUmaoG1i4y9N4+R2FboSo3iyZ4D mhk6BHU5X/ZLTCYpib1oTQ159LC2HT2vSzwOiMfpaGwWbRsoaX09HVV5wXOAcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772740698; 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=UqXuXeLHZCJNkAnmbGCMR/6LozaBtM/IUTA5UoFWJEM=; b=LfTUJ2dCHcbaFlxDktPCoCeE96x7gfVoxmrU3CLaVstsVw+aYRh2JAbm6GLdkcxIj2LaW+ W/b3iYi+gjP8s7qkLkqThZtRVIZEjRXa6EGm++hRHUgq5Qdl7prKTN+Y2InTVLjIJBc9cD 2ZrgomdPi2FW/pvFwfVT4GC2Xn2Ys4TnpKlgsUsGL7UyzF901uasHr8zXtOUHSdjboFzza 31WGRsWV5VbxskrFTFtvMp9BDipgLJdiCuwS4eSdNHwQqTTgiCoS+yxtWbom5DZ0gL0rA+ Y4WpHYHEDgSIXWMzhHeiDtIzuxNEwTRLFKtqkkGgr/DxYg4Mi7xE18pJ2o2GAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fRgMF74TczrXP for ; Thu, 05 Mar 2026 19:58:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f98d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Mar 2026 19:58:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: a1789fa30c0b - main - netinet6: Remove support for connecting to IN6ADDR_ANY List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1789fa30c0b1e4c20a083c550f0ec2d50e480e4 Auto-Submitted: auto-generated Date: Thu, 05 Mar 2026 19:58:17 +0000 Message-Id: <69a9e059.1f98d.33da1c36@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a1789fa30c0b1e4c20a083c550f0ec2d50e480e4 commit a1789fa30c0b1e4c20a083c550f0ec2d50e480e4 Author: Ed Maste AuthorDate: 2026-01-27 21:29:20 +0000 Commit: Ed Maste CommitDate: 2026-03-05 19:57:36 +0000 netinet6: Remove support for connecting to IN6ADDR_ANY RFC4291 section 2.5.2: The unspecified address must not be used as the destination address of IPv6 packets or in IPv6 Routing headers. An IPv6 packet with a source address of unspecified must never be forwarded by an IPv6 router. We disallowed connections to IN6ADDR_ANY by default, as of commit 627e126dbb07 ("netinet6: Disallow connections to IN6ADDR_ANY"). As this is actually disallowed by the RFC, just remove the support. Reported by: bz (in D54306) Reviewed by: bz, glebius Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54942 --- sys/netinet6/in6_pcb.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 9eb7a59fcf55..d503165979c8 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -113,14 +113,6 @@ #include #include -SYSCTL_DECL(_net_inet6); -SYSCTL_DECL(_net_inet6_ip6); -VNET_DEFINE_STATIC(int, connect_in6addr_wild) = 0; -#define V_connect_in6addr_wild VNET(connect_in6addr_wild) -SYSCTL_INT(_net_inet6_ip6, OID_AUTO, connect_in6addr_wild, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(connect_in6addr_wild), 0, - "Allow connecting to the unspecified address for connect(2)"); - int in6_pcbsetport(struct in6_addr *laddr, struct inpcb *inp, struct ucred *cred) { @@ -396,16 +388,9 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, if ((error = sa6_embedscope(sin6, V_ip6_use_defzone)) != 0) return(error); - if (V_connect_in6addr_wild && !CK_STAILQ_EMPTY(&V_in6_ifaddrhead)) { - /* - * If the destination address is UNSPECIFIED addr, - * use the loopback addr, e.g ::1. - */ - if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) - sin6->sin6_addr = in6addr_loopback; - } else if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { + /* RFC4291 section 2.5.2 */ + if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) return (ENETUNREACH); - } if ((error = prison_remote_ip6(inp->inp_cred, &sin6->sin6_addr)) != 0) return (error);