Index: net/ftp/ftp_network_transaction_unittest.cc |
diff --git a/net/ftp/ftp_network_transaction_unittest.cc b/net/ftp/ftp_network_transaction_unittest.cc |
index ad748c9d95d34cf0b1bf7a6e9f65de3792fe045e..ede22d31b38f00585b66e262da7d6bc0fe536eac 100644 |
--- a/net/ftp/ftp_network_transaction_unittest.cc |
+++ b/net/ftp/ftp_network_transaction_unittest.cc |
@@ -41,14 +41,12 @@ class FtpSocketDataProvider : public DynamicSocketDataProvider { |
PRE_PWD, |
PRE_TYPE, |
PRE_SIZE, |
- PRE_EPSV, |
- PRE_PASV, |
+ PRE_LIST_EPSV, |
+ PRE_LIST_PASV, |
PRE_LIST, |
PRE_RETR, |
PRE_RETR_EPSV, |
PRE_RETR_PASV, |
- PRE_CWD_EPSV, |
- PRE_CWD_PASV, |
PRE_CWD, |
PRE_QUIT, |
PRE_NOPASV, |
@@ -85,26 +83,19 @@ class FtpSocketDataProvider : public DynamicSocketDataProvider { |
"257 \"/\" is your current location\r\n"); |
case PRE_TYPE: |
return Verify(std::string("TYPE ") + data_type_ + "\r\n", data, |
- use_epsv_ ? PRE_EPSV : PRE_PASV, |
- "200 TYPE set successfully\r\n"); |
- case PRE_EPSV: |
- return Verify("EPSV\r\n", data, PRE_SIZE, |
- "227 Entering Extended Passive Mode (|||31744|)\r\n"); |
- case PRE_CWD_EPSV: |
- return Verify("EPSV\r\n", data, PRE_CWD, |
+ PRE_SIZE, "200 TYPE set successfully\r\n"); |
+ case PRE_LIST_EPSV: |
+ return Verify("EPSV\r\n", data, PRE_LIST, |
"227 Entering Extended Passive Mode (|||31744|)\r\n"); |
+ case PRE_LIST_PASV: |
+ return Verify("PASV\r\n", data, PRE_LIST, |
+ "227 Entering Passive Mode 127,0,0,1,123,456\r\n"); |
case PRE_RETR_EPSV: |
return Verify("EPSV\r\n", data, PRE_RETR, |
"227 Entering Extended Passive Mode (|||31744|)\r\n"); |
- case PRE_CWD_PASV: |
- return Verify("PASV\r\n", data, PRE_CWD, |
- "227 Entering Passive Mode 127,0,0,1,123,456\r\n"); |
case PRE_RETR_PASV: |
return Verify("PASV\r\n", data, PRE_RETR, |
"227 Entering Passive Mode 127,0,0,1,123,456\r\n"); |
- case PRE_PASV: |
- return Verify("PASV\r\n", data, PRE_SIZE, |
- "227 Entering Passive Mode 127,0,0,1,123,456\r\n"); |
case PRE_NOPASV: |
// Use unallocated 599 FTP error code to make sure it falls into the |
// generic ERR_FTP_FAILED bucket. |
@@ -211,11 +202,11 @@ class FtpSocketDataProviderDirectoryListing : public FtpSocketDataProvider { |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
case PRE_SIZE: |
- return Verify("SIZE /\r\n", data, |
- use_epsv() ? PRE_CWD_EPSV : PRE_CWD_PASV, |
+ return Verify("SIZE /\r\n", data, PRE_CWD, |
"550 I can only retrieve regular files\r\n"); |
case PRE_CWD: |
- return Verify("CWD /\r\n", data, PRE_LIST, "200 OK\r\n"); |
+ return Verify("CWD /\r\n", data, |
+ use_epsv() ? PRE_LIST_EPSV : PRE_LIST_PASV, "200 OK\r\n"); |
case PRE_LIST: |
return Verify("LIST -l\r\n", data, PRE_QUIT, "200 OK\r\n"); |
default: |
@@ -237,11 +228,11 @@ class FtpSocketDataProviderDirectoryListingWithPasvFallback |
if (InjectFault()) |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
- case PRE_EPSV: |
- return Verify("EPSV\r\n", data, PRE_PASV, |
+ case PRE_LIST_EPSV: |
+ return Verify("EPSV\r\n", data, PRE_LIST_PASV, |
"500 no EPSV for you\r\n"); |
case PRE_SIZE: |
- return Verify("SIZE /\r\n", data, PRE_CWD_PASV, |
+ return Verify("SIZE /\r\n", data, PRE_CWD, |
"550 I can only retrieve regular files\r\n"); |
default: |
return FtpSocketDataProviderDirectoryListing::OnWrite(data); |
@@ -288,14 +279,15 @@ class FtpSocketDataProviderVMSDirectoryListing : public FtpSocketDataProvider { |
case PRE_PWD: |
return Verify("PWD\r\n", data, PRE_TYPE, |
"257 \"ANONYMOUS_ROOT:[000000]\"\r\n"); |
- case PRE_EPSV: |
- return Verify("EPSV\r\n", data, PRE_PASV, "500 Invalid command\r\n"); |
+ case PRE_LIST_EPSV: |
+ return Verify("EPSV\r\n", data, PRE_LIST_PASV, |
+ "500 Invalid command\r\n"); |
case PRE_SIZE: |
- return Verify("SIZE ANONYMOUS_ROOT:[000000]dir\r\n", data, PRE_CWD_PASV, |
+ return Verify("SIZE ANONYMOUS_ROOT:[000000]dir\r\n", data, PRE_CWD, |
"550 I can only retrieve regular files\r\n"); |
case PRE_CWD: |
- return Verify("CWD ANONYMOUS_ROOT:[dir]\r\n", data, PRE_LIST, |
- "200 OK\r\n"); |
+ return Verify("CWD ANONYMOUS_ROOT:[dir]\r\n", data, |
+ use_epsv() ? PRE_LIST_EPSV : PRE_LIST_PASV, "200 OK\r\n"); |
case PRE_LIST: |
return Verify("LIST *.*;0\r\n", data, PRE_QUIT, "200 OK\r\n"); |
default: |
@@ -322,15 +314,15 @@ class FtpSocketDataProviderVMSDirectoryListingRootDirectory |
case PRE_PWD: |
return Verify("PWD\r\n", data, PRE_TYPE, |
"257 \"ANONYMOUS_ROOT:[000000]\"\r\n"); |
- case PRE_EPSV: |
- return Verify("EPSV\r\n", data, PRE_PASV, |
+ case PRE_LIST_EPSV: |
+ return Verify("EPSV\r\n", data, PRE_LIST_PASV, |
"500 EPSV command unknown\r\n"); |
case PRE_SIZE: |
- return Verify("SIZE ANONYMOUS_ROOT\r\n", data, PRE_CWD_PASV, |
+ return Verify("SIZE ANONYMOUS_ROOT\r\n", data, PRE_CWD, |
"550 I can only retrieve regular files\r\n"); |
case PRE_CWD: |
- return Verify("CWD ANONYMOUS_ROOT:[000000]\r\n", data, PRE_LIST, |
- "200 OK\r\n"); |
+ return Verify("CWD ANONYMOUS_ROOT:[000000]\r\n", data, |
+ use_epsv() ? PRE_LIST_EPSV : PRE_LIST_PASV, "200 OK\r\n"); |
case PRE_LIST: |
return Verify("LIST *.*;0\r\n", data, PRE_QUIT, "200 OK\r\n"); |
default: |
@@ -354,8 +346,8 @@ class FtpSocketDataProviderFileDownloadWithFileTypecode |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
case PRE_SIZE: |
- return Verify("SIZE /file\r\n", data, PRE_RETR, |
- "213 18\r\n"); |
+ return Verify("SIZE /file\r\n", data, |
+ use_epsv() ? PRE_RETR_EPSV : PRE_RETR_PASV, "213 18\r\n"); |
case PRE_RETR: |
return Verify("RETR /file\r\n", data, PRE_QUIT, "200 OK\r\n"); |
default: |
@@ -377,8 +369,7 @@ class FtpSocketDataProviderFileDownload : public FtpSocketDataProvider { |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
case PRE_SIZE: |
- return Verify("SIZE /file\r\n", data, PRE_CWD, |
- "213 18\r\n"); |
+ return Verify("SIZE /file\r\n", data, PRE_CWD, "213 18\r\n"); |
case PRE_CWD: |
return Verify("CWD /file\r\n", data, |
use_epsv() ? PRE_RETR_EPSV : PRE_RETR_PASV, |
@@ -404,8 +395,7 @@ class FtpSocketDataProviderFileNotFound : public FtpSocketDataProvider { |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
case PRE_SIZE: |
- return Verify("SIZE /file\r\n", data, |
- use_epsv() ? PRE_CWD_EPSV : PRE_CWD_PASV, |
+ return Verify("SIZE /file\r\n", data, PRE_CWD, |
"550 File Not Found\r\n"); |
case PRE_CWD: |
return Verify("CWD /file\r\n", data, |
@@ -433,11 +423,11 @@ class FtpSocketDataProviderFileDownloadWithPasvFallback |
if (InjectFault()) |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
- case PRE_EPSV: |
- return Verify("EPSV\r\n", data, PRE_PASV, |
- "500 No can do\r\n"); |
+ case PRE_RETR_EPSV: |
+ return Verify("EPSV\r\n", data, PRE_RETR_PASV, "500 No can do\r\n"); |
case PRE_CWD: |
- return Verify("CWD /file\r\n", data, PRE_RETR_PASV, |
+ return Verify("CWD /file\r\n", data, |
+ use_epsv() ? PRE_RETR_EPSV : PRE_RETR_PASV, |
"550 Not a directory\r\n"); |
default: |
return FtpSocketDataProviderFileDownload::OnWrite(data); |
@@ -511,14 +501,15 @@ class FtpSocketDataProviderVMSFileDownload : public FtpSocketDataProvider { |
case PRE_PWD: |
return Verify("PWD\r\n", data, PRE_TYPE, |
"257 \"ANONYMOUS_ROOT:[000000]\"\r\n"); |
- case PRE_EPSV: |
- return Verify("EPSV\r\n", data, PRE_PASV, |
+ case PRE_LIST_EPSV: |
+ return Verify("EPSV\r\n", data, PRE_LIST_PASV, |
"500 EPSV command unknown\r\n"); |
case PRE_SIZE: |
return Verify("SIZE ANONYMOUS_ROOT:[000000]file\r\n", data, PRE_CWD, |
"213 18\r\n"); |
case PRE_CWD: |
- return Verify("CWD ANONYMOUS_ROOT:[file]\r\n", data, PRE_RETR_PASV, |
+ return Verify("CWD ANONYMOUS_ROOT:[file]\r\n", data, |
+ use_epsv() ? PRE_RETR_EPSV : PRE_RETR_PASV, |
"550 Not a directory\r\n"); |
case PRE_RETR: |
return Verify("RETR ANONYMOUS_ROOT:[000000]file\r\n", data, PRE_QUIT, |
@@ -653,7 +644,7 @@ class FtpSocketDataProviderEvilEpsv : public FtpSocketDataProviderFileDownload { |
if (InjectFault()) |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
- case PRE_EPSV: |
+ case PRE_RETR_EPSV: |
return Verify("EPSV\r\n", data, expected_state_, |
epsv_response_, epsv_response_length_); |
default: |
@@ -681,7 +672,7 @@ class FtpSocketDataProviderEvilPasv |
if (InjectFault()) |
return MockWriteResult(ASYNC, data.length()); |
switch (state()) { |
- case PRE_PASV: |
+ case PRE_RETR_PASV: |
return Verify("PASV\r\n", data, expected_state_, pasv_response_); |
default: |
return FtpSocketDataProviderFileDownloadWithPasvFallback::OnWrite(data); |
@@ -807,7 +798,6 @@ class FtpNetworkTransactionTest |
void ExecuteTransaction(FtpSocketDataProvider* ctrl_socket, |
const char* request, |
- int data_socket, |
int expected_result) { |
// Expect EPSV usage for non-IPv4 control connections. |
ctrl_socket->set_use_epsv((GetFamily() != AF_INET)); |
@@ -822,19 +812,10 @@ class FtpNetworkTransactionTest |
MockRead(mock_data.c_str()), |
}; |
- ScopedVector<StaticSocketDataProvider> data_sockets; |
- data_sockets.reserve(data_socket); |
- for (int i = 0; i < data_socket + 1; i++) { |
- // We only read from one data socket, other ones are dummy. |
- if (i == data_socket) { |
- data_sockets.push_back(new StaticSocketDataProvider( |
- data_reads, arraysize(data_reads), NULL, 0)); |
- } else { |
- data_sockets.push_back(new StaticSocketDataProvider); |
- } |
- mock_socket_factory_.AddSocketDataProvider(data_sockets[i]); |
- } |
- |
+ scoped_ptr<StaticSocketDataProvider> data_socket( |
+ new StaticSocketDataProvider(data_reads, arraysize(data_reads), NULL, |
+ 0)); |
+ mock_socket_factory_.AddSocketDataProvider(data_socket.get()); |
FtpRequestInfo request_info = GetRequestInfo(request); |
EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState()); |
ASSERT_EQ(ERR_IO_PENDING, |
@@ -872,7 +853,7 @@ class FtpNetworkTransactionTest |
const char* response, |
int expected_result) { |
ctrl_socket->InjectFailure(state, next_state, response); |
- ExecuteTransaction(ctrl_socket, request, 1, expected_result); |
+ ExecuteTransaction(ctrl_socket, request, expected_result); |
} |
scoped_ptr<MockHostResolver> host_resolver_; |
@@ -913,12 +894,12 @@ TEST_P(FtpNetworkTransactionTest, StripBracketsFromIPv6Literals) { |
FtpSocketDataProviderEvilSize ctrl_socket( |
"213 99999999999999999999999999999999\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://[::1]/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://[::1]/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransaction) { |
FtpSocketDataProviderDirectoryListing ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
EXPECT_TRUE(transaction_.GetResponseInfo()->is_directory_listing); |
EXPECT_EQ(-1, transaction_.GetResponseInfo()->expected_content_size); |
@@ -929,7 +910,7 @@ TEST_P(FtpNetworkTransactionTest, DirectoryTransaction) { |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionWithPasvFallback) { |
FtpSocketDataProviderDirectoryListingWithPasvFallback ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
EXPECT_TRUE(transaction_.GetResponseInfo()->is_directory_listing); |
EXPECT_EQ(-1, transaction_.GetResponseInfo()->expected_content_size); |
@@ -937,7 +918,7 @@ TEST_P(FtpNetworkTransactionTest, DirectoryTransactionWithPasvFallback) { |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionWithTypecode) { |
FtpSocketDataProviderDirectoryListing ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host;type=d", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host;type=d", OK); |
EXPECT_TRUE(transaction_.GetResponseInfo()->is_directory_listing); |
EXPECT_EQ(-1, transaction_.GetResponseInfo()->expected_content_size); |
@@ -946,19 +927,19 @@ TEST_P(FtpNetworkTransactionTest, DirectoryTransactionWithTypecode) { |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionMultilineWelcome) { |
FtpSocketDataProviderDirectoryListing ctrl_socket; |
ctrl_socket.set_multiline_welcome(true); |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionShortReads2) { |
FtpSocketDataProviderDirectoryListing ctrl_socket; |
ctrl_socket.set_short_read_limit(2); |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionShortReads5) { |
FtpSocketDataProviderDirectoryListing ctrl_socket; |
ctrl_socket.set_short_read_limit(5); |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionMultilineWelcomeShort) { |
@@ -968,33 +949,33 @@ TEST_P(FtpNetworkTransactionTest, DirectoryTransactionMultilineWelcomeShort) { |
ctrl_socket.allow_unconsumed_reads(true); |
ctrl_socket.set_multiline_welcome(true); |
ctrl_socket.set_short_read_limit(5); |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
} |
// Regression test for http://crbug.com/60555. |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionZeroSize) { |
FtpSocketDataProviderDirectoryListingZeroSize ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 0, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionVMS) { |
FtpSocketDataProviderVMSDirectoryListing ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/dir", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/dir", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionVMSRootDirectory) { |
FtpSocketDataProviderVMSDirectoryListingRootDirectory ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionTransferStarting) { |
FtpSocketDataProviderDirectoryListingTransferStarting ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransaction) { |
FtpSocketDataProviderFileDownload ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
// We pass an artificial value of 18 as a response to the SIZE command. |
EXPECT_EQ(18, transaction_.GetResponseInfo()->expected_content_size); |
@@ -1005,7 +986,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransaction) { |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionWithPasvFallback) { |
FtpSocketDataProviderFileDownloadWithPasvFallback ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
// We pass an artificial value of 18 as a response to the SIZE command. |
EXPECT_EQ(18, transaction_.GetResponseInfo()->expected_content_size); |
@@ -1014,7 +995,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionWithPasvFallback) { |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionWithTypecodeA) { |
FtpSocketDataProviderFileDownloadWithFileTypecode ctrl_socket; |
ctrl_socket.set_data_type('A'); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file;type=a", 0, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file;type=a", OK); |
// We pass an artificial value of 18 as a response to the SIZE command. |
EXPECT_EQ(18, transaction_.GetResponseInfo()->expected_content_size); |
@@ -1022,7 +1003,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionWithTypecodeA) { |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionWithTypecodeI) { |
FtpSocketDataProviderFileDownloadWithFileTypecode ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file;type=i", 0, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file;type=i", OK); |
// We pass an artificial value of 18 as a response to the SIZE command. |
EXPECT_EQ(18, transaction_.GetResponseInfo()->expected_content_size); |
@@ -1031,82 +1012,82 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionWithTypecodeI) { |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionMultilineWelcome) { |
FtpSocketDataProviderFileDownload ctrl_socket; |
ctrl_socket.set_multiline_welcome(true); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionShortReads2) { |
FtpSocketDataProviderFileDownload ctrl_socket; |
ctrl_socket.set_short_read_limit(2); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionShortReads5) { |
FtpSocketDataProviderFileDownload ctrl_socket; |
ctrl_socket.set_short_read_limit(5); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionZeroSize) { |
FtpSocketDataProviderFileDownloadZeroSize ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionCWD451) { |
FtpSocketDataProviderFileDownloadCWD451 ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionVMS) { |
FtpSocketDataProviderVMSFileDownload ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionTransferStarting) { |
FtpSocketDataProviderFileDownloadTransferStarting ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionInvalidResponse) { |
FtpSocketDataProviderFileDownloadInvalidResponse ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilPasvReallyBadFormat) { |
FtpSocketDataProviderEvilPasv ctrl_socket("227 Portscan (127,0,0,\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilPasvUnsafePort1) { |
FtpSocketDataProviderEvilPasv ctrl_socket("227 Portscan (127,0,0,1,0,22)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilPasvUnsafePort2) { |
// Still unsafe. 1 * 256 + 2 = 258, which is < 1024. |
FtpSocketDataProviderEvilPasv ctrl_socket("227 Portscan (127,0,0,1,1,2)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilPasvUnsafePort3) { |
// Still unsafe. 3 * 256 + 4 = 772, which is < 1024. |
FtpSocketDataProviderEvilPasv ctrl_socket("227 Portscan (127,0,0,1,3,4)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilPasvUnsafePort4) { |
// Unsafe. 8 * 256 + 1 = 2049, which is used by nfs. |
FtpSocketDataProviderEvilPasv ctrl_socket("227 Portscan (127,0,0,1,8,1)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilPasvUnsafeHost) { |
FtpSocketDataProviderEvilPasv ctrl_socket( |
- "227 Portscan (10,1,2,3,123,456)\r\n", FtpSocketDataProvider::PRE_SIZE); |
+ "227 Portscan (10,1,2,3,123,456)\r\n", FtpSocketDataProvider::PRE_RETR); |
ctrl_socket.set_use_epsv(GetFamily() != AF_INET); |
std::string mock_data("mock-data"); |
MockRead data_reads[] = { |
@@ -1149,7 +1130,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat1) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (|||22)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat2) { |
@@ -1159,7 +1140,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat2) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (||\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat3) { |
@@ -1169,7 +1150,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat3) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat4) { |
@@ -1179,7 +1160,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat4) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (||||)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat5) { |
@@ -1191,7 +1172,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvReallyBadFormat5) { |
const char response[] = "227 Portscan (\0\0\031" "773\0)\r\n"; |
FtpSocketDataProviderEvilEpsv ctrl_socket(response, sizeof(response)-1, |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort1) { |
@@ -1201,7 +1182,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort1) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (|||22|)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort2) { |
@@ -1211,7 +1192,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort2) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (|||258|)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort3) { |
@@ -1221,7 +1202,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort3) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (|||772|)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort4) { |
@@ -1231,7 +1212,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvUnsafePort4) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (|||2049|)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvWeirdSep) { |
@@ -1240,8 +1221,8 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvWeirdSep) { |
return; |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan ($$$31744$)\r\n", |
- FtpSocketDataProvider::PRE_SIZE); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ FtpSocketDataProvider::PRE_RETR); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, |
@@ -1252,7 +1233,7 @@ TEST_P(FtpNetworkTransactionTest, |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan ($$$317$)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_UNSAFE_PORT); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_UNSAFE_PORT); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvIllegalHost) { |
@@ -1262,27 +1243,27 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilEpsvIllegalHost) { |
FtpSocketDataProviderEvilEpsv ctrl_socket("227 Portscan (|2|::1|31744|)\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilLoginBadUsername) { |
FtpSocketDataProviderEvilLogin ctrl_socket("hello%0Aworld", "test"); |
- ExecuteTransaction(&ctrl_socket, "ftp://hello%0Aworld:test@host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://hello%0Aworld:test@host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilLoginBadPassword) { |
FtpSocketDataProviderEvilLogin ctrl_socket("test", "hello%0Dworld"); |
- ExecuteTransaction(&ctrl_socket, "ftp://test:hello%0Dworld@host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://test:hello%0Dworld@host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionSpaceInLogin) { |
FtpSocketDataProviderEvilLogin ctrl_socket("hello world", "test"); |
- ExecuteTransaction(&ctrl_socket, "ftp://hello%20world:test@host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://hello%20world:test@host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionSpaceInPassword) { |
FtpSocketDataProviderEvilLogin ctrl_socket("test", "hello world"); |
- ExecuteTransaction(&ctrl_socket, "ftp://test:hello%20world@host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://test:hello%20world@host/file", OK); |
} |
TEST_P(FtpNetworkTransactionTest, EvilRestartUser) { |
@@ -1357,7 +1338,7 @@ TEST_P(FtpNetworkTransactionTest, EvilRestartPassword) { |
TEST_P(FtpNetworkTransactionTest, Escaping) { |
FtpSocketDataProviderEscaping ctrl_socket; |
ExecuteTransaction(&ctrl_socket, "ftp://host/%20%21%22%23%24%25%79%80%81", |
- 1, OK); |
+ OK); |
} |
// Test for http://crbug.com/23794. |
@@ -1366,7 +1347,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilSize) { |
FtpSocketDataProviderEvilSize ctrl_socket( |
"213 99999999999999999999999999999999\r\n", |
FtpSocketDataProvider::PRE_QUIT); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, ERR_INVALID_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_INVALID_RESPONSE); |
} |
// Test for http://crbug.com/36360. |
@@ -1375,7 +1356,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionBigSize) { |
FtpSocketDataProviderEvilSize ctrl_socket( |
"213 3204427776\r\n", |
FtpSocketDataProvider::PRE_CWD); |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 1, OK); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK); |
EXPECT_EQ(3204427776LL, |
transaction_.GetResponseInfo()->expected_content_size); |
} |
@@ -1383,7 +1364,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionBigSize) { |
// Regression test for http://crbug.com/25023. |
TEST_P(FtpNetworkTransactionTest, CloseConnection) { |
FtpSocketDataProviderCloseConnection ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host", 1, ERR_EMPTY_RESPONSE); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host", ERR_EMPTY_RESPONSE); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionFailUser) { |
@@ -1463,12 +1444,9 @@ TEST_P(FtpNetworkTransactionTest, DirectoryTransactionFailEpsv) { |
FtpSocketDataProviderDirectoryListing ctrl_socket; |
// Use unallocated 599 FTP error code to make sure it falls into the generic |
// ERR_FTP_FAILED bucket. |
- TransactionFailHelper(&ctrl_socket, |
- "ftp://host", |
- FtpSocketDataProvider::PRE_EPSV, |
- FtpSocketDataProvider::PRE_NOPASV, |
- "599 fail\r\n", |
- ERR_FTP_FAILED); |
+ TransactionFailHelper( |
+ &ctrl_socket, "ftp://host", FtpSocketDataProvider::PRE_LIST_EPSV, |
+ FtpSocketDataProvider::PRE_NOPASV, "599 fail\r\n", ERR_FTP_FAILED); |
} |
TEST_P(FtpNetworkTransactionTest, DirectoryTransactionFailCwd) { |
@@ -1561,12 +1539,9 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionFailEpsv) { |
FtpSocketDataProviderFileDownload ctrl_socket; |
// Use unallocated 599 FTP error code to make sure it falls into the generic |
// ERR_FTP_FAILED bucket. |
- TransactionFailHelper(&ctrl_socket, |
- "ftp://host/file", |
- FtpSocketDataProvider::PRE_EPSV, |
- FtpSocketDataProvider::PRE_NOPASV, |
- "599 fail\r\n", |
- ERR_FTP_FAILED); |
+ TransactionFailHelper( |
+ &ctrl_socket, "ftp://host/file", FtpSocketDataProvider::PRE_RETR_EPSV, |
+ FtpSocketDataProvider::PRE_NOPASV, "599 fail\r\n", ERR_FTP_FAILED); |
} |
TEST_P(FtpNetworkTransactionTest, DownloadTransactionFailRetr) { |
@@ -1583,7 +1558,7 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionFailRetr) { |
TEST_P(FtpNetworkTransactionTest, FileNotFound) { |
FtpSocketDataProviderFileNotFound ctrl_socket; |
- ExecuteTransaction(&ctrl_socket, "ftp://host/file", 2, ERR_FTP_FAILED); |
+ ExecuteTransaction(&ctrl_socket, "ftp://host/file", ERR_FTP_FAILED); |
} |
// Test for http://crbug.com/38845. |