diff --git a/quic/fizz/client/handshake/test/FizzClientHandshakeTest.cpp b/quic/fizz/client/handshake/test/FizzClientHandshakeTest.cpp index beea4d3d3..2fd9dfa95 100644 --- a/quic/fizz/client/handshake/test/FizzClientHandshakeTest.cpp +++ b/quic/fizz/client/handshake/test/FizzClientHandshakeTest.cpp @@ -94,6 +94,7 @@ class ClientHandshakeTest : public Test, public boost::static_visitor<> { cryptoState = conn->cryptoState.get(); handshake = conn->clientHandshakeLayer; + conn->transportSettings.attemptEarlyData = true; std::vector supportedVersions = {getVersion()}; auto serverTransportParameters = std::make_shared( diff --git a/quic/fizz/client/test/QuicClientTransportTest.cpp b/quic/fizz/client/test/QuicClientTransportTest.cpp index bf2be9561..86998ac9f 100644 --- a/quic/fizz/client/test/QuicClientTransportTest.cpp +++ b/quic/fizz/client/test/QuicClientTransportTest.cpp @@ -233,11 +233,18 @@ class QuicClientTransportIntegrationTest : public TestWithParam { std::make_shared()); client->setHostname(hostname); client->addNewPeerAddress(serverAddr); + auto transportSettings = client->getTransportSettings(); + transportSettings.attemptEarlyData = true; + client->setTransportSettings(transportSettings); return client; } std::shared_ptr createServer(ProcessId processId) { auto server = QuicServer::createQuicServer(); + auto transportSettings = server->getTransportSettings(); + transportSettings.zeroRttSourceTokenMatchingPolicy = + ZeroRttSourceTokenMatchingPolicy::LIMIT_IF_NO_EXACT_MATCH; + server->setTransportSettings(transportSettings); server->setQuicServerTransportFactory( std::make_unique()); server->setQuicUDPSocketFactory( @@ -5271,6 +5278,7 @@ class QuicZeroRttClientTest : public QuicClientTransportAfterStartTestBase { TransportSettings clientSettings; // Ignore path mtu to test negotiation. clientSettings.canIgnorePathMTU = true; + clientSettings.attemptEarlyData = true; client->setTransportSettings(clientSettings); } diff --git a/quic/server/handshake/test/DefaultAppTokenValidatorTest.cpp b/quic/server/handshake/test/DefaultAppTokenValidatorTest.cpp index 016dc6bbe..495ebbd7d 100644 --- a/quic/server/handshake/test/DefaultAppTokenValidatorTest.cpp +++ b/quic/server/handshake/test/DefaultAppTokenValidatorTest.cpp @@ -28,6 +28,8 @@ TEST(DefaultAppTokenValidatorTest, TestValidParams) { QuicServerConnectionState conn; conn.peerAddress = folly::SocketAddress("1.2.3.4", 443); conn.version = QuicVersion::MVFST; + conn.transportSettings.zeroRttSourceTokenMatchingPolicy = + ZeroRttSourceTokenMatchingPolicy::LIMIT_IF_NO_EXACT_MATCH; AppToken appToken; appToken.transportParams = createTicketTransportParameters( @@ -54,6 +56,8 @@ TEST( QuicServerConnectionState conn; conn.peerAddress = folly::SocketAddress("1.2.3.4", 443); conn.version = QuicVersion::MVFST; + conn.transportSettings.zeroRttSourceTokenMatchingPolicy = + ZeroRttSourceTokenMatchingPolicy::LIMIT_IF_NO_EXACT_MATCH; auto initialMaxData = conn.transportSettings.advertisedInitialConnectionWindowSize; @@ -291,6 +295,8 @@ class SourceAddressTokenTest : public Test { void SetUp() override { conn_.peerAddress = folly::SocketAddress("1.2.3.4", 443); conn_.version = QuicVersion::MVFST; + conn_.transportSettings.zeroRttSourceTokenMatchingPolicy = + ZeroRttSourceTokenMatchingPolicy::LIMIT_IF_NO_EXACT_MATCH; appToken_.transportParams = createTicketTransportParameters( conn_.transportSettings.idleTimeout.count(), diff --git a/quic/server/test/QuicServerTransportTest.cpp b/quic/server/test/QuicServerTransportTest.cpp index 4331d375e..f459ec565 100644 --- a/quic/server/test/QuicServerTransportTest.cpp +++ b/quic/server/test/QuicServerTransportTest.cpp @@ -3614,6 +3614,8 @@ TEST_F( TestClearInFlightBytesLimitationAfterCFIN) { auto qLogger = std::make_shared(VantagePoint::Server); server->getNonConstConn().qLogger = qLogger; + server->getNonConstConn().transportSettings.zeroRttSourceTokenMatchingPolicy = + ZeroRttSourceTokenMatchingPolicy::LIMIT_IF_NO_EXACT_MATCH; getFakeHandshakeLayer()->allowZeroRttKeys(); auto originalUdpSize = server->getConn().udpSendPacketLen; @@ -3670,6 +3672,8 @@ TEST_F( auto qLogger = std::make_shared(VantagePoint::Server); server->getNonConstConn().qLogger = qLogger; getFakeHandshakeLayer()->allowZeroRttKeys(); + server->getNonConstConn().transportSettings.zeroRttSourceTokenMatchingPolicy = + ZeroRttSourceTokenMatchingPolicy::LIMIT_IF_NO_EXACT_MATCH; auto originalUdpSize = server->getConn().udpSendPacketLen; setupClientReadCodec(); diff --git a/quic/state/TransportSettings.h b/quic/state/TransportSettings.h index c015cfe28..568f2babb 100644 --- a/quic/state/TransportSettings.h +++ b/quic/state/TransportSettings.h @@ -86,8 +86,8 @@ struct TransportSettings { std::chrono::microseconds pacingTimerTickInterval{ kDefaultPacingTimerTickInterval}; ZeroRttSourceTokenMatchingPolicy zeroRttSourceTokenMatchingPolicy{ - ZeroRttSourceTokenMatchingPolicy::LIMIT_IF_NO_EXACT_MATCH}; - bool attemptEarlyData{true}; + ZeroRttSourceTokenMatchingPolicy::REJECT_IF_NO_EXACT_MATCH}; + bool attemptEarlyData{false}; // Maximum number of packets the connection will write in // writeConnectionDataToSocket. uint64_t writeConnectionDataPacketsLimit{