]> Cypherpunks repositories - gostls13.git/commitdiff
crypto/tls: fix bogo IgnoreClientVersionOrder skip reason
authorDaniel McCarney <daniel@binaryparadox.net>
Fri, 9 May 2025 14:29:47 +0000 (10:29 -0400)
committerGopher Robot <gobot@golang.org>
Fri, 16 May 2025 03:14:22 +0000 (20:14 -0700)
The BoGo IgnoreClientVersionOrder test checks that a client that sends
a supported_versions extension with the list [TLS 1.2, TLS 1.3] ends up
negotiating TLS 1.3.

However, the crypto/tls module treats this list as being in client
preference order, and so negotiates TLS 1.2, failing the test.

Our behaviour appears to be the correct handling based on RFC 8446
ยง4.2.1 where it says:
  The extension contains a list of supported versions in preference
  order, with the most preferred version first.

This commit updates the reason we skip this test to cite the RFC instead
of saying it's something to be fixed.

Updates #72006
Change-Id: I27a2cd231e4b8762b0d9e2dbd3d8ddd5b87fd5ca
Reviewed-on: https://go-review.googlesource.com/c/go/+/671415
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Daniel McCarney <daniel@binaryparadox.net>

src/crypto/tls/bogo_config.json

index 51482fedddcc1fa4ceee686c44cda334c83387a7..61585938d77203122ff62427ca7e4980c1677448 100644 (file)
@@ -66,7 +66,7 @@
         "SupportTicketsWithSessionID": "TODO: first pass, this should be fixed",
         "NoNullCompression-TLS12": "TODO: first pass, this should be fixed",
         "KeyUpdate-RequestACK": "TODO: first pass, this should be fixed",
-        "IgnoreClientVersionOrder": "TODO: first pass, this should be fixed",
+        "IgnoreClientVersionOrder": "RFC 8446 4.2.1 says supported_versions is in client pref order",
         "SupportedVersionSelection-TLS12": "TODO: first pass, this should be fixed",
         "DuplicateExtensionServer-TLS-TLS1": "TODO: first pass, this should be fixed",
         "DuplicateExtensionClient-TLS-TLS1": "TODO: first pass, this should be fixed",