| Index: net/quic/crypto/null_decrypter.cc
|
| diff --git a/net/quic/crypto/null_decrypter.cc b/net/quic/crypto/null_decrypter.cc
|
| deleted file mode 100644
|
| index b0bf4d34f9ca640a93f32ce8e750b4f814b61b93..0000000000000000000000000000000000000000
|
| --- a/net/quic/crypto/null_decrypter.cc
|
| +++ /dev/null
|
| @@ -1,104 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "net/quic/crypto/null_decrypter.h"
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include "net/quic/quic_bug_tracker.h"
|
| -#include "net/quic/quic_data_reader.h"
|
| -#include "net/quic/quic_utils.h"
|
| -
|
| -using base::StringPiece;
|
| -using std::string;
|
| -
|
| -namespace net {
|
| -
|
| -NullDecrypter::NullDecrypter() {}
|
| -
|
| -bool NullDecrypter::SetKey(StringPiece key) {
|
| - return key.empty();
|
| -}
|
| -
|
| -bool NullDecrypter::SetNoncePrefix(StringPiece nonce_prefix) {
|
| - return nonce_prefix.empty();
|
| -}
|
| -
|
| -bool NullDecrypter::SetPreliminaryKey(StringPiece key) {
|
| - QUIC_BUG << "Should not be called";
|
| - return false;
|
| -}
|
| -
|
| -bool NullDecrypter::SetDiversificationNonce(DiversificationNonce nonce) {
|
| - QUIC_BUG << "Should not be called";
|
| - return true;
|
| -}
|
| -
|
| -bool NullDecrypter::DecryptPacket(QuicPathId /*path_id*/,
|
| - QuicPacketNumber /*packet_number*/,
|
| - StringPiece associated_data,
|
| - StringPiece ciphertext,
|
| - char* output,
|
| - size_t* output_length,
|
| - size_t max_output_length) {
|
| - QuicDataReader reader(ciphertext.data(), ciphertext.length());
|
| - uint128 hash;
|
| -
|
| - if (!ReadHash(&reader, &hash)) {
|
| - return false;
|
| - }
|
| -
|
| - StringPiece plaintext = reader.ReadRemainingPayload();
|
| - if (plaintext.length() > max_output_length) {
|
| - QUIC_BUG << "Output buffer must be larger than the plaintext.";
|
| - return false;
|
| - }
|
| - if (hash != ComputeHash(associated_data, plaintext)) {
|
| - return false;
|
| - }
|
| - // Copy the plaintext to output.
|
| - memcpy(output, plaintext.data(), plaintext.length());
|
| - *output_length = plaintext.length();
|
| - return true;
|
| -}
|
| -
|
| -StringPiece NullDecrypter::GetKey() const {
|
| - return StringPiece();
|
| -}
|
| -
|
| -StringPiece NullDecrypter::GetNoncePrefix() const {
|
| - return StringPiece();
|
| -}
|
| -
|
| -const char* NullDecrypter::cipher_name() const {
|
| - return "NULL";
|
| -}
|
| -
|
| -uint32_t NullDecrypter::cipher_id() const {
|
| - return 0;
|
| -}
|
| -
|
| -bool NullDecrypter::ReadHash(QuicDataReader* reader, uint128* hash) {
|
| - uint64_t lo;
|
| - uint32_t hi;
|
| - if (!reader->ReadUInt64(&lo) || !reader->ReadUInt32(&hi)) {
|
| - return false;
|
| - }
|
| - *hash = hi;
|
| - *hash <<= 64;
|
| - *hash += lo;
|
| - return true;
|
| -}
|
| -
|
| -uint128 NullDecrypter::ComputeHash(const StringPiece data1,
|
| - const StringPiece data2) const {
|
| - uint128 correct_hash = QuicUtils::FNV1a_128_Hash_Two(
|
| - data1.data(), data1.length(), data2.data(), data2.length());
|
| - uint128 mask(UINT64_C(0x0), UINT64_C(0xffffffff));
|
| - mask <<= 96;
|
| - correct_hash &= ~mask;
|
| - return correct_hash;
|
| -}
|
| -
|
| -} // namespace net
|
|
|