From nobody Mon Feb 23 13:24:02 2026 X-Original-To: dev-commits-ports-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 4fKM4z0BDYz6TND6 for ; Mon, 23 Feb 2026 13:24:03 +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 4fKM4y6YhYz3Gwc for ; Mon, 23 Feb 2026 13:24:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771853043; 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=qrGKDf/28qeve/q8gwmARqvMDBWg0BQKzDnuv33tOqs=; b=M1h9uDcT7gHkK6O6L1BmNRasImrYxdQyQGFQYNIVd6/q8kU73w56Fb1ttMfHVetJM3t9us QmqoKhBYbgED04eN+X+AJ4QHh/k/AjMpDaqZ/d/+HojfyKMKo+wcg9yfYqUrxJiwCTKuj6 AWfiLlCwwmFsuqC/iZEmLjCSxG+r1+hju7g3qLBe1JWfGNb+SoCyK9z8LPp3+CRTGDXWF5 O0ciaDtV7HhmPkZGX+EmsLiQqn4CofoheJPo6yNGpdSgNqLjgn8bcJpctMtFxnixeTYxGT SUx4jfg/Wjih9MDGJwcV3gMegaF2zyN+YFfNaU8nQGmLgHSfoBttbaBftp9GlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771853042; a=rsa-sha256; cv=none; b=PuZHLiVB/cJ9ylr4xmd/ZullvCCYGBlYztLx1SpQmIbTYtw7QBZon6eIwBZ4VFb+zC3q06 x2lJtEcJFa+QYjC4jVG/bANqrP3xrftqsgA+IQBKPL+RWPRH6Zfi2bejpi/OLv51Jc9aUB 6mwm9LpIlpYgTHa7O5GVeBlIJ2cS9o7aHJ0iC6i+nQVckssfutac1wxjy7w3agGN5usug3 gCMuOEz6OUZEb/C5N5dJDVOc/I4y8WWpyukAFBCtjzKpTEBacGikDcY8P++yF4TnPet40l kYtlbyZXyMnsXnLnscqXNbSO4nPIZFUZoCUEBYpC70hwIQmOW/QFGXkBo3sFNg== 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=1771853042; 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=qrGKDf/28qeve/q8gwmARqvMDBWg0BQKzDnuv33tOqs=; b=YX9XKiZKVMuXBb32cNAEShcPftkw/hDySKWQd1fgQZ8Y+MvkAprjCu80XZw8FPVrO5cPCq z6BdU6BkIBauHaZPyDoY/EGjN4vA4J+z0gyqU8CWwzj/JQfj08wBnZxxHW55dCrHt+FnHI Q7ykPDJKDxDS04h8OUU6Fh+OafRyhqGXkUPImPdOuXD20cxWa9YuzIy9ag6xINp22C5wci 288Gt2hon/ZV3CmOtfnVQj13+TctPHafDZT3Wc5qaFfV+89nhV2n8Qw0R4j7qtX3SBKUO8 dnk89cN9/YyXHht8RPTyA8N1ZMQYDQ9UOEUeX3lJh47MgKuuOMVO6fmKoFPjxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fKM4y65PCzXMn for ; Mon, 23 Feb 2026 13:24:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 470ae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Feb 2026 13:24:02 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Doug Rabson Subject: git: 42d84f475d5c - main - sysutils/conmon: Use send(2) for sequenced packet sockets List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dfr X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 42d84f475d5c71e86b1fcfcdb2d774ac5725a32f Auto-Submitted: auto-generated Date: Mon, 23 Feb 2026 13:24:02 +0000 Message-Id: <699c54f2.470ae.2071f998@gitrepo.freebsd.org> The branch main has been updated by dfr: URL: https://cgit.FreeBSD.org/ports/commit/?id=42d84f475d5c71e86b1fcfcdb2d774ac5725a32f commit 42d84f475d5c71e86b1fcfcdb2d774ac5725a32f Author: Doug Rabson AuthorDate: 2026-01-27 14:34:36 +0000 Commit: Doug Rabson CommitDate: 2026-02-23 13:23:07 +0000 sysutils/conmon: Use send(2) for sequenced packet sockets Podman container stdout and stderr are proxied through conmon, allowing logging and supporting attaching/detaching from the container. The two output streams are multiplexed on a single SOCK_SEQPACKET unix domain socket. Each packet contains either stdout or stderr data with a small header identifying the stream. On FreeBSD versions prior to FreeBSD-15.0-RELEASE, the write(2) system call implicitly marks each write as a single packet on the stream but in 15.0 and later, this is not the case - packet boundaries must be explicitly marked using send(2). This resulted multiple writes being combined in a single packet and caused Podman to exit with an error (https://github.com/containers/podman/issues/27918). This changes conmon to use send(2) to write the output packets which is compatible with all FreeBSD versions and requires no changes to the Podman side of the connection. --- sysutils/conmon/Makefile | 2 +- sysutils/conmon/sysutils/conmon/files/patch-src_conn__sock.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sysutils/conmon/Makefile b/sysutils/conmon/Makefile index 647b8c588b6f..3cbe944f10a1 100644 --- a/sysutils/conmon/Makefile +++ b/sysutils/conmon/Makefile @@ -1,7 +1,7 @@ PORTNAME= conmon DISTVERSIONPREFIX= v DISTVERSION= 2.1.13 -PORTREVISION= 10 +PORTREVISION= 11 CATEGORIES= sysutils MAINTAINER= dfr@FreeBSD.org diff --git a/sysutils/conmon/sysutils/conmon/files/patch-src_conn__sock.c b/sysutils/conmon/sysutils/conmon/files/patch-src_conn__sock.c new file mode 100644 index 000000000000..2e580c8b5563 --- /dev/null +++ b/sysutils/conmon/sysutils/conmon/files/patch-src_conn__sock.c @@ -0,0 +1,11 @@ +--- src/conn_sock.c.orig 2026-01-23 16:22:04 UTC ++++ src/conn_sock.c +@@ -360,7 +360,7 @@ void write_back_to_remote_consoles(char *buf, int len) + for (int i = local_mainfd_stdin.readers->len; i > 0; i--) { + struct remote_sock_s *remote_sock = g_ptr_array_index(local_mainfd_stdin.readers, i - 1); + +- if (remote_sock->writable && write_all(remote_sock->fd, buf, len) < 0) { ++ if (remote_sock->writable && send(remote_sock->fd, buf, len, MSG_EOR) < 0) { + nwarn("Failed to write to remote console socket"); + remote_sock_shutdown(remote_sock, SHUT_WR); + }