From patchwork Wed Feb 11 15:07:47 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Lichtenheld X-Patchwork-Id: 4757 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7000:1817:b0:80a:3855:ce6a with SMTP id p23csp207216max; Wed, 11 Feb 2026 07:08:03 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXB68jgplqQS64c82NUxEIdmw7r+hkSwCU4imwlW4ICoVaW+CHEFT6JnmQlwGkGSNhxeVP6P+BbNDA=@openvpn.net X-Received: by 2002:a05:6870:5b91:b0:404:3ae3:3578 with SMTP id 586e51a60fabf-40a96e5dfc3mr9532751fac.31.1770822483119; Wed, 11 Feb 2026 07:08:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770822483; cv=none; d=google.com; s=arc-20240605; b=XH+dh2RDHXvnPD2Y8zFkGZtXqB22t2jMFkx5dNsevHnqIy1AcKHxizKF01C3UD1ATK jluCHL7qE3hPkm6uZk+BgJ4Lx12GQ0qFZ+3/TTEf6M4trmrOPKAnzyDj/Is4/6zdisCx xlu147ByxJUwZNmhV1zka1x3kncwlv9zMiv5m9Gm1uA6q00BmitqfHkRYd/1o7RSY+WZ Bz7plGVG/LztBbrmqFNLfNZH1rT0fZy8k6cjnvRjG383affBL8ceBI+AgFTKQ81Awg0B 7eX3SQnUzvSIqNfxn2nAFDXOQ101r6FoLcKIZ1Q5OgLayYd6iDMQgSUv1I9+PEaGeFx9 Rxjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:content-transfer-encoding:cc:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:references:in-reply-to:message-id:date:to:from :dkim-signature:dkim-signature:dkim-signature:dkim-signature; bh=bKlTR1C9YATUixoOYB8vSwbyWIJvH//x5AEmgSG6B0I=; fh=CfxSpwd5kfiMJoL3kcov7PTxVKT7pGe/79idnx9XlBs=; b=YJjlHFWASo9NMe6KSSTNGzOtrDM4dORwl0aAFyeAaeUbVBqdLGy+0VBxlfJwluNTuY u4Yp8XlynmIxNI/v5U837Ow8EWOq3Zr7e+8hD0Wl6DduZuEdnOiBsUIvzE/HUPyTCU5U oFfZ40o+43HMLmHomiYV3uRIRehMeFJaf/T07anmplTUPnsBZDfuHnJLARgVKDGHuOco wxCQoiH6XTabgwlsQKtbUDieznqoBptYFu4eRbFa/reXwuzcba/UHS/pNdDuJjy1uFID 1pzZ0MzxtE0av3Xg9JziLDa4YGl+guxhRaAJRbbdx6t9hipYJgCp6/mBBR2io8xWtu8P LJKg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lists.sourceforge.net header.s=beta header.b=Wgj3vF9+; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b="LAq5h/Ua"; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=d2y5D2AD; dkim=neutral (body hash did not verify) header.i=@lichtenheld.com header.s=MBO0001 header.b=m3JEIlwU; spf=pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) smtp.mailfrom=openvpn-devel-bounces@lists.sourceforge.net Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id 586e51a60fabf-40eaee6d7e8si1608727fac.60.2026.02.11.07.08.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Feb 2026 07:08:03 -0800 (PST) Received-SPF: pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) client-ip=216.105.38.7; Authentication-Results: mx.google.com; dkim=pass header.i=@lists.sourceforge.net header.s=beta header.b=Wgj3vF9+; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b="LAq5h/Ua"; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=d2y5D2AD; dkim=neutral (body hash did not verify) header.i=@lichtenheld.com header.s=MBO0001 header.b=m3JEIlwU; spf=pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) smtp.mailfrom=openvpn-devel-bounces@lists.sourceforge.net DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Transfer-Encoding:Content-Type:Cc: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: Subject:MIME-Version:References:In-Reply-To:Message-ID:Date:To:From:Sender: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=bKlTR1C9YATUixoOYB8vSwbyWIJvH//x5AEmgSG6B0I=; b=Wgj3vF9+Uooth+tsk/JK8hWvCl /wZ3cGclIfrdWxYu18wlAj4hqxathf4FiKe+Z/c99LxZEeD+rn3awhg9h6o0y208pDPJDyzayJEf9 /ghgD77RXAgDa2UFviF211/JwVOZ1XjXv3/8B7UEMRkVOqjVmeKvUVaTeW30pQSmP1JA=; Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1vqBov-0005sI-4b; Wed, 11 Feb 2026 15:08:01 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1vqBou-0005s9-4Y for openvpn-devel@lists.sourceforge.net; Wed, 11 Feb 2026 15:08:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=JSGvGLMr5Jq/GCJia29xrQOzFR9rT/8Ueo0dnQhXDbI=; b=LAq5h/UaLqCUCSFZ5FzYHvAh9Q zuSFEo7nbjdlV3OPQ9XAR4zCWD8/p1LCyUuvoyrh1AgcnLXILWlE5myDWPIiRnIE+VpXQbLN5RNuJ hu8xMEMsW8fqdEZ1Uz0VgS6qkMdPwH7U81bGDD4wERUf+IYdQqWuNdrvxx8Xx19TcOU8=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=JSGvGLMr5Jq/GCJia29xrQOzFR9rT/8Ueo0dnQhXDbI=; b=d2y5D2AD0APBSCAUZE8eTnVxfj WizNWXmuahJvzr8dHSNlc7IBEeiEps0WRyCFgdlLzdWNT0D2FTZ+1QrgjuWsnoixpBgUjRyc4FeJ/ vbFNezopmzd3WOxkUt+7Jp3U6JCuxEKn2k0hxsTMFWKgGvmfIDxlEH11nrgU/Oj58K3k=; Received: from mout-p-202.mailbox.org ([80.241.56.172]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1vqBot-0002UW-9j for openvpn-devel@lists.sourceforge.net; Wed, 11 Feb 2026 15:08:00 +0000 Received: from smtp102.mailbox.org (smtp102.mailbox.org [IPv6:2001:67c:2050:b231:465::102]) (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) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4fB1yF3FK6z9tnP; Wed, 11 Feb 2026 16:07:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lichtenheld.com; s=MBO0001; t=1770822469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JSGvGLMr5Jq/GCJia29xrQOzFR9rT/8Ueo0dnQhXDbI=; b=m3JEIlwU0Ib1nPYhL0Xvf49mLjQrO0Myti8ot8f5HTvP9BkX0GArpm0ExDotu/1r7rigXR iwgRp5LU++/KJdau9Z9l7+yWD6Mj404a5pEShTzluvKY4ebYGdiVCDnUAAoxQBNwz3cXeu qHl6hAZUPFG0y9/y6rpuNq6vSDBXN1xHZ76stlxwffhenpH11rOkoYFa/wjL4GF7cZLIIa k+bTYkHRa3BjZK8EOFEtUuNHqBb4uE131m+V5CTKl/Yz33XoXvH59vAczC/wXnNA3WxGtd UvlOOlXMjcEtjD9qBO+GqD51LsxBouqZBe/mvN5N07wb1buXhE+aqQV8A/t4lQ== Authentication-Results: outgoing_mbo_mout; dkim=none; spf=pass (outgoing_mbo_mout: domain of frank@lichtenheld.com designates 2001:67c:2050:b231:465::102 as permitted sender) smtp.mailfrom=frank@lichtenheld.com From: Frank Lichtenheld To: openvpn-devel@lists.sourceforge.net Date: Wed, 11 Feb 2026 16:07:47 +0100 Message-ID: <20260211150747.113906-1-frank@lichtenheld.com> In-Reply-To: References: MIME-Version: 1.0 X-Rspamd-Queue-Id: 4fB1yF3FK6z9tnP X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "sfi-spamd-1.hosts.colo.sdot.me", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: From: Arne Schwabe This methods only ever access sock->stream_buf so make the method simpler by just having a parameter sb. Change-Id: I3deb7cd75db3cb280fa8d9c637cd3bde3881d6e3 Signed-off-by: Arne Schwabe Acked-by: Frank Lichtenheld Gerrit URL: https://gerrit.openvpn.net/c [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-Headers-End: 1vqBot-0002UW-9j Subject: [Openvpn-devel] [PATCH v4] Change stream_buf_read_setup_dowork parameter to struct steam_buf X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Arne Schwabe Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox X-GMAIL-THRID: =?utf-8?q?1856841956295986867?= X-GMAIL-MSGID: =?utf-8?q?1856841956295986867?= From: Arne Schwabe This methods only ever access sock->stream_buf so make the method simpler by just having a parameter sb. Change-Id: I3deb7cd75db3cb280fa8d9c637cd3bde3881d6e3 Signed-off-by: Arne Schwabe Acked-by: Frank Lichtenheld Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1483 --- This change was reviewed on Gerrit and approved by at least one developer. I request to merge it to master. Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1483 This mail reflects revision 4 of this Change. Signed-off-by line for the author was added as per our policy. Acked-by according to Gerrit (reflected above): Frank Lichtenheld diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c index 58ccda9..c463041 100644 --- a/src/openvpn/socket.c +++ b/src/openvpn/socket.c @@ -2111,22 +2111,22 @@ } bool -stream_buf_read_setup_dowork(struct link_socket *sock) +stream_buf_read_setup_dowork(struct stream_buf *sb) { - if (sock->stream_buf.residual.len && !sock->stream_buf.residual_fully_formed) + if (sb->residual.len && !sb->residual_fully_formed) { - ASSERT(buf_copy(&sock->stream_buf.buf, &sock->stream_buf.residual)); - ASSERT(buf_init(&sock->stream_buf.residual, 0)); - sock->stream_buf.residual_fully_formed = stream_buf_added(&sock->stream_buf, 0); + ASSERT(buf_copy(&sb->buf, &sb->residual)); + ASSERT(buf_init(&sb->residual, 0)); + sb->residual_fully_formed = stream_buf_added(sb, 0); dmsg(D_STREAM_DEBUG, "STREAM: RESIDUAL FULLY FORMED [%s], len=%d", - sock->stream_buf.residual_fully_formed ? "YES" : "NO", sock->stream_buf.residual.len); + sb->residual_fully_formed ? "YES" : "NO", sb->residual.len); } - if (!sock->stream_buf.residual_fully_formed) + if (!sb->residual_fully_formed) { - stream_buf_set_next(&sock->stream_buf); + stream_buf_set_next(sb); } - return !sock->stream_buf.residual_fully_formed; + return !sb->residual_fully_formed; } static bool diff --git a/src/openvpn/socket.h b/src/openvpn/socket.h index 850064d..3f46dc6 100644 --- a/src/openvpn/socket.h +++ b/src/openvpn/socket.h @@ -528,14 +528,24 @@ } } -bool stream_buf_read_setup_dowork(struct link_socket *sock); +/** + * Will try to check if the buffers in stream form a + * full packet. Will return true if further reads are + * required and false otherwise. (full packet is ready) + * + * With UDP we always return true as there is no reassembly. + * + * @param sb the stream buffer that should be worked on + * @return true if more reads are required. + */ +bool stream_buf_read_setup_dowork(struct stream_buf *sb); static inline bool stream_buf_read_setup(struct link_socket *sock) { if (link_socket_connection_oriented(sock)) { - return stream_buf_read_setup_dowork(sock); + return stream_buf_read_setup_dowork(&sock->stream_buf); } else {