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

Side by Side Diff: net/quic/crypto/null_encrypter.cc

Issue 12334063: Land recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more EXPECT_FALSE Created 7 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « net/quic/crypto/null_encrypter.h ('k') | net/quic/crypto/null_encrypter_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/crypto/null_encrypter.h" 5 #include "net/quic/crypto/null_encrypter.h"
6 #include "net/quic/quic_data_writer.h" 6 #include "net/quic/quic_data_writer.h"
7 #include "net/quic/quic_utils.h" 7 #include "net/quic/quic_utils.h"
8 8
9 using base::StringPiece; 9 using base::StringPiece;
10 using std::string; 10 using std::string;
11 11
12 namespace net { 12 namespace net {
13 13
14 const size_t kHashSize = 16; // size of uint128 serialized 14 const size_t kHashSize = 16; // size of uint128 serialized
15 15
16 QuicData* NullEncrypter::Encrypt(StringPiece associated_data, 16 bool NullEncrypter::SetKey(StringPiece key) {
17 return key.empty();
18 }
19
20 bool NullEncrypter::SetNoncePrefix(StringPiece nonce_prefix) {
21 return nonce_prefix.empty();
22 }
23
24 QuicData* NullEncrypter::Encrypt(QuicPacketSequenceNumber /*sequence_number*/,
25 StringPiece associated_data,
17 StringPiece plaintext) { 26 StringPiece plaintext) {
18 // TODO(rch): avoid buffer copy here 27 // TODO(rch): avoid buffer copy here
19 string buffer = associated_data.as_string(); 28 string buffer = associated_data.as_string();
20 plaintext.AppendToString(&buffer); 29 plaintext.AppendToString(&buffer);
21 uint128 hash = QuicUtils::FNV1a_128_Hash(buffer.data(), buffer.length()); 30 uint128 hash = QuicUtils::FNV1a_128_Hash(buffer.data(), buffer.length());
22 QuicDataWriter writer(plaintext.length() + kHashSize); 31 QuicDataWriter writer(plaintext.length() + kHashSize);
23 writer.WriteUInt128(hash); 32 writer.WriteUInt128(hash);
24 writer.WriteBytes(plaintext.data(), plaintext.length()); 33 writer.WriteBytes(plaintext.data(), plaintext.length());
25 size_t len = writer.length(); 34 size_t len = writer.length();
26 return new QuicData(writer.take(), len, true); 35 return new QuicData(writer.take(), len, true);
27 } 36 }
28 37
29 size_t NullEncrypter::GetMaxPlaintextSize(size_t ciphertext_size) { 38 size_t NullEncrypter::GetKeySize() const {
39 return 0;
40 }
41
42 size_t NullEncrypter::GetNoncePrefixSize() const {
43 return 0;
44 }
45
46 size_t NullEncrypter::GetMaxPlaintextSize(size_t ciphertext_size) const {
30 return ciphertext_size - kHashSize; 47 return ciphertext_size - kHashSize;
31 } 48 }
32 49
33 size_t NullEncrypter::GetCiphertextSize(size_t plaintext_size) { 50 size_t NullEncrypter::GetCiphertextSize(size_t plaintext_size) const {
34 return plaintext_size + kHashSize; 51 return plaintext_size + kHashSize;
35 } 52 }
36 53
37 } // namespace net 54 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/crypto/null_encrypter.h ('k') | net/quic/crypto/null_encrypter_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698