From nobody Mon Aug 10 20:51:07 2026 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 4hJn3H4qtgz6jyBY for ; Mon, 10 Aug 2026 20:51:07 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hJn3H3908z3TJk for ; Mon, 10 Aug 2026 20:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786395067; 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=ps0em1dIZjKDlMQoYiI2YIyGz3IoEQxJ1NbjP9X2J+Q=; b=Y9/hZnpyOBfmYLU7uR6tQ6mH3B8HDT9wy68EoSAFPi76s7tcNPvMlfjRCZUFJ07bPpeTl+ UxrX9q00HzI3/0ufyQQo1YT+vhnj4uemfj17SCewL5WVhagcqkom8Xl5c/htIQAdbQ2lFp aMR5VobO12gmWU+TPWT9E8hVaWNQvutzivPjQxOlFOabukhK4KNjvV4J6OL4FuQhTQwZpj RULgRaObRc5s3vglZdDyIXJ2yWtQVq3yEGFtGweKIo/dG+OJskg9/uDtRtb+P4IAKZLrzM In5WverPIohEl9TuiC6UiJC2UNciE6Pd/xvrPC5gd9TGsC3uLALI2GsZGoP8PQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786395067; a=rsa-sha256; cv=none; b=A526yxh2+dXQA4FzV0g7KPAdaQS2aw3+QkPdq/OL045e8++mzmIISknrZz/LiNEC1IBceP 9gNrh3PAFrPwoM/XU8y9u83l9Vu0jCE2WzHTJ9yYQSII6enCibaOS6X5Aeo91m+UbCdln+ 5W7uiWKEtXWVXvEzJlHXVi4eW6iZx2Ji0qrUrLfAWFFn/KsywrdjXYvznFoMlqme6mSMZw B/SO/sgW+clhFYPF1/VGVF4WWuccCl7e5IjsfwMJDeN3wWCjwsP7RUYdwfZoMF46c4sELC bQGCZkAZ/pYrIzVz2Wpy1k/AfBMk5Y6KpseoCGyQHBsc/Ybv8YwmQWNJOGjspw== 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=1786395067; 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=ps0em1dIZjKDlMQoYiI2YIyGz3IoEQxJ1NbjP9X2J+Q=; b=J4WrCDi8U5cn93tRYUA9PtcoBiXJ2q8UkFLNdK5iPkYfLNPl5IyaYj2399Ysxz3uBhO3nj uBxqkSKF+Ca3GI3Wi+QwcAexPd+8dCo3c3d1r16/pJ7TSJZwFwF+19RTGzkcC/7PS/KTzu n2lCsJHYNZgkv0VQpinsruL0gNlozD/RWZGWo4/GV+2dEiIeo+mm/uFBEzcWpNVGiDDDIv 151h26Z6f1PtmV0srsJjAMMZ4LsmUEhbHpZPdd05XwLuRQ9+HfUUlKrH+9K0R7n5Q+VuMX RbbnPJAV2xqwNMIwYPPgQezw2y+SH8Y6kKqFF4ag8dgnOGYdmDzSBJIAn4WWpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJn3H1vCDz9HM for ; Mon, 10 Aug 2026 20:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24f54 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 10 Aug 2026 20:51:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: e70e25761fca - main - tests/netinet/socket_afinet: multibind second socket can be different 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e70e25761fca7607dfee8b8cfbd902cb1c9806cd Auto-Submitted: auto-generated Date: Mon, 10 Aug 2026 20:51:07 +0000 Message-Id: <6a7a39bb.24f54.12d0232a@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e70e25761fca7607dfee8b8cfbd902cb1c9806cd commit e70e25761fca7607dfee8b8cfbd902cb1c9806cd Author: Gleb Smirnoff AuthorDate: 2026-08-10 20:44:10 +0000 Commit: Gleb Smirnoff CommitDate: 2026-08-10 20:50:22 +0000 tests/netinet/socket_afinet: multibind second socket can be different Allows to add tests to the table where the second socket doesn't take address from the first. No functional change yet, all tests test the same conditions. Differential Revision: https://reviews.freebsd.org/D58087 --- tests/sys/netinet/socket_afinet.c | 79 ++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/tests/sys/netinet/socket_afinet.c b/tests/sys/netinet/socket_afinet.c index 787c340466b0..d0c09be18a7c 100644 --- a/tests/sys/netinet/socket_afinet.c +++ b/tests/sys/netinet/socket_afinet.c @@ -446,27 +446,22 @@ ATF_TC_BODY(multibind, tc) { SOCK_STREAM, LB, o, ADDR, o, F, F }, { SOCK_STREAM, LB, o, PORT, o, F, F }, { SOCK_STREAM, LB, o, LB, o, R, F }, - /* - * ATM, expected result with wildcard first bind(2) is the same - * as the result for the specified first bind(2). Thus, the - * below block is copy-and-paste of the above with wild1 set. - */ - { SOCK_STREAM, 0, x, 0, o, F, F }, - { SOCK_STREAM, 0, x, ADDR, o, F, F }, - { SOCK_STREAM, 0, x, PORT, o, F, F }, - { SOCK_STREAM, 0, x, LB, o, F, F }, - { SOCK_STREAM, ADDR, x, 0, o, F, F }, - { SOCK_STREAM, ADDR, x, ADDR, o, F, F }, - { SOCK_STREAM, ADDR, x, PORT, o, F, F }, - { SOCK_STREAM, ADDR, x, LB, o, F, F }, - { SOCK_STREAM, PORT, x, 0, o, F, F }, - { SOCK_STREAM, PORT, x, ADDR, o, F, F }, - { SOCK_STREAM, PORT, x, PORT, o, R, F }, - { SOCK_STREAM, PORT, x, LB, o, F, F }, - { SOCK_STREAM, LB, x, 0, o, F, F }, - { SOCK_STREAM, LB, x, ADDR, o, F, F }, - { SOCK_STREAM, LB, x, PORT, o, F, F }, - { SOCK_STREAM, LB, x, LB, o, R, F }, + { SOCK_STREAM, 0, x, 0, x, F, F }, + { SOCK_STREAM, 0, x, ADDR, x, F, F }, + { SOCK_STREAM, 0, x, PORT, x, F, F }, + { SOCK_STREAM, 0, x, LB, x, F, F }, + { SOCK_STREAM, ADDR, x, 0, x, F, F }, + { SOCK_STREAM, ADDR, x, ADDR, x, F, F }, + { SOCK_STREAM, ADDR, x, PORT, x, F, F }, + { SOCK_STREAM, ADDR, x, LB, x, F, F }, + { SOCK_STREAM, PORT, x, 0, x, F, F }, + { SOCK_STREAM, PORT, x, ADDR, x, F, F }, + { SOCK_STREAM, PORT, x, PORT, x, R, F }, + { SOCK_STREAM, PORT, x, LB, x, F, F }, + { SOCK_STREAM, LB, x, 0, x, F, F }, + { SOCK_STREAM, LB, x, ADDR, x, F, F }, + { SOCK_STREAM, LB, x, PORT, x, F, F }, + { SOCK_STREAM, LB, x, LB, x, R, F }, /* * ATM, expected result for SOCK_DGRAM is the same as for * SOCK_STREAM. Thus the below is copy-and-paste of the above. @@ -487,23 +482,22 @@ ATF_TC_BODY(multibind, tc) { SOCK_DGRAM, LB, o, ADDR, o, F, F }, { SOCK_DGRAM, LB, o, PORT, o, F, F }, { SOCK_DGRAM, LB, o, LB, o, R, F }, - /* wild1 -> true */ - { SOCK_DGRAM, 0, x, 0, o, F, F }, - { SOCK_DGRAM, 0, x, ADDR, o, F, F }, - { SOCK_DGRAM, 0, x, PORT, o, F, F }, - { SOCK_DGRAM, 0, x, LB, o, F, F }, - { SOCK_DGRAM, ADDR, x, 0, o, F, F }, - { SOCK_DGRAM, ADDR, x, ADDR, o, F, F }, - { SOCK_DGRAM, ADDR, x, PORT, o, F, F }, - { SOCK_DGRAM, ADDR, x, LB, o, F, F }, - { SOCK_DGRAM, PORT, x, 0, o, F, F }, - { SOCK_DGRAM, PORT, x, ADDR, o, F, F }, - { SOCK_DGRAM, PORT, x, PORT, o, R, F }, - { SOCK_DGRAM, PORT, x, LB, o, F, F }, - { SOCK_DGRAM, LB, x, 0, o, F, F }, - { SOCK_DGRAM, LB, x, ADDR, o, F, F }, - { SOCK_DGRAM, LB, x, PORT, o, F, F }, - { SOCK_DGRAM, LB, x, LB, o, R, F }, + { SOCK_DGRAM, 0, x, 0, x, F, F }, + { SOCK_DGRAM, 0, x, ADDR, x, F, F }, + { SOCK_DGRAM, 0, x, PORT, x, F, F }, + { SOCK_DGRAM, 0, x, LB, x, F, F }, + { SOCK_DGRAM, ADDR, x, 0, x, F, F }, + { SOCK_DGRAM, ADDR, x, ADDR, x, F, F }, + { SOCK_DGRAM, ADDR, x, PORT, x, F, F }, + { SOCK_DGRAM, ADDR, x, LB, x, F, F }, + { SOCK_DGRAM, PORT, x, 0, x, F, F }, + { SOCK_DGRAM, PORT, x, ADDR, x, F, F }, + { SOCK_DGRAM, PORT, x, PORT, x, R, F }, + { SOCK_DGRAM, PORT, x, LB, x, F, F }, + { SOCK_DGRAM, LB, x, 0, x, F, F }, + { SOCK_DGRAM, LB, x, ADDR, x, F, F }, + { SOCK_DGRAM, LB, x, PORT, x, F, F }, + { SOCK_DGRAM, LB, x, LB, x, R, F }, #undef F #undef R #undef x @@ -550,6 +544,7 @@ ATF_TC_BODY(multibind, tc) socklen_t slen; enum bind_res res; int s; + in_port_t port; s = socket(wild[af].sa.sa_family, tests[i].type, 0); ATF_REQUIRE(s >= 0); @@ -561,7 +556,13 @@ ATF_TC_BODY(multibind, tc) tests[i].opt1, &(int){1}, sizeof(int)) == 0); ATF_REQUIRE(getsockname(s, &su.sa, &slen) == 0); - + _Static_assert(offsetof(struct sockaddr_in, sin_port) + == offsetof(struct sockaddr_in6, sin6_port), + "EDOOFUS"); + port = su.sin.sin_port; + memcpy(&su, tests[i].wild2 ? &wild[af] : &loop[af], + sizeof(su)); + su.sin.sin_port = port; sa = &su.sa; res = child_bind(tc, tests[i].type, sa, tests[i].opt2, false);