Skip to content
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

Lazy rds #4

Closed
wants to merge 162 commits into from
Closed

Lazy rds #4

wants to merge 162 commits into from

Commits on Jul 22, 2020

  1. aws_request_signing: fix coverage (envoyproxy#12229)

    Fixes envoyproxy#11990.
    
    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    31cb2b4 View commit details
    Browse the repository at this point in the history
  2. router: add envoy-ratelimited retry policy (envoyproxy#12201)

    Adds new retry policy envoy-ratelimited that retries responses
    containing the header x-envoy-ratelimited.
    
    Signed-off-by: Martin Matusiak <numerodix@gmail.com>
    numerodix authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    8b34cb1 View commit details
    Browse the repository at this point in the history
  3. test: fixing a race in cx_limit_integration_test (envoyproxy#12233)

    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    9a4980c View commit details
    Browse the repository at this point in the history
  4. fuzz: add verification to xDS fuzzer (envoyproxy#12132)

    - ensure that all listeners are in the correct state using config dumps and stats
    - adds a verification class that holds an abstract representation of the state Envoy should be in which is then compared to Envoy's actual state from the config dumps
    - currently working on also actually draining the listeners to ensure they are in the correct state during/after but Envoy crashes when trying to drain using simulated time so I'm looking into this for a future PR
    - I also added a few more corpus entries that had failed previously on libfuzzer removed removeRoute since RDS cannot explicitly remove routes, it's up to Envoy to remove them when no listeners refer to them
    
    Risk Level: Low
    Testing: ran with libfuzzer, fixes previous timeouts/crashes
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Sam Flattery <samflattery@google.com>
    samflattery authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    958745d View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2020

  1. stats: Allow configuring histogram buckets for prometheus (envoyproxy…

    …#12034)
    
    Previously, a hard-coded set of buckets were used, which were not appropriate for the range or required precision of some histograms.
    
    Fixes envoyproxy#7599
    
    Signed-off-by: Greg Greenway <ggreenway@apple.com>
    ggreenway authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    0a0fc51 View commit details
    Browse the repository at this point in the history
  2. stats: disable EXPECT_EQ in memory integration test (envoyproxy#12239)

    Until a real solution for envoyproxy#12209
    is found.:
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    e1d7d8e View commit details
    Browse the repository at this point in the history
  3. fuzz: fix crash into filter fuzz test (envoyproxy#12224)

    Commit Message: Fix crash in filter fuzz test due to validation not running until after cleaning
    since the input config message contains an Any field, validation is not run on it, so I added a check to make sure that there was at least one sink before trying to deference
    Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24301
    Signed-off-by: Sam Flattery <samflattery@google.com>
    samflattery authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    2539e0b View commit details
    Browse the repository at this point in the history
  4. test: fix admin drain flake (envoyproxy#12243)

    The stat is incremented before the socket close.
    
    Risk Level: None
    Testing: N/A
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    142b275 View commit details
    Browse the repository at this point in the history
  5. http: restore previous HeaderMap::remove() behavior (envoyproxy#12244)

    envoyproxy#12160 changed
    the behavior of remove() to not first look in the inline
    header map for a header. This is a subtle change in
    behavior that specifically breaks attempting to remove
    ":authority" via the "host" mapping. This restores that
    behavior and is thus a bug fix and low risk.
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    21e41f3 View commit details
    Browse the repository at this point in the history
  6. test: fixing a double close bug (envoyproxy#12255)

    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    69816f3 View commit details
    Browse the repository at this point in the history
  7. http: tighten handling of non-{100,101} 1xx and multiple 100 headers. (

    envoyproxy#12037)
    
    This PR provides intentional semantics for:
    
    Multiple-100 headers; these are always coalesced to a single 100 header when proxying.
    101 headers: these are always passed to decodeHeaders().
    Non-{100,101} 1xx headers, e.g. 102/103, are always ignored by Envoy.
    UpstreamRequest is responsible for guaranteeing that HCM observes the above properties. Codecs should pass 100 headers to decode100ContinueHeaders and all other 1xx to decodeHeaders.
    
    This PR follows the discussion in envoyproxy#11433 (comment).
    
    Risk level: Medium
    Testing: Unit tests for codecs and UpstreamRequest added. Integration tests for non-101 and multiple 101 headers added.
    
    Fixes OSS-fuzz issue https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21628.
    Fixes envoyproxy#11433
    
    Signed-off-by: Harvey Tuch <htuch@google.com>
    htuch authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    8d4e705 View commit details
    Browse the repository at this point in the history
  8. xds: implement extension config discovery for HCM (envoyproxy#11826)

    Signed-off-by: Kuat Yessenov <kuat@google.com>
    kyessenov authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    e8216a8 View commit details
    Browse the repository at this point in the history
  9. ci: use local build cache for non-RBE CI (envoyproxy#12215)

    - refactored cache setup script
    
    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    0d862f6 View commit details
    Browse the repository at this point in the history
  10. test: Split huge monolith mock header(test/upstream/mocks.h) to speed…

    … up test compilation (envoyproxy#12048)
    
    breakdown test/mocks/upstream/mocks.h into different mock classes
    
    test/mocks/upstream/mocks.h is a wide-used mock header included by various test files. However it's very huge and most test files only used a small portion of it. Splitting it up into different mock classes will be helpful to reduce compilation time. (similar to envoyproxy#11797 )
    
    Risk Level: low
    Testing: existing tests
    Docs Changes: N/A
    Release Notes: no
    Related Issues: envoyproxy#10917
    
    Signed-off-by: Muge Chen <mugechen@google.com>
    foreseeable authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    8b9f688 View commit details
    Browse the repository at this point in the history
  11. test: disable xds_fuzz (envoyproxy#12262)

    Until envoyproxy#12258 is fixed.
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 23, 2020
    Configuration menu
    Copy the full SHA
    da58cfc View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2020

  1. reduce number of srds update callbacks (envoyproxy#12118)

    Currently, in scope route discovery service, when resources are received from a management server, for each added, updated and removed scope route, a callback is fired. If several update callbacks are combined into a single update callback, less performance penalty will be incurred. This can be achieved by moving applyConfigUpdate out of the for loop and applying all the updates in a single callback. In this case, partial update won't be accepted both in sotw and delta srds. Scope key and scope name conflicts will be checked before any config update is applied.
    
    Risk Level: Low
    Testing: Modify a unit test related to change.
    Docs Changes: The behavior of delta srds will be changed, partial update won't be accepted.
    
    Signed-off-by: chaoqinli <chaoqinli@google.com>
    chaoqin-li1123 authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    b9a41ad View commit details
    Browse the repository at this point in the history
  2. load stats: fix integration test flake (envoyproxy#12265)

    Waiting on a load stats response can race with resetting
    the counters when initializing a watch. Moving the counter
    increment prevents the race.
    
    Fixes envoyproxy#11784
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    3cd9cfb View commit details
    Browse the repository at this point in the history
  3. benchmark: Skip expensive setup and benchmark to avoid filter_chain_b…

    …enchmark_test_benchmark_test timeouts under tsan (envoyproxy#12264)
    
    also, bump up the googlebenchmark version to pickup the fix to SkipWithError, google/benchmark#938
    
    Signed-off-by: Antonio Vicente <avd@google.com>
    antoniovicente authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    dcf451c View commit details
    Browse the repository at this point in the history
  4. http: add custom header support for sha1 fingerprint of peer cert (en…

    …voyproxy#12173)
    
    Adds support for DOWNSTREAM_PEER_FINGERPRINT_1 that sends SHA1 finger print of peer cert as a custom header.
    
    Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
    ramaraochavali authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    a5d56f5 View commit details
    Browse the repository at this point in the history
  5. xds: safely handle watch removals during update, nested pause/resume. (

    …envoyproxy#12069)
    
    To fix envoyproxy#11877, we need to handle safely the case where two
    watches point at the same resource, and a WatchMap onConfigUpdate() causes one watch to
    remove the other watch during its invoked onConfigUpdate().
    
    While working on this, it made sense to fix envoyproxy#11674,
    avoiding spurious ClusterLoadAssignment discovery requests in the regression integration test.
    
    Risk level: Medium (this has xDS wire-level implications).
    Testing: New unit tests for pause/resume, regression unit and integration tests for watch map
    removal behaviors.
    
    Fixes envoyproxy#11877 envoyproxy#11674
    
    Signed-off-by: Harvey Tuch <htuch@google.com>
    Co-authored-by: Sebastian Schepens <sebastian.schepens@mercadolibre.com>
    htuch and sschepens authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    06acbab View commit details
    Browse the repository at this point in the history
  6. gzip filter: fix docs wrt runtime feature flag (envoyproxy#12263)

    Althought this filter is deprecated in favor of the compressor
    filter, let's go ahead and fix the incorrect reference to the
    now optional runtime feature flag.
    
    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    2113df3 View commit details
    Browse the repository at this point in the history
  7. ssl: add test for changed cipher suite support when boringssl version…

    … changes (envoyproxy#12240)
    
    Signed-off-by: Greg Greenway <ggreenway@apple.com>
    ggreenway authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    ee46ce7 View commit details
    Browse the repository at this point in the history
  8. minor fix for integration test (envoyproxy#12212)

    Signed-off-by: Asra Ali <asraa@google.com>
    asraa authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    6434bbd View commit details
    Browse the repository at this point in the history
  9. tcp tunneling: fix integration test flake (envoyproxy#12267)

    We need to wait for all listeners to be up.
    
    Fixes envoyproxy#12253 (and maybe other flakes)
    
    Risk Level: None
    Testing: Existing tests
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    08464ec View commit details
    Browse the repository at this point in the history
  10. security: some GREYFOX inspired policy fine tunings. (envoyproxy#12276)

    We heard back from Istio that release adjacency to EOQ wasn't great, and from other internal teams
    that more details on the CVEs in the distributor mailout would be helpful.
    
    Signed-off-by: Harvey Tuch <htuch@google.com>
    htuch authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    20c32d2 View commit details
    Browse the repository at this point in the history
  11. build: Use c++17 when compiling googleurl (envoyproxy#12269)

    Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
    dio authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    2a34c76 View commit details
    Browse the repository at this point in the history
  12. docs: remove incorrect statement about max_retries (envoyproxy#12248)

    Signed-off-by: Martin Matusiak <numerodix@gmail.com>
    numerodix authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    15e499a View commit details
    Browse the repository at this point in the history
  13. ecds: fix a flake in the integration test (envoyproxy#12268)

    Signed-off-by: Kuat Yessenov <kuat@google.com>
    kyessenov authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    44f4399 View commit details
    Browse the repository at this point in the history
  14. docs: Display the code block correctly (envoyproxy#12288)

    I found that the code block in `grpc_bridge.rst` hasn't been displayed well.
    So I fixed it.
    
    Signed-off-by: zawawahoge <zawawahoge@gmail.com>
    zawakin authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    62e5834 View commit details
    Browse the repository at this point in the history
  15. jwt_authn: If a request has multiple JWT tokens, all must be valid. (e…

    …nvoyproxy#12089)
    
    By default, jwt_authn filter extracts JWT token from `Authorization` header and
     `access_token` query parameter. A request may have multiple JWT tokens, and will be
    forwarded to the backend if one of the tokens is good. 
    
    It poses a security risk: a hacker can put a good token in the query parameter and an invalid one in
    the Authorization header. Envoy will forward the request to the backend,
    and the backend will use the bad token in Authorization header.
    
    This PR try to patch such security hole: all tokens in a request should be valid. 
    
    Risk Level: Low.  This change only impacts the requests with multiple JWT tokens. In production traffic,
      it will be very rare that a request have multiple JWT tokens. 
    Testing: Unit-test
    Docs Changes: None
    Release Notes: None
    
    Signed-off-by: Wayne Zhang <qiwzhang@google.com>
    qiwzhang authored Jul 24, 2020
    Configuration menu
    Copy the full SHA
    defea7e View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2020

  1. docs: add LocalityLbEndpoints.locality to a locality weighted load ba…

    …lancing configuration section (envoyproxy#12249)
    
    Signed-off-by: Josef Podaný <josef.podany.ml@gmail.com>
    jsfpdn authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    1f0eae3 View commit details
    Browse the repository at this point in the history
  2. dubbo: removing an unused file (envoyproxy#12302)

    Risk Level: n/a
    Testing: n/a
    Docs Changes: n/a
    Release Notes: n/a
    Fixes envoyproxy#12282
    
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    49d4a2a View commit details
    Browse the repository at this point in the history
  3. [Fuzz] Network-layer filter generic fuzzer (envoyproxy#12086)

    * added generic freamework for testing filters.
    This is a fuzzer for testing network-layer(L3/L4) filters.
    Now Envoy has 20 network-layer filters which will deal with raw bytes from untrusted networks and thus they are security-critical to some extent. The idea of this is to write a fuzzer which can be applied to different kinds of network filters(potentially cover all the filters), and when new filters are added to Envoy, we won't need to write dedicated fuzzers one by one to give them fuzz coverage.
    
    Signed-off-by: jianwen <jianwendong@google.com>
    jianwen612 authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    ce26fe1 View commit details
    Browse the repository at this point in the history
  4. Cache v6only option when we create ipv6 socket (envoyproxy#11793)

    On Windows, getsockopt fails if the socket driver is performing another
    non-blocking operation. For example if we query for a specific socket
    option while the socket is connecting then the getsockopt is going to
    fail with error (10022).
    
    When we create an ipv6 socket we set it to be ipv6 only. Now we cache
    this configuration and we query it before we connect to the socket
    
    This fixes IpVersions/TcpClientConnectionImplTest.BadConnectConnRefused/IPv6 test on Windows.
    
    Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
    davinci26 authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    ff0beb1 View commit details
    Browse the repository at this point in the history
  5. api: Add CertificateProviderInstance to CommonTlsContext. (envoyproxy…

    …#12237)
    
    Signed-off-by: Mark D. Roth <roth@google.com>
    markdroth authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    79d7d4e View commit details
    Browse the repository at this point in the history
  6. ci: clear some CircleCI tech debts, collect more profile (envoyproxy#…

    …12270)
    
    Risk Level: Low
    
    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    64b3ac6 View commit details
    Browse the repository at this point in the history
  7. build:remove the separate c++14 flag (envoyproxy#12306)

    This PR is the final step in porting envoy to C++17. After this change, all envoy builds including envoy-mobile will be built in C++17 mode. See this for the PR that make envoy-mobile built in C++17 envoyproxy/envoy-mobile#964.
    
    Risk Level: low, as the master has been running with c++17 mode for almost two weeks now and envoy mobile is also building with C++17
    Testing: All existing tests have been passed.
    Docs Changes:
    Release Notes:
    
    Signed-off-by: Yifan Yang <needyyang@google.com>
    stedsome authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    d90083b View commit details
    Browse the repository at this point in the history
  8. zookeeper: note available latency stats in docs (envoyproxy#12261)

    This was missed in envoyproxy#7825.
    
    Risk Level: low
    Docs Change: docs only
    Release Notes: n/a
    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    41c9eb6 View commit details
    Browse the repository at this point in the history
  9. fix type in lua examples (envoyproxy#12301)

    Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
    ramaraochavali authored Jul 27, 2020
    Configuration menu
    Copy the full SHA
    8512122 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. update createStatSink to use ServerFactoryContext (envoyproxy#12309)

    Updated creatStatSink function to take in Server::Configuration::ServerFactoryContext as a parameter instead of Server::Instance.
    
    Risk Level: Low
    
    Signed-off-by: Aakash Shukla <aakashshukla@google.com>
    Aakash2017 authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    755dfe0 View commit details
    Browse the repository at this point in the history
  2. fuzz: fixing unsigned integer underflow (envoyproxy#12289)

    Signed-off-by: Yifan Yang <needyyang@google.com>
    stedsome authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    8f668e9 View commit details
    Browse the repository at this point in the history
  3. Replace std::unordered_map/set with absl containers (envoyproxy#11879)

    - Replace with absl::node_hash_map/set
      - Primarily for performance optimizations and to root out any
         assumptions made about iteration order in tests or otherwise (the
         replacement absl containers have a non-deterministic iteration
         order
      - absl::node_hash_map/set should be drop-in replacements for
         std::unordered_map/set
    - Note that a future refactor should reevaluate and move to
       absl::flat_hash_map/set where possible for memory optimizations
    - Add format check to disallow future usage of std::unordered_map/set
    - Small changes made where absl containers required it or tests needed
       to be modified for correctness
    
    Additional Description:
    - There may be an issue we should open with abseil about `emplace` and `try_emplace` when attempting to do in-place construction
      - When a constructor throws an exception, as far as I can tell the c++ language standard says the container should not be affected, however this does not seem to be the case for the absl containers so their guarantees are not the same (though they may be intended to have the same guarantees)
      - //test/server:overload_manager_impl_test demonstrates this
      - see abseil/abseil-cpp#388
    
    Risk Level: Low, absl::node_hash_map/set should be drop-in replacements for std::unordered_map/set though this may shake loose more assumptions in tests over time we weren't able to catch locally
    Testing: Small changes to unit tests, repeatedly run on Windows and Linux/clang
    Docs Changes: N/A
    Release Notes: N/A
    Fixes envoyproxy#11825
    
    Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
    Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
    sunjayBhatia and wrowe authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    cf2df8c View commit details
    Browse the repository at this point in the history
  4. hcm: introduce FilterManager (envoyproxy#12295)

    Moves all the filter handling into an inner class, in preparation for
    splitting the behavior out of the HCM. As an initial PR, this relies on
    delegating to the ActiveStream for basically all operations not directly
    related to the filters.
    
    This is a relatively minor refactor in that most of the FM logic just
    delegates back up to the ActiveStream. In subsequent PRs this logic will
    be migrated to the FM piece by piece, until the AS and the FM no longer
    are tightly coupled, at which point FM can be moved out into its own file.
    
    Risk Level: Medium
    Testing: Existing tests
    Docs Changes: n/a
    Release Notes: n/a
    Part of envoyproxy#10455
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    snowp authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    7cf3efa View commit details
    Browse the repository at this point in the history
  5. transport socket: Add proxy proto transport socket. (envoyproxy#11584)

    Commit Message: Add proxy proto transport socket
    
    Additional Description: This is the part 1 PR described in envoyproxy#10682. It adds the transports socket / unit tests, a transport socket options struct for the proxy proto header, and does a refactor to make the listener filter use the common proxy proto constants (potentially want to move these now since the proxy proto config api type is not in extensions?)
    
    Risk Level: Small
    Testing: Unit
    Docs Changes: None
    Release Notes: None
    Part Of: envoyproxy#1031
    
    Signed-off-by: Weston Carlson <wez470@gmail.com>
    Co-authored-by: Lizan Zhou <lizan@tetrate.io>
    wez470 and lizan authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    8972b47 View commit details
    Browse the repository at this point in the history
  6. test: Ignore grpc.primary_user_agent grpc library version in test tha…

    …t verifies parsing gRPC channel args from config. (envoyproxy#12318)
    
    Commit Message: test: Ignore grpc.primary_user_agent grpc library version in test that verifies parsing gRPC channel args from config.
    Additional Description:
    Risk Level: n/a test-only change
    Testing: n/a
    Docs Changes: n/a
    Release Notes: n/a
    
    Signed-off-by: Antonio Vicente <avd@google.com>
    antoniovicente authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    97d9829 View commit details
    Browse the repository at this point in the history
  7. fuzz: add unit tests to xDS verifier (envoyproxy#12246)

    Commit Message: Add unit tests to xDS verifier
    * add new file xds_verifier_test.cc with unit tests
    * add tests for main paths through verifier
    
    Signed-off-by: Sam Flattery <samflattery@google.com>
    samflattery authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    2e939b6 View commit details
    Browse the repository at this point in the history
  8. logging: fix delegating log sink races (envoyproxy#12298)

    This fixes two different issues:
    1) Previously there was no locking around log sink replacement,
       so it was possibles for a log sink to get removed by one
       thread while getting written to by another thread.
    2) Even with locking, the base class destructor pattern would
       do the swap after the derived class was destroyed, leading to
       undefined behavior.
    
    This was easy to reproduce in cx_limit_integration_test but is
    an issue anywhere the log expectations are used, or previously in the death test
    stderr workaround (EXPECT_DEATH_LOG_TO_STDERR) for coverage which has 
    been removed because coverage no longer logs to a file and instead logs to stderr
    like the rest of the tests.
    
    Fixes envoyproxy#11841
    
    Risk Level: Medium, code is a bit scary, though only really in tests
    Testing: Existing tests
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    dbbcc69 View commit details
    Browse the repository at this point in the history
  9. stats: Add additional constraints to histogram bucket configuration (e…

    …nvoyproxy#12312)
    
    This ensures that the configuration is valid.
    
    Note that this adds stricter validation to an existing proto field, but the field was only added 5 days ago, so only someone running HEAD, using this new config, with invalid/non-sensical config should be affected.
    
    Signed-off-by: Greg Greenway <ggreenway@apple.com>
    ggreenway authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    61c2816 View commit details
    Browse the repository at this point in the history
  10. Adds an env newLine helper function (envoyproxy#12290)

    Adds the helper function const std::string& TestEnvironment::newLine() in the test environment that can be used in test code for cross platform comparison of strings that contain new lines.
    
    Risk Level: low
    Testing: N/A
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: davinci26 <sotirisnan@gmail.com>
    Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
    davinci26 authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    7ef6878 View commit details
    Browse the repository at this point in the history
  11. test: regression testing handling of out of bounds response codes (en…

    …voyproxy#12329)
    
    Risk Level: n/a (test only)
    Testing: yes
    Docs Changes: no
    Release Notes: no
    
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    f958d39 View commit details
    Browse the repository at this point in the history
  12. docs: Fix refs in Lua docs (envoyproxy#12313)

    This is a docs only change, mostly on how to refer to LuaPerRoute info.
    
    Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
    dio authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    3dedf16 View commit details
    Browse the repository at this point in the history
  13. listener: add listener address in log (envoyproxy#12247)

    When Envoy rejects a listener because it has a listener with the same name on a different address, it just logs the new address. It would help to log the existing address also.
    
    Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
    ramaraochavali authored Jul 28, 2020
    Configuration menu
    Copy the full SHA
    6eb7e64 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2020

  1. upstream: per-upstream prefetching (envoyproxy#12135)

    Implementing per-upstream prefetching, useful for high QPS or latency-sensitive services.
    
    Risk Level: low (off by default)
    Testing: new unit tests, integration test
    Docs Changes: n/a
    Release Notes: not yet 
    
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    f6e90f2 View commit details
    Browse the repository at this point in the history
  2. test: fix PerWorkerStatsAndBalancingFlake (envoyproxy#12346)

    Risk Level: None
    Testing: Existing tests
    Docs Changes: N/A
    Release Notes: N/A
    Fixes envoyproxy#12325
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    8b157dd View commit details
    Browse the repository at this point in the history
  3. test: fix rbac flake (envoyproxy#12347)

    The write can see disconnect upon completion.
    
    Fixes envoyproxy#12294
    
    Risk Level: None
    Testing: Existing test
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    c04c605 View commit details
    Browse the repository at this point in the history
  4. router: add transport failure reason to response body (envoyproxy#12321)

    Commit Message:add transport failure reason to body
    Additional Description: Adds transport failure reason to response body . This is specially useful to detect tls related failures when the client does not use Envoy. Otherwise cert expiration related errors just come as connection failure and it takes some digging to figure out the reason.
    Risk Level: Low, but changes the existing response body.
    Testing: Updated
    Docs Changes: N/A
    Release Notes: Updated
    Runtime guard: yes
    
    Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
    ramaraochavali authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    be6bbcd View commit details
    Browse the repository at this point in the history
  5. Initialising variable which may be used in an uninitialised fashion i…

    …n getOriginalDst. (envoyproxy#12250)
    
    Fixed uninitialized memory in network utility  Utility::getOriginalDst
    Initializing variable which may be used in an uninitialized fashion as reported by the test case. 
    Using uninitialized memory can be a security issue, such as potentially leaking previous stack contents. By zero-initializing, we avoid such potential leaks.
    Running with the specific input case after this PR is applied no longer results in any error findings (credits: the input case was found using google/clusterfuzz).
    Note that this PR only avoids the uninitialized memory use identified in that bug, and is unaware of the functionality or semantics of the rest of the code. The project owners are welcome to suggest alternate fixes on this PR or address other behavioral concerns in a separate PR.
    
    Signed-off-by: Rui Maranhao <rui@computer.org>
    ruimaranhao authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    efd8ba9 View commit details
    Browse the repository at this point in the history
  6. xds: increment config_reload after workers receive TLS update (envoyp…

    …roxy#12342)
    
    Signed-off-by: Kuat Yessenov <kuat@google.com>
    kyessenov authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    0db1e3b View commit details
    Browse the repository at this point in the history
  7. retry: removing wkn (envoyproxy#12332)

    Commit Message: removing well known names file for host retry extensions
    Risk Level: n/a
    Testing: n/a
    Docs Changes: n/a
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    da93a05 View commit details
    Browse the repository at this point in the history
  8. zookeeper: convert ASSERT() into check (envoyproxy#12308)

    A malformed packet or buggy server could trigger the ASSERT(),
    so let's deal with it.
    
    Reported-by: @jianwen612
    
    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    6dabdb3 View commit details
    Browse the repository at this point in the history
  9. fuzz: cap stats utility_fuzz_test iterations (envoyproxy#12296)

    Commit Message: Limiting the number of a loop iterations in stats/utility_fuzz_test.
    Additional Description: This avoids test timeout when the input is large.
    
    Signed-off-by: Adi Suissa-Peleg <adip@google.com>
    adisuissa authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    929c03b View commit details
    Browse the repository at this point in the history
  10. Add upstream_local_address and upstream_transport_failure_reason fiel…

    …ds in cel filter extension (envoyproxy#12316)
    
    Commit Message: Add upstream_local_address and upstream_transport_failure_reason fields in cel filter extension
    Additional Description:
    Risk Level: Low
    Testing: Added unit test
    Docs Changes:
    Release Notes:
    
    Signed-off-by: gargnupur <gargnupur@google.com>
    gargnupur authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    c694e47 View commit details
    Browse the repository at this point in the history
  11. postgres: create metadata based on SQL query (envoyproxy#11620)

    Create metadata similar to MySQL based on SQL query sent by Postgres client. The metadata may be used by other filters like RBAC.
    
    Risk Level: Low. 
    Testing: Added unit tests.
    Docs Changes: Yes - updated Postgres section.
    Release Notes: Yes.
    
    Fixes envoyproxy#11065
    
    Signed-off-by: Christoph Pakulski <christoph@tetrate.io>
    cpakulski authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    7287fad View commit details
    Browse the repository at this point in the history
  12. logger: implement Fancy Logger with fine-grained log control (envoypr…

    …oxy#11822)
    
    Implement a new logger called Fancy Logger with fine-grained control, e.g. file, function and line level.
    
    Additional Description: Some new macros are defined for basic usage but not hooked with any existing log macros. API for the logger is still in progress.
    
    Risk Level: Low
    Testing: unit test & benchmark
    Docs Changes: None
    Release Notes: None
    
    Signed-off-by: Jinhui Song <jinhuisong@google.com>
    PrinceS17 authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    c1d116e View commit details
    Browse the repository at this point in the history
  13. Wasm upstreaming: required bazel/* support. (envoyproxy#12116)

    Merge in changes from envoyproxy/envoy-wasm in the bazel/ directory as part of upstreaming Wasm.
    Risk Level: Low
    Testing: Unit tests pass.
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: John Plevyak <jplevyak@gmail.com>
    jplevyak authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    7f6a716 View commit details
    Browse the repository at this point in the history
  14. extensions: Plumb ProtocolOptionsFactoryContext to the ProtocolOption…

    …sFactory (envoyproxy#12234)
    
    Commit Message:
    Plumb ProtocolOptionsFactoryContext to the ProtocolOptionsFactory
    Additional Description:
    We have a use-case of needing a timer in the context of protocol-options.
    Risk Level: Low, adding a field that is only used in extensions. and is no-op of existing extensions
    Testing: N/A
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
    yuval-k authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    bdd9741 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2020

  1. [http] Swap default to legacy codec with runtime override to new (no-…

    …op) (envoyproxy#12303)
    
    Swap default codec to legacy codec implementation while codec error handling is improved. Backport some non-backported changes.
    
    Signed-off-by: Asra Ali <asraa@google.com>
    asraa authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    4f8a9a7 View commit details
    Browse the repository at this point in the history
  2. header-to-metadata: add support for cookie to metadata (envoyproxy#12206

    )
    
    header-to-metadata filter supports adding a header's value to a metadata key which is later used for subset load balancing.
    
    This PR adds support for extracting a specific cookie value before it's added as metadata.
    
    Signed-off-by: Radha Kumari <rkumari@slack-corp.com>
    Radha13 authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    4dfa844 View commit details
    Browse the repository at this point in the history
  3. Enable envoy images build on Arm CI environments (envoyproxy#11813)

    In this patch, it will enable the envoyproxy/envoy arm image to build
    in community arm CI environments.
    1. Do some modifications in docker_ci.sh script for building arm images
       by buildx. It will firstly set up environments. Then use the buildx
       tool to build the envoyproxy/envoy arm images on x86 platform.
    2. Modify the docker build job for building multi-arch images.
       It will firstly download the arm64 and amd64 envoy binaries. Then
       invoke the docker_ci.sh scripts to generate images.
    
    Risk Level: Medium (of breaking images)
    Testing: CI
    Docs Changes: N/A
    Release Notes: Added
    Fixes envoyproxy#1861 
    
    Signed-off-by: Jingzhao.Ni <Jingzhao.Ni@arm.com>
    Jingzhao123 authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    9d70da7 View commit details
    Browse the repository at this point in the history
  4. tcp: fixing a bug in the new connection pool due to too many shared p…

    …ointers (envoyproxy#12366)
    
    The prior regression was due to variable shadowing.
    ActiveTcpClient::ActiveTcpClient sets real_host_description_ in the constructor. Here it set its own real_host_description_ where it was supposed to set the base class real_host_description_
    When onPoollFailure was called, it was called with the base class real_host_description_ (nullptr) So in the TCP filter
    read_callbacks_->upstreamHost(host); set a null pointer.
    and in void Filter::onUpstreamEvent read_callbacks_->upstreamHost()->outlierDetector().putResult( would segfault.
    
    Risk Level: n/a (flag disabled code)
    Testing: new regression test of upstream failure, unit test assert
    Docs Changes: n/a
    Release Notes: n/a
    
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    96cc820 View commit details
    Browse the repository at this point in the history
  5. tidy: fix main_common_test and signals_test (envoyproxy#12372)

    NOLINTNEXTLINE doesn't work well within macro expansion. Do it inline or disable with #if.
    
    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    f991d61 View commit details
    Browse the repository at this point in the history
  6. test: add optional timeouts to waiting for counters/gauges (envoyprox…

    …y#12251)
    
    Commit Message: Add timeouts to waiting for counters/gauges in integration tests
    add a default timeout of 0s which will not enable the timeout for the existing tests
    raise an assertionfailure if they timeout
    
    Signed-off-by: Sam Flattery <samflattery@google.com>
    samflattery authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    702f1fb View commit details
    Browse the repository at this point in the history
  7. lua: Expose SSL connection info (envoyproxy#12174)

    This patch adds Lua APIs to access SSL connection info of a connection.
    
    Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
    dio authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    68f7288 View commit details
    Browse the repository at this point in the history
  8. http: setting details for all HTTP/1.1 repsonse paths. (envoyproxy#12228

    )
    
    Setting response details on all HTTP/1.1 response paths, and adding an ASSERT invariant.
    This also fixes two timeout paths to use the new sendLocalReply functionality, so send response headers and body if possible.
    
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    360e080 View commit details
    Browse the repository at this point in the history
  9. reactive xds_fuzz_test (envoyproxy#12350)

    Commit Message: Reactive xds_fuzz_test after tsan fix
    passes locally with --config=clang-tsan --runs_per_test=1000 without tsan failures
    Signed-off-by: Sam Flattery <samflattery@google.com>
    samflattery authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    8c3338d View commit details
    Browse the repository at this point in the history
  10. Revert "Redis fault injection (envoyproxy#10784)" (envoyproxy#12371)

    This reverts commit 048583b.
    
    Signed-off-by: FAYiEKcbD0XFqF2QK2E4viAHg8rMm2VbjYKdjTg <nflacco@lyft.com>
    Configuration menu
    Copy the full SHA
    f521fc7 View commit details
    Browse the repository at this point in the history
  11. proto: workaround for ECDS to be included in api/BUILD (envoyproxy#12367

    )
    
    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    edd20e5 View commit details
    Browse the repository at this point in the history
  12. http: changing sendLocalReply args (envoyproxy#12333)

    dropping is_head_request as it can be inferred by the HCM.
    
    Annoyingly we now can't in all cases - I did tweaks to the HTTP/1.1 codec a few weeks back which make use of this for incomplete HTTP/1.1 headers. Given that behavior landed recently and it's only for responses failing mid-headers I'm going to see if folks think it's Ok to lose since it makes the API simpler for the other 90% of callers.
    
    Risk Level: low
    Testing: adjusted unit tests
    Docs Changes: n/a
    Release Notes: n/a
    
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    e219801 View commit details
    Browse the repository at this point in the history
  13. Fix clang-tidy errors in the LinkedObject::moveIntoList* methods (env…

    …oyproxy#12378)
    
    Fix clang-tidy errors in the LinkedObject::moveIntoList* methods
    Signed-off-by: Yan Avlasov <yavlasov@google.com>
    yanavlasov authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    9b07ee8 View commit details
    Browse the repository at this point in the history
  14. fix merge snafu (envoyproxy#12380)

    Signed-off-by: Asra Ali <asraa@google.com>
    asraa authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    9829e95 View commit details
    Browse the repository at this point in the history
  15. Upstream Wasm proto from envoy-wasm. (envoyproxy#12159)

    Description: Upstream Wasm proto files from envoy-wasm.
    Risk Level: Low
    Testing: Unit tests in envoy-wasm, integration tests in istio/proxy.
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: John Plevyak <jplevyak@gmail.com>
    jplevyak authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    26eaa2e View commit details
    Browse the repository at this point in the history
  16. aws_lambda: Increase code coverage in AWS Lambda filter (envoyproxy#1…

    …2368)
    
    Commit Message: Increase code coverage in AWS Lambda filter
    Additional Description: Removing unreachable/dead lines of code, remove aws_lambda from per_file_coverage.sh
    Risk Level: Low
    Testing: bazel test //test/extensions/filters/http/aws_lambda/...
    Docs Changes: N/A
    Release Notes: N/A
    Fixes envoyproxy#11989
    
    Signed-off-by: Nolan Varani <landesherr@users.noreply.github.com>
    landesherr authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    11669e4 View commit details
    Browse the repository at this point in the history
  17. header-to-metadata: rename on_header_present and on_header_missing f…

    …ields (envoyproxy#12385)
    
    Signed-off-by: Radha Kumari <rkumari@slack-corp.com>
    Radha13 authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    fd4e76f View commit details
    Browse the repository at this point in the history
  18. Update yaml-cpp with Windows build fixes (envoyproxy#12382)

    Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com>
    Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
    Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
    Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
    wrowe and sunjayBhatia authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    1423af5 View commit details
    Browse the repository at this point in the history
  19. Fix 4 test failures due to broken CRLF line handling (envoyproxy#12381)

    - test/test_common/environment.cc was reading config files for
      substitution in binary (preserving \r) and then writing the
      substituted resulting file in text (replacing \n with \r\n),
      ending up with \r\r\n line endings.
    
    - //test/common/runtime:runtime_impl_test now generates multiline
      strings on the fly to ensure line endings are treated in string
      as a binary blob
    
    Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com>
    Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
    Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
    Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
    wrowe and sunjayBhatia authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    0186a9f View commit details
    Browse the repository at this point in the history
  20. docs/comments: update v2 --> v3 references (envoyproxy#12365)

    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    ec34be8 View commit details
    Browse the repository at this point in the history
  21. Guard check that event_base_new initializes correctly (envoyproxy#12218)

    Signed-off-by: davinci26 <sotirisnan@gmail.com>
    davinci26 authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    fc7885c View commit details
    Browse the repository at this point in the history
  22. docs: add more docs on ARM images (envoyproxy#12390)

    Follow up to https://github.com/envoyproxy/envoy/pull/11813/files
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    c3d4552 View commit details
    Browse the repository at this point in the history
  23. Added random jitter option to watchdog kill_timeout. (envoyproxy#12386)

    Signed-off-by: Kevin Baichoo <kbaichoo@google.com>
    KBaichoo authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    97e3ff5 View commit details
    Browse the repository at this point in the history
  24. network: socket interface support for addresses (envoyproxy#12189)

    Signed-off-by: Florin Coras <fcoras@cisco.com>
    florincoras authored Jul 30, 2020
    Configuration menu
    Copy the full SHA
    f4adb59 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2020

  1. http2: remove exceptions from H/2 codec (envoyproxy#11575)

    Remove all throw statements from H/2 codec and replace error plumbing with Status and StatusOr objects.
    
    Signed-off-by: Yan Avlasov <yavlasov@google.com>
    yanavlasov authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    a2ebf09 View commit details
    Browse the repository at this point in the history
  2. hcm: introduce FilterManagerCallbacks, move buffers to FM (envoyproxy…

    …#12330)
    
    Introduces FilterManagerCallbacks which can be used by the FM to call
    back out with the encoded data. This interface will be expanded as more
    functionality is split between the ActiveStream and the FilterManager.
    
    Makes the majority of FM functions private, relying on befriending
    the filter wrappers and a more well defined interface for the ActiveStream
    to pass headers/data to be decoded by the FM.
    
    Moves the buffers and watermark handling into the FM.
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    snowp authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    4ad0327 View commit details
    Browse the repository at this point in the history
  3. logger: Change default log format (envoyproxy#11972)

    Change default log format and values of the corresponding compatibility flag as was previously stated in the 0.15 release's documentation.
    
    Signed-off-by: Ruslan Nigmatullin <elessar@dropbox.com>
    Ruslan Nigmatullin authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    98ad7e0 View commit details
    Browse the repository at this point in the history
  4. logging: add metadata access log filter (envoyproxy#12322)

    Adding a filter for access logs that will decide whether to log based on dynamic metadata.
    
    Signed-off-by: davidraskin <draskin@google.com>
    davidraskin authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    d7c7e9a View commit details
    Browse the repository at this point in the history
  5. caching: Handling of Pragma:no-cache when Cache-Control header is mis…

    …sing (envoyproxy#12396)
    
    If a request lacks a Cache-Control header, but has a Pragma header with a no-cache directive, treat it as if it was Cache-Control: no-cache.
    
    Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
    yosrym93 authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    25d159a View commit details
    Browse the repository at this point in the history
  6. buffer: Improve Buffer::OwnedImpl::linearize implementation (envoypro…

    …xy#12162)
    
    Change the Buffer::OwnedImpl::linearize implementation so it only moves the requested number of bytes to the a flat buffer slice at the beginning of the buffer. Linearizing beyond the requested size can result in the excess bytes needing to be copied again as part of the next linearize call if the buffer ends up with more than 1 buffer slice when the linearize operation completes. Typical usage of linearize involves flattening the first 16kb in a buffer in a loop to construct inputs appropriate to SSL_write; the original implementation ended up copying an extra 4032 bytes when linearizing a 16KB block.
    
    Signed-off-by: Antonio Vicente <avd@google.com>
    antoniovicente authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    c3814e5 View commit details
    Browse the repository at this point in the history
  7. [http] bugfix where error details are overridden (envoyproxy#12353)

    nghttp2 will continue to do some frame processing on the same stream even if an error is detected that should trigger a stream close. This causes setDetails to be called twice, and override the error details in release mode (crash in debug mode)
    
    Signed-off-by: Asra Ali <asraa@google.com>
    asraa authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    153d225 View commit details
    Browse the repository at this point in the history
  8. [fuzz]improved the filtername handle in network_readfilter_fuzz_test (e…

    …nvoyproxy#12399)
    
    The previous version works fine in the current version of Envoy.
    But if a customized version Envoy (without some network-level filters) run this fuzz test, an error may occur because they can't be found in factory.
    Improved the handle for filter names by getting the intersection of supported_filter_names and filter names in factory. The intersection will only be calculated once since it is static.
    Signed-off-by: jianwen <jianwendong@google.com>
    jianwen612 authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    7390add View commit details
    Browse the repository at this point in the history
  9. V2 TO V3 fragment changes for extension and server directory under te…

    …st/.. (envoyproxy#12058)
    
    Commit Message: v2 to v3 fragment changes for extension and server directory test cases.
    Risk Level: Low
    Testing: unit and format
    Fixes envoyproxy#10843
    
    Signed-off-by: Abhay Narayan Katare <abhay.katare@india.nec.com>
    ankatare authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    ae0c311 View commit details
    Browse the repository at this point in the history
  10. aws_iam: Increase code coverage for AWS IAM credential provider (envo…

    …yproxy#12394)
    
    Increase code coverage for AWS IAM credential provider
    
    Signed-off-by: Nolan Varani <landesherr@users.noreply.github.com>
    landesherr authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    ebe1ed1 View commit details
    Browse the repository at this point in the history
  11. docs: fix formatting for --ignore-unknown-dynamic-fields (envoyproxy#…

    …12418)
    
    Signed-off-by: Phil Genera <pgenera@google.com>
    pgenera authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    fa5d0dc View commit details
    Browse the repository at this point in the history
  12. Do not attempt to read the value of the "envoy.reloadable_features.ac…

    …tivate_fds_next_event_loop" runtime feature before Runtime::LoaderSingleton is initialized. (envoyproxy#12415)
    
    Signed-off-by: Antonio Vicente <avd@google.com>
    antoniovicente authored Jul 31, 2020
    Configuration menu
    Copy the full SHA
    16cdc5d View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2020

  1. ci: fix adding extra params for CircleCI. (envoyproxy#12400)

    Signed-off-by: Piotr Sikora <piotrsikora@google.com>
    PiotrSikora authored Aug 1, 2020
    Configuration menu
    Copy the full SHA
    b029240 View commit details
    Browse the repository at this point in the history
  2. build: fix main branch merge issue (envoyproxy#12422)

    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Aug 1, 2020
    Configuration menu
    Copy the full SHA
    c625cb3 View commit details
    Browse the repository at this point in the history
  3. build: marking extensions as extension-only visible by default (envoy…

    …proxy#12337)
    
    Risk Level: medium (of build breakage)
    Testing: n/a
    Docs Changes: n/a
    Release Notes: n/a
    Part of envoyproxy#9953
    
    Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
    alyssawilk authored Aug 1, 2020
    Configuration menu
    Copy the full SHA
    da403fa View commit details
    Browse the repository at this point in the history
  4. docs: Fix broken YAML in cluster circuit breaker configuration example (

    envoyproxy#12357)
    
    Signed-off-by: ujihisa <ujihisa@users.noreply.github.com>
    ujihisa authored Aug 1, 2020
    Configuration menu
    Copy the full SHA
    4f85591 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2020

  1. [test] fix flag in codec test new/legacy (envoyproxy#12412)

    Commit Message: fix runtime flag override in tests. There was a mistake that codec_impl_test for H/2 tested legacy and codec_impl_legacy_test tested new codec. Swap back so codec tests new, legacy tests legacy.
    Risk Level: Low
    Signed-off-by: Asra Ali <asraa@google.com>
    asraa authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    e44dd09 View commit details
    Browse the repository at this point in the history
  2. examples: copy configs into example images (envoyproxy#12256)

    Signed-off-by: Ryan Northey <ryan@synca.io>
    phlax authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    eec0e7e View commit details
    Browse the repository at this point in the history
  3. listener: add additional debug context for filter chain errors (envoy…

    …proxy#12405)
    
    Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
    ramaraochavali authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    9e2da91 View commit details
    Browse the repository at this point in the history
  4. rds: add route name to validation errors (envoyproxy#12404)

    When route validation error happens, the error does not contain the route name, making it difficult to identify problem if there are many routes.
    
    Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
    ramaraochavali authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    045c7c1 View commit details
    Browse the repository at this point in the history
  5. lint: add guards to prevent the use of std::any/optional/variant (env…

    …oyproxy#12421)
    
    Per the discussion on envoyproxy#12341, use of these standard library functions are temporarily banned to prevent runtime failure when running in iOS11.
    
    Signed-off-by: Yifan Yang <needyyang@google.com>
    stedsome authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    a278ff3 View commit details
    Browse the repository at this point in the history
  6. test: use TestEnvironment::nullDevicePath instead of /dev/null/ (envo…

    …yproxy#12172)
    
    Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
    Sotiris Nanopoulos authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    e13b690 View commit details
    Browse the repository at this point in the history
  7. compdb: use aspects generated header files (envoyproxy#12426)

    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    7b8ab2d View commit details
    Browse the repository at this point in the history
  8. cleanup: replacing .first/.second with meaningful names [envoy/includ…

    …e and miscellanies in envoy/source/common] (envoyproxy#12359)
    
    Since c++17 is supported now in Envoy, we can concisely replace the uninformative .first/.second variables with better names to improve readability.
    
    Signed-off-by: Yifan Yang <needyyang@google.com>
    stedsome authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    f4e3183 View commit details
    Browse the repository at this point in the history
  9. CacheFilter: add parsing of range requests (envoyproxy#11943)

    Tackles the first part of issue envoyproxy#10132 (parsing range requests). Added a function getRequestRanges to parse ranges from requests' headers into LookupRequest. This allows the creation of appropriate ranges for the LookupResult object, which will have the corresponding bytes for the content of the response. In turn, this will allow the extension of the function CacheFilter::onHeaders to provide only the requested range(s) of content.
    
    Signed-off-by: Caio <caiomelo@google.com>
    Co-authored-by: Josiah Kiehl <kiehl@google.com>
    cbdm and capoferro authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    fedf4a0 View commit details
    Browse the repository at this point in the history
  10. thrift_proxy: Fix potential assert failure when input contains invali…

    …d characters (envoyproxy#12362)
    
    An assert failure will occur when `config.route_config.route.cluster_header` contains invalid characters for the HTTP header. Added validation for this field to avoid assert failure and a regression test case in the unit test.
    
    ```
    [assert] [bazel-out/k8-fastbuild/bin/include/envoy/http/_virtual_includes/header_map_interface/envoy/http/header_map.h:54] assert failure: valid().
    ```
    
    Risk Level: Low
    Testing: Added a regression test case
    Fixes envoyproxy#12361
    
    Signed-off-by: jianwen <jianwendong@google.com>
    jianwen612 authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    71e9049 View commit details
    Browse the repository at this point in the history
  11. test: fix TCP tunneling flake (envoyproxy#12446)

    We can't full close the connection before we are done.
    
    Fixes envoyproxy#12398
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    1e113e3 View commit details
    Browse the repository at this point in the history
  12. test: de-flake TimerImpl tests by advancing libevent's monotonic cloc…

    …k instead of just sleeping. (envoyproxy#12424)
    
    Use of absl::Sleep wasn't enough because time could move backwards between either timer registration and absl::SleepFor, or absl::SleepFor and Dispatcher::run. Updating libevent time cache until the returned monotonic time exceeds the desired duration eliminates the possibility of flakiness due to time moving backwards.
    
    Signed-off-by: Antonio Vicente <avd@google.com>
    antoniovicente authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    ea9fecb View commit details
    Browse the repository at this point in the history
  13. hcm: move ownership of headers/trailers into FM (envoyproxy#12406)

    * hcm: introduce FilterManagerCallbacks, improve FM interface
    
    Introduces FilterManagerCallbacks which can be used by the FM to call
    back out with the encoded data. This interface will be expanded as more
    functionalitiy is split between the ActiveStream and the FilterManager.
    
    Also makes the majority of FM functions private, relying on befriending
    the filter wrappers and a more well defined interface for the ActiveStream
    to pass headers/data to be decoded by the FM.
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * add buffers + watermarks to callback interface
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * fix merge conflicts
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * format
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * renames, comments
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * more comments, move buffer_limit to ctor
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * format + comments
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * hcm: change ownership of headers from ActiveStream to FilterManager
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * cleanup
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * format
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * revert signature
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * format
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * fix test
    
    Signed-off-by: Snow Pettersen <kpettersen@netflix.com>
    
    * add todo
    
    Signed-off-by: Snow Pettersen <aickck@gmail.com>
    
    Co-authored-by: Snow Pettersen <kpettersen@netflix.com>
    snowp and Snow Pettersen authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    5fb236b View commit details
    Browse the repository at this point in the history
  14. test: fix http2_integration_test flake (envoyproxy#12450)

    Fixes envoyproxy#12442
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    1306042 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2020

  1. compdb: treat envoy headers as c++17 (envoyproxy#12449)

    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    ecda2d4 View commit details
    Browse the repository at this point in the history
  2. test: add using-declarations to call sites currently invoking ADL (en…

    …voyproxy#12438)
    
    The namespace for some actions is changing. This will break these call sites invoking testing::DoAll via ADL unless we add using-declarations or fully-qualify them, as the testing namespace will no longer be a candidate.
    
    Signed-off-by: Ashley Hedberg <ahedberg@google.com>
    ahedberg authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    d58bdcf View commit details
    Browse the repository at this point in the history
  3. Make extensions public visible (envoyproxy#12451)

    Workaround for envoyproxy#12444, while we figure out a permanent solution.
    
    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    bc6042a View commit details
    Browse the repository at this point in the history
  4. test: Set test directory to be writable before writing into it (envoy…

    …proxy#12428)
    
    Move chmod permissions for writing to new directory before executing printfs to verify text value treatment in the subdirectory.
    
    Risk Level: Low
    Testing: bazel test //test/common/runtime:runtime_impl_test
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Matt Tierney <tierney@google.com>
    tierney authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    235ffdc View commit details
    Browse the repository at this point in the history
  5. [Rocketmq_proxy] fix assert failure on invalid buffer (envoyproxy#12344)

    Replace a faulty assert by an if-block to check the validity of the input to make the filter more robust against invalid data (instead of a crash or integer underflow).
    * added regression test and fix for the assert failure
    
    Signed-off-by: jianwen <jianwendong@google.com>
    jianwen612 authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    2a6a4b8 View commit details
    Browse the repository at this point in the history
  6. watermark_buffer_test: Break up contiguous memory allocation to avoid…

    … bad alloc exception (envoyproxy#12417)
    
    Running this test in CI on Windows we have seen bad alloc exceptions, to
    combat this and reduce memory overhead, break up large string allocation
    into smaller segments.
    
    Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
    Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com>
    sunjayBhatia authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    ff59e9a View commit details
    Browse the repository at this point in the history
  7. pass through filter: make it public visible (envoyproxy#12463)

    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    5adfc81 View commit details
    Browse the repository at this point in the history
  8. arm: enable hotrestart (envoyproxy#12447)

    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    e8aab1b View commit details
    Browse the repository at this point in the history
  9. Fix ambiguous duration units and add format check (envoyproxy#12225)

    - ambiguous value-based std::chrono::{clock_type}::duration(value) constructors
      result in stdlib implementation specific default time units which are
      hard to read and potentially different on different platforms
    - this change removes any instances of these ambiguous constructions and adds
      a format check to prevent them; developers should specify an explicit unit of time
    - we explicitly saw this issue in envoyproxy#11915 where
      the assumed duration unit was different on Windows, causing test failures
    
    Additional Description:
    Risk Level: Low
    Testing: Adds format check test and adjust existing unit tests
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
    Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
    sunjayBhatia and wrowe authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    0b1cf9d View commit details
    Browse the repository at this point in the history
  10. envoy grpc: overridable host (envoyproxy#12338)

    Add authority field in envoy grpc message to override the default host name as cluster name.
    
    Risk Level: Low
    Testing:
    Docs Changes:
    Release Notes:
    Fix envoyproxy#12116 
    
    Signed-off-by: Yuchen Dai <silentdai@gmail.com>
    lambdai authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    29b4927 View commit details
    Browse the repository at this point in the history
  11. rocketmq: small grammar fix (envoyproxy#12467)

    Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
    Raúl Gutiérrez Segalés authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    1a63376 View commit details
    Browse the repository at this point in the history
  12. test: fix Response204WithBody flake (envoyproxy#12473)

    Fixes envoyproxy#12459
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    4c9a177 View commit details
    Browse the repository at this point in the history
  13. tidy: allow run clang_tidy with file (envoyproxy#12472)

    Refactor `ci/clang_tidy.sh` and `ci/do_ci.sh` to allow run clang-tidy for specified source file. Make running clang_tidy with build container or within devcontainer easier.
    
    Risk Level: Low
    Testing: Local, CI
    Docs Changes: Yes
    Release Notes: N/A
    
    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    544a414 View commit details
    Browse the repository at this point in the history
  14. Point runtime overrides doc at correct file (envoyproxy#12474)

    The list of enabled runtime flags is in runtime_features.cc, not runtime_features.h
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    8b6abe6 View commit details
    Browse the repository at this point in the history
  15. bugfix: check_format script, tokenInLine helper function (envoyproxy#…

    …12441)
    
    Signed-off-by: Yifan Yang <needyyang@google.com>
    stedsome authored Aug 4, 2020
    Configuration menu
    Copy the full SHA
    598e76a View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2020

  1. extensions: add a couple static registration macros (envoyproxy#12478)

    Commit Message: add a couple static registration macros
    Additional Description: needed for registration in static library environments.
    Risk Level: low
    Testing: local
    
    Signed-off-by: Jose Nino <jnino@lyft.com>
    junr03 authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    8d3902a View commit details
    Browse the repository at this point in the history
  2. tidy: use libstdc++ (envoyproxy#12481)

    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    800d342 View commit details
    Browse the repository at this point in the history
  3. test: shard hds_integration_test (envoyproxy#12482)

    This should avoid TSAN timeout flakes.
    
    Signed-off-by: Matt Klein <mklein@lyft.com>
    mattklein123 authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    7f8b4af View commit details
    Browse the repository at this point in the history
  4. gRPC-Web: Fix failing HTTP/2 requests on some browsers due to empty t…

    …railers (envoyproxy#12178)
    
    This adds `envoy.reloadable_features.skip_encoding_empty_trailers` runtime feature flag (enabled by default) to skip encoding empty trailers in H2 codec. This behavior can be reverted temporarily by setting runtime feature `envoy.reloadable_features.skip_encoding_empty_trailers` to false.
    
    Before this commit, seeing empty trailers of gRPC-Web filter response, codec submits:
    
    ```
    [  5.036] recv DATA frame <length=28, flags=0x00, stream_id=13>
    [  5.040] recv DATA frame <length=52, flags=0x00, stream_id=13>
    [  5.053] recv HEADERS frame <length=0, flags=0x05, stream_id=13>
              ; END_STREAM | END_HEADERS
    ```
    
    After:
    
    ```
    [  5.036] recv DATA frame <length=28, flags=0x00, stream_id=13>
    [  5.040] recv DATA frame <length=52, flags=0x00, stream_id=13>
    [  5.052] recv DATA frame <length=0, flags=0x01, stream_id=13>
              ; END_STREAM
    ```
    
    Risk Level: Low
    Testing: Unit, integration tests.
    Docs Changes: N/A.
    Release Notes: Added
    Fixes envoyproxy#10514
    
    Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
    dio authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    7d03b62 View commit details
    Browse the repository at this point in the history
  5. Add support for X-RateLimit-* headers in ratelimit filter (envoyproxy…

    …#12410)
    
    Adds support for X-RateLimit-* headers described in the draft RFC. The X-RateLimit-Limit header contains the quota-policy per RFC. The descriptor name is included in the quota policy under the name key. X-RateLimit-Reset header is emitted, but it would need a followup in the ratelimit service, which I will do once this is merged.
    
    Signed-off-by: Petr Pchelko <ppchelko@wikimedia.org>
    Pchelolo authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    9f40563 View commit details
    Browse the repository at this point in the history
  6. decompressor filter: advertise accept-encoding on headers-only reques…

    …ts (envoyproxy#12483)
    
    We noticed that certain headers-only requests were not having their respective responses be compressed. Ultimately the problem was that the decompressor filter was not advertising accept-encoding for headers-only requests. This PR advertises (when configured to do so and response decompression is active) even on headers-only requests.
    
    Signed-off-by: Jose Nino <jnino@lyft.com>
    junr03 authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    c2b0d37 View commit details
    Browse the repository at this point in the history
  7. Switch RateLimit headers spec version to latest (envoyproxy#12493)

    Followup for a new feature introduced by envoyproxy#12410 Apologies for not noticing that a later draft was introduced recently. I think we should start with supporting the latest available spec draft, so update version 2 to version 3. The change is technically backwards-incompatible, but the new feature was introduced one day ago, nobody could have been so fast to depend on it.
    
    Signed-off-by: Petr Pchelko <ppchelko@wikimedia.org>
    Pchelolo authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    8452f4b View commit details
    Browse the repository at this point in the history
  8. hcm: move StreamInfo and filter creation into FM (envoyproxy#12470)

    Moves the ownership of the StreamInfoImpl into the FilterManager, exposed via an accessor to allow the ActiveStream to
    still modify/read the StreamInfo.
    
    Moves the interaction with the FilterChainFactory into the FilterManager, as well as ownership over the access logs created
    via the factory callbacks.
    
    Signed-off-by: Snow Pettersen <aickck@gmail.com>
    snowp authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    014a255 View commit details
    Browse the repository at this point in the history
  9. build: bazelrc cleanup (envoyproxy#12487)

    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    904cc6b View commit details
    Browse the repository at this point in the history
  10. test: Enable various common network tests on windows (envoyproxy#12503)

    This patch enables the following tests on Windows:
    
    1. //test/common/http:codec_client_test
    2. //test/common/network:listener_impl_test
    3. //test/common/network:connection_impl_test
    
    To do so we swap the addresses to use `getCanonicalLoopbackAddress` instead of `getAnyAddress` and we add synchronization in `ConnectionImplTest.ReadWatermarks` tests.
    
    Additional Description: N/A
    Risk Level: Low, test only
    Testing: Updated unit tests
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
    Sotiris Nanopoulos authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    dbc0286 View commit details
    Browse the repository at this point in the history
  11. test: Fix watcher_impl_test on Windows (envoyproxy#12496)

    - Tests that used a non-blocking libevent event loop are flaky on
       Windows (and would be flaky on other platforms if event notifications
       routinely took longer to be propagated) since the event loop could exit
       before an event notification. Switching to use a blocking event loop
       prevents early exit before filesystem events are evaluated.
    - Skip SymlinkAtomicRename test as Windows does not have an atomic file
       move API that can move a directory/symlink where the new name is a non-empty
       existing directory/symlink (MoveFileEx can atomically replace a file
       with a file, however).
    
    Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
    Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com>
    Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
    sunjayBhatia and wrowe authored Aug 5, 2020
    Configuration menu
    Copy the full SHA
    0cb1e86 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2020

  1. xds: keep a reference to old config in the filter config provider (en…

    …voyproxy#12479)
    
    Some filter factories allocate TLS slots shared via shared pointers. On a filter config update, the last filter factory reference happens to be deleted on a worker thread, which causes a runtime failure since TLS slots must be deleted on the main thread. The solution is to prolong the life of the filter factory using main thread completion callback.
    
    Signed-off-by: Kuat Yessenov <kuat@google.com>
    kyessenov authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    df7c167 View commit details
    Browse the repository at this point in the history
  2. tidy: fix clang-diagnostic-errors (envoyproxy#12507)

    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    baa1417 View commit details
    Browse the repository at this point in the history
  3. tidy: fix auto fixable errors (envoyproxy#12514)

    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    14dae57 View commit details
    Browse the repository at this point in the history
  4. udp: prevent crashing the envoy if udpListener is empty (envoyproxy#1…

    …1914)
    
    This change delete the read filter before udp listener deletion.
    
    Signed-off-by: DongRyeol Cha <dr83.cha@samsung.com>
    DongRyeol Cha authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    8a7ba1f View commit details
    Browse the repository at this point in the history
  5. build: fix several use of unintialized value detect by MSAN (envoypro…

    …xy#12506)
    
    Signed-off-by: Lizan Zhou <lizan@tetrate.io>
    lizan authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    6a71f16 View commit details
    Browse the repository at this point in the history
  6. dispatcher: Run zero-delay timeout timers on the next iteration of th…

    …e event loop (envoyproxy#11823)
    
    Processing 0-delay timers in the same loop they are generated can result in long timer callback chains which could starve other operations in the event loop or even result in infinite processing loops. Cases that required same-iteration scheduling behavior for 0-delay timers were refactored to use SchedulableCallback::scheduleCallbackCurrentIteration in envoyproxy#11663, so behavior changes due to this change should be relatively minor.
    
    Signed-off-by: Antonio Vicente <avd@google.com>
    antoniovicente authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    432ee80 View commit details
    Browse the repository at this point in the history
  7. [test] Fix flag swap for integration tests and lint for exceptions in…

    … new H/2 codec (envoyproxy#12471)
    
    When legacy codecs were swapped to be the default, the test flag to flip wasn't swapped. This swaps so that compile time options or (--define use_new_codecs_in_integration_tests=true) will run integration tests with new codecs, default legacy.
    
    Make linter for H/2 codec so no one reintroduces a throw. Added testing
    
    Signed-off-by: Asra Ali <asraa@google.com>
    asraa authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    4c45034 View commit details
    Browse the repository at this point in the history
  8. [fuzz] Covered another 8 filters in network-level ReadFilter generic …

    …fuzzer (envoyproxy#12464)
    
    Added coverage for 8 additional filters in WriteFilter generic fuzzer:
    Added thrift filters into envoy_all_network_filters so that thrift filters can be loaded when we load thrift_proxy filter. Or otherwise thrift filters cannot be found in the thrift filter factory.
    
    Signed-off-by: jianwen <jianwendong@google.com>
    jianwen612 authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    c90d485 View commit details
    Browse the repository at this point in the history
  9. Code Optimization (envoyproxy#12512)

    1. Reduce code repetition:
        * In 'admin.cc': There are many times of  ```get()``` from ```absl::optional``` for the same value. Similar for ```host->address()->asString()```. So I merged them together to avoid multiple calls for the same value.
    
        *  Similar problem inside "connection_handler_impl.cc"
    2. Adopt pair binding feature in C++ 17. 
    
    Risk Level: Low
    
    Signed-off-by: pingsun <pingsun@google.com>
    ping-sun authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    b7e47bd View commit details
    Browse the repository at this point in the history
  10. hcm: split ActiveStream::State into AS and FM state (envoyproxy#12518)

    Splits the State object into two, one for the ActiveStream and one for the FilterManager. To better split the responsibility, introduce new functions on the FM and on the FM callbacks, cleaning up a few TODOs on the way.
    
    Signed-off-by: Snow Pettersen <aickck@gmail.com>
    snowp authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    0422f64 View commit details
    Browse the repository at this point in the history
  11. event: bump libevent version to the latest (envoyproxy#12423)

    On Windows, configure event-base to use wepoll backend instead of the default win32 backend.
    
    Risk Level: Low
    Testing: CI
    Docs Changes: N/A
    Release Notes: N/A
    
    Signed-off-by: Nick Grifka <nigri@microsoft.com>
    nigriMSFT authored Aug 6, 2020
    Configuration menu
    Copy the full SHA
    8e34f9e View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2020

  1. signal: Add hooks for calling fatal error handlers from non-envoy sig…

    …nal handlers (envoyproxy#12062)
    
    Add hooks for calling fatal error handlers from non-Envoy signal handlers. Move register/removeFatalErrorHandler from SignalAction into a new FatalErrorHandler namespace, and add a new function, callFatalErrorHandlers, which runs the registered error handlers. This makes the crash logging from issue envoyproxy#7300 available for builds that don't use ENVOY_HANDLE_SIGNALS, as long as they do use ENVOY_OBJECT_TRACE_ON_DUMP.
    
    Risk Level: Low
    Testing: bazel test //test/...
    Docs Changes: N/A
    Release Notes: Added
    Fixes envoyproxy#11984 
    
    Signed-off-by: Michael Behr <mkbehr@google.com>
    mkbehr authored Aug 7, 2020
    Configuration menu
    Copy the full SHA
    7c92028 View commit details
    Browse the repository at this point in the history
  2. build: Update ICU and googleurl (envoyproxy#12376)

    This patch updates ICU to 67.1 and googleurl to https://quiche.googlesource.com/googleurl/+/ef0d23689e240e6c8de4c3a5296b209128c87373. This reduces `bazel/external/googleurl.patch` to only handling MSVC quirks.
    
    Please note that googleurl direction for Windows is to use clang-cl, while we still use msvc-cl (hence the patch). 
    
    Risk Level: Low
    Testing: Existing
    Docs Changes: N/A
    Release Notes: N/A
    Fixes envoyproxy#12015 
    
    Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
    dio authored Aug 7, 2020
    Configuration menu
    Copy the full SHA
    c9c4709 View commit details
    Browse the repository at this point in the history
  3. Use pyyaml safe_load (envoyproxy#12534)

    Risk Level: medium without being fixed
    Testing: rebuilding docs has been tested with the change to the protodoc compiler
    Docs Changes: n/a
    Release Notes:
    Fixes envoyproxy#12533
    
    Signed-off-by: Ryan Northey <ryan@synca.io>
    phlax authored Aug 7, 2020
    Configuration menu
    Copy the full SHA
    1e8c0fc View commit details
    Browse the repository at this point in the history
  4. caching: Validate stale cache entries and update cached headers (envo…

    …yproxy#12232)
    
    When a stale cache hit is found for a request, conditional headers are injected to the request for validation. If the a 304 response is received (not modified), a response is constructed from cache, and cached headers are updated. If a request already includes conditional headers it bypasses the CacheFilter, this is valid behavior and satisfies the minimum of envoyproxy#9855 for production -- however, it can lead to missed caching opportunities.
     
    Risk Level: Low
    Testing: Integration tests
    Docs Changes: N/A
    Release Notes: N/A
    Fixes envoyproxy#9976
    
    Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
    yosrym93 authored Aug 7, 2020
    Configuration menu
    Copy the full SHA
    f809fbd View commit details
    Browse the repository at this point in the history
  5. merge

    Signed-off-by: chaoqinli <chaoqinli@google.com>
    chaoqinli committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    ef08270 View commit details
    Browse the repository at this point in the history