diff --git a/Makefile b/Makefile index 4bb7dc8a165..33c74ad0582 100644 --- a/Makefile +++ b/Makefile @@ -966,6 +966,7 @@ resolve_address_test: $(BINDIR)/$(CONFIG)/resolve_address_test secure_channel_create_test: $(BINDIR)/$(CONFIG)/secure_channel_create_test secure_endpoint_test: $(BINDIR)/$(CONFIG)/secure_endpoint_test server_chttp2_test: $(BINDIR)/$(CONFIG)/server_chttp2_test +server_fuzzer: $(BINDIR)/$(CONFIG)/server_fuzzer server_test: $(BINDIR)/$(CONFIG)/server_test set_initial_connect_string_test: $(BINDIR)/$(CONFIG)/set_initial_connect_string_test sockaddr_resolver_test: $(BINDIR)/$(CONFIG)/sockaddr_resolver_test @@ -1113,6 +1114,7 @@ h2_uds_nosec_test: $(BINDIR)/$(CONFIG)/h2_uds_nosec_test hpack_parser_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry http_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/http_fuzzer_test_one_entry json_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/json_fuzzer_test_one_entry +server_fuzzer_one_entry: $(BINDIR)/$(CONFIG)/server_fuzzer_one_entry uri_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry run_dep_checks: @@ -1335,6 +1337,7 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry \ $(BINDIR)/$(CONFIG)/http_fuzzer_test_one_entry \ $(BINDIR)/$(CONFIG)/json_fuzzer_test_one_entry \ + $(BINDIR)/$(CONFIG)/server_fuzzer_one_entry \ $(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry \ @@ -8819,6 +8822,38 @@ endif endif +SERVER_FUZZER_SRC = \ + test/core/end2end/fuzzers/server_fuzzer.c \ + +SERVER_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_FUZZER_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/server_fuzzer: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/server_fuzzer: $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/server_fuzzer + +endif + +$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/server_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_server_fuzzer: $(SERVER_FUZZER_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(SERVER_FUZZER_OBJS:.o=.dep) +endif +endif + + SERVER_TEST_SRC = \ test/core/surface/server_test.c \ @@ -13668,6 +13703,38 @@ endif endif +SERVER_FUZZER_ONE_ENTRY_SRC = \ + test/core/end2end/fuzzers/server_fuzzer.c \ + +SERVER_FUZZER_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_FUZZER_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/server_fuzzer_one_entry: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/server_fuzzer_one_entry: $(SERVER_FUZZER_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(SERVER_FUZZER_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/server_fuzzer_one_entry + +endif + +$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/server_fuzzer.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_server_fuzzer_one_entry: $(SERVER_FUZZER_ONE_ENTRY_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(SERVER_FUZZER_ONE_ENTRY_OBJS:.o=.dep) +endif +endif + + URI_FUZZER_TEST_ONE_ENTRY_SRC = \ test/core/client_config/uri_fuzzer_test.c \ diff --git a/build.yaml b/build.yaml index 0a71cf715d6..5a1c49df123 100644 --- a/build.yaml +++ b/build.yaml @@ -1946,6 +1946,18 @@ targets: - grpc - gpr_test_util - gpr +- name: server_fuzzer + build: fuzzer + language: c + src: + - test/core/end2end/fuzzers/server_fuzzer.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr + corpus_dirs: + - test/core/end2end/fuzzers/server_fuzzer_corpus - name: server_test build: test language: c diff --git a/test/core/bad_client/bad_client.c b/test/core/bad_client/bad_client.c index 433ecf69dfe..95b079768cd 100644 --- a/test/core/bad_client/bad_client.c +++ b/test/core/bad_client/bad_client.c @@ -34,12 +34,15 @@ #include "test/core/bad_client/bad_client.h" #include +#include #include #include +#include #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/iomgr/endpoint_pair.h" +#include "src/core/lib/support/murmur_hash.h" #include "src/core/lib/support/string.h" #include "src/core/lib/surface/completion_queue.h" #include "src/core/lib/surface/server.h" @@ -86,6 +89,15 @@ void grpc_run_bad_client_test(grpc_bad_client_server_side_validator validator, grpc_closure done_write_closure; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + uint32_t hash = gpr_murmur_hash3(client_payload, client_payload_length, 0); + char *fn; + gpr_asprintf(&fn, "test/core/end2end/fuzzers/server_fuzzer_corpus/%08x.bin", + hash); + FILE *f = fopen(fn, "w"); + fwrite(client_payload, 1, client_payload_length, f); + fclose(f); + gpr_free(fn); + hex = gpr_dump(client_payload, client_payload_length, GPR_DUMP_HEX | GPR_DUMP_ASCII); diff --git a/test/core/end2end/fuzzers/server_fuzzer.c b/test/core/end2end/fuzzers/server_fuzzer.c new file mode 100644 index 00000000000..5b0dea980eb --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer.c @@ -0,0 +1,89 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include + +#if 0 +static void discard_write(gpr_slice slice) { gpr_slice_unref(slice); } + +static void *tag(int n) { return (void *)(uintptr_t)n; } +#endif + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { +#if 0 + grpc_init(); + + grpc_endpoint *mock_endpoint = grpc_mock_endpoint_create(discard_write); + grpc_mock_endpoint_put_read(mock_endpoint, + gpr_slice_from_copied_buffer(data, size)); + + grpc_server *server = grpc_server_create(NULL, NULL); + grpc_completion_queue *cq = grpc_completion_queue_create(); + grpc_server_register_completion_queue(server, cq); + // TODO(ctiller): add registered methods (one for POST, one for PUT) + // void *registered_method = + // grpc_server_register_method(server, "/reg", NULL, 0); + grpc_server_start(server, NULL); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_transport *transport = + grpc_create_chttp2_transport(&exec_ctx, NULL, mock_endpoint, 0); + grpc_server_setup_transport(&exec_ctx, server, transport, NULL); + grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0); + grpc_exec_ctx_flush(&exec_ctx); + + grpc_call *call1; + grpc_call_details call_details1; + grpc_metadata_array request_metadata1; + grpc_server_request_call(server, &call1, &call_details1, &request_metadata1, + cq, cq, tag(1)); + + while (1) { + grpc_event ev = + grpc_completion_queue_next(cq, gpr_inf_past(GPR_CLOCK_REALTIME)); + switch (ev.type) { + case GRPC_QUEUE_TIMEOUT: + goto done; + case GRPC_QUEUE_SHUTDOWN: + break; + case GRPC_OP_COMPLETE: + switch (detag(ev.tag)) { + case 1: + abort(); + } + } + } +done: + grpc_shutdown(); +#endif + return 0; +} diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/01c008fa.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/01c008fa.bin new file mode 100644 index 00000000000..2f670cf2db6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/01c008fa.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/021ec59f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/021ec59f.bin new file mode 100644 index 00000000000..b4896fd928b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/021ec59f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/033dd2f6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/033dd2f6.bin new file mode 100644 index 00000000000..732d84630a0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/033dd2f6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0384345c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0384345c.bin new file mode 100644 index 00000000000..00c4956d38c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0384345c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa7b949.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa7b949.bin new file mode 100644 index 00000000000..0e22a4504db --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa7b949.bin @@ -0,0 +1 @@ +PRI * HTTP/2X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0abd533e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0abd533e.bin new file mode 100644 index 00000000000..112188c052f --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/0abd533e.bin @@ -0,0 +1,2 @@ +PRI * HTTP/2.0 + X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0b275a7f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0b275a7f.bin new file mode 100644 index 00000000000..853ca7c4f03 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0b275a7f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0d10bb63.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0d10bb63.bin new file mode 100644 index 00000000000..50bb312addc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0d10bb63.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0f700e05.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0f700e05.bin new file mode 100644 index 00000000000..f861853d887 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0f700e05.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0ff4d220.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0ff4d220.bin new file mode 100644 index 00000000000..fc794116623 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0ff4d220.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/10724098.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/10724098.bin new file mode 100644 index 00000000000..9d1a39d6063 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/10724098.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/11516d58.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/11516d58.bin new file mode 100644 index 00000000000..7edd81d660e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/11516d58.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/18f00b5f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/18f00b5f.bin new file mode 100644 index 00000000000..a41cbd4b019 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/18f00b5f.bin @@ -0,0 +1 @@ +PRI * HTTX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1a69d5fc.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1a69d5fc.bin new file mode 100644 index 00000000000..db1c0d6d72b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1a69d5fc.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1cfdde7a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1cfdde7a.bin new file mode 100644 index 00000000000..61a954d0ac9 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1cfdde7a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1e92aaa5.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1e92aaa5.bin new file mode 100644 index 00000000000..02796cb2655 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1e92aaa5.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1ea5651f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1ea5651f.bin new file mode 100644 index 00000000000..782f21d69be --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/1ea5651f.bin @@ -0,0 +1 @@ +PRI * X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1f992057.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1f992057.bin new file mode 100644 index 00000000000..c60d1eb4e5f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1f992057.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/21475569.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/21475569.bin new file mode 100644 index 00000000000..06aecff914e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/21475569.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/21a2dcda.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/21a2dcda.bin new file mode 100644 index 00000000000..92b918f362d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/21a2dcda.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/22ad891a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/22ad891a.bin new file mode 100644 index 00000000000..edd095a03e5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/22ad891a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/25ab638f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/25ab638f.bin new file mode 100644 index 00000000000..af5a22a48d6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/25ab638f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/27ac2ae2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/27ac2ae2.bin new file mode 100644 index 00000000000..0daef3f1dad Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/27ac2ae2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2814d70c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/2814d70c.bin new file mode 100644 index 00000000000..500c0709ca2 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/2814d70c.bin @@ -0,0 +1 @@ +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/282b6585.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/282b6585.bin new file mode 100644 index 00000000000..a2cabf6afdb Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/282b6585.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2c6660ba.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/2c6660ba.bin new file mode 100644 index 00000000000..5f96b344ae6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2c6660ba.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2e4805c3.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/2e4805c3.bin new file mode 100644 index 00000000000..20410999b58 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/2e4805c3.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +SX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3224e6cd.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3224e6cd.bin new file mode 100644 index 00000000000..b1bfc23f45a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3224e6cd.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/326ec4d5.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/326ec4d5.bin new file mode 100644 index 00000000000..98c7665694b --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/326ec4d5.bin @@ -0,0 +1 @@ +PRIX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/32b11997.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/32b11997.bin new file mode 100644 index 00000000000..f19bc295795 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/32b11997.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/330ad4b6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/330ad4b6.bin new file mode 100644 index 00000000000..d4b63bae608 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/330ad4b6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/34bba9e4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/34bba9e4.bin new file mode 100644 index 00000000000..1c77a386582 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/34bba9e4.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/37ec9df8.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/37ec9df8.bin new file mode 100644 index 00000000000..5400eb50823 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/37ec9df8.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/39ea47bb.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/39ea47bb.bin new file mode 100644 index 00000000000..13997e01f4f --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/39ea47bb.bin @@ -0,0 +1 @@ +PRI * HTTP/2.X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin new file mode 100644 index 00000000000..5b46240494a --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +SMX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3de41f3f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3de41f3f.bin new file mode 100644 index 00000000000..262ed24e5be Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3de41f3f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3e3ae35a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e3ae35a.bin new file mode 100644 index 00000000000..49c7897b718 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e3ae35a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3e787760.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e787760.bin new file mode 100644 index 00000000000..3b8a1ed6b81 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e787760.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/407607d2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/407607d2.bin new file mode 100644 index 00000000000..8e489392173 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/407607d2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/41b31ef0.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/41b31ef0.bin new file mode 100644 index 00000000000..74694341550 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/41b31ef0.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/422708b4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/422708b4.bin new file mode 100644 index 00000000000..111a2b4505c --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/422708b4.bin @@ -0,0 +1 @@ +PRI * HTTP/X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/422fa704.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/422fa704.bin new file mode 100644 index 00000000000..bfdd4605216 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/422fa704.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/42b0afca.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/42b0afca.bin new file mode 100644 index 00000000000..e01fec22768 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/42b0afca.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/44f342a6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/44f342a6.bin new file mode 100644 index 00000000000..1e7e47bf209 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/44f342a6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4558ddeb.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4558ddeb.bin new file mode 100644 index 00000000000..7b9f09f8157 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4558ddeb.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/459c0bf6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/459c0bf6.bin new file mode 100644 index 00000000000..fcb842e5029 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/459c0bf6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin new file mode 100644 index 00000000000..2657149b0d0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4d55d5ae.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4d55d5ae.bin new file mode 100644 index 00000000000..7e5544c7454 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/4d55d5ae.bin @@ -0,0 +1 @@ +PRI *X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4eb269c3.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4eb269c3.bin new file mode 100644 index 00000000000..cf6e9d434f4 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4eb269c3.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/51a1abd1.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/51a1abd1.bin new file mode 100644 index 00000000000..dbf6a085aac Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/51a1abd1.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/53de507f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/53de507f.bin new file mode 100644 index 00000000000..a6595251d9d --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/53de507f.bin @@ -0,0 +1,5 @@ +PRI * HTTP/2.0 + +SM + + \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/540ada69.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/540ada69.bin new file mode 100644 index 00000000000..18f0a366f69 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/540ada69.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5429f0da.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5429f0da.bin new file mode 100644 index 00000000000..001c62c9a28 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5429f0da.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5435005f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5435005f.bin new file mode 100644 index 00000000000..999a65688cc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5435005f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/54d0fc6c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/54d0fc6c.bin new file mode 100644 index 00000000000..24b882d5219 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/54d0fc6c.bin @@ -0,0 +1,4 @@ +PRI * HTTP/2.0 + +SM +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/55f6fb1a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/55f6fb1a.bin new file mode 100644 index 00000000000..0963601d510 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/55f6fb1a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5780565e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5780565e.bin new file mode 100644 index 00000000000..53057ae34e7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5780565e.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/57918260.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/57918260.bin new file mode 100644 index 00000000000..2f68d68af9e --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/57918260.bin @@ -0,0 +1 @@ +PRI * HTTPX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/58b88a24.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/58b88a24.bin new file mode 100644 index 00000000000..696be2b5f32 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/58b88a24.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin new file mode 100644 index 00000000000..465b56942b0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/59dcfde4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/59dcfde4.bin new file mode 100644 index 00000000000..e90e9a66e1a --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/59dcfde4.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +SM X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5d817877.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5d817877.bin new file mode 100644 index 00000000000..8c2ec2aa437 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5d817877.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5f758756.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5f758756.bin new file mode 100644 index 00000000000..47f2d2b559c --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/5f758756.bin @@ -0,0 +1,2 @@ +PRI * HTTP/2.0 +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6499e2db.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/6499e2db.bin new file mode 100644 index 00000000000..9187c9447e5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6499e2db.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/65099066.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/65099066.bin new file mode 100644 index 00000000000..bf5806d1b9c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/65099066.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/652bfdce.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/652bfdce.bin new file mode 100644 index 00000000000..49d0f7f5d50 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/652bfdce.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/67b04816.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/67b04816.bin new file mode 100644 index 00000000000..5387e6ed68e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/67b04816.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/69891e9f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/69891e9f.bin new file mode 100644 index 00000000000..0ba2abc5510 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/69891e9f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6dc4455c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/6dc4455c.bin new file mode 100644 index 00000000000..7ce8938268f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6dc4455c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6e050e98.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/6e050e98.bin new file mode 100644 index 00000000000..0fbf1caacc9 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6e050e98.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/746715fe.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/746715fe.bin new file mode 100644 index 00000000000..8ede09c6df2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/746715fe.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/7f15bbce.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/7f15bbce.bin new file mode 100644 index 00000000000..eb23e5a4478 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/7f15bbce.bin @@ -0,0 +1 @@ +PRI * HX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/7ffd05db.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/7ffd05db.bin new file mode 100644 index 00000000000..ed01ab25f4a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/7ffd05db.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8338ebee.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8338ebee.bin new file mode 100644 index 00000000000..7e6c62ce4d3 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8338ebee.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/86e6dbf2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/86e6dbf2.bin new file mode 100644 index 00000000000..b77356714a7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/86e6dbf2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/88e1329b.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/88e1329b.bin new file mode 100644 index 00000000000..7464d0e4f6e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/88e1329b.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8b186384.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8b186384.bin new file mode 100644 index 00000000000..cb04b30c8e8 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8b186384.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8da521d9.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8da521d9.bin new file mode 100644 index 00000000000..122486a89da Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8da521d9.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8de81717.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8de81717.bin new file mode 100644 index 00000000000..b16f546df12 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8de81717.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/90224b8e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/90224b8e.bin new file mode 100644 index 00000000000..f6606019d2b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/90224b8e.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/90240c7c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/90240c7c.bin new file mode 100644 index 00000000000..365bf2deb55 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/90240c7c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/93beeba2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/93beeba2.bin new file mode 100644 index 00000000000..dc2c3a06674 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/93beeba2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/954337ef.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/954337ef.bin new file mode 100644 index 00000000000..782e59db70f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/954337ef.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/97aed4bd.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/97aed4bd.bin new file mode 100644 index 00000000000..dbe25070241 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/97aed4bd.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9bf7553a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/9bf7553a.bin new file mode 100644 index 00000000000..e612aec9401 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/9bf7553a.bin @@ -0,0 +1 @@ +PRX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a24bf2dc.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a24bf2dc.bin new file mode 100644 index 00000000000..1e5b421dd45 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a24bf2dc.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a357658d.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a357658d.bin new file mode 100644 index 00000000000..255103fca90 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/a357658d.bin @@ -0,0 +1 @@ +PX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a3a2b1af.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a3a2b1af.bin new file mode 100644 index 00000000000..23086f5f7de Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a3a2b1af.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a5348197.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a5348197.bin new file mode 100644 index 00000000000..d8a73f33eaa Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a5348197.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin new file mode 100644 index 00000000000..e40616623f2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a9e22d93.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9e22d93.bin new file mode 100644 index 00000000000..f3ef55b14c0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9e22d93.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aa3c8974.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa3c8974.bin new file mode 100644 index 00000000000..9998126fce1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa3c8974.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aa825693.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa825693.bin new file mode 100644 index 00000000000..4a68f21d18d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa825693.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aa8729d7.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa8729d7.bin new file mode 100644 index 00000000000..2f4e4782d8b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa8729d7.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin new file mode 100644 index 00000000000..7761e5216ee Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b06ce623.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b06ce623.bin new file mode 100644 index 00000000000..63a9a8c714a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b06ce623.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b1128694.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b1128694.bin new file mode 100644 index 00000000000..82aa699e0d1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b1128694.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b28959dd.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b28959dd.bin new file mode 100644 index 00000000000..42522780a1d --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/b28959dd.bin @@ -0,0 +1 @@ +PRI * HTTP/2.0X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b431df13.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b431df13.bin new file mode 100644 index 00000000000..a1a1842af92 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b431df13.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b5acaa52.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b5acaa52.bin new file mode 100644 index 00000000000..ea99ae78be4 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b5acaa52.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b829143b.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b829143b.bin new file mode 100644 index 00000000000..b3e88f07d94 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b829143b.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b924c842.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b924c842.bin new file mode 100644 index 00000000000..05f8de10442 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b924c842.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/bad4f467.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/bad4f467.bin new file mode 100644 index 00000000000..068e1ce1822 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/bad4f467.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/be9b6e78.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/be9b6e78.bin new file mode 100644 index 00000000000..27e9ebc7dc7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/be9b6e78.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/bfcbffa9.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/bfcbffa9.bin new file mode 100644 index 00000000000..a571ff3c2fb Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/bfcbffa9.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c1188b44.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c1188b44.bin new file mode 100644 index 00000000000..bbc80e99979 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c1188b44.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c35968bf.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c35968bf.bin new file mode 100644 index 00000000000..1d4b51662e6 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/c35968bf.bin @@ -0,0 +1 @@ +PRI X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c43d97f2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c43d97f2.bin new file mode 100644 index 00000000000..62959580a80 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c43d97f2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c4534867.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c4534867.bin new file mode 100644 index 00000000000..40fb374d692 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c4534867.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin new file mode 100644 index 00000000000..28429cf067e --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c66e84d1.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c66e84d1.bin new file mode 100644 index 00000000000..1cc73ce7919 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c66e84d1.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c81dec02.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c81dec02.bin new file mode 100644 index 00000000000..746cd72ba6a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c81dec02.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/cca29902.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/cca29902.bin new file mode 100644 index 00000000000..60f208f595b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/cca29902.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/cdba6c45.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/cdba6c45.bin new file mode 100644 index 00000000000..e2e324cd85a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/cdba6c45.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d0f7eebc.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/d0f7eebc.bin new file mode 100644 index 00000000000..0edc3bb1fd3 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/d0f7eebc.bin @@ -0,0 +1 @@ +PRI * HTX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d6979f0f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/d6979f0f.bin new file mode 100644 index 00000000000..8ed84f9303e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/d6979f0f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d9074e68.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/d9074e68.bin new file mode 100644 index 00000000000..b7cd2f7a626 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/d9074e68.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/da7e44a9.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/da7e44a9.bin new file mode 100644 index 00000000000..cc57d195cec --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/da7e44a9.bin @@ -0,0 +1,4 @@ +PRI * HTTP/2.0 + +SM + X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/dab172ff.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/dab172ff.bin new file mode 100644 index 00000000000..c1fec49b477 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/dab172ff.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e0d9a9a7.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e0d9a9a7.bin new file mode 100644 index 00000000000..3d32ffc3958 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e0d9a9a7.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e2652fbb.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2652fbb.bin new file mode 100644 index 00000000000..946cfe22b3f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2652fbb.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e2c954e1.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2c954e1.bin new file mode 100644 index 00000000000..759683f469b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2c954e1.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e3bab014.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e3bab014.bin new file mode 100644 index 00000000000..d9ae95a0154 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e3bab014.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e9d96662.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e9d96662.bin new file mode 100644 index 00000000000..672f0799e76 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e9d96662.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/eb66106b.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/eb66106b.bin new file mode 100644 index 00000000000..32c355bc753 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/eb66106b.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/eba8472a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/eba8472a.bin new file mode 100644 index 00000000000..24d97fe3921 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/eba8472a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ed8da77f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ed8da77f.bin new file mode 100644 index 00000000000..a78a2ae6209 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/ed8da77f.bin @@ -0,0 +1 @@ +PRI * HTTP/2.0 X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f3220426.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f3220426.bin new file mode 100644 index 00000000000..eac62a7e2ce Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f3220426.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f4024b01.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f4024b01.bin new file mode 100644 index 00000000000..7097b7eb268 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f4024b01.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f541d27e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f541d27e.bin new file mode 100644 index 00000000000..50be7f342ec Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f541d27e.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f5c877c4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f5c877c4.bin new file mode 100644 index 00000000000..35cf8229fda Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f5c877c4.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f74b9428.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f74b9428.bin new file mode 100644 index 00000000000..fd41223579c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f74b9428.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f826100f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f826100f.bin new file mode 100644 index 00000000000..a072e28d21a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f826100f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fb3b0d80.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/fb3b0d80.bin new file mode 100644 index 00000000000..b403188f430 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fb3b0d80.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fd26e0a6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd26e0a6.bin new file mode 100644 index 00000000000..999ed6bf0c6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd26e0a6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fe66893c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe66893c.bin new file mode 100644 index 00000000000..3a954cb30a3 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe66893c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ff227015.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff227015.bin new file mode 100644 index 00000000000..c9d6bf07663 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff227015.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ff898c08.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff898c08.bin new file mode 100644 index 00000000000..ff0f9096424 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff898c08.bin differ diff --git a/test/core/util/mock_endpoint.c b/test/core/util/mock_endpoint.c new file mode 100644 index 00000000000..e69de29bb2d diff --git a/test/core/util/mock_endpoint.h b/test/core/util/mock_endpoint.h new file mode 100644 index 00000000000..5140eab60a4 --- /dev/null +++ b/test/core/util/mock_endpoint.h @@ -0,0 +1,42 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef MOCK_ENDPOINT_H +#define MOCK_ENDPOINT_H + +grpc_endpoint *grpc_mock_endpoint_create(); +void grpc_mock_endpoint_put_read(grpc_endpoint *mock_endpoint, gpr_slice slice); +void grpc_mock_endpoint_on_write(grpc_endpoint *mock_endpoint, + void (*cb)(gpr_slice slice)); + +#endif diff --git a/tools/fuzzer/runners/server_fuzzer.sh b/tools/fuzzer/runners/server_fuzzer.sh new file mode 100644 index 00000000000..a388cf5610a --- /dev/null +++ b/tools/fuzzer/runners/server_fuzzer.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +flags="-max_total_time=3600 -jobs=3 -workers=3" +if [ "$config" == "asan-trace-cmp" ] +then + flags="-use_traces=1 $flags" +fi + +bins/$config/server_fuzzer $flags fuzzer_output test/core/end2end/fuzzers/server_fuzzer_corpus diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index bc1e34b744c..81425312bd3 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -1374,6 +1374,22 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "server_fuzzer", + "src": [ + "test/core/end2end/fuzzers/server_fuzzer.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -3787,6 +3803,23 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util", + "one_input_fuzzer" + ], + "headers": [], + "language": "c", + "name": "server_fuzzer_one_entry", + "src": [ + "test/core/end2end/fuzzers/server_fuzzer.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr",