[Openvpn-devel,v2] Correctly calculate packet id size when epoch packet format is in use
| Message ID | 20260729064158.15731-1-gert@greenie.muc.de |
|---|---|
| State | New |
| Headers |
Return-Path: <openvpn-devel-bounces@lists.sourceforge.net>
Delivered-To: patchwork@openvpn.net
Received: by 2002:a05:7000:fd0b:b0:87d:ab56:3700 with SMTP id
cw11csp1559367mac;
Tue, 28 Jul 2026 23:42:54 -0700 (PDT)
X-Forwarded-Encrypted: i=2;
AHgh+Rre4UViXSH7X931dj8qWmXf5kqTB9ha0pxeavbGXC7uLo2KSjRuFN9MJsPd59bI6xtttBtqOZQ/uNc=@openvpn.net
X-Received: by 2002:a05:6820:290f:b0:6aa:db9f:6b84 with SMTP id
006d021491bc7-6ac96a09ed7mr2550541eaf.30.1785307374459;
Tue, 28 Jul 2026 23:42:54 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1785307374; cv=none;
d=google.com; s=arc-20260327;
b=CeJ4J+4Fp8Pfmx0/qGlfFTLBWwj74/KQ1M8jq0ixDwMzAyJOxiJpa5+ZHHS6epmOX2
ctPHkACrU6ksKzn40PL6Yt7r6sX1eoUSfXGCZ5FsUvfcjJEJIClGK5E6k9qbpfMqAP/G
qk7BTwFqNjz+TBPv/QsBCd8V3EUwWHAPQ1489WKrMKTrer0+Rp4fVaK1hCA3oMZJ/1/C
rXe6QD375Uz++OwC179ot5rlokeC/63OygZ11BmBVUQcJykMYe/mIWu/2HdOnMf5F1Vu
OY5Pcl2mWQlv3HQY1jRgUO2ygAbhtsCbCEIx3qoJJ72x2yQjRXLeAzhhmlijmmrC/y8Y
8alA==
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=lz+NcBXIBzolFkEgzmVCFAMD84w6vBAJYThZ5ZUs770=;
fh=4NbAC/LsuMLI0S0hprUlLSLCiHwg6SCAifhH718Jh0Q=;
b=daCEJYiXjvMmaHQOdfuPxmqRZOlKG8dzyuRrgL1i/RCtIGqhTgc4JBszSrk9Es1SGJ
OEe1mwm5WGgMwl+ZpDPRXIs+cAXNUxOSP29R/D9GK/Agr454eSGgYNgJkIJY2sQHYSyh
1kIMPIkYCxc7Nw35K18n9CjLNCuLc6h0xkuh4tejP8LX93Etw/Q1A5RVTOngwks8v2Fp
chZl9g/xBOeK/o7+1Nt+XOcHIq44B9VHtu+2zryfFAnMbgy/dGUCDwv8ugGR8C49JOmh
x/bRxVBhzfNu5VmRmPW3D/cmuaONljqID/X6aGbkE1jtutTYqwakIKEN3BuqYZz3MQRy
vNdg==;
dara=google.com
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass header.i=@lists.sourceforge.net header.s=beta
header.b=GUSE44Fu;
dkim=neutral (body hash did not verify) header.i=@sourceforge.net
header.s=x header.b=DnI1oNHK;
dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x
header.b=jrYXEsdu;
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-6aca555d162si1203872eaf.81.2026.07.28.23.42.40
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Tue, 28 Jul 2026 23:42:54 -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=GUSE44Fu;
dkim=neutral (body hash did not verify) header.i=@sourceforge.net
header.s=x header.b=DnI1oNHK;
dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x
header.b=jrYXEsdu;
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=lz+NcBXIBzolFkEgzmVCFAMD84w6vBAJYThZ5ZUs770=; b=GUSE44FuC+9Qo9NDNHWH+fau4y
uR+wGsWJmFsHo7HB1QaqUBWPb9D6KWbkuiWSH6vflxD1wD6SIUU2HY5fFf7Tpk68xqLPRY1wl04If
o48D8nGjx3VnyUt7wDx5bmrfl4o5PYnU2N0RhyejRKNnMIcwHDoCbEFJr1IRHKz3BmbI=;
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 <openvpn-devel-bounces@lists.sourceforge.net>)
id 1woxzs-0007x9-J7;
Wed, 29 Jul 2026 06:42:32 +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 <gert@blue4.greenie.muc.de>) id 1woxzZ-0007wp-4f
for openvpn-devel@lists.sourceforge.net;
Wed, 29 Jul 2026 06:42:13 +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=8+BSLFbXUhug7jXC0cN4Q1591tzJVGqwKBgkeE7UD4U=; b=DnI1oNHKSoqucIEBu1hfXmnQ2E
2yg/HtBYegD56kC3mT/Vq74trduHNE73Ts/6jx+XpvHZQPH+2qRAQpk50izIY3AhA6YbUgTvNLIuJ
PrMzskDWJxACHw/FGWF/0Jkykng7ObqrwnUaN4Efg+EvZe91RPW3v1lxsNgqScKS4hGM=;
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=8+BSLFbXUhug7jXC0cN4Q1591tzJVGqwKBgkeE7UD4U=; b=jrYXEsdulrUe0zebYD7hhYJq8b
p3d1PHram+wnpxr8KhcQoChsAotAHIQxwhDmUvVmx9sxXACEXlPcxtINqS9IqudRkUv8jwCHkBjnE
2y/jCkVO1HEe8+1GiHtvtAX6SXL8kSemnuDTuIv3njtgyrMVrqd4miQgwaAWHFuNMVaA=;
Received: from [193.149.48.129] (helo=blue.greenie.muc.de)
by sfi-mx-2.v28.lw.sourceforge.com with esmtps
(TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95)
id 1woxzS-0004GZ-90 for openvpn-devel@lists.sourceforge.net;
Wed, 29 Jul 2026 06:42:09 +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 66T6fwJo015760
for <openvpn-devel@lists.sourceforge.net>; Wed, 29 Jul 2026 08:41:58 +0200
Received: (from gert@localhost)
by blue.greenie.muc.de (8.18.2/8.18.1/Submit) id 66T6fwJd015759
for openvpn-devel@lists.sourceforge.net; Wed, 29 Jul 2026 08:41:58 +0200
From: Gert Doering <gert@greenie.muc.de>
To: openvpn-devel@lists.sourceforge.net
Date: Wed, 29 Jul 2026 08:41:52 +0200
Message-ID: <20260729064158.15731-1-gert@greenie.muc.de>
X-Mailer: git-send-email 2.53.0
In-Reply-To:
<gerrit.1785264441000.I5b862eabe032eb4d2229ff5b2f4f6af7406f6f4e@gerrit.openvpn.net>
References:
<gerrit.1785264441000.I5b862eabe032eb4d2229ff5b2f4f6af7406f6f4e@gerrit.openvpn.net>
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: Arne Schwabe <arne@rfc2549.org> The code assumed that
always when tls mode (without CFB/OFB) is in use that the packet size is
4 bytes. With epoch packet format is incorrect as that uses 64 bit.
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: 1woxzS-0004GZ-90
Subject: [Openvpn-devel] [PATCH v2] Correctly calculate packet id size when
epoch packet format is in use
X-BeenThere: openvpn-devel@lists.sourceforge.net
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: <openvpn-devel.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/options/openvpn-devel>,
<mailto:openvpn-devel-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive:
<http://sourceforge.net/mailarchive/forum.php?forum_name=openvpn-devel>
List-Post: <mailto:openvpn-devel@lists.sourceforge.net>
List-Help: <mailto:openvpn-devel-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/openvpn-devel>,
<mailto:openvpn-devel-request@lists.sourceforge.net?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: openvpn-devel-bounces@lists.sourceforge.net
X-getmail-retrieved-from-mailbox: Inbox
X-GMAIL-THRID: 1872030465413324249
X-GMAIL-MSGID: 1872030465413324249
|
| Series |
[Openvpn-devel,v2] Correctly calculate packet id size when epoch packet format is in use
|
|
Commit Message
Gert Doering
July 29, 2026, 6:41 a.m. UTC
From: Arne Schwabe <arne@rfc2549.org> The code assumed that always when tls mode (without CFB/OFB) is in use that the packet size is 4 bytes. With epoch packet format is incorrect as that uses 64 bit. Even thought packet_id_long_form has a the same size (8 byte) it is not the same header format (32 bit time + 32 bit IV) as the epoch format (16 bit epoch + 48 IV). Use a simple sizeof(uint64_t) to avoid suggesting that it might be the same. Closes: Github #1074 Change-Id: I5b862eabe032eb4d2229ff5b2f4f6af7406f6f4e Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Antonio Quartulli <antonio@mandelbit.com> Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1829 --- 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/+/1829 This mail reflects revision 2 of this Change. Acked-by according to Gerrit (reflected above): Antonio Quartulli <antonio@mandelbit.com>
Comments
Hi, On 29/07/2026 08:41, Gert Doering wrote: [...] > + /* epoch uses a 64-bit packet ID consisting of 64 bit (24 bit epoch + 48 bit IV) */ As reported on GitHub, there is a typ0 here: 24 should be 16 Sorry for having missed that during review. Regards, > + if (epoch) > + { > + return sizeof(uint64_t); > + } > > bool packet_id_long_form = !tlsmode || cipher_kt_mode_ofb_cfb(kt->cipher); > > > > _______________________________________________ > Openvpn-devel mailing list > Openvpn-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openvpn-devel
diff --git a/src/openvpn/mtu.c b/src/openvpn/mtu.c index e5db8ab..1f64a8a 100644 --- a/src/openvpn/mtu.c +++ b/src/openvpn/mtu.c @@ -35,6 +35,7 @@ #include "crypto.h" #include "memdbg.h" +#include "ssl_common.h" /* allocate a buffer for socket or tun layer */ void @@ -51,6 +52,13 @@ calc_packet_id_size_dc(const struct options *options, const struct key_type *kt) { bool tlsmode = options->tls_server || options->tls_client; + bool epoch = options->imported_protocol_flags & CO_EPOCH_DATA_KEY_FORMAT; + + /* epoch uses a 64-bit packet ID consisting of 64 bit (24 bit epoch + 48 bit IV) */ + if (epoch) + { + return sizeof(uint64_t); + } bool packet_id_long_form = !tlsmode || cipher_kt_mode_ofb_cfb(kt->cipher);