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

Unified Diff: net/ftp/ftp_network_transaction.cc

Issue 2985004: Clean up FTP code a bit: (Closed)
Patch Set: Created 10 years, 5 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
« no previous file with comments | « net/ftp/ftp_network_transaction.h ('k') | net/ftp/ftp_network_transaction_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/ftp/ftp_network_transaction.cc
diff --git a/net/ftp/ftp_network_transaction.cc b/net/ftp/ftp_network_transaction.cc
index 123e399dfde552d32d1f0c4e190e45593bacaf85..83e29975da89e8db800c65ada58aedfb068f4f31 100644
--- a/net/ftp/ftp_network_transaction.cc
+++ b/net/ftp/ftp_network_transaction.cc
@@ -1,6 +1,6 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. Use of this
-// source code is governed by a BSD-style license that can be found in the
-// LICENSE file.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
#include "net/ftp/ftp_network_transaction.h"
@@ -150,7 +150,7 @@ int FtpNetworkTransaction::Start(const FtpRequestInfo* request_info,
DetectTypecode();
- next_state_ = STATE_CTRL_INIT;
+ next_state_ = STATE_CTRL_RESOLVE_HOST;
int rv = DoLoop(OK);
if (rv == ERR_IO_PENDING)
user_callback_ = callback;
@@ -174,7 +174,7 @@ int FtpNetworkTransaction::RestartWithAuth(const std::wstring& username,
username_ = username;
password_ = password;
- next_state_ = STATE_CTRL_INIT;
+ next_state_ = STATE_CTRL_RESOLVE_HOST;
int rv = DoLoop(OK);
if (rv == ERR_IO_PENDING)
user_callback_ = callback;
@@ -301,9 +301,6 @@ int FtpNetworkTransaction::ProcessCtrlResponse() {
case COMMAND_PASS:
rv = ProcessResponsePASS(response);
break;
- case COMMAND_ACCT:
- rv = ProcessResponseACCT(response);
- break;
case COMMAND_SYST:
rv = ProcessResponseSYST(response);
break;
@@ -462,13 +459,6 @@ int FtpNetworkTransaction::DoLoop(int result) {
State state = next_state_;
next_state_ = STATE_NONE;
switch (state) {
- case STATE_CTRL_INIT:
- DCHECK(rv == OK);
- rv = DoCtrlInit();
- break;
- case STATE_CTRL_INIT_COMPLETE:
- rv = DoCtrlInitComplete(rv);
- break;
case STATE_CTRL_RESOLVE_HOST:
DCHECK(rv == OK);
rv = DoCtrlResolveHost();
@@ -509,10 +499,6 @@ int FtpNetworkTransaction::DoLoop(int result) {
DCHECK(rv == OK);
rv = DoCtrlWriteSYST();
break;
- case STATE_CTRL_WRITE_ACCT:
- DCHECK(rv == OK);
- rv = DoCtrlWriteACCT();
- break;
case STATE_CTRL_WRITE_PWD:
DCHECK(rv == OK);
rv = DoCtrlWritePWD();
@@ -576,17 +562,6 @@ int FtpNetworkTransaction::DoLoop(int result) {
return rv;
}
-// TODO(ibrar): Yet to see if we need any intialization
-int FtpNetworkTransaction::DoCtrlInit() {
- next_state_ = STATE_CTRL_INIT_COMPLETE;
- return OK;
-}
-
-int FtpNetworkTransaction::DoCtrlInitComplete(int result) {
- next_state_ = STATE_CTRL_RESOLVE_HOST;
- return OK;
-}
-
int FtpNetworkTransaction::DoCtrlResolveHost() {
next_state_ = STATE_CTRL_RESOLVE_HOST_COMPLETE;
@@ -728,8 +703,7 @@ int FtpNetworkTransaction::ProcessResponsePASS(
next_state_ = STATE_CTRL_WRITE_SYST;
break;
case ERROR_CLASS_INFO_NEEDED:
- next_state_ = STATE_CTRL_WRITE_ACCT;
- break;
+ return Stop(ERR_FAILED);
case ERROR_CLASS_TRANSIENT_ERROR:
return Stop(ERR_FAILED);
case ERROR_CLASS_PERMANENT_ERROR:
@@ -876,34 +850,6 @@ int FtpNetworkTransaction::ProcessResponseTYPE(
return OK;
}
-// ACCT command.
-int FtpNetworkTransaction::DoCtrlWriteACCT() {
- std::string command = "ACCT noaccount";
- next_state_ = STATE_CTRL_READ;
- return SendFtpCommand(command, COMMAND_ACCT);
-}
-
-int FtpNetworkTransaction::ProcessResponseACCT(
- const FtpCtrlResponse& response) {
- switch (GetErrorClass(response.status_code)) {
- case ERROR_CLASS_INITIATED:
- return Stop(ERR_INVALID_RESPONSE);
- case ERROR_CLASS_OK:
- next_state_ = STATE_CTRL_WRITE_SYST;
- break;
- case ERROR_CLASS_INFO_NEEDED:
- return Stop(ERR_INVALID_RESPONSE);
- case ERROR_CLASS_TRANSIENT_ERROR:
- return Stop(ERR_FAILED);
- case ERROR_CLASS_PERMANENT_ERROR:
- return Stop(ERR_FAILED);
- default:
- NOTREACHED();
- return Stop(ERR_UNEXPECTED);
- }
- return OK;
-}
-
// EPSV command
int FtpNetworkTransaction::DoCtrlWriteEPSV() {
const std::string command = "EPSV";
@@ -1039,13 +985,9 @@ int FtpNetworkTransaction::ProcessResponseRETR(
next_state_ = STATE_CTRL_WRITE_QUIT;
break;
case ERROR_CLASS_INFO_NEEDED:
- next_state_ = use_epsv_ ? STATE_CTRL_WRITE_EPSV : STATE_CTRL_WRITE_PASV;
- break;
+ return Stop(ERR_FAILED);
case ERROR_CLASS_TRANSIENT_ERROR:
- if (response.status_code == 421 || response.status_code == 425 ||
- response.status_code == 426)
- return Stop(ERR_FAILED);
- return ERR_FAILED; // TODO(ibrar): Retry here.
+ return Stop(ERR_FAILED);
case ERROR_CLASS_PERMANENT_ERROR:
// Code 550 means "Failed to open file". Other codes are unrelated,
// like "Not logged in" etc.
« no previous file with comments | « net/ftp/ftp_network_transaction.h ('k') | net/ftp/ftp_network_transaction_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698