forked from envoyproxy/envoy
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pull latest changes from the master #1
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Move away from macro style constants to avoid conflicting with #defines. Risk Level: Low Testing: N/A Docs Changes: N/A Release Notes: N/A Signed-off-by: Matt Rice <mattrice@google.com>
Removes NOT_IMPLEMENTED in favor of NOT_IMPLEMENTED_GCOVR_EXCL_LINE now that envoy-filter-example has been updated. Also adds a test case to hit some uncovered code in NamedHttpFilterConfigFactory. Risk Level: low, no functional changes Testing: unit testing Docs Changes: n/a Release Notes: n/a Signed-off-by: Stephan Zuercher <stephan@turbinelabs.io>
Add an extensible resource monitor framework for monitoring resource "pressures" (usage/limit). This will be used by the overload manager to implement downstream circuit breaking (issue #373 - see design doc linked from there). Risk Level: low (not yet used in envoy main) Signed-off-by: Elisha Ziskind <eziskind@google.com>
Fix the description of an `RBAC` Protobuf message example, so that it matches the changes made to the YAML code block in PR #3477. Risk Level: Low Testing: N/A Docs Changes: N/A Release Notes: N/A Signed-off-by: Tal Nordan <tal.nordan@solo.io>
) Previously, hpack_table_size was used to configure maximum table size used by the local endpoint for HPACK decoding, however, there was no way to configure table size used for HPACK enoding. Since this option is mostly used to disable header compression by setting the size to 0, it means that Envoy only asked the remote endpoint not to compress headers, but it was still compressing them itself (unless asked not to by the remote endpoint). Re-using hpack_table_size instead of adding a new option, since both: encoder and decoder will usually use the same value anyway. *Level*: Medium (some broken libraries don't support header table updates) *Testing*: bazel test //test/... *Docs Changes*: n/a *Release Notes*: n/a Signed-off-by: Piotr Sikora <piotrsikora@google.com>
The errno set by a syscall can be overwritten by code (e.g. logging) as it propagates up through the call stack. This commit refactors the buffer API to allow for returning the errno from deeper down the call stack i.e. as soon as a syscall is performed. Signed-off-by: Venil Noronha <veniln@vmware.com>
Risk level: Low Testing: OSS/Google unit/integration tests for LRS. Signed-off-by: Harvey Tuch <htuch@google.com>
Fixes #3713 Signed-off-by: Dhi Aurrahman <dio@rockybars.com>
Some sites where we consume HeaderValue, e.g. in Google gRPC client library metadata, require non-empty keys as a precondition. This seems a general property; there shouldn't be any use case for a header key that is empty. Found with server_fuzz_test under oss-fuzz (issue 9373). As a bonus, also fixed another proto descriptor crash that occurs with this corpus addition due to missing proto descriptor pool entries in server_fuzz_test. Risk level: Low Testing: New server_fuzz corpus entry. Signed-off-by: Harvey Tuch <htuch@google.com>
) Previously, this could have left the idle timer active during deferred delete. Thanks to @mattklein123 for spotting this. Risk Level: Low Testing: New unit test. Signed-off-by: Harvey Tuch <htuch@google.com>
Without these updates, the gauges will be incorrect after a hot restart. Fixes #3916
* fix ipV6 error * support ipv6 env only Signed-off-by: Rama <rama.rao@salesforce.com>
This implementation has been flagged during security audit and has had previous bugs. Risk Level: Low Testing: Example corpus. Signed-off-by: Harvey Tuch <htuch@google.com>
Add test for checking the format of proto files. Risk Level: none Testing: check_format Docs Changes: N/A Release Notes: N/A Fixes: #3812 Signed-off-by: Joshua Marantz <jmarantz@google.com>
Adding a lock for checking response completion since as far as tsan can tell it's possibly accessed by the main thread and test thread simultaneously. Risk Level: Low (test only) Testing: ran idle_timeouts_test with internal tsan Docs Changes: n/a Release Notes: n/a Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
2nd PR for #3429, add frame protector. Risk Level: Low (not enabled in main) Testing: bazel test //test/... Docs Changes: N/A Release Notes: N/A Signed-off-by: Lizan Zhou <zlizan@google.com>
Useful when exploring fuzzer code coverage with the checked-in corpus, e.g. #3921. Signed-off-by: Harvey Tuch <htuch@google.com>
This is a followup to #3841, where we introduce HCM-wide stream idle timeouts. This has two effects: 1. We can now timeout immediately after stream creation, potentially before receiving request headers and routing. 2. A default timeout can be configured across all routes. This is overridable on a per-route basis. The default and overriding semantics are explained in the docs. Also added as a bonus some docs about how timeouts interact more generally in Envoy. Fixes #3853. Risk Level: Low. While there is some change to the per-route vs. HCM wide semantics for stream idle timeouts, it's not anticipated this feature is in common use yet (it's only a couple of days since landing), and the caveats in #3841 with the new 5 minute default timeout should already apply. Testing: Unit/integration tests added. Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Dhi Aurrahman <dio@rockybars.com>
Make the YAML examples use lists for `audiences` and avoid starting lists for non-repeating fields. Risk Level: Low Testing: N/A Docs Changes: N/A Release Notes: N/A Signed-off-by: Tal Nordan <tal.nordan@solo.io>
Signed-off-by: Wayne Zhang <qiwzhang@google.com>
tcp/conn_pool: improve interface for callers Provides additional pool failure reasons to allow Tcp::ConnectionPool callers to distinguish between time outs and connection failures. Passes through connection and buffer watermark events. A subsequent PR will switch the TCP proxy to use the TCP connection pool (and makes use of these features). Relates to #3818. *Risk Level*: low *Testing*: unit tests *Docs Changes*: n/a *Release Notes*: n/a Signed-off-by: Stephan Zuercher <stephan@turbinelabs.io>
Documenting some common failure modes and repro instructions. Risk Level: n/a Testing: relying on existing tests Docs Changes: yep Release Notes: n/a Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
This PR adds IP6T_SO_ORIGINAL_DST to the network utility for retaining the original_dest. Risk Level: Medium: Because we have to hardcode this with a define, there is a risk that upstream this gets changed and we would have to adjust. The define is necessary without the unmerged patch from Oct 2016. The TLDR is that the C code does not compile well with our compiler as shown here. Testing: Current tests exist Docs Changes: In progress Release Notes: Support IPv6 for original_dest in network utility Fixes #1094 Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
This new field, RESPONSE_TX_DURATION, represents the duration between the first upstream byte received and the last downstream byte sent. *Risk*: low *Testing*: unit tests *Doc changes*: added access_log config docs for RESPONSE_TX_DURATION and RESPONSE_DURATION *Release Notes*: noted addition of RESPONSE_TX_DURATION and RESPONSE_DURATION Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
Removes the deprecated endpoint field for 1.8 release. Risk Level: Low Testing: N/A Docs Changes: N/A Release Notes: Already listed under 1.7. Fixes #3717 Signed-off-by: Matt Rice <mattrice@google.com>
This patch implements load_assigment field in CDS' Cluster. This change specifically adds the implementation of the new load_assigment field for clusters with discovery-type: STATIC, STRICT_DNS and LOGICAL_DNS. While adding this load_assigment field implementation to Cluster, this patch also allows specifying optional (active) health check config per specified upstream host. Risk Level: medium Testing: unit tests Docs Changes: This unhides docs for endpoint health check config Release Notes: N/A Fixes #439 Signed-off-by: Dhi Aurrahman <dio@rockybars.com>
This is the first step in breaking up #3786 into smaller chunks. This contains the Bazel config / compiler options to allow Envoy to build on Windows. Future PRs will address the external deps build scripts and PGV. Risk Level: Low Testing: Ran bazel build //source/exe:envoy-static and bazel test //test/... on Linux Docs Changes: None Release Notes: None Signed-off-by: Sam Smith <sesmith177@gmail.com>
Some of the references to "//bazel:windows_x86_64" were not properly prefixed with the repostory name, causing the build of envoy-filter-example to fail. Risk Level: Low Testing: bazel test //test/... From envoy-filter-example, ran bazel build //:envoy Docs Changes: Release Notes: Signed-off-by: Sam Smith <sesmith177@gmail.com>
This PR is a continuation of breaking up #3786 into smaller chunks. It: 1. Converts all external deps (excluding gperftools and luajit which do not support cmake) to use Ninja instead of make 2. Ensures these deps build on Windows. This involves using curl instead of wget and copying *.pdb files to the appropriate location In the process of switching from make to Ninja, libevent.sh now outputs just a libevent.a archive on Linux - a separate libevent_pthreads.a archive is no longer created or necessary. Risk Level: After discussion here: #3892 (comment) changing risk level to medium (potential for performance regression in c-ares) Testing: Ran bazel build //source/exe:envoy-static and bazel test //test/... on Linux Signed-off-by: Sam Smith <sesmith177@gmail.com>
*Risk Level*: Low *Testing*: bazel test //test/... *Docs Changes*: Removed docs for "sni_domains" *Release Notes*: n/a Fixes #3718. Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
oss-fuzz issue (8363): https://oss-fuzz.com/v2/testcase-detail/5988544525893632 The crash was because of passing nan to Envoy::ProtobufPercentHelper::convertPercent, it asserts since it is not in the numeric range. Instead of adding a check in this function, have added a check in the preprocessor so that it goes to checkAndReturnDefault and the default value is used. Have also added the crashing testcase to the corpus. Risk Level: Low Testing: Tested unit tests (bazel test //server:server_fuzz_test), built and ran fuzzers with oss-fuzz. Signed-off-by: Anirudh M <m.anirudh18@gmail.com>
…e when draining (#3952) Using the isUpgrade utility for consistent handling of upgrade strings w.r.t. case sensitivity. Risk Level: Low (should only affect WebSocket, only when draining) Testing: new regression unit test Docs Changes: n/a Release Notes: n/a Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
This PR contains changes to implement feature requested in issue #3823 - Adding DropOverload in eds policy which can be used to specify drop_percentage per category. - Adding DroppedRequests in load_report which can report deliberately dropped requests for each category. Signed-off-by: vishalpowar <vishal.powar@gmail.com>
As requested in #3892, breaking the BUILD file changes out into a separate PR Risk Level: Low Testing: bazel build //source/exe:envoy-static and bazel test //test/... on Linux Docs Changes: None Release Notes: None Signed-off-by: Sam Smith <sesmith177@gmail.com>
Signed-off-by: 张可10140699 <zhang.ke106@zte.com.cn>
Provides a very basic thrift router that can route to clusters based on method name only. A Thrift DecoderFilter interface is introduced, but the only available filter is the Router. The Network filter and router are capable of translating transports and protocols but presently cannot be configured to do so. Relates to #2247. *Risk Level*: low *Testing*: unit and integration testing *Docs Changes*: protobuf documentation updated *Release Notes*: introduced a basic thrift_proxy routing extension Signed-off-by: Stephan Zuercher <stephan@turbinelabs.io>
on some hosts (amd64 centos and fedora) the libdir path defaults to lib64, though elsewhere the path is expected to be ./lib/ Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
…equest (#3882) Signed-off-by: Dhi Aurrahman <dio@rockybars.com>
oss-fuzz issue (9204): https://oss-fuzz.com/v2/testcase-detail/5366294281977856 I suppose Envoy doesn't support multiple health checks still. Instead of assertion, have replaced it with throw. This doesn't crash the build. Let me know if any changes. Risk Level: Low Testing: Tested unit tests (bazel test //server:server_fuzz_test), built and ran fuzzers with oss-fuzz. Signed-off-by: Anirudh M <m.anirudh18@gmail.com>
As discussed in Slack, these should have been under api/config/filter/network to begin with. Added a note to the style doc to make this clear in the future. *Risk level*: low (rename only) *Testing*: existing tests suffice *Doc Changes*: n/a *Release Notes*: updated Signed-off-by: Stephan Zuercher <stephan@turbinelabs.io>
Signed-off-by: Lizan Zhou <zlizan@google.com>
* Refactor address APIs for deeper errno latching The errno set by a syscall can be overwritten by code (e.g. logging) as it propagates up through the call stack. This commit refactors the bind and connect methods in the address API to allow for returning the errno from deeper down the call stack i.e. as soon as a syscall is performed. Signed-off-by: Venil Noronha <veniln@vmware.com>
vishalpowar
pushed a commit
that referenced
this pull request
Jan 11, 2019
…ardown. (envoyproxy#4940) server_fuzz_test indicated the below crash, where the DispatcherImpl teardown releases some upstream client SSL related objects that then needs SecretManagerImpl to unregister. Previously, this was already destructed by time we were in ~DispatcherImpl(), this PR reorders. #0 0xc1e826 in size /usr/local/include/c++/v1/__hash_table:809:55 #1 0xc1e826 in bucket_count /usr/local/include/c++/v1/__hash_table:1197 #2 0xc1e826 in std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> >, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> > > >::find<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /usr/local/include/c++/v1/__hash_table:2334 #3 0xc1e278 in unsigned long std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::weak_ptr<Envoy::Secret::TlsCertificateSdsApi> > > >::__erase_unique<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /usr/local/include/c++/v1/__hash_table:2510:20 envoyproxy#4 0xc1def6 in erase /usr/local/include/c++/v1/unordered_map:1156:59 envoyproxy#5 0xc1def6 in Envoy::Secret::SecretManagerImpl::DynamicSecretProviders<Envoy::Secret::TlsCertificateSdsApi>::removeDynamicSecretProvider(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /bazel-out/k8-fastbuild/bin/source/common/secret/_virtual_includes/secret_manager_impl_lib/common/secret/secret_manager_impl.h:75 envoyproxy#6 0x724aa9 in Envoy::Cleanup::~Cleanup() /bazel-out/k8-fastbuild/bin/source/common/common/_virtual_includes/cleanup_lib/common/common/cleanup.h:11:16 envoyproxy#7 0xc1ff33 in Envoy::Secret::SdsApi::~SdsApi() /bazel-out/k8-fastbuild/bin/source/common/secret/_virtual_includes/sds_api_lib/common/secret/sds_api.h:29:7 envoyproxy#8 0xc188a0 in __release_shared /usr/local/include/c++/v1/memory:3530:9 envoyproxy#9 0xc188a0 in __release_shared /usr/local/include/c++/v1/memory:3572 envoyproxy#10 0xc188a0 in std::__1::shared_ptr<Envoy::Secret::SecretProvider<Envoy::Ssl::TlsCertificateConfig> >::~shared_ptr() /usr/local/include/c++/v1/memory:4508 envoyproxy#11 0x149c922 in Envoy::Ssl::ContextConfigImpl::~ContextConfigImpl() /source/common/ssl/context_config_impl.cc:117:1 envoyproxy#12 0x14a0d8f in Envoy::Ssl::ClientContextConfigImpl::~ClientContextConfigImpl() /bazel-out/k8-fastbuild/bin/source/common/ssl/_virtual_includes/context_config_lib/common/ssl/context_config_impl.h:91:7 envoyproxy#13 0x14a0dc8 in Envoy::Ssl::ClientContextConfigImpl::~ClientContextConfigImpl() /bazel-out/k8-fastbuild/bin/source/common/ssl/_virtual_includes/context_config_lib/common/ssl/context_config_impl.h:91:7 envoyproxy#14 0x149815b in operator() /usr/local/include/c++/v1/memory:2325:5 envoyproxy#15 0x149815b in reset /usr/local/include/c++/v1/memory:2638 envoyproxy#16 0x149815b in ~unique_ptr /usr/local/include/c++/v1/memory:2592 envoyproxy#17 0x149815b in Envoy::Ssl::ClientSslSocketFactory::~ClientSslSocketFactory() /bazel-out/k8-fastbuild/bin/source/common/ssl/_virtual_includes/ssl_socket_lib/common/ssl/ssl_socket.h:83 envoyproxy#18 0x14981c8 in Envoy::Ssl::ClientSslSocketFactory::~ClientSslSocketFactory() /bazel-out/k8-fastbuild/bin/source/common/ssl/_virtual_includes/ssl_socket_lib/common/ssl/ssl_socket.h:83:7 envoyproxy#19 0x1362caf in operator() /usr/local/include/c++/v1/memory:2325:5 envoyproxy#20 0x1362caf in reset /usr/local/include/c++/v1/memory:2638 envoyproxy#21 0x1362caf in ~unique_ptr /usr/local/include/c++/v1/memory:2592 envoyproxy#22 0x1362caf in Envoy::Upstream::ClusterInfoImpl::~ClusterInfoImpl() /bazel-out/k8-fastbuild/bin/source/common/upstream/_virtual_includes/upstream_includes/common/upstream/upstream_impl.h:362 envoyproxy#23 0x1362d28 in Envoy::Upstream::ClusterInfoImpl::~ClusterInfoImpl() /bazel-out/k8-fastbuild/bin/source/common/upstream/_virtual_includes/upstream_includes/common/upstream/upstream_impl.h:362:7 envoyproxy#24 0x66e560 in __release_shared /usr/local/include/c++/v1/memory:3530:9 envoyproxy#25 0x66e560 in __release_shared /usr/local/include/c++/v1/memory:3572 envoyproxy#26 0x66e560 in std::__1::shared_ptr<Envoy::Upstream::ClusterInfo const>::~shared_ptr() /usr/local/include/c++/v1/memory:4508 envoyproxy#27 0x13621bf in Envoy::Upstream::HostImpl::~HostImpl() /bazel-out/k8-fastbuild/bin/source/common/upstream/_virtual_includes/upstream_includes/common/upstream/upstream_impl.h:156:7 envoyproxy#28 0x13621f8 in Envoy::Upstream::HostImpl::~HostImpl() /bazel-out/k8-fastbuild/bin/source/common/upstream/_virtual_includes/upstream_includes/common/upstream/upstream_impl.h:156:7 envoyproxy#29 0x66e650 in __release_shared /usr/local/include/c++/v1/memory:3530:9 envoyproxy#30 0x66e650 in __release_shared /usr/local/include/c++/v1/memory:3572 envoyproxy#31 0x66e650 in std::__1::shared_ptr<Envoy::Upstream::HostDescription const>::~shared_ptr() /usr/local/include/c++/v1/memory:4508 envoyproxy#32 0x13b20c3 in Envoy::Http::CodecClient::~CodecClient() /source/common/http/codec_client.cc:38:30 envoyproxy#33 0x13b2258 in Envoy::Http::CodecClientProd::~CodecClientProd() /bazel-out/k8-fastbuild/bin/source/common/http/_virtual_includes/codec_client_lib/common/http/codec_client.h:229:7 envoyproxy#34 0x751de6 in operator() /usr/local/include/c++/v1/memory:2325:5 envoyproxy#35 0x751de6 in reset /usr/local/include/c++/v1/memory:2638 envoyproxy#36 0x751de6 in ~unique_ptr /usr/local/include/c++/v1/memory:2592 envoyproxy#37 0x751de6 in destroy /usr/local/include/c++/v1/memory:1867 envoyproxy#38 0x751de6 in __destroy<std::__1::unique_ptr<Envoy::Event::DeferredDeletable, std::__1::default_delete<Envoy::Event::DeferredDeletable> > > /usr/local/include/c++/v1/memory:1729 envoyproxy#39 0x751de6 in destroy<std::__1::unique_ptr<Envoy::Event::DeferredDeletable, std::__1::default_delete<Envoy::Event::DeferredDeletable> > > /usr/local/include/c++/v1/memory:1597 envoyproxy#40 0x751de6 in __destruct_at_end /usr/local/include/c++/v1/vector:422 envoyproxy#41 0x751de6 in clear /usr/local/include/c++/v1/vector:365 envoyproxy#42 0x751de6 in std::__1::__vector_base<std::__1::unique_ptr<Envoy::Event::DeferredDeletable, std::__1::default_delete<Envoy::Event::DeferredDeletable> >, std::__1::allocator<std::__1::unique_ptr<Envoy::Event::DeferredDeletable, std::__1::default_delete<Envoy::Event::DeferredDeletable> > > >::~__vector_base() /usr/local/include/c++/v1/vector:459 envoyproxy#43 0x74d1aa in ~vector /usr/local/include/c++/v1/vector:551:5 envoyproxy#44 0x74d1aa in Envoy::Event::DispatcherImpl::~DispatcherImpl() /source/common/event/dispatcher_impl.cc:41 envoyproxy#45 0x74d658 in Envoy::Event::DispatcherImpl::~DispatcherImpl() /source/common/event/dispatcher_impl.cc:41:35 envoyproxy#46 0x697b76 in operator() /usr/local/include/c++/v1/memory:2325:5 envoyproxy#47 0x697b76 in reset /usr/local/include/c++/v1/memory:2638 envoyproxy#48 0x697b76 in ~unique_ptr /usr/local/include/c++/v1/memory:2592 envoyproxy#49 0x697b76 in Envoy::Server::InstanceImpl::InstanceImpl(Envoy::Server::Options&, Envoy::Event::TimeSystem&, std::__1::shared_ptr<Envoy::Network::Address::Instance const>, Envoy::TestHooks&, Envoy::Server::HotRestart&, Envoy::Stats::StoreRoot&, Envoy::Thread::BasicLockable&, Envoy::Server::ComponentFactory&, std::__1::unique_ptr<Envoy::Runtime::RandomGenerator, std::__1::default_delete<Envoy::Runtime::RandomGenerator> >&&, Envoy::ThreadLocal::Instance&) /source/server/server.cc:92 envoyproxy#50 0x586026 in make_unique<Envoy::Server::InstanceImpl, testing::NiceMock<Envoy::Server::MockOptions> &, Envoy::Event::TestTimeSystem &, std::__1::shared_ptr<Envoy::Network::Address::Ipv4Instance>, Envoy::DefaultTestHooks &, testing::NiceMock<Envoy::Server::MockHotRestart> &, Envoy::Stats::TestIsolatedStoreImpl &, Envoy::Thread::MutexBasicLockable &, Envoy::Server::TestComponentFactory &, std::__1::unique_ptr<Envoy::Runtime::RandomGeneratorImpl, std::__1::default_delete<Envoy::Runtime::RandomGeneratorImpl> >, Envoy::ThreadLocal::InstanceImpl &> /usr/local/include/c++/v1/memory:3118:32 envoyproxy#51 0x586026 in Envoy::Server::TestOneProtoInput(envoy::config::bootstrap::v2::Bootstrap const&) /test/server/server_fuzz_test.cc:78 Fixes oss-fuzz issue https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11231 Risk Level: Low Testing: Corpus entry added. It's pretty hard to build regressions for this kind of destruction ordering, so relying on server_fuzz_test + corpus. Signed-off-by: Harvey Tuch <htuch@google.com>
vishalpowar
pushed a commit
that referenced
this pull request
Apr 11, 2019
Provide the HTTP path normalization per RFC 3986 (sans case normalization). This addresses CVE-2019-9901. The config HttpConnectionManager.normalize_path needs to be set for each HCM configuration to enable (default is off). There is also a runtime optione http_connection_manager.normalize_path to change this default when not set in HCM. Risk level: Low Testing: New unit and integration tests added. Signed-off-by: Yuchen Dai <silentdai@gmail.com> Signed-off-by: Harvey Tuch <htuch@google.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]