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

Unified Diff: net/spdy/fuzzing/hpack_fuzz_util.h

Issue 2832973003: Split net/spdy into core and chromium subdirectories. (Closed)
Patch Set: Fix some more build rules. Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/fuzzing/hpack_example_generator.cc ('k') | net/spdy/fuzzing/hpack_fuzz_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/fuzzing/hpack_fuzz_util.h
diff --git a/net/spdy/fuzzing/hpack_fuzz_util.h b/net/spdy/fuzzing/hpack_fuzz_util.h
deleted file mode 100644
index 163b8b9e067c7ea58b8c58f6c0b5c6d17d87a99b..0000000000000000000000000000000000000000
--- a/net/spdy/fuzzing/hpack_fuzz_util.h
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2014 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.
-
-#ifndef NET_SPDY_FUZZING_HPACK_FUZZ_UTIL_H_
-#define NET_SPDY_FUZZING_HPACK_FUZZ_UTIL_H_
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include <memory>
-#include <vector>
-
-#include "net/base/net_export.h"
-#include "net/spdy/hpack/hpack_decoder.h"
-#include "net/spdy/hpack/hpack_encoder.h"
-#include "net/spdy/platform/api/spdy_string.h"
-#include "net/spdy/platform/api/spdy_string_piece.h"
-
-namespace net {
-
-class NET_EXPORT_PRIVATE HpackFuzzUtil {
- public:
- // A GeneratorContext holds ordered header names & values which are
- // initially seeded and then expanded with dynamically generated data.
- struct NET_EXPORT_PRIVATE GeneratorContext {
- GeneratorContext();
- ~GeneratorContext();
- std::vector<SpdyString> names;
- std::vector<SpdyString> values;
- };
-
- // Initializes a GeneratorContext with a random seed and name/value fixtures.
- static void InitializeGeneratorContext(GeneratorContext* context);
-
- // Generates a header set from the generator context.
- static SpdyHeaderBlock NextGeneratedHeaderSet(GeneratorContext* context);
-
- // Samples a size from the exponential distribution with mean |mean|,
- // upper-bounded by |sanity_bound|.
- static size_t SampleExponential(size_t mean, size_t sanity_bound);
-
- // Holds an input SpdyString, and manages an offset into that SpdyString.
- struct NET_EXPORT_PRIVATE Input {
- Input(); // Initializes |offset| to zero.
- ~Input();
-
- size_t remaining() {
- return input.size() - offset;
- }
- const char* ptr() {
- return input.data() + offset;
- }
-
- SpdyString input;
- size_t offset;
- };
-
- // Returns true if the next header block was set at |out|. Returns
- // false if no input header blocks remain.
- static bool NextHeaderBlock(Input* input, SpdyStringPiece* out);
-
- // Returns the serialized header block length prefix for a block of
- // |block_size| bytes.
- static SpdyString HeaderBlockPrefix(size_t block_size);
-
- // A FuzzerContext holds fuzzer input, as well as each of the decoder and
- // encoder stages which fuzzed header blocks are processed through.
- struct NET_EXPORT_PRIVATE FuzzerContext {
- FuzzerContext();
- ~FuzzerContext();
- std::unique_ptr<HpackDecoder> first_stage;
- std::unique_ptr<HpackEncoder> second_stage;
- std::unique_ptr<HpackDecoder> third_stage;
- };
-
- static void InitializeFuzzerContext(FuzzerContext* context);
-
- // Runs |input_block| through |first_stage| and, iff that succeeds,
- // |second_stage| and |third_stage| as well. Returns whether all stages
- // processed the input without error.
- static bool RunHeaderBlockThroughFuzzerStages(FuzzerContext* context,
- SpdyStringPiece input_block);
-
- // Flips random bits within |buffer|. The total number of flips is
- // |flip_per_thousand| bits for every 1,024 bytes of |buffer_length|,
- // rounding up.
- static void FlipBits(uint8_t* buffer,
- size_t buffer_length,
- size_t flip_per_thousand);
-};
-
-} // namespace net
-
-#endif // NET_SPDY_FUZZING_HPACK_FUZZ_UTIL_H_
« no previous file with comments | « net/spdy/fuzzing/hpack_example_generator.cc ('k') | net/spdy/fuzzing/hpack_fuzz_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698