Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
60b15e4
added generic freamework for testing filters.
jianwen612 Jun 26, 2020
a9d4a1c
added code for covering ext_authz filter
jianwen612 Jun 30, 2020
69d7434
restore the log output in ext_authz implementation.
jianwen612 Jun 30, 2020
a6c027c
fixed style problem
jianwen612 Jun 30, 2020
fea6e32
fixed style problem
jianwen612 Jun 30, 2020
c684406
added comments
jianwen612 Jul 1, 2020
3b3933c
added ststem time control for local_rate_limit
jianwen612 Jul 7, 2020
eb9fbe3
enabled three filters coverage
jianwen612 Jul 7, 2020
5cfae90
added support for ext_authz response
jianwen612 Jul 8, 2020
24a2f90
added coverage for tcp_proxy and client_ssl_auth. Increased the coverage
jianwen612 Jul 8, 2020
fbf2e68
removed test for tcp_proxy filter
jianwen612 Jul 10, 2020
03da8ab
Merge remote-tracking branch 'upstream/master' into redis_generic_fuzzer
jianwen612 Jul 10, 2020
51118cc
fix bazel style
jianwen612 Jul 10, 2020
258ffec
fixed style
jianwen612 Jul 10, 2020
6babdfc
found issues in tcp_proxy and direct_response. added test cases for the
jianwen612 Jul 13, 2020
ce88641
Merge remote-tracking branch 'upstream/master' into redis_generic_fuzzer
jianwen612 Jul 13, 2020
52d4aad
replace raw string names with names from factory
jianwen612 Jul 13, 2020
9dd4b9f
added test cases for direct response and sni_cluster
jianwen612 Jul 13, 2020
c7a93d4
cleaned the code
jianwen612 Jul 14, 2020
9c8da48
Merge remote-tracking branch 'upstream/master' into redis_generic_fuzzer
jianwen612 Jul 14, 2020
355b898
deleted some useless comments
jianwen612 Jul 14, 2020
66a63db
removed filters with known issues from the fuzzer
jianwen612 Jul 14, 2020
9657675
removed unnecessary corpus
jianwen612 Jul 14, 2020
c9d7b0f
fix the style
jianwen612 Jul 14, 2020
b6fd5d6
removed unsupported test cases
jianwen612 Jul 14, 2020
713f2df
removed unnecessary comments
jianwen612 Jul 14, 2020
ccab863
removed the empty destructor of fakeFactoryContext
jianwen612 Jul 14, 2020
95d62b8
fixed naming problems and removed the constructor of fake class
jianwen612 Jul 15, 2020
ad4fa21
fixed style problems
jianwen612 Jul 15, 2020
f1ced93
modified ON_CALL to EXPECT_CALL.WillOnce for some unique_ptr.
jianwen612 Jul 15, 2020
655b660
run fix code style
jianwen612 Jul 15, 2020
fe23bab
fixed typos and added TODOs
jianwen612 Jul 16, 2020
994c156
fixed a typo
jianwen612 Jul 16, 2020
8616371
separate the fake class definition and the per_filter processing in
jianwen612 Jul 16, 2020
abca561
added comments and assert()
jianwen612 Jul 16, 2020
5b81176
fix style
jianwen612 Jul 16, 2020
4bea026
Merge remote-tracking branch 'upstream/master' into redis_generic_fuzzer
jianwen612 Jul 20, 2020
d22a7fb
added comment on seconds_in_one_day_
jianwen612 Jul 20, 2020
79ce3e5
Merge remote-tracking branch 'upstream/master' into redis_generic_fuzzer
jianwen612 Jul 21, 2020
b39b315
added comment and log
jianwen612 Jul 21, 2020
7ac7658
refined the test cases
jianwen612 Jul 21, 2020
8a92cd0
renamed the filter fuzzer to readfilter fuzzer
jianwen612 Jul 22, 2020
44358da
fixed code style
jianwen612 Jul 22, 2020
2ffa96f
fix nits
jianwen612 Jul 23, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ message ClientSSLAuth {
// the authentication service. The filter will connect to the service every 60s to fetch the list
// of principals. The service must support the expected :ref:`REST API
// <config_network_filters_client_ssl_auth_rest_api>`.
string auth_api_cluster = 1 [(validate.rules).string = {min_bytes: 1}];
string auth_api_cluster = 1
[(validate.rules).string = {min_bytes: 1 well_known_regex: HTTP_HEADER_VALUE strict: false}];

// The prefix to use when emitting :ref:`statistics
// <config_network_filters_client_ssl_auth_stats>`.
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions source/extensions/all_extensions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,12 @@ def envoy_all_http_filters():
all_extensions = dicts.add(_required_extensions, EXTENSIONS)

return [v for k, v in all_extensions.items() if k.startswith(_http_filter_prefix)]

# All network-layer filters are extensions with names that have the following prefix.
_network_filter_prefix = "envoy.filters.network"

# Return all network-layer filter extensions to be compiled into network-layer filter generic fuzzer.
def envoy_all_network_filters():
all_extensions = dicts.add(_required_extensions, EXTENSIONS)

return [v for k, v in all_extensions.items() if k.startswith(_network_filter_prefix)]
58 changes: 58 additions & 0 deletions test/extensions/filters/network/common/fuzz/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
load(
"//bazel:envoy_build_system.bzl",
"envoy_cc_fuzz_test",
"envoy_cc_test_library",
"envoy_package",
"envoy_proto_library",
)
load(
"//source/extensions:all_extensions.bzl",
"envoy_all_network_filters",
)

licenses(["notice"]) # Apache 2

envoy_package()

envoy_proto_library(
name = "network_readfilter_fuzz_proto",
srcs = ["network_readfilter_fuzz.proto"],
deps = [
"//test/fuzz:common_proto",
"@envoy_api//envoy/config/listener/v3:pkg",
],
)

envoy_cc_test_library(
name = "uber_readfilter_lib",
srcs = [
"uber_per_readfilter.cc",
"uber_readfilter.cc",
],
hdrs = ["uber_readfilter.h"],
deps = [
":network_readfilter_fuzz_proto_cc_proto",
"//source/common/config:utility_lib",
"//source/extensions/filters/network:well_known_names",
"//source/extensions/filters/network/common:utility_lib",
"//test/extensions/filters/common/ext_authz:ext_authz_test_common",
"//test/extensions/filters/network/common/fuzz/utils:network_filter_fuzzer_fakes_lib",
"//test/fuzz:utility_lib",
"//test/mocks/network:network_mocks",
"@envoy_api//envoy/extensions/filters/network/direct_response/v3:pkg_cc_proto",
"@envoy_api//envoy/extensions/filters/network/local_ratelimit/v3:pkg_cc_proto",
],
)

envoy_cc_fuzz_test(
name = "network_readfilter_fuzz_test",
srcs = ["network_readfilter_fuzz_test.cc"],
corpus = "network_readfilter_corpus",
# All Envoy network filters must be linked to the test in order for the fuzzer to pick
# these up via the NamedNetworkFilterConfigFactory.
deps = [
":uber_readfilter_lib",
"//source/common/config:utility_lib",
"//test/config:utility_lib",
] + envoy_all_network_filters(),
)

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading