Fork of the Go standard TLS library, providing low-level access to the ClientHello for mimicry purposes.
Find a file
Filippo Valsorda 11a4ff8485 crypto/tls: accept HelloRetryRequest messages with only a cookie
Clients have to reject any HelloRetryRequest message that doesn't lead
to a change in the ClientHello. Instead, we were rejecting any HRR that
didn't select an alternative group, even if it sent a cookie, which
would change the CH.

The good news is that I know of no TLS servers that use or need HRRs
exclusively for cookies (which are mostly useful in DTLS as a way to
verify the source address). The bad news is that we poisoned the
ecosystem as Go 1.12 to 1.14 will reject such HRRs. Oops, hopefully no
one needed this.

No tests because neither Go nor s_server support cookies. This would
presumably get covered once we integrate BoGo.

Fixes #30149

Change-Id: I760fb1ded81148ac3096cf201cbc1e941374b83d
Reviewed-on: https://go-review.googlesource.com/c/go/+/231039
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Katie Hockman <katie@golang.org>
2020-05-06 16:20:51 +00:00
testdata crypto/tls: take key size into account in signature algorithm selection 2019-11-12 01:09:40 +00:00
alert.go crypto/tls: add missing alert values 2020-04-01 19:32:57 +00:00
auth.go crypto/tls: add {SignatureScheme,CurveID,ClientAuthType}.String() 2020-03-11 20:02:18 +00:00
auth_test.go crypto/tls: add {SignatureScheme,CurveID,ClientAuthType}.String() 2020-03-11 20:02:18 +00:00
cipher_suites.go crypto/tls: add CipherSuites, InsecureCipherSuites and CipherSuiteName 2019-11-12 01:09:31 +00:00
common.go crypto/tls: enforce TLS 1.3 (and TLS 1.2) downgrade protection checks 2020-05-05 17:36:57 +00:00
common_string.go crypto/tls: add {SignatureScheme,CurveID,ClientAuthType}.String() 2020-03-11 20:02:18 +00:00
conn.go crypto/tls: add Dialer 2020-04-20 20:33:36 +00:00
conn_test.go crypto/tls: select only compatible chains from Certificates 2019-11-12 01:08:57 +00:00
example_test.go crypto/tls: update ExampleDial with a valid root 2020-02-21 23:20:22 +00:00
generate_cert.go crypto/tls: consistently use %v for error formatting 2019-10-11 14:23:52 +00:00
handshake_client.go crypto/tls: enforce TLS 1.3 (and TLS 1.2) downgrade protection checks 2020-05-05 17:36:57 +00:00
handshake_client_test.go crypto/tls: enforce TLS 1.3 (and TLS 1.2) downgrade protection checks 2020-05-05 17:36:57 +00:00
handshake_client_tls13.go crypto/tls: accept HelloRetryRequest messages with only a cookie 2020-05-06 16:20:51 +00:00
handshake_messages.go crypto/tls: send ec_points_format extension in ServerHello 2019-10-31 15:14:45 +00:00
handshake_messages_test.go crypto/tls: marshal sessionState using cryptobyte 2020-05-06 01:27:05 +00:00
handshake_server.go crypto/tls: enforce TLS 1.3 (and TLS 1.2) downgrade protection checks 2020-05-05 17:36:57 +00:00
handshake_server_test.go crypto/tls: failed tls.Conn.Write returns a permanent error 2020-04-13 17:38:02 +00:00
handshake_server_tls13.go crypto/tls: select only compatible chains from Certificates 2019-11-12 01:08:57 +00:00
handshake_test.go crypto/tls: retry ETIMEDOUT flakes in localPipe on dragonfly 2019-11-12 17:55:14 +00:00
handshake_unix_test.go crypto/tls: retry net.Dial flakes on Dragonfly 2019-10-21 19:06:29 +00:00
key_agreement.go crypto/tls: refactor certificate and signature algorithm logic 2019-11-12 01:07:15 +00:00
key_schedule.go math/big: add (*Int).FillBytes 2020-05-05 00:36:44 +00:00
key_schedule_test.go crypto/tls: implement TLS 1.3 cryptographic computations 2018-11-02 21:54:52 +00:00
link_test.go crypto/tls: help linker remove code when only Client or Server is used 2020-04-15 19:49:43 +00:00
prf.go crypto/tls: improve error messages for invalid certificates and signatures 2019-10-30 20:18:59 +00:00
prf_test.go crypto/tls: remove SSLv3 support 2019-08-27 22:24:05 +00:00
ticket.go crypto/tls: marshal sessionState using cryptobyte 2020-05-06 01:27:05 +00:00
tls.go crypto/tls: add Dialer 2020-04-20 20:33:36 +00:00
tls_test.go crypto/tls: add Dialer 2020-04-20 20:33:36 +00:00