Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
7dd9689
Update for oss-fuzz Issue 22106
twghu May 10, 2021
9375301
docs: record distroless images (#16359)
daixiang0 May 10, 2021
950dc9e
Update for oss-fuzz Issue 30088
twghu May 10, 2021
049bdb3
grid: Rename alternate_protocols_cache.{h,cc} to alternate_protocols_…
RyanTheOptimist May 11, 2021
5afbb4d
docs: Simplify api build (/cont) (#16417)
phlax May 11, 2021
3f3e684
Update for oss-fuzz Issue 30088, calculation of initial byte count
twghu May 11, 2021
5333b92
Implement handling of escaped slash characters in URL path
yanavlasov Apr 19, 2021
06c8d41
docs: follow up to #15926 (#16421)
alyssawilk May 12, 2021
c24cea7
dependabot: Updates (#16379)
phlax May 12, 2021
b57f187
Document that python3-pip is a build dependency. (#16409)
jpeach May 12, 2021
955f15d
bazel: unify msys (#16394)
daixiang0 May 12, 2021
db06665
docs: Update sphinx (#16413)
phlax May 12, 2021
38cec23
docs: Use repo role for repo links (#16455)
phlax May 12, 2021
55a23b2
bugfix: test fails to build on MacOS due to unused parameters (#16454)
goaway May 12, 2021
aaebda2
matching: disable hcm integration by default (#16387)
May 12, 2021
f97112c
bazel: add --config=docker-asan and --config=remote-tsan. (#16451)
PiotrSikora May 12, 2021
ce071f6
Update rules_apple (#16404)
vladmos May 12, 2021
c784d89
server: avoid flushing while a flush is in progress (#16370)
May 12, 2021
e7ddd61
docs: Fix bootstrap docs version link (#16457)
phlax May 12, 2021
bacffe4
remove trace drivers' dependency on HttpTracerImpl (#16244)
wbpcode May 12, 2021
80e1ca8
aws_request_signing_filter hash payload by default (#15846)
jstewmon May 12, 2021
3f57381
wasm: fix V8 build with --config={docker,remote}-msan. (#16452)
PiotrSikora May 12, 2021
0d3bf7f
test: Removing orphan type_util_test file (#16464)
adisuissa May 12, 2021
ff62ef1
dependabot: Updates (#16459)
phlax May 13, 2021
2443032
Revert "dependabot: Updates (#16459)" (#16483)
phlax May 13, 2021
874fb03
transport_sockets: removed well_known_names.h file (#16164)
daixiang0 May 14, 2021
8c59b6a
Workaround for CI gcc build error with long argument list (#16484)
yanavlasov May 14, 2021
55cfadd
dependabot: Updates (#16485)
phlax May 14, 2021
1f4ca4c
oauth: fix sds update (#16253)
Inode1 May 14, 2021
ae780e2
test: deflake upstream starttls integration test (#16436)
cpakulski May 14, 2021
6be425f
deps: update protobuf to 3.16.0 (#16390)
benjaminp May 16, 2021
beac1ec
HCM: add support for IP detection extensions (#14855)
May 16, 2021
41c1da4
docs: comment config extension (#16406)
daixiang0 May 17, 2021
43e9711
add defensive coding against None (for missing buildifier) in pre-com…
May 17, 2021
ea456cc
docs: update rotation to include watching envoy-ci (#16463)
alyssawilk May 17, 2021
50024c1
docs: Fix subtitle format (#16521)
luckyxiaoqiang May 17, 2021
c5833f2
redis cluster: fix ClusterSlot operator == (#16116)
gaoliangdut May 17, 2021
4d2e018
http: cleaning up obsolete grpc args (#16525)
alyssawilk May 17, 2021
69effc2
Fix bug in flaky test script (#16434)
May 17, 2021
1921053
dependabot: Updates (#16499)
phlax May 18, 2021
ea32578
tcp: switching to the new pool (#16465)
alyssawilk May 18, 2021
736375a
test: clean up upstream protocols (#16467)
alyssawilk May 18, 2021
5ad73cf
disable giant request/response tests under TSAN (#16533)
danzh2010 May 18, 2021
178c088
Allow http route and cluster metadata to contain typed metadata in An…
yanjunxiang-google May 18, 2021
964de6c
grid: Plumb the AlternateProtocolCache down to the grid from the Upst…
RyanTheOptimist May 18, 2021
1c7e3bf
fix mac build (#16514)
ramaraochavali May 18, 2021
196f849
Crash support: Restore crash context on filter's posted callback (#16…
KBaichoo May 18, 2021
3602cf3
coverage: bumping numbers (#16522)
alyssawilk May 18, 2021
80b5699
http: more tests for local reply and reset (#16526)
alyssawilk May 18, 2021
ea4cadc
xds: enable the `is_optional` field for HttpFilter (#16119)
soulxu May 18, 2021
84138f7
quiche: disable giant request/response test cases from quic_http_inte…
danzh2010 May 19, 2021
cc24391
docs: fix format issue (#16555)
daixiang0 May 19, 2021
8baff9a
quic: adjusting coverage (#16570)
alyssawilk May 19, 2021
92416be
http: remove HeaderUtility::addHeaders (duplicate). (#16509)
PiotrSikora May 19, 2021
5f3fbf6
examples: unify apt and cleanup unused installation (#16519)
daixiang0 May 19, 2021
67bfb7c
quic: use sds for upstream http/3 (#16462)
alyssawilk May 19, 2021
bf3e6a2
safe_memcpy_test: Explicit type for arguments of the vector construct…
rialg May 19, 2021
94d1137
quic: reduce socket option header exposure (#16541)
jpeach May 19, 2021
c468e57
http3: cleaning up TODO (#16547)
alyssawilk May 20, 2021
fe58023
PULL_REQUEST_TEMPLATE.md: hide example (#16538)
daixiang0 May 20, 2021
d304a2f
Fixing GRPC initial metadata validation (#16414)
omriz May 20, 2021
c307494
ext_proc: Support CONTINUE_AND_REPLACE from header callbacks (#16437)
gbrail May 20, 2021
17aa841
docker: Use entrypoint for distroless image (#16383)
phlax May 20, 2021
75aecf2
quic: improve coverage (#16569)
alyssawilk May 20, 2021
5218436
Added default connect_timeout in cluster config (#16453)
May 20, 2021
2b9fb47
test: fix merge brekage (#16597)
alyssawilk May 20, 2021
2174fd0
add a helper class for runtime-derived uint32 (#16398)
WeavingGao May 20, 2021
aee42fd
event: Remove obsolete runtime guard for 'envoy.reloadable_features.a…
antoniovicente May 20, 2021
c63cbab
Update ConfigDump documentation. (#16491)
paul-r-gall May 20, 2021
02f3162
bazel: add a few flags to --config=clang-msan. (#16603)
PiotrSikora May 20, 2021
25574b4
ci: exclude Google Test macros from clang-tidy (#16557)
jpeach May 21, 2021
5c28e95
Skip metadata processing after sending local reply (#16154)
GinYM May 21, 2021
b603923
docs: mark matching API and related features as alpha (#16210)
May 21, 2021
d520883
dependabot: Updates (#16566)
phlax May 21, 2021
807ff70
Update for oss-fuzz Issue 22106
twghu May 10, 2021
240e999
Update for oss-fuzz Issue 30088
twghu May 10, 2021
e0c65db
Update for oss-fuzz Issue 30088, calculation of initial byte count
twghu May 11, 2021
0748634
Merge branch 'issue-4709' of github.com:twghu/envoy into issue-4709
twghu May 21, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,12 @@ build:clang-msan --config=sanitizer
build:clang-msan --define ENVOY_CONFIG_MSAN=1
build:clang-msan --copt -fsanitize=memory
build:clang-msan --linkopt -fsanitize=memory
build:clang-msan --linkopt -fuse-ld=lld
build:clang-msan --copt -fsanitize-memory-track-origins=2
build:clang-msan --test_env=MSAN_SYMBOLIZER_PATH
# MSAN needs -O1 to get reasonable performance.
build:clang-msan --copt -O1
build:clang-msan --copt -fno-optimize-sibling-calls

# Clang with libc++
build:libc++ --config=clang
Expand Down Expand Up @@ -237,6 +240,10 @@ build:remote-msan --config=remote
build:remote-msan --config=rbe-toolchain-clang-libc++
build:remote-msan --config=rbe-toolchain-msan

build:remote-tsan --config=remote
build:remote-tsan --config=rbe-toolchain-clang-libc++
build:remote-tsan --config=rbe-toolchain-tsan

build:remote-msvc-cl --config=remote-windows
build:remote-msvc-cl --config=msvc-cl
build:remote-msvc-cl --config=rbe-toolchain-msvc-cl
Expand Down Expand Up @@ -265,6 +272,10 @@ build:docker-clang-libc++ --config=rbe-toolchain-clang-libc++
build:docker-gcc --config=docker-sandbox
build:docker-gcc --config=rbe-toolchain-gcc

build:docker-asan --config=docker-sandbox
build:docker-asan --config=rbe-toolchain-clang-libc++
build:docker-asan --config=rbe-toolchain-asan

build:docker-msan --config=docker-sandbox
build:docker-msan --config=rbe-toolchain-clang-libc++
build:docker-msan --config=rbe-toolchain-msan
Expand Down
4 changes: 4 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ CheckOptions:
- key: readability-identifier-naming.EnumConstantCase
value: 'CamelCase'

# Ignore GoogleTest function macros.
- key: readability-identifier-naming.FunctionIgnoredRegexp
value: '(TEST|TEST_F|TEST_P|INSTANTIATE_TEST_SUITE_P|MOCK_METHOD|TYPED_TEST)'

- key: readability-identifier-naming.ParameterCase
value: 'lower_case'

Expand Down
3 changes: 3 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -183,3 +183,6 @@ extensions/filters/http/oauth2 @rgs1 @derekargueta @snowp
/*/extensions/filters/common/ext_authz @esmet @gsagula @dio
/*/extensions/filters/http/ext_authz @esmet @gsagula @dio
/*/extensions/filters/network/ext_authz @esmet @gsagula @dio
# Original IP detection
/*/extensions/http/original_ip_detection/custom_header @rgs1 @alyssawilk @antoniovicente
/*/extensions/http/original_ip_detection/xff @rgs1 @alyssawilk @antoniovicente
4 changes: 2 additions & 2 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
* Triage GitHub issues and perform pull request reviews for other maintainers and the community.
The areas of specialization listed in [OWNERS.md](OWNERS.md) can be used to help with routing
an issue/question to the right person.
* Triage build issues - file issues for known flaky builds or bugs, and either fix or find someone
to fix any main build breakages.
* Triage build and CI issues. Monitor #envoy-ci and #test-flaky and file issues for failing builds,
flaky tests or new bugs, and either fix or find someone to fix any main build breakages.
* During GitHub issue triage, apply all applicable [labels](https://github.com/envoyproxy/envoy/labels)
to each new issue. Labels are extremely useful for future issue follow up. Which labels to apply
is somewhat subjective so just use your best judgment. A few of the most important labels that are
Expand Down
2 changes: 1 addition & 1 deletion PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Thank you in advance for helping to keep Envoy secure.

!!!ATTENTION!!!

-->
For an explanation of how to fill out the fields, please see the relevant section
in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/main/PULL_REQUESTS.md)
-->

Commit Message:
Additional Description:
Expand Down
2 changes: 2 additions & 0 deletions api/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ proto_library(
"//envoy/extensions/filters/udp/udp_proxy/v3:pkg",
"//envoy/extensions/health_checkers/redis/v3:pkg",
"//envoy/extensions/http/header_formatters/preserve_case/v3:pkg",
"//envoy/extensions/http/original_ip_detection/custom_header/v3:pkg",
"//envoy/extensions/http/original_ip_detection/xff/v3:pkg",
"//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg",
"//envoy/extensions/internal_redirect/previous_routes/v3:pkg",
"//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg",
Expand Down
5 changes: 5 additions & 0 deletions api/STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ In addition, the following conventions should be followed:
implementation. These indicate that the entity is not implemented in Envoy and the entity
should be hidden from the Envoy documentation.

* Use a `[#alpha:]` annotation in comments for messages that are considered alpha
and are not subject to the threat model. This is similar to the work-in-progress/alpha tagging
of extensions described below, but allows tagging messages that are used as part of the core API
as alpha without having to break it into its own file.

* Always use plural field names for `repeated` fields, such as `filters`.

* Due to the fact that we consider JSON/YAML to be first class inputs, we cannot easily change a
Expand Down
2 changes: 2 additions & 0 deletions api/envoy/admin/v3/config_dump.proto
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ message ConfigDump {
// * *clusters*: :ref:`ClustersConfigDump <envoy_v3_api_msg_admin.v3.ClustersConfigDump>`
// * *endpoints*: :ref:`EndpointsConfigDump <envoy_v3_api_msg_admin.v3.EndpointsConfigDump>`
// * *listeners*: :ref:`ListenersConfigDump <envoy_v3_api_msg_admin.v3.ListenersConfigDump>`
// * *scoped_routes*: :ref:`ScopedRoutesConfigDump <envoy_v3_api_msg_admin.v3.ScopedRoutesConfigDump>`
// * *routes*: :ref:`RoutesConfigDump <envoy_v3_api_msg_admin.v3.RoutesConfigDump>`
// * *secrets*: :ref:`SecretsConfigDump <envoy_v3_api_msg_admin.v3.SecretsConfigDump>`
//
// EDS Configuration will only be dumped by using parameter `?include_eds`
//
Expand Down
2 changes: 2 additions & 0 deletions api/envoy/admin/v4alpha/config_dump.proto

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

2 changes: 1 addition & 1 deletion api/envoy/config/bootstrap/v3/bootstrap.proto
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;

// [#protodoc-title: Bootstrap]
// This proto is supplied via the :option:`-c` CLI flag and acts as the root
// of the Envoy v2 configuration. See the :ref:`v2 configuration overview
// of the Envoy v3 configuration. See the :ref:`v3 configuration overview
// <config_overview_bootstrap>` for more detail.

// Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
Expand Down
2 changes: 1 addition & 1 deletion api/envoy/config/bootstrap/v4alpha/bootstrap.proto

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

1 change: 1 addition & 0 deletions api/envoy/config/cluster/v3/cluster.proto
Original file line number Diff line number Diff line change
Expand Up @@ -709,6 +709,7 @@ message Cluster {
EdsClusterConfig eds_cluster_config = 3;

// The timeout for new network connections to hosts in the cluster.
// If not set, a default value of 5s will be used.
google.protobuf.Duration connect_timeout = 4 [(validate.rules).duration = {gt {}}];

// Soft limit on size of the cluster’s connections read and write buffers. If
Expand Down
1 change: 1 addition & 0 deletions api/envoy/config/cluster/v4alpha/cluster.proto

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

2 changes: 1 addition & 1 deletion api/envoy/config/common/matcher/v3/matcher.proto
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// As an on_no_match might result in another matching tree being evaluated, this process
// might repeat several times until the final OnMatch (or no match) is decided.
//
// This API is a work in progress.
// [#alpha:]
message Matcher {
// What to do if a match is successful.
message OnMatch {
Expand Down
2 changes: 1 addition & 1 deletion api/envoy/config/common/matcher/v4alpha/matcher.proto

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

12 changes: 12 additions & 0 deletions api/envoy/config/core/v3/base.proto
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,19 @@ message Metadata {

// Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
// namespace is reserved for Envoy's built-in filters.
// If both *filter_metadata* and
// :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>`
// fields are present in the metadata with same keys,
// only *typed_filter_metadata* field will be parsed.
map<string, google.protobuf.Struct> filter_metadata = 1;

// Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
// namespace is reserved for Envoy's built-in filters.
// The value is encoded as google.protobuf.Any.
// If both :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>`
// and *typed_filter_metadata* fields are present in the metadata with same keys,
// only *typed_filter_metadata* field will be parsed.
map<string, google.protobuf.Any> typed_filter_metadata = 2;
}

// Runtime derived uint32 with a default when not specified.
Expand Down
22 changes: 22 additions & 0 deletions api/envoy/config/core/v3/protocol.proto
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,28 @@ message UpstreamHttpProtocolOptions {
bool auto_san_validation = 2;
}

// Configures the alternate protocols cache which tracks alternate protocols that can be used to
// make an HTTP connection to an origin server. See https://tools.ietf.org/html/rfc7838 for
// HTTP Alternate Services and https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-04
// for the "HTTPS" DNS resource record.
message AlternateProtocolsCacheOptions {
// The name of the cache. Multiple named caches allow independent alternate protocols cache
// configurations to operate within a single Envoy process using different configurations. All
// alternate protocols cache options with the same name *must* be equal in all fields when
// referenced from different configuration components. Configuration will fail to load if this is
// not the case.
string name = 1 [(validate.rules).string = {min_len: 1}];

// The maximum number of entries that the cache will hold. If not specified defaults to 1024.
//
// .. note:
//
// The implementation is approximate and enforced independently on each worker thread, thus
// it is possible for the maximum entries in the cache to go slightly above the configured
// value depending on timing. This is similar to how other circuit breakers work.
google.protobuf.UInt32Value max_entries = 2 [(validate.rules).uint32 = {gt: 0}];
}

// [#next-free-field: 6]
message HttpProtocolOptions {
option (udpa.annotations.versioning).previous_message_type =
Expand Down
12 changes: 12 additions & 0 deletions api/envoy/config/core/v4alpha/base.proto

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

25 changes: 25 additions & 0 deletions api/envoy/config/core/v4alpha/protocol.proto

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

Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// Wrapper around an existing extension that provides an associated matcher. This allows
// decorating an existing extension with a matcher, which can be used to match against
// relevant protocol data.
//
// [#alpha:]
message ExtensionWithMatcher {
// The associated matcher.
config.common.matcher.v3.Matcher matcher = 1 [(validate.rules).message = {required: true}];
Expand Down

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

Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,9 @@ message AwsRequestSigning {
// value set here would be used for signing whereas the value set in the HCM would be used
// for host header forwarding which is not the desired outcome.
string host_rewrite = 3;

// Instead of buffering the request to calculate the payload hash, use the literal string ``UNSIGNED-PAYLOAD``
// to calculate the payload hash. Not all services support this option. See the `S3
// <https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html>`_ policy for details.
bool use_unsigned_payload = 4;
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// :ref:`ExecuteFilterAction <envoy_v3_api_msg_extensions.filters.http.composite.v3.ExecuteFilterAction>`)
// which filter configuration to create and delegate to.
//
// [#alpha:]
message Composite {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ licenses(["notice"]) # Apache 2

api_proto_package(
deps = [
"//envoy/annotations:pkg",
"//envoy/config/accesslog/v3:pkg",
"//envoy/config/core/v3:pkg",
"//envoy/config/filter/network/http_connection_manager/v2:pkg",
Expand Down
Loading