]> Cypherpunks repositories - gostls13.git/commit
crypto/tls: add HandshakeContext method to Conn
authorJohan Brandhorst <johan.brandhorst@gmail.com>
Sat, 1 Aug 2020 11:18:31 +0000 (12:18 +0100)
committerFilippo Valsorda <filippo@golang.org>
Mon, 9 Nov 2020 18:34:47 +0000 (18:34 +0000)
commitfdecb5c5b46a3f0b8f299d9069d428c656576dcb
tree071a4150a1c5cd94c70f7db31bb3c2c99612f8bd
parent858fa061aed447527fa5f451e7d611d8735f8cb6
crypto/tls: add HandshakeContext method to Conn

Adds the (*tls.Conn).HandshakeContext method. This allows
us to pass the context provided down the call stack to
eventually reach the tls.ClientHelloInfo and
tls.CertificateRequestInfo structs.
These contexts are exposed to the user as read-only via Context()
methods.

This allows users of (*tls.Config).GetCertificate and
(*tls.Config).GetClientCertificate to use the context for
request scoped parameters and cancellation.

Replace uses of (*tls.Conn).Handshake with (*tls.Conn).HandshakeContext
where appropriate, to propagate existing contexts.

Fixes #32406

Change-Id: I33c228904fe82dcf57683b63627497d3eb841ff2
Reviewed-on: https://go-review.googlesource.com/c/go/+/246338
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Roland Shoemaker <roland@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
13 files changed:
doc/go1.16.html
src/crypto/tls/common.go
src/crypto/tls/conn.go
src/crypto/tls/handshake_client.go
src/crypto/tls/handshake_client_test.go
src/crypto/tls/handshake_client_tls13.go
src/crypto/tls/handshake_server.go
src/crypto/tls/handshake_server_test.go
src/crypto/tls/handshake_server_tls13.go
src/crypto/tls/tls.go
src/net/http/server.go
src/net/http/transport.go
src/net/http/transport_test.go