summaryrefslogtreecommitdiffstats
path: root/net/quic/crypto/proof_verifier_chromium.h
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-21 22:25:34 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-21 22:25:34 +0000
commitc817c67fcf165c4b211bbf049099dede898479b7 (patch)
tree0ee6d0ae612cc3a0c3b98cc4e0db6a397953b5ad /net/quic/crypto/proof_verifier_chromium.h
parent63ab4784a1127a9568d914fdd7d8d89c1a4eac10 (diff)
downloadchromium_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.h19
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);
};