| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/ftp/ftp_network_transaction.h" | 5 #include "net/ftp/ftp_network_transaction.h" |
| 6 | 6 |
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
| 8 | 8 |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 1172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1183 MockRead("221 Goodbye!\r\n"), | 1183 MockRead("221 Goodbye!\r\n"), |
| 1184 MockRead(false, OK), | 1184 MockRead(false, OK), |
| 1185 }; | 1185 }; |
| 1186 MockWrite ctrl_writes[] = { | 1186 MockWrite ctrl_writes[] = { |
| 1187 MockWrite("QUIT\r\n"), | 1187 MockWrite("QUIT\r\n"), |
| 1188 }; | 1188 }; |
| 1189 StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads), | 1189 StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads), |
| 1190 ctrl_writes, arraysize(ctrl_writes)); | 1190 ctrl_writes, arraysize(ctrl_writes)); |
| 1191 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2); | 1191 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2); |
| 1192 ASSERT_EQ(ERR_IO_PENDING, | 1192 ASSERT_EQ(ERR_IO_PENDING, |
| 1193 transaction_.RestartWithAuth(ASCIIToUTF16("foo\nownz0red"), | 1193 transaction_.RestartWithAuth( |
| 1194 ASCIIToUTF16("innocent"), | 1194 AuthCredentials( |
| 1195 &callback_)); | 1195 ASCIIToUTF16("foo\nownz0red"), |
| 1196 ASCIIToUTF16("innocent")), |
| 1197 &callback_)); |
| 1196 EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult()); | 1198 EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult()); |
| 1197 } | 1199 } |
| 1198 | 1200 |
| 1199 TEST_F(FtpNetworkTransactionTest, EvilRestartPassword) { | 1201 TEST_F(FtpNetworkTransactionTest, EvilRestartPassword) { |
| 1200 FtpSocketDataProvider ctrl_socket1; | 1202 FtpSocketDataProvider ctrl_socket1; |
| 1201 ctrl_socket1.InjectFailure(FtpSocketDataProvider::PRE_PASSWD, | 1203 ctrl_socket1.InjectFailure(FtpSocketDataProvider::PRE_PASSWD, |
| 1202 FtpSocketDataProvider::PRE_QUIT, | 1204 FtpSocketDataProvider::PRE_QUIT, |
| 1203 "530 Login authentication failed\r\n"); | 1205 "530 Login authentication failed\r\n"); |
| 1204 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket1); | 1206 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket1); |
| 1205 | 1207 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1216 MockRead(false, OK), | 1218 MockRead(false, OK), |
| 1217 }; | 1219 }; |
| 1218 MockWrite ctrl_writes[] = { | 1220 MockWrite ctrl_writes[] = { |
| 1219 MockWrite("USER innocent\r\n"), | 1221 MockWrite("USER innocent\r\n"), |
| 1220 MockWrite("QUIT\r\n"), | 1222 MockWrite("QUIT\r\n"), |
| 1221 }; | 1223 }; |
| 1222 StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads), | 1224 StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads), |
| 1223 ctrl_writes, arraysize(ctrl_writes)); | 1225 ctrl_writes, arraysize(ctrl_writes)); |
| 1224 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2); | 1226 mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2); |
| 1225 ASSERT_EQ(ERR_IO_PENDING, | 1227 ASSERT_EQ(ERR_IO_PENDING, |
| 1226 transaction_.RestartWithAuth(ASCIIToUTF16("innocent"), | 1228 transaction_.RestartWithAuth( |
| 1227 ASCIIToUTF16("foo\nownz0red"), | 1229 AuthCredentials(ASCIIToUTF16("innocent"), |
| 1228 &callback_)); | 1230 ASCIIToUTF16("foo\nownz0red")), |
| 1231 &callback_)); |
| 1229 EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult()); | 1232 EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult()); |
| 1230 } | 1233 } |
| 1231 | 1234 |
| 1232 TEST_F(FtpNetworkTransactionTest, Escaping) { | 1235 TEST_F(FtpNetworkTransactionTest, Escaping) { |
| 1233 FtpSocketDataProviderEscaping ctrl_socket; | 1236 FtpSocketDataProviderEscaping ctrl_socket; |
| 1234 ExecuteTransaction(&ctrl_socket, "ftp://host/%20%21%22%23%24%25%79%80%81", | 1237 ExecuteTransaction(&ctrl_socket, "ftp://host/%20%21%22%23%24%25%79%80%81", |
| 1235 OK); | 1238 OK); |
| 1236 } | 1239 } |
| 1237 | 1240 |
| 1238 // Test for http://crbug.com/23794. | 1241 // Test for http://crbug.com/23794. |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1458 FtpSocketDataProviderFileDownload ctrl_socket; | 1461 FtpSocketDataProviderFileDownload ctrl_socket; |
| 1459 TransactionFailHelper(&ctrl_socket, | 1462 TransactionFailHelper(&ctrl_socket, |
| 1460 "ftp://host/file", | 1463 "ftp://host/file", |
| 1461 FtpSocketDataProvider::PRE_PWD, | 1464 FtpSocketDataProvider::PRE_PWD, |
| 1462 FtpSocketDataProvider::PRE_TYPE, | 1465 FtpSocketDataProvider::PRE_TYPE, |
| 1463 "257 \"\"\r\n", | 1466 "257 \"\"\r\n", |
| 1464 OK); | 1467 OK); |
| 1465 } | 1468 } |
| 1466 | 1469 |
| 1467 } // namespace net | 1470 } // namespace net |
| OLD | NEW |