| Index: net/quic/chromium/quic_chromium_client_session.cc
|
| diff --git a/net/quic/chromium/quic_chromium_client_session.cc b/net/quic/chromium/quic_chromium_client_session.cc
|
| index 06e0a5136e35bbfeb8e4796fe3a94c6bc31fd73f..c1637579789751a91d3f65be9cb3f8eabd517d8c 100644
|
| --- a/net/quic/chromium/quic_chromium_client_session.cc
|
| +++ b/net/quic/chromium/quic_chromium_client_session.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "net/quic/chromium/quic_chromium_client_session.h"
|
|
|
| +#include <openssl/ssl.h>
|
| +
|
| #include <utility>
|
|
|
| #include "base/callback_helpers.h"
|
| @@ -544,10 +546,24 @@ bool QuicChromiumClientSession::GetSSLInfo(SSLInfo* ssl_info) const {
|
| return false;
|
| }
|
| int ssl_connection_status = 0;
|
| - ssl_connection_status |= cipher_suite;
|
| - ssl_connection_status |=
|
| - (SSL_CONNECTION_VERSION_QUIC & SSL_CONNECTION_VERSION_MASK)
|
| - << SSL_CONNECTION_VERSION_SHIFT;
|
| + SSLConnectionStatusSetCipherSuite(cipher_suite, &ssl_connection_status);
|
| + SSLConnectionStatusSetVersion(SSL_CONNECTION_VERSION_QUIC,
|
| + &ssl_connection_status);
|
| +
|
| + // Report the QUIC key exchange as the corresponding TLS curve.
|
| + uint16_t curve;
|
| + switch (crypto_stream_->crypto_negotiated_params().key_exchange) {
|
| + case kP256:
|
| + curve = SSL_CURVE_SECP256R1;
|
| + break;
|
| + case kC255:
|
| + curve = SSL_CURVE_X25519;
|
| + break;
|
| + default:
|
| + NOTREACHED();
|
| + return false;
|
| + }
|
| + ssl_info->key_exchange_info = curve;
|
|
|
| ssl_info->public_key_hashes = cert_verify_result_->public_key_hashes;
|
| ssl_info->is_issued_by_known_root =
|
|
|