
This CL was done with the following: git grep -l absl::string_view | xargs sed -i -e 's/absl::string_view/std::string_view/' Then I fixed couple of includes and ran git cl format. Note that although many of these absl::string_views existed to talk to QUICHE, which still prefers the Abseil spelling, in Chromium we make the two types the same, so we can freely migrate ahead of QUICHE here. (In the interest of not doing a whole lot of manual work, I've not reevaluated IWYU by hand on these files. If the file previously included a header for absl::string_view, it now includes the header for std::string_view. If it previously relied on QUICHE to do it, it continues to rely on QUICHE for it. We really need IWYU tooling...) Bug: 691162 Change-Id: Id8519b3c48c4c2f2e7dbcd03d64c9c629842337b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4902195 Reviewed-by: Adam Rice <ricea@chromium.org> Auto-Submit: David Benjamin <davidben@chromium.org> Commit-Queue: David Benjamin <davidben@chromium.org> Cr-Commit-Position: refs/heads/main@{#1204042}
61 lines
2.2 KiB
C++
61 lines
2.2 KiB
C++
// Copyright 2017 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef NET_QUIC_MOCK_DECRYPTER_H_
|
|
#define NET_QUIC_MOCK_DECRYPTER_H_
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
|
|
#include "base/compiler_specific.h"
|
|
#include "net/base/net_export.h"
|
|
#include "net/third_party/quiche/src/quiche/quic/core/crypto/quic_decrypter.h"
|
|
#include "net/third_party/quiche/src/quiche/quic/core/quic_types.h"
|
|
|
|
namespace net {
|
|
|
|
// A MockDecrypter is a QuicDecrypter that strips the last 12 bytes of
|
|
// ciphertext (which should be zeroes, but are ignored), and returns the
|
|
// remaining ciphertext untouched and ignores the associated data. This is used
|
|
// to allow fuzzing to mutate plaintext packets.
|
|
class MockDecrypter : public quic::QuicDecrypter {
|
|
public:
|
|
explicit MockDecrypter(quic::Perspective perspective);
|
|
|
|
MockDecrypter(const MockDecrypter&) = delete;
|
|
MockDecrypter& operator=(const MockDecrypter&) = delete;
|
|
|
|
~MockDecrypter() override = default;
|
|
|
|
// QuicCrypter implementation
|
|
bool SetKey(std::string_view key) override;
|
|
bool SetNoncePrefix(std::string_view nonce_prefix) override;
|
|
bool SetIV(std::string_view iv) override;
|
|
bool SetHeaderProtectionKey(std::string_view key) override;
|
|
size_t GetKeySize() const override;
|
|
size_t GetIVSize() const override;
|
|
size_t GetNoncePrefixSize() const override;
|
|
|
|
// QuicDecrypter implementation
|
|
bool SetPreliminaryKey(std::string_view key) override;
|
|
bool SetDiversificationNonce(
|
|
const quic::DiversificationNonce& nonce) override;
|
|
bool DecryptPacket(uint64_t packet_number,
|
|
std::string_view associated_data,
|
|
std::string_view ciphertext,
|
|
char* output,
|
|
size_t* output_length,
|
|
size_t max_output_length) override;
|
|
std::string GenerateHeaderProtectionMask(
|
|
quic::QuicDataReader* sample_reader) override;
|
|
uint32_t cipher_id() const override;
|
|
quic::QuicPacketCount GetIntegrityLimit() const override;
|
|
std::string_view GetKey() const override;
|
|
std::string_view GetNoncePrefix() const override;
|
|
};
|
|
|
|
} // namespace net
|
|
|
|
#endif // NET_QUIC_MOCK_DECRYPTER_H_
|