From patchwork Mon Mar 30 23:13:56 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Cox X-Patchwork-Id: 4859 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7000:6c4a:b0:83c:d90d:321 with SMTP id c10csp1803141may; Mon, 30 Mar 2026 17:10:23 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX6zjzso2emweO5W/SoU0dpJOHI9/snhKRZL8+yrbMxEsHrLdjSzFz0pjcDLn1WS2qLYRa9SiAsXBs=@openvpn.net X-Received: by 2002:a05:6870:7a16:b0:417:6224:5855 with SMTP id 586e51a60fabf-41cebd5c98fmr8162809fac.0.1774915823129; Mon, 30 Mar 2026 17:10:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774915823; cv=none; d=google.com; s=arc-20240605; b=RfmZVO4us4ADTJvmPrNtLu540/KeSoEe6M3o1EwJCPH3vOIW4G1Wd6DuBvbrmufLMi bUZv7Ic8qbIZYU7f3/k2nO5RM2nVXDrde0tppeYhOL5fY27VNu4EQrauzyme5YEtppcD 9XNbvspU0WsHrKJB+wFgpiE26By31baBuZibN9Fq5mZgLP4Maze+3xL0kb81vQ3j4itm Kn3Dpi4v2sUEmvsfpIDQTCmRk+o0TSPRg54mMxphwpk//lFxcsRqyo+LdDILa0fe97Yb rfv6sLhFfv8ObbY2bq7MJdpcW/8fo7y/TlpopjK43hdLG8hOZ3NNTTeQI/+IbCReWrtG ERWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:content-transfer-encoding:reply-to:from:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:dkim-signature :dkim-signature:dkim-signature:dkim-signature; bh=yK3hDJWQjTmc5mzLEtxx4vtrk2Lq54btH1DvGQ7uk30=; fh=4NbAC/LsuMLI0S0hprUlLSLCiHwg6SCAifhH718Jh0Q=; b=izUMiaLg8E5qSX2ygBdQLUthqv5o1IYRyK4FyZx2nCMFRj+x/m31WmNklcZ7gIDWKZ SAmzIRVGnj7Vauz1fk/ItydFbklxkQbBcZH7nwR/XSuQ0NayTqnman3hcfqxRulW+pb8 NTFGWpZQccQLsGKKiq4U0hhHapYGDPZeOpLPLJLJtEkks35XIZUdwSIAxxnOG0D9uFtg N30ydQ+LkpxK0J+dyZTNywqhk7hFE2F0aKS0G1jlO5buguSLEp4LldMBWz8K1znT6Vfo zZ5vazgDZgLcpDjK6uxdCn0ueJNvvS4rTu+viNWD5BFDVnLxFLKH0XYzTTNeCRF9L/cf S5kA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lists.sourceforge.net header.s=beta header.b=ZriFmIPW; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=jh2ybOD+; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=eO9a4ERm; dkim=neutral (body hash did not verify) header.i=@mozilla.com header.s=google header.b=Lge2DHM0; 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=pass (p=NONE sp=NONE dis=NONE) header.from=lists.sourceforge.net; dara=neutral header.i=@openvpn.net Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id 586e51a60fabf-41d049739f2si7410955fac.107.2026.03.30.17.10.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Mar 2026 17:10:23 -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=ZriFmIPW; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=jh2ybOD+; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=eO9a4ERm; dkim=neutral (body hash did not verify) header.i=@mozilla.com header.s=google header.b=Lge2DHM0; 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=pass (p=NONE sp=NONE dis=NONE) header.from=lists.sourceforge.net; dara=neutral header.i=@openvpn.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: Reply-To:From:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Subject:MIME-Version:Message-ID:Date:To:Sender:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=yK3hDJWQjTmc5mzLEtxx4vtrk2Lq54btH1DvGQ7uk30=; b=ZriFmIPW/Reg0SLcBCIeAMgN9N uAdDJuzx5Jz67R5nLad85OAFb2hZFUfbG+qDbKDhKZ51U3BGbWNO7BhrNMC2bjXfMI32qKH0NHy8f 2BUcZxhrX5xKBlyk5BqhxgNEmNk3ktdSVilnHyjDUpy16kb/OnSIJNRfJni5HPC/T0fA=; 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 1w7MgR-0008Sz-Rz; Tue, 31 Mar 2026 00:10:15 +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 1w7MgQ-0008Sp-Lv for openvpn-devel@lists.sourceforge.net; Tue, 31 Mar 2026 00:10:14 +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: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:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=R1vwwUbIWA5OtkLlG3OsMzibGvghpPtPYmsmR5746to=; b=jh2ybOD+GB6eiPh1Z8IMiGbehu iuZwdCl8wv4li3ZoQnk0YOhQFTMAeY/gX0A0W/LIUsojFQeicJiqF8K+dZ4sqaNScxnsSg2WDWS45 86d9HfOmW9mHk43UPyjHVvyLOcj/qGNQ5ZmMtRo1xrzi3JWw8G1aEflJFjFN9qDtAuFM=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version: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:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=R1vwwUbIWA5OtkLlG3OsMzibGvghpPtPYmsmR5746to=; b=e O9a4ERmFmJk4d7T1yW/qu56cExMh9A5mnnIdFDangVpYNIK/ODpc0DUA6tTwNYB2LjIHxNZqt5OnR e6wOb0z8vnb2wVsMhOwnJVztg7MTUE4riEE9xj6kciND3W87ymMx1YTiLRhCJCXZbKaU9613uD0Tp IdoGVqkvquQIADwk=; Received: from mail-qk1-f169.google.com ([209.85.222.169]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.95) id 1w7MgP-00040m-57 for openvpn-devel@lists.sourceforge.net; Tue, 31 Mar 2026 00:10:14 +0000 Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-8cd78a4ce8dso714562085a.3 for ; Mon, 30 Mar 2026 17:10:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mozilla.com; s=google; t=1774915802; x=1775520602; darn=lists.sourceforge.net; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=R1vwwUbIWA5OtkLlG3OsMzibGvghpPtPYmsmR5746to=; b=Lge2DHM0tpS8z204wirzBb6IOpn4XEPvOkHFkmlQ1pXRMrSUFPe0w1jOHLXJ9WAmNy GsoDjBMt+/41jzc3vmNQAelEVvW019yFnU5ereIe9mgSrB3NGVsLByyfmH46PrW55Jz4 5VuWVoumwV62Ysc9zxaEtuu+o873jSyKNReI0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774915802; x=1775520602; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=R1vwwUbIWA5OtkLlG3OsMzibGvghpPtPYmsmR5746to=; b=mjvha4daOWRRf1CQbSTkm3ZpxUmVXXmtR8+QzSm+Fs1TettfV68BOEbZKRgr/IuGDE m3VhhKj7RNq+YgR/sPKoF5/4z14WVrYPYWQgqc0wYyHCiyd8xCXBdMpplR9MItPl3w6/ 6TJJMulm+NX1Q6n+9I8eVxU0iaBX62iSBStIQlmo+H1ztoVnY+dWJXl7xfA8DmPtchyJ TGAVY2mkiAutn5Thb8nMWquQfWrFQYLeHYYd/QSHNInw82Wz8fv2jfe+8SfnpI0kU2qw NYPtnGwVi/PP6V68yS9wIQrqHoXGFTDFTxUuf6C9I2yU3+iiyE3ueQXdHC9SEoZ0YrrC MW0g== X-Gm-Message-State: AOJu0YzXht4IX7Pebd71tc+gTMMKSbxwrG1NYGBVp80aAqCKb7iGzxxZ M1dgUFH78Dnq5N3bPYQ8uK88RecYasgZ+y0vctm2ZbmpxYdSD1uXbpBSuIERZt0W9sevKLtf/Qn 4Uvs= X-Gm-Gg: ATEYQzzlpS51KGe4Y0BiqVgwLruhSf8hKUyG9qcgadc472xc1+QdkVQUtDVpKIN1YF7 MBbeARuaMa0/EOVw8HNk8RLLPZMB514CmOa3Rcd7KZjqRAO8cELRsfv6HZL0DU8HMCfC1EhasPV aweg1zfT8IcpJMEidkkGH/gSbeEh6Hiz532AxnYoNmvg8KIM4AV5czFGermSlo/AlnSk9SszEvu sjxkXgg7YjXE7dGJdfXjM/pfd+QvBciUF9bvl2RaeKRJaXCN9cH2n7Z5UiRCVaI20h7TWTooosV 7qnf5v10octJV0VwoZEj2oltS5VhzbIy7Q34FTE6dZCGoDYSg02W+488zkG7RGZVq9dcUKUBesu 41WFkd5q5nftrge6Yfy4UWCiQG6C8LQya+pLENUlGGHOEpgxpI1E0wh//d7McyqGyKfe86gy/PE TAL2yN0ulMx/kd9u8R+Nv73fo5tCummNQ/0gp+VG9fxjPbsPpHv8Jv7WkMLnYEqWhHLQXBLAX1J Oy02CNNe5G4ZWb2xXCiXyUBzuOQfGICV3HEsMYrQhs= X-Received: by 2002:a05:6a00:1803:b0:829:8c08:d1f4 with SMTP id d2e1a72fcca58-82c9605c95bmr13427823b3a.39.1774912533461; Mon, 30 Mar 2026 16:15:33 -0700 (PDT) Received: from berknip.mozilla.com ([128.177.72.17]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82ca847ff4dsm8403845b3a.23.2026.03.30.16.15.32 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 30 Mar 2026 16:15:33 -0700 (PDT) To: openvpn-devel@lists.sourceforge.net Date: Mon, 30 Mar 2026 23:13:56 +0000 Message-ID: <20260330231355.84547-2-gcox@mozilla.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 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: Update --learn-address man page with ipv6 information The `--learn-address` option is very v4-specific in its man page. This expands the docs based on things I tripped over when bringing up a dual-stack server. Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.222.169 listed in wl.mailspike.net] -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1w7MgP-00040m-57 Subject: [Openvpn-devel] [PATCH] Update --learn-address man page with ipv6 information 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: , X-Patchwork-Original-From: Greg Cox via Openvpn-devel From: Greg Cox Reply-To: Greg Cox Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox X-GMAIL-THRID: =?utf-8?q?1861134133950948562?= X-GMAIL-MSGID: =?utf-8?q?1861134133950948562?= Update --learn-address man page with ipv6 information The `--learn-address` option is very v4-specific in its man page. This expands the docs based on things I tripped over when bringing up a dual-stack server. Signed-off-by: Greg Cox --- doc/man-sections/script-options.rst | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/man-sections/script-options.rst b/doc/man-sections/script-options.rst index 58baf1e3614f66cc46d841fc9b4a40ed85b0e98f..f420380f00cbd2b5e421823cff96139337398203 100644 --- a/doc/man-sections/script-options.rst +++ b/doc/man-sections/script-options.rst @@ -52,7 +52,7 @@ Script Order of Execution #. ``--learn-address`` - Executed in ``--mode server`` mode whenever an IPv4 address/route or MAC + Executed in ``--mode server`` mode whenever an IP address/route or MAC address is added to OpenVPN's internal routing table. #. ``--auth-user-pass-verify`` @@ -331,10 +331,14 @@ SCRIPT HOOKS OpenVPN's internal routing table. :code:`$2` - [address] - The address being learned or unlearned. This can be an IPv4 address - such as :code:`"198.162.10.14"`, an IPv4 subnet such as - :code:`"198.162.10.0/24"`, or an ethernet MAC address (when - ``--dev tap`` is being used) such as :code:`"00:FF:01:02:03:04"`. + The address being learned or unlearned. This can be: + + * an IPv4 address such as :code:`"198.162.10.14"`, + * an IPv4 subnet such as :code:`"198.162.10.0/24"`, + * an IPv6 address such as :code:`"2001:db8:1:2:3:4:5:6"`, + * an IPv6 subnet such as :code:`"2001:db8:1:2:3:4:5::/112"`, or + * an ethernet MAC address (when ``--dev tap`` is being used) + such as :code:`"00:FF:01:02:03:04"`. :code:`$3` - [common name] The common name on the certificate associated with the client linked @@ -353,6 +357,10 @@ SCRIPT HOOKS high-level common name, rather than the low level client virtual addresses. + A dual-stack client connecting to a dual-stack server will cause two calls + to the ``cmd`` script in quick succession, as the server learns each of the + IPv4 and IPv6 client addresses. + --route-up cmd Run command ``cmd`` after routes are added, subject to ``--route-delay``.