Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1242)

Unified Diff: net/http/http_network_transaction_spdy3_unittest.cc

Issue 14125003: Do not roll back to SSL 3.0 for Google properties. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/http/http_network_transaction_spdy3_unittest.cc
diff --git a/net/http/http_network_transaction_spdy3_unittest.cc b/net/http/http_network_transaction_spdy3_unittest.cc
index 1238fd51380b686a85c5ba17170fd23c2699c9df..01b85aa66d729dd7258812c8848cdbeb5490376c 100644
--- a/net/http/http_network_transaction_spdy3_unittest.cc
+++ b/net/http/http_network_transaction_spdy3_unittest.cc
@@ -9470,121 +9470,6 @@ TEST_F(HttpNetworkTransactionSpdy3Test, MultiRoundAuth) {
EXPECT_EQ(1, transport_pool->IdleSocketCountInGroup(kSocketGroup));
}
-class TLSDecompressionFailureSocketDataProvider : public SocketDataProvider {
- public:
- explicit TLSDecompressionFailureSocketDataProvider(bool fail_all)
- : fail_all_(fail_all) {
- }
-
- virtual MockRead GetNextRead() OVERRIDE {
- if (fail_all_)
- return MockRead(SYNCHRONOUS, ERR_SSL_DECOMPRESSION_FAILURE_ALERT);
-
- return MockRead(SYNCHRONOUS,
- "HTTP/1.1 200 OK\r\nContent-Length: 3\r\n\r\nok.\r\n");
- }
-
- virtual MockWriteResult OnWrite(const std::string& data) OVERRIDE {
- return MockWriteResult(SYNCHRONOUS /* async */, data.size());
- }
-
- virtual void Reset() OVERRIDE {
- }
-
- private:
- const bool fail_all_;
-};
-
-// Test that we restart a connection when we see a decompression failure from
-// the peer during the handshake. (In the real world we'll restart with SSLv3
-// and we won't offer DEFLATE in that case.)
-TEST_F(HttpNetworkTransactionSpdy3Test, RestartAfterTLSDecompressionFailure) {
- HttpRequestInfo request;
- request.method = "GET";
- request.url = GURL("https://tlsdecompressionfailure.example.com/");
- request.load_flags = 0;
-
- SpdySessionDependencies session_deps;
- TLSDecompressionFailureSocketDataProvider socket_data_provider1(
- false /* fail all reads */);
- TLSDecompressionFailureSocketDataProvider socket_data_provider2(false);
- SSLSocketDataProvider ssl_socket_data_provider1(
- SYNCHRONOUS, ERR_SSL_DECOMPRESSION_FAILURE_ALERT);
- SSLSocketDataProvider ssl_socket_data_provider2(SYNCHRONOUS, OK);
- session_deps.socket_factory->AddSocketDataProvider(&socket_data_provider1);
- session_deps.socket_factory->AddSocketDataProvider(&socket_data_provider2);
- session_deps.socket_factory->AddSSLSocketDataProvider(
- &ssl_socket_data_provider1);
- session_deps.socket_factory->AddSSLSocketDataProvider(
- &ssl_socket_data_provider2);
-
- // Work around http://crbug.com/37454
- StaticSocketDataProvider bug37454_connection;
- bug37454_connection.set_connect_data(MockConnect(ASYNC, ERR_UNEXPECTED));
- session_deps.socket_factory->AddSocketDataProvider(&bug37454_connection);
-
- scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
- scoped_ptr<HttpTransaction> trans(
- new HttpNetworkTransaction(DEFAULT_PRIORITY, session));
- TestCompletionCallback callback;
-
- int rv = trans->Start(&request, callback.callback(), BoundNetLog());
- EXPECT_EQ(ERR_IO_PENDING, rv);
- EXPECT_EQ(OK, callback.WaitForResult());
-
- const HttpResponseInfo* response = trans->GetResponseInfo();
- ASSERT_TRUE(response != NULL);
- ASSERT_TRUE(response->headers != NULL);
- EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
-
- std::string response_data;
- ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
- EXPECT_EQ("ok.", response_data);
-}
-
-// Test that we restart a connection if we get a decompression failure from the
-// peer while reading the first bytes from the connection. This occurs when the
-// peer cannot handle DEFLATE but we're using False Start, so we don't notice
-// in the handshake.
-TEST_F(HttpNetworkTransactionSpdy3Test,
- RestartAfterTLSDecompressionFailureWithFalseStart) {
- HttpRequestInfo request;
- request.method = "GET";
- request.url = GURL("https://tlsdecompressionfailure2.example.com/");
- request.load_flags = 0;
-
- SpdySessionDependencies session_deps;
- TLSDecompressionFailureSocketDataProvider socket_data_provider1(
- true /* fail all reads */);
- TLSDecompressionFailureSocketDataProvider socket_data_provider2(false);
- SSLSocketDataProvider ssl_socket_data_provider1(SYNCHRONOUS, OK);
- SSLSocketDataProvider ssl_socket_data_provider2(SYNCHRONOUS, OK);
- session_deps.socket_factory->AddSocketDataProvider(&socket_data_provider1);
- session_deps.socket_factory->AddSocketDataProvider(&socket_data_provider2);
- session_deps.socket_factory->AddSSLSocketDataProvider(
- &ssl_socket_data_provider1);
- session_deps.socket_factory->AddSSLSocketDataProvider(
- &ssl_socket_data_provider2);
-
- scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
- scoped_ptr<HttpTransaction> trans(
- new HttpNetworkTransaction(DEFAULT_PRIORITY, session));
- TestCompletionCallback callback;
-
- int rv = trans->Start(&request, callback.callback(), BoundNetLog());
- EXPECT_EQ(ERR_IO_PENDING, rv);
- EXPECT_EQ(OK, callback.WaitForResult());
-
- const HttpResponseInfo* response = trans->GetResponseInfo();
- ASSERT_TRUE(response != NULL);
- ASSERT_TRUE(response->headers != NULL);
- EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
-
- std::string response_data;
- ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
- EXPECT_EQ("ok.", response_data);
-}
-
// This tests the case that a request is issued via http instead of spdy after
// npn is negotiated.
TEST_F(HttpNetworkTransactionSpdy3Test, NpnWithHttpOverSSL) {
« no previous file with comments | « net/http/http_network_transaction_spdy2_unittest.cc ('k') | net/http/http_network_transaction_ssl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698