| Index: net/quic/crypto/crypto_utils.h
|
| diff --git a/net/quic/crypto/crypto_utils.h b/net/quic/crypto/crypto_utils.h
|
| index ff9c95119526bc2ec039c87ee0f101b913f676ea..6d400746f20c255d3469aeae88b7d9e3bd5a262e 100644
|
| --- a/net/quic/crypto/crypto_utils.h
|
| +++ b/net/quic/crypto/crypto_utils.h
|
| @@ -85,6 +85,18 @@ class NET_EXPORT_PRIVATE CryptoUtils {
|
| const QuicVersionVector& negotiated_versions,
|
| std::string* error_details);
|
|
|
| + // Validates that |client_hello| is actually a CHLO and that this is not part
|
| + // of a downgrade attack.
|
| + // This includes verifiying versions and detecting downgrade attacks.
|
| + //
|
| + // Returns QUIC_NO_ERROR if this is the case or returns the appropriate error
|
| + // code and sets |error_details|.
|
| + static QuicErrorCode ValidateClientHello(
|
| + const CryptoHandshakeMessage& client_hello,
|
| + QuicVersion version,
|
| + const QuicVersionVector& supported_versions,
|
| + std::string* error_details);
|
| +
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(CryptoUtils);
|
| };
|
|
|