Index: net/quic/crypto/proof_verifier_chromium.h |
diff --git a/net/quic/crypto/proof_verifier_chromium.h b/net/quic/crypto/proof_verifier_chromium.h |
index 134f62baa15c83d6a3dee395e97b2f51e918937b..4969cc8aa556545140800451eb80e104bb6ecfe0 100644 |
--- a/net/quic/crypto/proof_verifier_chromium.h |
+++ b/net/quic/crypto/proof_verifier_chromium.h |
@@ -23,6 +23,13 @@ namespace net { |
class CertVerifier; |
class SingleRequestCertVerifier; |
+// ProofVerifyDetailsChromium is the implementation-specific information that a |
+// ProofVerifierChromium returns about a certificate verification. |
+struct ProofVerifyDetailsChromium : public ProofVerifyDetails { |
+ public: |
+ CertVerifyResult cert_verify_result; |
+}; |
+ |
// ProofVerifierChromium implements the QUIC ProofVerifier interface. |
// TODO(rtenneti): Add support for multiple requests for one ProofVerifier. |
class NET_EXPORT_PRIVATE ProofVerifierChromium : public ProofVerifier { |
@@ -32,13 +39,13 @@ class NET_EXPORT_PRIVATE ProofVerifierChromium : public ProofVerifier { |
virtual ~ProofVerifierChromium(); |
// ProofVerifier interface |
- virtual int VerifyProof(const std::string& hostname, |
- const std::string& server_config, |
- const std::vector<std::string>& certs, |
- const std::string& signature, |
- std::string* error_details, |
- CertVerifyResult* cert_verify_result, |
- const CompletionCallback& callback) OVERRIDE; |
+ virtual Status VerifyProof(const std::string& hostname, |
+ const std::string& server_config, |
+ const std::vector<std::string>& certs, |
+ const std::string& signature, |
+ std::string* error_details, |
+ scoped_ptr<ProofVerifyDetails>* details, |
+ ProofVerifierCallback* callback) OVERRIDE; |
private: |
enum State { |
@@ -63,11 +70,9 @@ class NET_EXPORT_PRIVATE ProofVerifierChromium : public ProofVerifier { |
// |hostname| specifies the hostname for which |certs| is a valid chain. |
std::string hostname_; |
- CompletionCallback callback_; |
- |
- // The result of certificate verification. |
- CertVerifyResult* cert_verify_result_; |
- std::string* error_details_; |
+ scoped_ptr<ProofVerifierCallback> callback_; |
+ scoped_ptr<ProofVerifyDetailsChromium> verify_details_; |
+ std::string error_details_; |
// X509Certificate from a chain of DER encoded certificates. |
scoped_refptr<X509Certificate> cert_; |