OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_CRYPTO_CRYPTO_PROTOCOL_H_ | 5 #ifndef NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ |
6 #define NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ | 6 #define NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "net/base/net_export.h" | 10 #include "net/base/net_export.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 const QuicTag kAESG = TAG('A', 'E', 'S', 'G'); // AES128 + GCM-12 | 44 const QuicTag kAESG = TAG('A', 'E', 'S', 'G'); // AES128 + GCM-12 |
45 const QuicTag kCC12 = TAG('C', 'C', '1', '2'); // ChaCha20 + Poly1305 | 45 const QuicTag kCC12 = TAG('C', 'C', '1', '2'); // ChaCha20 + Poly1305 |
46 | 46 |
47 // Socket receive buffer | 47 // Socket receive buffer |
48 const QuicTag kSRBF = TAG('S', 'R', 'B', 'F'); // Socket receive buffer | 48 const QuicTag kSRBF = TAG('S', 'R', 'B', 'F'); // Socket receive buffer |
49 | 49 |
50 // Congestion control feedback types | 50 // Congestion control feedback types |
51 const QuicTag kQBIC = TAG('Q', 'B', 'I', 'C'); // TCP cubic | 51 const QuicTag kQBIC = TAG('Q', 'B', 'I', 'C'); // TCP cubic |
52 const QuicTag kTSTP = TAG('T', 'S', 'T', 'P'); // Timestamp | 52 const QuicTag kTSTP = TAG('T', 'S', 'T', 'P'); // Timestamp |
53 | 53 |
54 // Congestion control options | 54 // Connection options (COPT) values |
55 const QuicTag kTBBR = TAG('T', 'B', 'B', 'R'); // Reduced Buffer Bloat TCP | 55 const QuicTag kTBBR = TAG('T', 'B', 'B', 'R'); // Reduced Buffer Bloat TCP |
56 const QuicTag kRENO = TAG('R', 'E', 'N', 'O'); // Reno Congestion Control | 56 const QuicTag kRENO = TAG('R', 'E', 'N', 'O'); // Reno Congestion Control |
57 const QuicTag kIW10 = TAG('I', 'W', '1', '0'); // Force ICWND to 10 | 57 const QuicTag kIW10 = TAG('I', 'W', '1', '0'); // Force ICWND to 10 |
58 const QuicTag kPACE = TAG('P', 'A', 'C', 'E'); // Paced TCP cubic | 58 const QuicTag kPACE = TAG('P', 'A', 'C', 'E'); // Paced TCP cubic |
59 | 59 |
60 // Loss detection algorithm types | 60 // Loss detection algorithm types |
61 const QuicTag kNACK = TAG('N', 'A', 'C', 'K'); // TCP style nack counting | 61 const QuicTag kNACK = TAG('N', 'A', 'C', 'K'); // TCP style nack counting |
62 const QuicTag kTIME = TAG('T', 'I', 'M', 'E'); // Time based | 62 const QuicTag kTIME = TAG('T', 'I', 'M', 'E'); // Time based |
63 | 63 |
64 // FEC options | 64 // FEC options |
65 const QuicTag kFHDR = TAG('F', 'H', 'D', 'R'); // FEC protect headers | 65 const QuicTag kFHDR = TAG('F', 'H', 'D', 'R'); // FEC protect headers |
66 | 66 |
67 // Proof types (i.e. certificate types) | 67 // Proof types (i.e. certificate types) |
68 // NOTE: although it would be silly to do so, specifying both kX509 and kX59R | 68 // NOTE: although it would be silly to do so, specifying both kX509 and kX59R |
69 // is allowed and is equivalent to specifying only kX509. | 69 // is allowed and is equivalent to specifying only kX509. |
70 const QuicTag kX509 = TAG('X', '5', '0', '9'); // X.509 certificate, all key | 70 const QuicTag kX509 = TAG('X', '5', '0', '9'); // X.509 certificate, all key |
71 // types | 71 // types |
72 const QuicTag kX59R = TAG('X', '5', '9', 'R'); // X.509 certificate, RSA keys | 72 const QuicTag kX59R = TAG('X', '5', '9', 'R'); // X.509 certificate, RSA keys |
73 // only | 73 // only |
74 const QuicTag kCHID = TAG('C', 'H', 'I', 'D'); // Channel ID. | 74 const QuicTag kCHID = TAG('C', 'H', 'I', 'D'); // Channel ID. |
75 | 75 |
76 // Client hello tags | 76 // Client hello tags |
77 const QuicTag kVER = TAG('V', 'E', 'R', '\0'); // Version (new) | 77 const QuicTag kVER = TAG('V', 'E', 'R', '\0'); // Version (new) |
78 const QuicTag kNONC = TAG('N', 'O', 'N', 'C'); // The client's nonce | 78 const QuicTag kNONC = TAG('N', 'O', 'N', 'C'); // The client's nonce |
79 const QuicTag kKEXS = TAG('K', 'E', 'X', 'S'); // Key exchange methods | 79 const QuicTag kKEXS = TAG('K', 'E', 'X', 'S'); // Key exchange methods |
80 const QuicTag kAEAD = TAG('A', 'E', 'A', 'D'); // Authenticated | 80 const QuicTag kAEAD = TAG('A', 'E', 'A', 'D'); // Authenticated |
81 // encryption algorithms | 81 // encryption algorithms |
82 const QuicTag kCGST = TAG('C', 'G', 'S', 'T'); // Congestion control | 82 const QuicTag kCGST = TAG('C', 'G', 'S', 'T'); // Congestion control |
83 // feedback types | 83 // feedback types |
84 const QuicTag kCOPT = TAG('C', 'O', 'P', 'T'); // Congestion control options | 84 const QuicTag kCOPT = TAG('C', 'O', 'P', 'T'); // Connection options |
85 // kLOSS was 'L', 'O', 'S', 'S', but was changed from a tag vector to a tag. | 85 // kLOSS was 'L', 'O', 'S', 'S', but was changed from a tag vector to a tag. |
86 const QuicTag kLOSS = TAG('L', 'O', 'S', 'A'); // Loss detection algorithms | 86 const QuicTag kLOSS = TAG('L', 'O', 'S', 'A'); // Loss detection algorithms |
87 const QuicTag kICSL = TAG('I', 'C', 'S', 'L'); // Idle connection state | 87 const QuicTag kICSL = TAG('I', 'C', 'S', 'L'); // Idle connection state |
88 // lifetime | 88 // lifetime |
89 const QuicTag kKATO = TAG('K', 'A', 'T', 'O'); // Keepalive timeout | 89 const QuicTag kKATO = TAG('K', 'A', 'T', 'O'); // Keepalive timeout |
90 const QuicTag kMSPC = TAG('M', 'S', 'P', 'C'); // Max streams per connection. | 90 const QuicTag kMSPC = TAG('M', 'S', 'P', 'C'); // Max streams per connection. |
91 const QuicTag kIRTT = TAG('I', 'R', 'T', 'T'); // Estimated initial RTT in us. | 91 const QuicTag kIRTT = TAG('I', 'R', 'T', 'T'); // Estimated initial RTT in us. |
92 const QuicTag kSWND = TAG('S', 'W', 'N', 'D'); // Server's Initial congestion | 92 const QuicTag kSWND = TAG('S', 'W', 'N', 'D'); // Server's Initial congestion |
93 // window. | 93 // window. |
94 const QuicTag kSNI = TAG('S', 'N', 'I', '\0'); // Server name | 94 const QuicTag kSNI = TAG('S', 'N', 'I', '\0'); // Server name |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 // amplification factor of any mirror DoS attack. | 167 // amplification factor of any mirror DoS attack. |
168 // | 168 // |
169 // A client may pad an inchoate client hello to a size larger than | 169 // A client may pad an inchoate client hello to a size larger than |
170 // kClientHelloMinimumSize to make it more likely to receive a complete | 170 // kClientHelloMinimumSize to make it more likely to receive a complete |
171 // rejection message. | 171 // rejection message. |
172 const size_t kClientHelloMinimumSize = 1024; | 172 const size_t kClientHelloMinimumSize = 1024; |
173 | 173 |
174 } // namespace net | 174 } // namespace net |
175 | 175 |
176 #endif // NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ | 176 #endif // NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ |
OLD | NEW |