diff --git a/bazel/README.md b/bazel/README.md index c5de71c7a44e7..24a289e5f7668 100644 --- a/bazel/README.md +++ b/bazel/README.md @@ -54,7 +54,7 @@ Envoy compiles and passes tests with the version of clang installed by XCode 8.3 Apple LLVM version 8.1.0 (clang-802.0.42). 3. Install Golang on your machine. This is required as part of building [BoringSSL](https://boringssl.googlesource.com/boringssl/+/HEAD/BUILDING.md) -and also for [Buildifer](https://github.com/bazelbuild/buildtools) which is used for formatting bazel BUILD files. +and also for [Buildifer](https://github.com/bazelbuild/buildtools) which is used for formatting bazel BUILD files. 4. `go get github.com/bazelbuild/buildtools/buildifier` to install buildifier 5. `bazel fetch //source/...` to fetch and build all external dependencies. This may take some time. 6. `bazel build //source/exe:envoy-static` from the Envoy source directory. diff --git a/source/common/filter/ext_authz.cc b/source/common/filter/ext_authz.cc index 117e9d7a03ff9..b89aab224158b 100644 --- a/source/common/filter/ext_authz.cc +++ b/source/common/filter/ext_authz.cc @@ -30,7 +30,7 @@ void Instance::callCheck() { calling_check_ = false; } -Network::FilterStatus Instance::onData(Buffer::Instance&) { +Network::FilterStatus Instance::onData(Buffer::Instance&, bool /* end_stream */) { if (status_ == Status::NotStarted) { // By waiting to invoke the check at onData() the call to authorization service will have // sufficient information to fillout the checkRequest_. diff --git a/source/common/filter/ext_authz.h b/source/common/filter/ext_authz.h index dad3096876d87..b5d319a74c671 100644 --- a/source/common/filter/ext_authz.h +++ b/source/common/filter/ext_authz.h @@ -75,7 +75,7 @@ class Instance : public Network::ReadFilter, ~Instance() {} // Network::ReadFilter - Network::FilterStatus onData(Buffer::Instance& data) override; + Network::FilterStatus onData(Buffer::Instance& data, bool end_stream) override; Network::FilterStatus onNewConnection() override; void initializeReadFilterCallbacks(Network::ReadFilterCallbacks& callbacks) override { filter_callbacks_ = &callbacks; diff --git a/test/common/filter/ext_authz_test.cc b/test/common/filter/ext_authz_test.cc index 8484cbffd890b..d04b38dc3ae78 100644 --- a/test/common/filter/ext_authz_test.cc +++ b/test/common/filter/ext_authz_test.cc @@ -104,7 +104,7 @@ TEST_F(ExtAuthzFilterTest, OKWithOnData) { EXPECT_EQ(0U, stats_store_.counter("ext_authz.name.total").value()); EXPECT_EQ(0U, stats_store_.gauge("ext_authz.name.active").value()); Buffer::OwnedImpl data("hello"); - EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data, false)); // Confirm that the invocation of onData does increment the active and total count! EXPECT_EQ(1U, stats_store_.counter("ext_authz.name.total").value()); EXPECT_EQ(1U, stats_store_.gauge("ext_authz.name.active").value()); @@ -112,7 +112,7 @@ TEST_F(ExtAuthzFilterTest, OKWithOnData) { EXPECT_CALL(filter_callbacks_, continueReading()); request_callbacks_->onComplete(CheckStatus::OK); - EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data, false)); EXPECT_CALL(*client_, cancel()).Times(0); filter_callbacks_.connection_.raiseEvent(Network::ConnectionEvent::LocalClose); @@ -138,7 +138,7 @@ TEST_F(ExtAuthzFilterTest, DeniedWithOnData) { EXPECT_EQ(0U, stats_store_.counter("ext_authz.name.total").value()); EXPECT_EQ(0U, stats_store_.gauge("ext_authz.name.active").value()); Buffer::OwnedImpl data("hello"); - EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data, false)); // Confirm that the invocation of onData does increment the active and total count! EXPECT_EQ(1U, stats_store_.counter("ext_authz.name.total").value()); EXPECT_EQ(1U, stats_store_.gauge("ext_authz.name.active").value()); @@ -147,7 +147,7 @@ TEST_F(ExtAuthzFilterTest, DeniedWithOnData) { EXPECT_CALL(*client_, cancel()).Times(0); request_callbacks_->onComplete(CheckStatus::Denied); - EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data, false)); EXPECT_EQ(1U, stats_store_.counter("ext_authz.name.total").value()); EXPECT_EQ(0U, stats_store_.counter("ext_authz.name.error").value()); @@ -167,14 +167,14 @@ TEST_F(ExtAuthzFilterTest, FailOpen) { EXPECT_EQ(Network::FilterStatus::Continue, filter_->onNewConnection()); Buffer::OwnedImpl data("hello"); - EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data, false)); EXPECT_CALL(filter_callbacks_.connection_, close(_)).Times(0); EXPECT_CALL(*client_, cancel()).Times(0); EXPECT_CALL(filter_callbacks_, continueReading()); request_callbacks_->onComplete(CheckStatus::Error); - EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data, false)); EXPECT_EQ(1U, stats_store_.counter("ext_authz.name.total").value()); EXPECT_EQ(1U, stats_store_.counter("ext_authz.name.error").value()); @@ -196,7 +196,7 @@ TEST_F(ExtAuthzFilterTest, FailClose) { EXPECT_EQ(Network::FilterStatus::Continue, filter_->onNewConnection()); Buffer::OwnedImpl data("hello"); - EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data, false)); EXPECT_CALL(filter_callbacks_.connection_, close(_)).Times(1); EXPECT_CALL(filter_callbacks_, continueReading()).Times(0); @@ -222,12 +222,12 @@ TEST_F(ExtAuthzFilterTest, DoNotCallCancelonRemoteClose) { EXPECT_EQ(Network::FilterStatus::Continue, filter_->onNewConnection()); Buffer::OwnedImpl data("hello"); - EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data, false)); EXPECT_CALL(filter_callbacks_, continueReading()); request_callbacks_->onComplete(CheckStatus::Error); - EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data, false)); EXPECT_CALL(*client_, cancel()).Times(0); filter_callbacks_.connection_.raiseEvent(Network::ConnectionEvent::RemoteClose); @@ -252,7 +252,7 @@ TEST_F(ExtAuthzFilterTest, VerifyCancelOnRemoteClose) { EXPECT_EQ(Network::FilterStatus::Continue, filter_->onNewConnection()); Buffer::OwnedImpl data("hello"); - EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::StopIteration, filter_->onData(data, false)); EXPECT_CALL(*client_, cancel()); filter_callbacks_.connection_.raiseEvent(Network::ConnectionEvent::RemoteClose); @@ -278,8 +278,8 @@ TEST_F(ExtAuthzFilterTest, ImmediateOK) { EXPECT_EQ(Network::FilterStatus::Continue, filter_->onNewConnection()); Buffer::OwnedImpl data("hello"); - EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data)); - EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data)); + EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data, false)); + EXPECT_EQ(Network::FilterStatus::Continue, filter_->onData(data, false)); EXPECT_CALL(*client_, cancel()).Times(0); filter_callbacks_.connection_.raiseEvent(Network::ConnectionEvent::RemoteClose);