commit | 6ebe83b7608c717c4568d8cdf775f51a05d69c77 | [log] [tgz] |
---|---|---|
author | nharper <nharper@google.com> | Thu Jun 13 17:43:52 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Jun 14 09:41:02 2019 -0700 |
tree | bfba35a4a132df62258475a5b2c3fa1a1d455b9e | |
parent | f245d294d1705f5bd4b3df83296dbbd9feff0449 [diff] |
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.