Fork of the Go standard TLS library, providing low-level access to the ClientHello for mimicry purposes.
Find a file
Filippo Valsorda 861b74c00c crypto/tls: replay test recordings without network
There is no reason to go across a pipe when replaying a conn recording.
This avoids the complexity of using localPipe and goroutines, and makes
handshake benchmarks more accurate, as we don't measure network
overhead.

Also note how it removes the need for -fast: operating locally we know
when the flow is over and can error out immediately, without waiting for
a read from the feeder on the other side of the pipe to timeout.

Avoids some noise in #67979, but doesn't fix the two root causes:
localPipe flakes and testing.B races.

Updates #67979

Change-Id: I153d3fa5a24847f3947823e8c3a7bc639f89bc1d
Reviewed-on: https://go-review.googlesource.com/c/go/+/594255
Auto-Submit: Filippo Valsorda <filippo@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Joedian Reid <joedian@google.com>
2024-06-24 16:40:26 +00:00
fipsonly [dev.boringcrypto] all: add boringcrypto build tags 2022-04-29 14:23:22 +00:00
testdata crypto/tls: reorder client_hello extensions 2024-05-22 22:33:38 +00:00
alert.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
auth.go crypto/tls: move defaults into defaults.go 2024-05-22 21:45:37 +00:00
auth_test.go [dev.boringcrypto] all: merge master into dev.boringcrypto 2020-04-08 17:48:41 -04:00
bogo_config.json crypto/tls: better bogo test output handling 2024-06-04 15:52:42 +00:00
bogo_shim_test.go crypto/tls: add support for -expect-version to bogo_shim_test 2024-06-21 18:11:08 +00:00
boring.go crypto/tls: move defaults into defaults.go 2024-05-22 21:45:37 +00:00
boring_test.go crypto/tls: move defaults into defaults.go 2024-05-22 21:45:37 +00:00
cache.go crypto/tls: use SessionState on the client side 2023-05-24 23:56:41 +00:00
cache_test.go crypto/tls: add a certificate cache implementation 2022-11-07 19:46:27 +00:00
cipher_suites.go all: document legacy //go:linkname for final round of modules 2024-05-29 17:58:53 +00:00
common.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
common_string.go crypto/tls: implement X25519Kyber768Draft00 2024-05-22 14:56:25 +00:00
conn.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
conn_test.go crypto/tls: enforce 1.3 record version semantics 2023-05-24 21:35:01 +00:00
defaults.go all: document legacy //go:linkname for final round of modules 2024-05-29 17:58:53 +00:00
ech.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
ech_test.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
example_test.go all: make use of builtin clear 2024-03-27 18:23:49 +00:00
generate_cert.go crypto/tls: delete unnecessary line of return 2022-08-08 15:22:02 +00:00
handshake_client.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
handshake_client_test.go crypto/tls: replay test recordings without network 2024-06-24 16:40:26 +00:00
handshake_client_tls13.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
handshake_messages.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
handshake_messages_test.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
handshake_server.go crypto/tls: disable 3-DES by default 2024-05-22 21:30:50 +00:00
handshake_server_test.go crypto/tls: replay test recordings without network 2024-06-24 16:40:26 +00:00
handshake_server_tls13.go crypto/tls: improved 0-RTT QUIC API 2024-05-22 17:23:54 +00:00
handshake_test.go crypto/tls: replay test recordings without network 2024-06-24 16:40:26 +00:00
handshake_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
key_agreement.go crypto/tls: implement X25519Kyber768Draft00 2024-05-22 14:56:25 +00:00
key_schedule.go crypto/tls: implement X25519Kyber768Draft00 2024-05-22 14:56:25 +00:00
key_schedule_test.go crypto/tls: implement X25519Kyber768Draft00 2024-05-22 14:56:25 +00:00
link_test.go all: use ":" for compiler generated symbols 2022-08-09 11:28:56 +00:00
notboring.go crypto/tls: move defaults into defaults.go 2024-05-22 21:45:37 +00:00
prf.go crypto/tls: disable ExportKeyingMaterial without EMS 2023-11-21 16:29:49 +00:00
prf_test.go crypto/tls: remove SSLv3 support 2019-08-27 22:24:05 +00:00
quic.go crypto/tls: improved 0-RTT QUIC API 2024-05-22 17:23:54 +00:00
quic_test.go crypto/tls: improved 0-RTT QUIC API 2024-05-22 17:23:54 +00:00
ticket.go crypto/tls: improved 0-RTT QUIC API 2024-05-22 17:23:54 +00:00
ticket_test.go crypto/tls: avoid referencing potentially unused symbols in init 2023-05-26 15:24:38 +00:00
tls.go net/http: check GetConfigForClient in server.ServeTLS 2024-06-07 17:57:01 +00:00
tls_test.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00