Date: Fri, 20 Jun 2025 22:36:17 GMT From: Mark Johnston <markj@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 2fcbd5a75b5a - main - netgraph/ksocket tests: Bind to a specific address Message-ID: <202506202236.55KMaHOB039092@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2fcbd5a75b5adea9830b6688f3ae529bdfbc28f0 commit 2fcbd5a75b5adea9830b6688f3ae529bdfbc28f0 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2025-06-20 22:33:42 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2025-06-20 22:35:38 +0000 netgraph/ksocket tests: Bind to a specific address Otherwise we rely on connect(INADDR_ANY) connecting to a socket bound to an arbitrary host address, but as of commit cd240957d7ba this is disallowed by default. Reported by: Siva Mahadevan <me@svmhdvn.name> Fixes: cd240957d7ba ("netinet: Disallow connections to INADDR_ANY") --- tests/sys/netgraph/ksocket.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/sys/netgraph/ksocket.c b/tests/sys/netgraph/ksocket.c index e97b9b3f0691..d3ea5ca2876e 100644 --- a/tests/sys/netgraph/ksocket.c +++ b/tests/sys/netgraph/ksocket.c @@ -50,15 +50,17 @@ hellocheck(int wr, int rd) ATF_TC_WITHOUT_HEAD(udp_connect); ATF_TC_BODY(udp_connect, tc) { - struct sockaddr sa = { - .sa_family = AF_INET, + struct sockaddr_in sin = { + .sin_family = AF_INET, + .sin_addr.s_addr = htonl(INADDR_LOOPBACK), + .sin_len = sizeof(sin), }; - socklen_t slen = sizeof(sa); + socklen_t slen = sizeof(sin); int ds, cs, us; ATF_REQUIRE((us = socket(PF_INET, SOCK_DGRAM, 0)) > 0); - ATF_REQUIRE(bind(us, &sa, sizeof(sa)) == 0); - ATF_REQUIRE(getsockname(us, &sa, &slen) == 0); + ATF_REQUIRE(bind(us, (struct sockaddr *)&sin, sizeof(sin)) == 0); + ATF_REQUIRE(getsockname(us, (struct sockaddr *)&sin, &slen) == 0); struct ngm_mkpeer mkp = { .type = NG_KSOCKET_NODE_TYPE, @@ -69,7 +71,7 @@ ATF_TC_BODY(udp_connect, tc) ATF_REQUIRE(NgSendMsg(cs, ".", NGM_GENERIC_COOKIE, NGM_MKPEER, &mkp, sizeof(mkp)) >= 0); ATF_REQUIRE(NgSendMsg(cs, ".:" OURHOOK, NGM_KSOCKET_COOKIE, - NGM_KSOCKET_CONNECT, &sa, sizeof(sa)) >= 0); + NGM_KSOCKET_CONNECT, &sin, sizeof(sin)) >= 0); hellocheck(ds, us); } @@ -79,6 +81,7 @@ ATF_TC_BODY(udp_bind, tc) { struct sockaddr_in sin = { .sin_family = AF_INET, + .sin_addr.s_addr = htonl(INADDR_LOOPBACK), .sin_len = sizeof(sin), }; struct ng_mesg *rep;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202506202236.55KMaHOB039092>