]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Fix logic error in checking early negotiation support check
authorArne Schwabe <arne@rfc2549.org>
Tue, 15 Nov 2022 12:29:40 +0000 (13:29 +0100)
committerGert Doering <gert@greenie.muc.de>
Wed, 16 Nov 2022 12:25:52 +0000 (13:25 +0100)
We want to check if EARLY_NEG_START is set and reserve the other bits
for future expansions. Right now we also check if all reserved bits are
zero. oops.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20221115122940.1947284-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg25519.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/mudp.c

index 7c6fc816ef536da9b077ac2da4262dcdfaf52621..bdf35a8ba283bf856d45b4ed967a18edccaf323f 100644 (file)
@@ -92,7 +92,7 @@ do_pre_decrypt_check(struct multi_context *m,
         ASSERT(packet_id_read(&pin, &tmp, true));
 
         /* The most significant byte is 0x0f if early negotiation is supported */
-        bool early_neg_support = (pin.id & EARLY_NEG_MASK) == EARLY_NEG_START;
+        bool early_neg_support = ((pin.id & EARLY_NEG_MASK) & EARLY_NEG_START) == EARLY_NEG_START;
 
         /* All clients that support early negotiation and tls-crypt are assumed
          * to also support resending the WKc in the 2nd packet */