Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(367)

Side by Side Diff: net/quic/core/crypto/crypto_framer.cc

Issue 2850573002: Landing Recent QUIC changes until 3:35 PM, Apr 26, 2017 UTC-4 (Closed)
Patch Set: Remove Disconnect from ~QuicTestClient Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include "net/quic/core/crypto/crypto_framer.h" 5 #include "net/quic/core/crypto/crypto_framer.h"
6 6
7 #include "net/quic/core/crypto/crypto_protocol.h" 7 #include "net/quic/core/crypto/crypto_protocol.h"
8 #include "net/quic/core/quic_data_reader.h" 8 #include "net/quic/core/quic_data_reader.h"
9 #include "net/quic/core/quic_data_writer.h" 9 #include "net/quic/core/quic_data_writer.h"
10 #include "net/quic/core/quic_packets.h" 10 #include "net/quic/core/quic_packets.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 pad_length = delta - overhead; 101 pad_length = delta - overhead;
102 } 102 }
103 len += overhead + pad_length; 103 len += overhead + pad_length;
104 } 104 }
105 105
106 if (num_entries > kMaxEntries) { 106 if (num_entries > kMaxEntries) {
107 return nullptr; 107 return nullptr;
108 } 108 }
109 109
110 std::unique_ptr<char[]> buffer(new char[len]); 110 std::unique_ptr<char[]> buffer(new char[len]);
111 QuicDataWriter writer(len, buffer.get(), perspective); 111 QuicDataWriter writer(len, buffer.get(), perspective, HOST_BYTE_ORDER);
112 if (!writer.WriteTag(message.tag())) { 112 if (!writer.WriteTag(message.tag())) {
113 DCHECK(false) << "Failed to write message tag."; 113 DCHECK(false) << "Failed to write message tag.";
114 return nullptr; 114 return nullptr;
115 } 115 }
116 if (!writer.WriteUInt16(static_cast<uint16_t>(num_entries))) { 116 if (!writer.WriteUInt16(static_cast<uint16_t>(num_entries))) {
117 DCHECK(false) << "Failed to write size."; 117 DCHECK(false) << "Failed to write size.";
118 return nullptr; 118 return nullptr;
119 } 119 }
120 if (!writer.WriteUInt16(0)) { 120 if (!writer.WriteUInt16(0)) {
121 DCHECK(false) << "Failed to write padding."; 121 DCHECK(false) << "Failed to write padding.";
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 tags_and_lengths_.clear(); 190 tags_and_lengths_.clear();
191 error_ = QUIC_NO_ERROR; 191 error_ = QUIC_NO_ERROR;
192 error_detail_ = ""; 192 error_detail_ = "";
193 state_ = STATE_READING_TAG; 193 state_ = STATE_READING_TAG;
194 } 194 }
195 195
196 QuicErrorCode CryptoFramer::Process(QuicStringPiece input, 196 QuicErrorCode CryptoFramer::Process(QuicStringPiece input,
197 Perspective perspective) { 197 Perspective perspective) {
198 // Add this data to the buffer. 198 // Add this data to the buffer.
199 buffer_.append(input.data(), input.length()); 199 buffer_.append(input.data(), input.length());
200 QuicDataReader reader(buffer_.data(), buffer_.length(), perspective); 200 QuicDataReader reader(buffer_.data(), buffer_.length(), perspective,
201 HOST_BYTE_ORDER);
201 202
202 switch (state_) { 203 switch (state_) {
203 case STATE_READING_TAG: 204 case STATE_READING_TAG:
204 if (reader.BytesRemaining() < kQuicTagSize) { 205 if (reader.BytesRemaining() < kQuicTagSize) {
205 break; 206 break;
206 } 207 }
207 QuicTag message_tag; 208 QuicTag message_tag;
208 reader.ReadTag(&message_tag); 209 reader.ReadTag(&message_tag);
209 message_.set_tag(message_tag); 210 message_.set_tag(message_tag);
210 state_ = STATE_READING_NUM_ENTRIES; 211 state_ = STATE_READING_NUM_ENTRIES;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 } 287 }
287 *end_offset += pad_length; 288 *end_offset += pad_length;
288 if (!writer->WriteUInt32(*end_offset)) { 289 if (!writer->WriteUInt32(*end_offset)) {
289 DCHECK(false) << "Failed to write end offset."; 290 DCHECK(false) << "Failed to write end offset.";
290 return false; 291 return false;
291 } 292 }
292 return true; 293 return true;
293 } 294 }
294 295
295 } // namespace net 296 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/congestion_control/bbr_sender_test.cc ('k') | net/quic/core/crypto/null_decrypter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698