Automated g4 rollback of changelist 587020916.
*** Reason for rollback ***
Causes problems in upstream Envoy.
*** Original change description ***
Renames NoopHeaderValidator to MinimalHeaderValidator in oghttp2.
***
PiperOrigin-RevId: 588072808
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 6f3a955..ade85e5 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -67,7 +67,7 @@
"http2/adapter/http2_session.h",
"http2/adapter/http2_util.h",
"http2/adapter/http2_visitor_interface.h",
- "http2/adapter/minimal_header_validator.h",
+ "http2/adapter/noop_header_validator.h",
"http2/adapter/oghttp2_adapter.h",
"http2/adapter/oghttp2_session.h",
"http2/adapter/oghttp2_util.h",
@@ -421,7 +421,7 @@
"http2/adapter/header_validator.cc",
"http2/adapter/http2_protocol.cc",
"http2/adapter/http2_util.cc",
- "http2/adapter/minimal_header_validator.cc",
+ "http2/adapter/noop_header_validator.cc",
"http2/adapter/oghttp2_adapter.cc",
"http2/adapter/oghttp2_session.cc",
"http2/adapter/oghttp2_util.cc",
@@ -1085,7 +1085,7 @@
"common/wire_serialization_test.cc",
"http2/adapter/event_forwarder_test.cc",
"http2/adapter/header_validator_test.cc",
- "http2/adapter/minimal_header_validator_test.cc",
+ "http2/adapter/noop_header_validator_test.cc",
"http2/adapter/oghttp2_adapter_metadata_test.cc",
"http2/adapter/oghttp2_adapter_test.cc",
"http2/adapter/oghttp2_session_test.cc",
diff --git a/build/source_list.gni b/build/source_list.gni
index c76364a..c514ab2 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -67,7 +67,7 @@
"src/quiche/http2/adapter/http2_session.h",
"src/quiche/http2/adapter/http2_util.h",
"src/quiche/http2/adapter/http2_visitor_interface.h",
- "src/quiche/http2/adapter/minimal_header_validator.h",
+ "src/quiche/http2/adapter/noop_header_validator.h",
"src/quiche/http2/adapter/oghttp2_adapter.h",
"src/quiche/http2/adapter/oghttp2_session.h",
"src/quiche/http2/adapter/oghttp2_util.h",
@@ -421,7 +421,7 @@
"src/quiche/http2/adapter/header_validator.cc",
"src/quiche/http2/adapter/http2_protocol.cc",
"src/quiche/http2/adapter/http2_util.cc",
- "src/quiche/http2/adapter/minimal_header_validator.cc",
+ "src/quiche/http2/adapter/noop_header_validator.cc",
"src/quiche/http2/adapter/oghttp2_adapter.cc",
"src/quiche/http2/adapter/oghttp2_session.cc",
"src/quiche/http2/adapter/oghttp2_util.cc",
@@ -1086,7 +1086,7 @@
"src/quiche/common/wire_serialization_test.cc",
"src/quiche/http2/adapter/event_forwarder_test.cc",
"src/quiche/http2/adapter/header_validator_test.cc",
- "src/quiche/http2/adapter/minimal_header_validator_test.cc",
+ "src/quiche/http2/adapter/noop_header_validator_test.cc",
"src/quiche/http2/adapter/oghttp2_adapter_metadata_test.cc",
"src/quiche/http2/adapter/oghttp2_adapter_test.cc",
"src/quiche/http2/adapter/oghttp2_session_test.cc",
diff --git a/build/source_list.json b/build/source_list.json
index fb0d605..68779fa 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -66,7 +66,7 @@
"quiche/http2/adapter/http2_session.h",
"quiche/http2/adapter/http2_util.h",
"quiche/http2/adapter/http2_visitor_interface.h",
- "quiche/http2/adapter/minimal_header_validator.h",
+ "quiche/http2/adapter/noop_header_validator.h",
"quiche/http2/adapter/oghttp2_adapter.h",
"quiche/http2/adapter/oghttp2_session.h",
"quiche/http2/adapter/oghttp2_util.h",
@@ -420,7 +420,7 @@
"quiche/http2/adapter/header_validator.cc",
"quiche/http2/adapter/http2_protocol.cc",
"quiche/http2/adapter/http2_util.cc",
- "quiche/http2/adapter/minimal_header_validator.cc",
+ "quiche/http2/adapter/noop_header_validator.cc",
"quiche/http2/adapter/oghttp2_adapter.cc",
"quiche/http2/adapter/oghttp2_session.cc",
"quiche/http2/adapter/oghttp2_util.cc",
@@ -1085,7 +1085,7 @@
"quiche/common/wire_serialization_test.cc",
"quiche/http2/adapter/event_forwarder_test.cc",
"quiche/http2/adapter/header_validator_test.cc",
- "quiche/http2/adapter/minimal_header_validator_test.cc",
+ "quiche/http2/adapter/noop_header_validator_test.cc",
"quiche/http2/adapter/oghttp2_adapter_metadata_test.cc",
"quiche/http2/adapter/oghttp2_adapter_test.cc",
"quiche/http2/adapter/oghttp2_session_test.cc",
diff --git a/quiche/http2/adapter/minimal_header_validator.cc b/quiche/http2/adapter/noop_header_validator.cc
similarity index 83%
rename from quiche/http2/adapter/minimal_header_validator.cc
rename to quiche/http2/adapter/noop_header_validator.cc
index 5b10fc2..b687df5 100644
--- a/quiche/http2/adapter/minimal_header_validator.cc
+++ b/quiche/http2/adapter/noop_header_validator.cc
@@ -1,4 +1,4 @@
-#include "quiche/http2/adapter/minimal_header_validator.h"
+#include "quiche/http2/adapter/noop_header_validator.h"
#include "absl/strings/escaping.h"
#include "absl/strings/string_view.h"
@@ -14,14 +14,14 @@
} // namespace
-void MinimalHeaderValidator::StartHeaderBlock() {
+void NoopHeaderValidator::StartHeaderBlock() {
HeaderValidatorBase::StartHeaderBlock();
has_method_ = false;
has_scheme_ = false;
has_path_ = false;
}
-HeaderValidatorBase::HeaderStatus MinimalHeaderValidator::ValidateSingleHeader(
+HeaderValidatorBase::HeaderStatus NoopHeaderValidator::ValidateSingleHeader(
absl::string_view key, absl::string_view value) {
if (key.empty()) {
return HEADER_FIELD_INVALID;
@@ -45,7 +45,7 @@
return HEADER_OK;
}
-bool MinimalHeaderValidator::FinishHeaderBlock(HeaderType type) {
+bool NoopHeaderValidator::FinishHeaderBlock(HeaderType type) {
if (type == HeaderType::REQUEST) {
return has_method_ && has_scheme_ && has_path_;
} else if (type == HeaderType::RESPONSE || type == HeaderType::RESPONSE_100) {
diff --git a/quiche/http2/adapter/minimal_header_validator.h b/quiche/http2/adapter/noop_header_validator.h
similarity index 61%
rename from quiche/http2/adapter/minimal_header_validator.h
rename to quiche/http2/adapter/noop_header_validator.h
index 5719b55..ef78027 100644
--- a/quiche/http2/adapter/minimal_header_validator.h
+++ b/quiche/http2/adapter/noop_header_validator.h
@@ -1,5 +1,5 @@
-#ifndef QUICHE_HTTP2_ADAPTER_MINIMAL_HEADER_VALIDATOR_H_
-#define QUICHE_HTTP2_ADAPTER_MINIMAL_HEADER_VALIDATOR_H_
+#ifndef QUICHE_HTTP2_ADAPTER_NOOP_HEADER_VALIDATOR_H_
+#define QUICHE_HTTP2_ADAPTER_NOOP_HEADER_VALIDATOR_H_
#include "absl/strings/string_view.h"
#include "quiche/http2/adapter/header_validator_base.h"
@@ -8,10 +8,10 @@
namespace http2 {
namespace adapter {
-// A validator that performs the minimum validation necessary.
-class QUICHE_EXPORT MinimalHeaderValidator : public HeaderValidatorBase {
+// A validator that does not actually perform any validation.
+class QUICHE_EXPORT NoopHeaderValidator : public HeaderValidatorBase {
public:
- MinimalHeaderValidator() = default;
+ NoopHeaderValidator() = default;
void StartHeaderBlock() override;
HeaderStatus ValidateSingleHeader(absl::string_view key,
@@ -28,4 +28,4 @@
} // namespace adapter
} // namespace http2
-#endif // QUICHE_HTTP2_ADAPTER_MINIMAL_HEADER_VALIDATOR_H_
+#endif // QUICHE_HTTP2_ADAPTER_NOOP_HEADER_VALIDATOR_H_
diff --git a/quiche/http2/adapter/minimal_header_validator_test.cc b/quiche/http2/adapter/noop_header_validator_test.cc
similarity index 68%
rename from quiche/http2/adapter/minimal_header_validator_test.cc
rename to quiche/http2/adapter/noop_header_validator_test.cc
index 2e33012..a6dc041 100644
--- a/quiche/http2/adapter/minimal_header_validator_test.cc
+++ b/quiche/http2/adapter/noop_header_validator_test.cc
@@ -1,4 +1,4 @@
-#include "quiche/http2/adapter/minimal_header_validator.h"
+#include "quiche/http2/adapter/noop_header_validator.h"
#include <optional>
#include <utility>
@@ -20,8 +20,8 @@
{":path", "/foo"},
{":scheme", "https"}};
-TEST(MinimalHeaderValidatorTest, EmptyHeaderBlock) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, EmptyHeaderBlock) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
EXPECT_FALSE(v.FinishHeaderBlock(HeaderType::REQUEST));
@@ -29,34 +29,33 @@
EXPECT_FALSE(v.FinishHeaderBlock(HeaderType::RESPONSE));
}
-TEST(MinimalHeaderValidatorTest, HeaderNameEmpty) {
- MinimalHeaderValidator v;
- MinimalHeaderValidator::HeaderStatus status =
+TEST(NoopHeaderValidatorTest, HeaderNameEmpty) {
+ NoopHeaderValidator v;
+ NoopHeaderValidator::HeaderStatus status =
v.ValidateSingleHeader("", "value");
- EXPECT_EQ(MinimalHeaderValidator::HEADER_FIELD_INVALID, status);
+ EXPECT_EQ(NoopHeaderValidator::HEADER_FIELD_INVALID, status);
}
-TEST(MinimalHeaderValidatorTest, HeaderValueEmpty) {
- MinimalHeaderValidator v;
- MinimalHeaderValidator::HeaderStatus status =
- v.ValidateSingleHeader("name", "");
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK, status);
+TEST(NoopHeaderValidatorTest, HeaderValueEmpty) {
+ NoopHeaderValidator v;
+ NoopHeaderValidator::HeaderStatus status = v.ValidateSingleHeader("name", "");
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK, status);
}
-TEST(MinimalHeaderValidatorTest, ExceedsMaxSize) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, ExceedsMaxSize) {
+ NoopHeaderValidator v;
v.SetMaxFieldSize(64u);
- MinimalHeaderValidator::HeaderStatus status =
+ NoopHeaderValidator::HeaderStatus status =
v.ValidateSingleHeader("name", "value");
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK, status);
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK, status);
status = v.ValidateSingleHeader(
"name2",
"Antidisestablishmentariansism is supercalifragilisticexpialodocious.");
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK, status);
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK, status);
}
-TEST(MinimalHeaderValidatorTest, FewInvalidNameChars) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, FewInvalidNameChars) {
+ NoopHeaderValidator v;
char pseudo_name[] = ":met hod";
char name[] = "na me";
for (int i = std::numeric_limits<char>::min();
@@ -77,8 +76,8 @@
}
}
-TEST(MinimalHeaderValidatorTest, FewInvalidValueChars) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, FewInvalidValueChars) {
+ NoopHeaderValidator v;
char value[] = "val ue";
for (int i = std::numeric_limits<char>::min();
i < std::numeric_limits<char>::max(); ++i) {
@@ -93,33 +92,33 @@
}
}
-TEST(MinimalHeaderValidatorTest, AnyStatusIsValid) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, AnyStatusIsValid) {
+ NoopHeaderValidator v;
for (HeaderType type : {HeaderType::RESPONSE, HeaderType::RESPONSE_100}) {
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "bar"));
EXPECT_TRUE(v.FinishHeaderBlock(type));
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "10"));
EXPECT_TRUE(v.FinishHeaderBlock(type));
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "9000"));
EXPECT_TRUE(v.FinishHeaderBlock(type));
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "400"));
EXPECT_TRUE(v.FinishHeaderBlock(type));
}
}
-TEST(MinimalHeaderValidatorTest, FewInvalidAuthorityChars) {
+TEST(NoopHeaderValidatorTest, FewInvalidAuthorityChars) {
char value[] = "ho st.example.com";
for (int i = std::numeric_limits<char>::min();
i < std::numeric_limits<char>::max(); ++i) {
@@ -131,43 +130,43 @@
? HeaderValidatorBase::HEADER_FIELD_INVALID
: HeaderValidatorBase::HEADER_OK;
for (absl::string_view key : {":authority", "host"}) {
- MinimalHeaderValidator v;
+ NoopHeaderValidator v;
v.StartHeaderBlock();
EXPECT_EQ(expected_status, v.ValidateSingleHeader(key, sv));
}
}
}
-TEST(MinimalHeaderValidatorTest, RequestHostAndAuthority) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, RequestHostAndAuthority) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
// If both "host" and ":authority" have the same value, validation succeeds.
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("host", "www.foo.com"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
// If "host" and ":authority" have different values, validation still
// succeeds.
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("host", "www.bar.com"));
}
-TEST(MinimalHeaderValidatorTest, RequestPseudoHeaders) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, RequestPseudoHeaders) {
+ NoopHeaderValidator v;
for (Header to_skip : kSampleRequestPseudoheaders) {
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
if (to_add != to_skip) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
}
@@ -183,7 +182,7 @@
// When all pseudo-headers are present, final validation will succeed.
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
@@ -192,10 +191,10 @@
// succeed.
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":extra", "blah"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
@@ -203,10 +202,10 @@
for (Header to_repeat : kSampleRequestPseudoheaders) {
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
if (to_add == to_repeat) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
}
@@ -214,27 +213,27 @@
}
}
-TEST(MinimalHeaderValidatorTest, WebsocketPseudoHeaders) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, WebsocketPseudoHeaders) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":protocol", "websocket"));
// Validation always succeeds.
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
- // This is a no-op for MinimalHeaderValidator.
+ // This is a no-op for NoopHeaderValidator.
v.SetAllowExtendedConnect();
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":protocol", "websocket"));
// The validator does not check for a CONNECT request.
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
@@ -242,30 +241,30 @@
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
if (to_add.first == ":method") {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, "CONNECT"));
} else {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
}
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":protocol", "websocket"));
// After allowing the method, `:protocol` is acepted for CONNECT requests.
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
}
-TEST(MinimalHeaderValidatorTest, AsteriskPathPseudoHeader) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, AsteriskPathPseudoHeader) {
+ NoopHeaderValidator v;
// The validator does not perform any path validation.
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
if (to_add.first == ":path") {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, "*"));
} else {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
}
@@ -274,30 +273,30 @@
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
if (to_add.first == ":path") {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, "*"));
} else if (to_add.first == ":method") {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, "OPTIONS"));
} else {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
}
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
}
-TEST(MinimalHeaderValidatorTest, InvalidPathPseudoHeader) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, InvalidPathPseudoHeader) {
+ NoopHeaderValidator v;
// An empty path is allowed.
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
if (to_add.first == ":path") {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, ""));
} else {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
}
@@ -307,237 +306,237 @@
v.StartHeaderBlock();
for (Header to_add : kSampleRequestPseudoheaders) {
if (to_add.first == ":path") {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, "shawarma"));
} else {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(to_add.first, to_add.second));
}
}
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::REQUEST));
}
-TEST(MinimalHeaderValidatorTest, ResponsePseudoHeaders) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, ResponsePseudoHeaders) {
+ NoopHeaderValidator v;
for (HeaderType type : {HeaderType::RESPONSE, HeaderType::RESPONSE_100}) {
// When `:status` is missing, validation fails.
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("foo", "bar"));
EXPECT_FALSE(v.FinishHeaderBlock(type));
// When all pseudo-headers are present, final validation succeeds.
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "199"));
EXPECT_TRUE(v.FinishHeaderBlock(type));
EXPECT_EQ("199", v.status_header());
// When `:status` is repeated, validation succeeds.
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "199"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "299"));
EXPECT_TRUE(v.FinishHeaderBlock(type));
// When an extra pseudo-header is present, final validation succeeds.
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "199"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":extra", "blorp"));
EXPECT_TRUE(v.FinishHeaderBlock(type));
}
}
-TEST(MinimalHeaderValidatorTest, ResponseWithHost) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, ResponseWithHost) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "200"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("host", "myserver.com"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::RESPONSE));
}
-TEST(MinimalHeaderValidatorTest, Response204) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, Response204) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "204"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("x-content", "is not present"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::RESPONSE));
}
-TEST(MinimalHeaderValidatorTest, ResponseWithMultipleIdenticalContentLength) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, ResponseWithMultipleIdenticalContentLength) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "200"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "13"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "13"));
}
-TEST(MinimalHeaderValidatorTest, ResponseWithMultipleDifferingContentLength) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, ResponseWithMultipleDifferingContentLength) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "200"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "13"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "17"));
}
-TEST(MinimalHeaderValidatorTest, Response204WithContentLengthZero) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, Response204WithContentLengthZero) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "204"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("x-content", "is not present"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "0"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::RESPONSE));
}
-TEST(MinimalHeaderValidatorTest, Response204WithContentLength) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, Response204WithContentLength) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "204"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("x-content", "is not present"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "1"));
}
-TEST(MinimalHeaderValidatorTest, Response100) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, Response100) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "100"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("x-content", "is not present"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::RESPONSE));
}
-TEST(MinimalHeaderValidatorTest, Response100WithContentLengthZero) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, Response100WithContentLengthZero) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "100"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("x-content", "is not present"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "0"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::RESPONSE));
}
-TEST(MinimalHeaderValidatorTest, Response100WithContentLength) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, Response100WithContentLength) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "100"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("x-content", "is not present"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "1"));
}
-TEST(MinimalHeaderValidatorTest, ResponseTrailerPseudoHeaders) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, ResponseTrailerPseudoHeaders) {
+ NoopHeaderValidator v;
// When no pseudo-headers are present, validation will succeed.
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("foo", "bar"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::RESPONSE_TRAILER));
// When a pseudo-header is present, validation will succeed.
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(":status", "200"));
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("foo", "bar"));
EXPECT_TRUE(v.FinishHeaderBlock(HeaderType::RESPONSE_TRAILER));
}
-TEST(MinimalHeaderValidatorTest, ValidContentLength) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, ValidContentLength) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
EXPECT_EQ(v.content_length(), std::nullopt);
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "41"));
EXPECT_EQ(v.content_length(), std::nullopt);
v.StartHeaderBlock();
EXPECT_EQ(v.content_length(), std::nullopt);
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "42"));
EXPECT_EQ(v.content_length(), std::nullopt);
}
-TEST(MinimalHeaderValidatorTest, InvalidContentLength) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, InvalidContentLength) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
EXPECT_EQ(v.content_length(), std::nullopt);
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", ""));
EXPECT_EQ(v.content_length(), std::nullopt);
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "nan"));
EXPECT_EQ(v.content_length(), std::nullopt);
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "-42"));
EXPECT_EQ(v.content_length(), std::nullopt);
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("content-length", "42"));
EXPECT_EQ(v.content_length(), std::nullopt);
}
-TEST(MinimalHeaderValidatorTest, TeHeader) {
- MinimalHeaderValidator v;
+TEST(NoopHeaderValidatorTest, TeHeader) {
+ NoopHeaderValidator v;
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("te", "trailers"));
v.StartHeaderBlock();
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader("te", "trailers, deflate"));
}
-TEST(MinimalHeaderValidatorTest, ConnectionSpecificHeaders) {
+TEST(NoopHeaderValidatorTest, ConnectionSpecificHeaders) {
const std::vector<Header> connection_headers = {
{"connection", "keep-alive"}, {"proxy-connection", "keep-alive"},
{"keep-alive", "timeout=42"}, {"transfer-encoding", "chunked"},
{"upgrade", "h2c"},
};
for (const auto& [connection_key, connection_value] : connection_headers) {
- MinimalHeaderValidator v;
+ NoopHeaderValidator v;
v.StartHeaderBlock();
for (const auto& [sample_key, sample_value] : kSampleRequestPseudoheaders) {
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(sample_key, sample_value));
}
- EXPECT_EQ(MinimalHeaderValidator::HEADER_OK,
+ EXPECT_EQ(NoopHeaderValidator::HEADER_OK,
v.ValidateSingleHeader(connection_key, connection_value));
}
}
diff --git a/quiche/http2/adapter/oghttp2_adapter_test.cc b/quiche/http2/adapter/oghttp2_adapter_test.cc
index dea9a00..d077051 100644
--- a/quiche/http2/adapter/oghttp2_adapter_test.cc
+++ b/quiche/http2/adapter/oghttp2_adapter_test.cc
@@ -7962,9 +7962,9 @@
SpdyFrameType::WINDOW_UPDATE}));
}
-// Verifies that MinimalHeaderValidator allows several header combinations that
+// Verifies that NoopHeaderValidator allows several header combinations that
// would otherwise be invalid.
-TEST(OgHttp2AdapterTest, MinimalHeaderValidatorTest) {
+TEST(OgHttp2AdapterTest, NoopHeaderValidatorTest) {
DataSavingVisitor visitor;
OgHttp2Adapter::Options options;
options.perspective = Perspective::kServer;
diff --git a/quiche/http2/adapter/oghttp2_session.cc b/quiche/http2/adapter/oghttp2_session.cc
index 57df0cf..d91d9dc 100644
--- a/quiche/http2/adapter/oghttp2_session.cc
+++ b/quiche/http2/adapter/oghttp2_session.cc
@@ -13,7 +13,7 @@
#include "quiche/http2/adapter/http2_protocol.h"
#include "quiche/http2/adapter/http2_util.h"
#include "quiche/http2/adapter/http2_visitor_interface.h"
-#include "quiche/http2/adapter/minimal_header_validator.h"
+#include "quiche/http2/adapter/noop_header_validator.h"
#include "quiche/http2/adapter/oghttp2_util.h"
#include "quiche/common/quiche_callbacks.h"
#include "quiche/spdy/core/spdy_protocol.h"
@@ -210,8 +210,8 @@
validator_->SetAllowDifferentHostAndAuthority();
}
} else {
- QUICHE_VLOG(2) << "instantiating minimal header validator";
- validator_ = std::make_unique<MinimalHeaderValidator>();
+ QUICHE_VLOG(2) << "instantiating noop header validator";
+ validator_ = std::make_unique<NoopHeaderValidator>();
}
}