diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-21 22:25:34 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-21 22:25:34 +0000 |
commit | c817c67fcf165c4b211bbf049099dede898479b7 (patch) | |
tree | 0ee6d0ae612cc3a0c3b98cc4e0db6a397953b5ad /net/quic/crypto/proof_verifier_chromium.h | |
parent | 63ab4784a1127a9568d914fdd7d8d89c1a4eac10 (diff) | |
download | chromium_src-c817c67fcf165c4b211bbf049099dede898479b7.zip chromium_src-c817c67fcf165c4b211bbf049099dede898479b7.tar.gz chromium_src-c817c67fcf165c4b211bbf049099dede898479b7.tar.bz2 |
Add ProofVerifierContext struct to QUIC's ProofVerifier::VerifyProof
ProofVerifyContext is an abstract class that acts as a container for any
implementation specific context that a ProofVerifier needs.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258618
Review URL: https://codereview.chromium.org/203903002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258693 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/crypto/proof_verifier_chromium.h')
-rw-r--r-- | net/quic/crypto/proof_verifier_chromium.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/net/quic/crypto/proof_verifier_chromium.h b/net/quic/crypto/proof_verifier_chromium.h index 7f695e6..ebf9a2c 100644 --- a/net/quic/crypto/proof_verifier_chromium.h +++ b/net/quic/crypto/proof_verifier_chromium.h @@ -15,6 +15,7 @@ #include "net/base/net_export.h" #include "net/base/net_log.h" #include "net/cert/cert_verify_result.h" +#include "net/cert/x509_certificate.h" #include "net/quic/crypto/proof_verifier.h" namespace net { @@ -29,12 +30,21 @@ struct ProofVerifyDetailsChromium : public ProofVerifyDetails { CertVerifyResult cert_verify_result; }; +// ProofVerifyContextChromium is the implementation-specific information that a +// ProofVerifierChromium needs in order to log correctly. +struct ProofVerifyContextChromium : public ProofVerifyContext { + public: + explicit ProofVerifyContextChromium(const BoundNetLog& net_log) + : net_log(net_log) {} + + BoundNetLog net_log; +}; + // ProofVerifierChromium implements the QUIC ProofVerifier interface. It is // capable of handling multiple simultaneous requests. class NET_EXPORT_PRIVATE ProofVerifierChromium : public ProofVerifier { public: - ProofVerifierChromium(CertVerifier* cert_verifier, - const BoundNetLog& net_log); + explicit ProofVerifierChromium(CertVerifier* cert_verifier); virtual ~ProofVerifierChromium(); // ProofVerifier interface @@ -42,8 +52,9 @@ class NET_EXPORT_PRIVATE ProofVerifierChromium : public ProofVerifier { const std::string& server_config, const std::vector<std::string>& certs, const std::string& signature, + const ProofVerifyContext* verify_context, std::string* error_details, - scoped_ptr<ProofVerifyDetails>* details, + scoped_ptr<ProofVerifyDetails>* verify_details, ProofVerifierCallback* callback) OVERRIDE; private: @@ -58,8 +69,6 @@ class NET_EXPORT_PRIVATE ProofVerifierChromium : public ProofVerifier { // Underlying verifier used to verify certificates. CertVerifier* const cert_verifier_; - BoundNetLog net_log_; - DISALLOW_COPY_AND_ASSIGN(ProofVerifierChromium); }; |