mirror of
https://github.com/refraction-networking/utls.git
synced 2025-04-03 20:17:36 +03:00
Fork of the Go standard TLS library, providing low-level access to the ClientHello for mimicry purposes.
anticensorshipcipher-suitesclienthellocryptogolanghandshakelow-level-tlsobfuscationparrottlstls-extension
I initially thought the logic was broken, but writing the test I realized it was actually very clever (derogative). It was relying on the outer loop continuing after a supported match without a key share, allowing a later key share to override it (but not a later supported match because of the "if selectedGroup != 0 { continue }"). Replaced the clever loop with two hopefully more understandable loops, and added a test (which was already passing). We were however not checking that the selected group is in the supported list if we found it in key shares first. (This was only a MAY.) Fixed. Fixes #65686 Change-Id: I09ea44f90167ffa36809deb78255ed039a217b6d Reviewed-on: https://go-review.googlesource.com/c/go/+/586655 Reviewed-by: Roland Shoemaker <roland@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Filippo Valsorda <filippo@golang.org> |
||
---|---|---|
fipsonly | ||
testdata | ||
alert.go | ||
auth.go | ||
auth_test.go | ||
badlinkname.go | ||
bogo_config.json | ||
bogo_shim_test.go | ||
boring.go | ||
boring_test.go | ||
cache.go | ||
cache_test.go | ||
cipher_suites.go | ||
common.go | ||
common_string.go | ||
conn.go | ||
conn_test.go | ||
example_test.go | ||
generate_cert.go | ||
handshake_client.go | ||
handshake_client_test.go | ||
handshake_client_tls13.go | ||
handshake_messages.go | ||
handshake_messages_test.go | ||
handshake_server.go | ||
handshake_server_test.go | ||
handshake_server_tls13.go | ||
handshake_test.go | ||
handshake_unix_test.go | ||
key_agreement.go | ||
key_schedule.go | ||
key_schedule_test.go | ||
link_test.go | ||
notboring.go | ||
prf.go | ||
prf_test.go | ||
quic.go | ||
quic_test.go | ||
ticket.go | ||
ticket_test.go | ||
tls.go | ||
tls_test.go |