From 29ddb0c0b74a7e3ee5428917aadd4ae50afa7e9e Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Thu, 19 Nov 2020 16:15:12 -0800 Subject: [PATCH 1/2] Run GitHub Actions on istio-release/** branches. (#102) (#104) Signed-off-by: Piotr Sikora --- .github/workflows/cpp.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index dfd30a1a5..59713c0a8 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -20,11 +20,13 @@ on: branches: - master - 'envoy-release/**' + - 'istio-release/**' push: branches: - master - 'envoy-release/**' + - 'istio-release/**' jobs: From a044a3a5bec75ce57c12d9e2b0e95e2a14f9f944 Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Thu, 19 Nov 2020 16:17:16 -0800 Subject: [PATCH 2/2] Always process HTTP headers before processing HTTP body. (#95) (#103) Signed-off-by: Piotr Sikora --- src/context.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/context.cc b/src/context.cc index 89daa97a4..c33027e1e 100644 --- a/src/context.cc +++ b/src/context.cc @@ -629,6 +629,12 @@ FilterHeadersStatus ContextBase::convertVmCallResultToFilterHeadersStatus(uint64 result > static_cast(FilterHeadersStatus::StopAllIterationAndWatermark)) { return FilterHeadersStatus::StopAllIterationAndWatermark; } + if (result == static_cast(FilterHeadersStatus::StopIteration)) { + // Always convert StopIteration (pause processing headers, but continue processing body) + // to StopAllIterationAndWatermark (pause all processing), since the former breaks all + // assumptions about HTTP processing. + return FilterHeadersStatus::StopAllIterationAndWatermark; + } return static_cast(result); }