From patchwork Tue Aug 25 16:50:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gert Doering X-Patchwork-Id: 5279 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7000:4306:b0:87d:ab56:3700 with SMTP id q6csp6069921mae; Tue, 25 Aug 2026 09:50:48 -0700 (PDT) X-Forwarded-Encrypted: i=2; AHgh+RqN2EzDer9qwySHWEJ1gdVooBkgX0dr00OTjw7ZID1Opbgs7ITr440E4/zUaGr9hGKXXwLWpLfjR+w=@openvpn.net X-Received: by 2002:a4a:ee0d:0:b0:6b1:4806:f218 with SMTP id 006d021491bc7-6b1a0401f73mr91859eaf.14.1787676647942; Tue, 25 Aug 2026 09:50:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1787676647; cv=none; d=google.com; s=arc-20260327; b=KhmroQ7FK6lO2LILBnH34ctH7JOhfQeu/v0RSROsPHwsAwMW2lut1yQHrQh/fXrvvd ClWUm9xOy09iL9nCYWmvap0Io4Oho4RuQxu8x60NnZPkPQlJitKwDm/GbQL9trvw1JR+ LdMVgQI5zSrC5MDy9I0x4IYqwoPUIQSkOtwYNhW/vFJdaHaaa7iN2q3Yz4KNowCh5AHg MIbBzn30TOItk/RnISkml1I6Pzj/6Bj9IqSD4uTwpAvV4WOl0v5NCxh7A5CCxKahfdq3 mk708fAK7M2mqU7RoFVW7vDqcf9QmJMNc69mUPQMTix2THC9TUyhXXIAlDiAPBWo1pUD NoTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=errors-to:content-transfer-encoding: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; bh=9CXj2q/FiOwBPn+zDgqzd2/DdYPGOheIBgppet1/tyA=; fh=4NbAC/LsuMLI0S0hprUlLSLCiHwg6SCAifhH718Jh0Q=; b=QQQ9VdyahcNNYH+4p0LDtbPLqlsTRFxhHFkLbykd82udZ//ZmQ5JmhAmgdstpz185m BFb1u3eR7Ef+U0vHm2qw1OHERxwi27RcR9O3AfUNdXVeTdTUNQzpXeGf0oNhHsHB/2yR ZKdIlFG8Wyth+tXyzaCpv1sz9UadE/3mfUkJLxSrMVPM+mGdCmMiJQQ6VBZ0vpYPa3bR ErKQWGh0dFSP+dEnDnCXblKgBCVIeYZ2UNRuB9T4+Wc2VS3OtNKk7kUtb8Kh9cQgOJYp w7dwthgijdNJ3ONFSBESvCZMtEEuTrCuqLbH47Ms0tB7uQ0RxwAqcRTyouA/9uoZChaP 2+FQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lists.sourceforge.net header.s=beta header.b=C4i2VUYe; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=BFsOBM1F; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=KKUfYGVM; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=muc.de Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id 006d021491bc7-6b1a01433c5si145871eaf.35.2026.08.25.09.50.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Aug 2026 09:50:47 -0700 (PDT) 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=C4i2VUYe; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=BFsOBM1F; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=KKUfYGVM; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=muc.de 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: 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:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9CXj2q/FiOwBPn+zDgqzd2/DdYPGOheIBgppet1/tyA=; b=C4i2VUYeAv7D6siAJYUyyFpTrk TW4j13WNp5gFFMiYy6CZqoTHzf3Ksvwa/iBnh6ve9SumHjLi0bfaFdpxkoq5LjFITExeWuFSmp5aZ 0xQkHzsac6tdc/Y8LZhpIRst7NO0212N6bB6yox+yBgsTfNmeoTRKnXxJ2y6IV6mhDzU=; Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1wyuMA-0007eg-Kv; Tue, 25 Aug 2026 16:50:38 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1wyuM8-0007eZ-Px for openvpn-devel@lists.sourceforge.net; Tue, 25 Aug 2026 16:50:36 +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:To:From:Sender:Reply-To:Cc: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=OHBxURZAcgYfAdjDv2Jx4B5PklSEb5uLVsOuf+Sntn8=; b=BFsOBM1FOgRx+LiUDgqmeaNDpu iPpSRfBKgfRQptysbIiBSarpHpjeQQL+fhmdwy3zOFiXG3D/yXrfdOjwmt2A+kpNUR2Q1tpOxyvD5 z3+gQ4gSHXBABYCOXF6/oBlxIhaV57KUDyfWcMaCQoGBnqfMAuFD2RUswD+JmwKnzXz8=; 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:To:From:Sender:Reply-To:Cc: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=OHBxURZAcgYfAdjDv2Jx4B5PklSEb5uLVsOuf+Sntn8=; b=KKUfYGVMcFjyjlOmpJr5SrkcbC 0jJySgEmgajboOeHEiRlGRmbxWW1LWhCznQTUOBjokejGIRVlNIrBBWiKMQalp1EB8zhOTcOoxQim SCiuoIgdmtv4Yb+eljlQ0FLObp6b6Iy/rakqcTr5xgVPFsO/FBPmrJIZTBZFqGtytMGA=; Received: from [193.149.48.129] (helo=blue.greenie.muc.de) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1wyuM7-0004EQ-DV for openvpn-devel@lists.sourceforge.net; Tue, 25 Aug 2026 16:50:36 +0000 Received: from blue.greenie.muc.de (localhost [127.0.0.1]) by blue.greenie.muc.de (8.18.1/8.18.1) with ESMTP id 67PGoSQ4009839 for ; Tue, 25 Aug 2026 18:50:28 +0200 Received: (from gert@localhost) by blue.greenie.muc.de (8.18.2/8.18.1/Submit) id 67PGoSps009838 for openvpn-devel@lists.sourceforge.net; Tue, 25 Aug 2026 18:50:28 +0200 From: Gert Doering To: openvpn-devel@lists.sourceforge.net Date: Tue, 25 Aug 2026 18:50:22 +0200 Message-ID: <20260825165028.9823-1-gert@greenie.muc.de> X-Mailer: git-send-email 2.53.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Score: 1.3 (+) 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: Razvan Cojocaru The point-to-multipoint server event loop is no longer split into protocol-specific tunnel_server_udp() and tunnel_server_tcp() functions; tunnel_server() now handles both UDP and TCP. Content analysis details: (1.3 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Headers-End: 1wyuM7-0004EQ-DV Subject: [Openvpn-devel] [PATCH v1] doc: Update doxygen references to removed tunnel_server_{udp, tcp}() 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: , Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox X-GMAIL-THRID: 1874514828536604796 X-GMAIL-MSGID: 1874514828536604796 From: Razvan Cojocaru The point-to-multipoint server event loop is no longer split into protocol-specific tunnel_server_udp() and tunnel_server_tcp() functions; tunnel_server() now handles both UDP and TCP. Update the Doxygen module documentation accordingly: list tunnel_server() as the server-mode event loop implementation, and rewrite the server-mode startup, initialization and cleanup sections so that they describe tunnel_server() instead of the removed functions. Documentation only, no functional change. Change-Id: I57b4122b292f643ddedd91e81bf95fe2f5b2e03a Signed-off-by: Razvan Cojocaru Acked-by: Frank Lichtenheld Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1850 --- 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/+/1850 This mail reflects revision 1 of this Change. Acked-by according to Gerrit (reflected above): Frank Lichtenheld diff --git a/doc/doxygen/doc_eventloop.h b/doc/doxygen/doc_eventloop.h index 55ecd73..4c1b012 100644 --- a/doc/doxygen/doc_eventloop.h +++ b/doc/doxygen/doc_eventloop.h @@ -60,6 +60,5 @@ * event loop function is called to drive the event processing. The * following implementations are available: * - Client mode using UDP or TCP: \c tunnel_point_to_point() - * - Server mode using UDP: \c tunnel_server_udp() - * - Server mode using TCP: \c tunnel_server_tcp() + * - Server mode using UDP or TCP: \c tunnel_server() */ diff --git a/doc/doxygen/doc_tunnel_state.h b/doc/doxygen/doc_tunnel_state.h index 296e804..424f81e 100644 --- a/doc/doxygen/doc_tunnel_state.h +++ b/doc/doxygen/doc_tunnel_state.h @@ -117,10 +117,10 @@ * tunnel_point_to_point() or \c tunnel_server(). * * In server-mode, \c main() calls the \c tunnel_server() function, which - * transfers control to \c tunnel_server_udp() or \c - * tunnel_server_tcp() depending on the external transport protocol. + * drives the event loop for both the UDP and TCP external transport + * protocols. * - * These functions receive the \c context created in \c main(). This + * This function receives the \c context created in \c main(). This * object has a special status in server-mode, as it does not represent an * active VPN tunnel, but does contain process-wide configuration * parameters. In the source code, it is often stored in "top" variables. @@ -130,11 +130,10 @@ * CM_CHILD_UDP or \c CM_CHILD_TCP, depending on the external transport * protocol. * - * Both \c tunnel_server_udp_single_threaded() and \c tunnel_server_tcp() - * perform similar initialization. In either case, a \c multi_context - * structure is created, and it is initialized according to the - * configuration stored in the top \c context by the \c multi_init() and - * \c multi_top_init() functions. + * During initialization, \c tunnel_server() creates a \c multi_context + * structure, which is initialized according to the configuration stored + * in the top \c context by the \c multi_init() and \c multi_top_init() + * functions. * * @subsection tunnel_state_server_tunnels Creating and destroying VPN tunnels * @@ -146,8 +145,7 @@ * * @subsection tunnel_state_server_cleanup Final cleanup * - * After the main event loop exits, both \c - * tunnel_server_udp_single_threaded() and \c tunnel_server_tcp() perform - * similar cleanup. They call \c multi_uninit() followed by \c - * multi_top_free() to clean up the \c multi_context structure. + * After the main event loop exits, \c tunnel_server() performs the + * cleanup. It calls \c multi_uninit() followed by \c multi_top_free() + * to clean up the \c multi_context structure. */