Expose ProofSource::Details on QuicCryptoServerStream
Move ProofSource::Details caching from GfeQuicCryptoServerStream to parent class, not flag protected
PiperOrigin-RevId: 325537643
Change-Id: Idc71b12e1b7a2945e170c972e12a45707ec82457
diff --git a/quic/core/quic_crypto_server_stream.cc b/quic/core/quic_crypto_server_stream.cc
index 6c84067..2b0b3e8 100644
--- a/quic/core/quic_crypto_server_stream.cc
+++ b/quic/core/quic_crypto_server_stream.cc
@@ -157,11 +157,12 @@
const std::string& error_details,
std::unique_ptr<CryptoHandshakeMessage> reply,
std::unique_ptr<DiversificationNonce> diversification_nonce,
- std::unique_ptr<ProofSource::Details> /*proof_source_details*/) {
+ std::unique_ptr<ProofSource::Details> proof_source_details) {
// Clear the callback that got us here.
DCHECK(process_client_hello_cb_ != nullptr);
DCHECK(validate_client_hello_cb_ == nullptr);
process_client_hello_cb_ = nullptr;
+ proof_source_details_ = std::move(proof_source_details);
const CryptoHandshakeMessage& message = result.client_hello;
if (error != QUIC_NO_ERROR) {
@@ -338,6 +339,10 @@
return signed_config_->proof.send_expect_ct_header;
}
+const ProofSource::Details* QuicCryptoServerStream::ProofSourceDetails() const {
+ return proof_source_details_.get();
+}
+
bool QuicCryptoServerStream::GetBase64SHA256ClientChannelID(
std::string* output) const {
if (!encryption_established() ||
@@ -390,8 +395,9 @@
void QuicCryptoServerStream::ProcessClientHello(
QuicReferenceCountedPointer<ValidateClientHelloResultCallback::Result>
result,
- std::unique_ptr<ProofSource::Details> /*proof_source_details*/,
+ std::unique_ptr<ProofSource::Details> proof_source_details,
std::unique_ptr<ProcessClientHelloResultCallback> done_cb) {
+ proof_source_details_ = std::move(proof_source_details);
const CryptoHandshakeMessage& message = result->client_hello;
std::string error_details;
if (!helper_->CanAcceptClientHello(