Index: net/quic/crypto/proof_source.h |
diff --git a/net/quic/crypto/proof_source.h b/net/quic/crypto/proof_source.h |
index d2b4859095f165f780841cbb9bf2d1a6464c123a..74b9df3c7e0711a34cefafa49b078b90178c6c8b 100644 |
--- a/net/quic/crypto/proof_source.h |
+++ b/net/quic/crypto/proof_source.h |
@@ -10,6 +10,7 @@ |
#include "base/memory/ref_counted.h" |
#include "net/base/net_export.h" |
+#include "net/quic/quic_protocol.h" |
namespace net { |
@@ -55,10 +56,14 @@ class NET_EXPORT_PRIVATE ProofSource { |
// the ProofSource retains ownership of the contents of |out_certs|. The |
// expectation is that they will be cached forever. |
// |
- // The signature values should be cached because |server_config| will be |
- // somewhat static. However, since they aren't bounded, the ProofSource may |
- // wish to evicit entries from that cache, thus the caller takes ownership of |
- // |*out_signature|. |
+ // For version before QUIC_VERSION_30, the signature values should be cached |
+ // because |server_config| will be somewhat static. However, since they aren't |
+ // bounded, the ProofSource may wish to evicit entries from that cache, thus |
+ // the caller takes ownership of |*out_signature|. |
+ // |
+ // For QUIC_VERSION_30 and later, the signature depends on |chlo_hash| |
+ // which means that the signature can not be cached. The caller takes |
+ // ownership of |*out_signature|. |
// |
// |hostname| may be empty to signify that a default certificate should be |
// used. |
@@ -69,6 +74,8 @@ class NET_EXPORT_PRIVATE ProofSource { |
virtual bool GetProof(const IPAddress& server_ip, |
const std::string& hostname, |
const std::string& server_config, |
+ QuicVersion quic_version, |
+ base::StringPiece chlo_hash, |
bool ecdsa_ok, |
scoped_refptr<Chain>* out_chain, |
std::string* out_signature, |