1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-09 10:00:57 +03:00

Move early app data params getter and validator to QuicConnectionStateBase (#117)

Summary:
This ensures they are available to the whole stack rather than the transport only. The validator needs it in the server case, and will soon need it in the client case, so that seems appropriate to make it available.
Pull Request resolved: https://github.com/facebookincubator/mvfst/pull/117

Reviewed By: yangchi

Differential Revision: D20536366

Pulled By: mjoras

fbshipit-source-id: a76d369c0a82b9be1f985aed1f33f7a6b338a2ae
This commit is contained in:
Amaury Séchet
2020-03-23 10:51:49 -07:00
committed by Facebook GitHub Bot
parent b52f2d97f4
commit 7a1b58e5e8
9 changed files with 59 additions and 67 deletions

View File

@@ -42,9 +42,9 @@ TEST(DefaultAppTokenValidatorTest, TestValidParams) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) { return true; };
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) { return true; };
DefaultAppTokenValidator validator(&conn);
EXPECT_TRUE(validator.validate(resState));
}
@@ -70,9 +70,9 @@ TEST(
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) { return true; };
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) { return true; };
DefaultAppTokenValidator validator(&conn);
EXPECT_TRUE(validator.validate(resState));
EXPECT_EQ(
@@ -88,12 +88,12 @@ TEST(DefaultAppTokenValidatorTest, TestInvalidNullAppToken) {
conn.version = QuicVersion::MVFST;
ResumptionState resState;
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
EXPECT_TRUE(false);
return true;
};
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -106,12 +106,12 @@ TEST(DefaultAppTokenValidatorTest, TestInvalidEmptyTransportParams) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
EXPECT_TRUE(false);
return true;
};
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -141,12 +141,12 @@ TEST(DefaultAppTokenValidatorTest, TestInvalidMissingParams) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
EXPECT_TRUE(false);
return true;
};
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -170,12 +170,12 @@ TEST(DefaultAppTokenValidatorTest, TestInvalidRedundantParameter) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
EXPECT_TRUE(false);
return true;
};
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -197,12 +197,12 @@ TEST(DefaultAppTokenValidatorTest, TestInvalidDecreasedInitialMaxStreamData) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
EXPECT_TRUE(false);
return true;
};
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -224,12 +224,12 @@ TEST(DefaultAppTokenValidatorTest, TestChangedIdleTimeout) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
EXPECT_TRUE(false);
return true;
};
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -251,12 +251,12 @@ TEST(DefaultAppTokenValidatorTest, TestDecreasedInitialMaxStreams) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) {
EXPECT_TRUE(false);
return true;
};
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -280,9 +280,9 @@ TEST(DefaultAppTokenValidatorTest, TestInvalidAppParams) {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken);
auto appParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) { return false; };
DefaultAppTokenValidator validator(&conn, std::move(appParamsValidator));
conn.earlyDataAppParamsValidator = [](const folly::Optional<std::string>&,
const Buf&) { return false; };
DefaultAppTokenValidator validator(&conn);
EXPECT_FALSE(validator.validate(resState));
}
@@ -307,9 +307,11 @@ class SourceAddressTokenTest : public Test {
ResumptionState resState;
resState.appToken = encodeAppToken(appToken_);
auto appParamsValidator = [=](const folly::Optional<std::string>&,
const Buf&) { return acceptZeroRtt; };
DefaultAppTokenValidator validator(&conn_, std::move(appParamsValidator));
conn_.earlyDataAppParamsValidator = [=](const folly::Optional<std::string>&,
const Buf&) {
return acceptZeroRtt;
};
DefaultAppTokenValidator validator(&conn_);
EXPECT_EQ(validator.validate(resState), acceptZeroRtt);
}