OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_QUIC_STATELESS_REJECTOR_H_ | 5 #ifndef NET_QUIC_STATELESS_REJECTOR_H_ |
6 #define NET_QUIC_STATELESS_REJECTOR_H_ | 6 #define NET_QUIC_STATELESS_REJECTOR_H_ |
7 | 7 |
8 #include "base/strings/string_piece.h" | 8 #include "base/strings/string_piece.h" |
9 #include "net/quic/core/crypto/crypto_framer.h" | 9 #include "net/quic/core/crypto/crypto_framer.h" |
10 #include "net/quic/core/crypto/quic_crypto_server_config.h" | 10 #include "net/quic/core/crypto/quic_crypto_server_config.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 // Returns the SREJ message when state() returns REJECTED. | 69 // Returns the SREJ message when state() returns REJECTED. |
70 const CryptoHandshakeMessage& reply() const { return reply_; } | 70 const CryptoHandshakeMessage& reply() const { return reply_; } |
71 | 71 |
72 private: | 72 private: |
73 // Helper class which is passed in to | 73 // Helper class which is passed in to |
74 // QuicCryptoServerConfig::ValidateClientHello. | 74 // QuicCryptoServerConfig::ValidateClientHello. |
75 class ValidateCallback; | 75 class ValidateCallback; |
76 friend class ValidateCallback; | 76 friend class ValidateCallback; |
77 | 77 |
78 void ProcessClientHello( | 78 void ProcessClientHello( |
79 const CryptoHandshakeMessage& client_hello, | |
80 const ValidateClientHelloResultCallback::Result& result, | 79 const ValidateClientHelloResultCallback::Result& result, |
81 std::unique_ptr<StatelessRejector> rejector, | 80 std::unique_ptr<StatelessRejector> rejector, |
82 std::unique_ptr<StatelessRejector::ProcessDoneCallback> cb); | 81 std::unique_ptr<StatelessRejector::ProcessDoneCallback> cb); |
83 | 82 |
84 State state_; | 83 State state_; |
85 QuicErrorCode error_; | 84 QuicErrorCode error_; |
86 std::string error_details_; | 85 std::string error_details_; |
87 QuicVersion version_; | 86 QuicVersion version_; |
88 QuicVersionVector versions_; | 87 QuicVersionVector versions_; |
89 QuicConnectionId connection_id_; | 88 QuicConnectionId connection_id_; |
90 QuicConnectionId server_designated_connection_id_; | 89 QuicConnectionId server_designated_connection_id_; |
91 QuicByteCount chlo_packet_size_; | 90 QuicByteCount chlo_packet_size_; |
92 IPEndPoint client_address_; | 91 IPEndPoint client_address_; |
93 IPEndPoint server_address_; | 92 IPEndPoint server_address_; |
94 const QuicClock* clock_; | 93 const QuicClock* clock_; |
95 QuicRandom* random_; | 94 QuicRandom* random_; |
96 const QuicCryptoServerConfig* crypto_config_; | 95 const QuicCryptoServerConfig* crypto_config_; |
97 QuicCompressedCertsCache* compressed_certs_cache_; | 96 QuicCompressedCertsCache* compressed_certs_cache_; |
98 CryptoHandshakeMessage chlo_; | 97 CryptoHandshakeMessage chlo_; |
99 CryptoHandshakeMessage reply_; | 98 CryptoHandshakeMessage reply_; |
100 CryptoFramer crypto_framer_; | 99 CryptoFramer crypto_framer_; |
101 QuicCryptoProof proof_; | 100 QuicCryptoProof proof_; |
102 | 101 |
103 DISALLOW_COPY_AND_ASSIGN(StatelessRejector); | 102 DISALLOW_COPY_AND_ASSIGN(StatelessRejector); |
104 }; | 103 }; |
105 | 104 |
106 } // namespace net | 105 } // namespace net |
107 | 106 |
108 #endif // NET_QUIC_STATELESS_REJECTOR_H_ | 107 #endif // NET_QUIC_STATELESS_REJECTOR_H_ |
OLD | NEW |