| Index: net/quic/crypto/proof_verifier_chromium.cc
|
| diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc
|
| index eb5f20ae70d74a1d1ac194b7e95eba770a4d0136..4e87c296f4da6e44deddccb1a88db224ca05665c 100644
|
| --- a/net/quic/crypto/proof_verifier_chromium.cc
|
| +++ b/net/quic/crypto/proof_verifier_chromium.cc
|
| @@ -34,6 +34,14 @@ using std::vector;
|
|
|
| namespace net {
|
|
|
| +ProofVerifyDetailsChromium::ProofVerifyDetailsChromium()
|
| + : pkp_bypassed(false) {}
|
| +
|
| +ProofVerifyDetailsChromium::~ProofVerifyDetailsChromium() {}
|
| +
|
| +ProofVerifyDetailsChromium::ProofVerifyDetailsChromium(
|
| + const ProofVerifyDetailsChromium&) = default;
|
| +
|
| ProofVerifyDetails* ProofVerifyDetailsChromium::Clone() const {
|
| ProofVerifyDetailsChromium* other = new ProofVerifyDetailsChromium;
|
| other->cert_verify_result = cert_verify_result;
|
| @@ -335,7 +343,10 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) {
|
| cert_verify_result.verified_cert.get(),
|
| TransportSecurityState::ENABLE_PIN_REPORTS,
|
| &verify_details_->pinning_failure_log)) {
|
| - result = ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN;
|
| + if (cert_verify_result.is_issued_by_known_root)
|
| + result = ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN;
|
| + else
|
| + verify_details_->pkp_bypassed = true;
|
| }
|
|
|
| if (result != OK) {
|
|
|