Refactor TlsHandshaker classes QuicCryptoClientConfig and QuicCryptoServerConfig each own an SSL_CTX, which is currently created by TlsHandshaker. Those crypto config classes can't take a dependency on TlsHandshaker (because TlsHandshaker depends on classes have a dependency in the other direction), resulting in the SSL_CTX being passed into the crypto config constructors. The SSL_CTX shouldn't be exposed like this, as it's essentially an implementation detail of the crypto handshake. This CL splits TlsHandshaker in two. TlsConnection (and its subclasses) are in quic/core/crypto, and handle the callbacks from BoringSSL. In turn, it passes the implementation of those callbacks to a delegate. TlsHandshaker implements this delegate and owns the TlsConnection. gfe-relnote: refactor TLS handshake classes in QUIC; not flag protected PiperOrigin-RevId: 253140899 Change-Id: Ie907a7f61798c29a385be15ea0f53403b86508ab
QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects.
The code is currently in process of being moved from https://cs.chromium.org/chromium/src/net/third_party/ into this repository. Please excuse our appearance while we're under construction.