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

Side by Side Diff: net/ftp/ftp_network_transaction.cc

Issue 2884043: Revert "FTP: fix navigation to systems with broken EPSV support."i (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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/histogram.h" 8 #include "base/histogram.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 1169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1180 int rv = ctrl_socket_->GetPeerAddress(&data_address); 1180 int rv = ctrl_socket_->GetPeerAddress(&data_address);
1181 if (rv != OK) 1181 if (rv != OK)
1182 return Stop(rv); 1182 return Stop(rv);
1183 data_address.SetPort(data_connection_port_); 1183 data_address.SetPort(data_connection_port_);
1184 data_socket_.reset(socket_factory_->CreateTCPClientSocket( 1184 data_socket_.reset(socket_factory_->CreateTCPClientSocket(
1185 data_address, net_log_.net_log())); 1185 data_address, net_log_.net_log()));
1186 return data_socket_->Connect(&io_callback_); 1186 return data_socket_->Connect(&io_callback_);
1187 } 1187 }
1188 1188
1189 int FtpNetworkTransaction::DoDataConnectComplete(int result) { 1189 int FtpNetworkTransaction::DoDataConnectComplete(int result) {
1190 if (result == ERR_CONNECTION_TIMED_OUT && use_epsv_) {
1191 // It's possible we hit a broken server, sadly. Fall back to PASV.
1192 // TODO(phajdan.jr): remember it for future transactions with this server.
1193 // TODO(phajdan.jr): write a test for this code path.
1194 use_epsv_ = false;
1195 next_state_ = STATE_CTRL_WRITE_PASV;
1196 return OK;
1197 }
1198
1199 // Only record the connection error after we've applied all our fallbacks.
1200 // We want to capture the final error, one we're not going to recover from.
1201 RecordDataConnectionError(result); 1190 RecordDataConnectionError(result);
1202
1203 if (result != OK)
1204 return Stop(result);
1205
1206 next_state_ = STATE_CTRL_WRITE_SIZE; 1191 next_state_ = STATE_CTRL_WRITE_SIZE;
1207 return OK; 1192 return OK;
1208 } 1193 }
1209 1194
1210 int FtpNetworkTransaction::DoDataRead() { 1195 int FtpNetworkTransaction::DoDataRead() {
1211 DCHECK(read_data_buf_); 1196 DCHECK(read_data_buf_);
1212 DCHECK_GT(read_data_buf_len_, 0); 1197 DCHECK_GT(read_data_buf_len_, 0);
1213 1198
1214 if (data_socket_ == NULL || !data_socket_->IsConnected()) { 1199 if (data_socket_ == NULL || !data_socket_->IsConnected()) {
1215 // If we don't destroy the data socket completely, some servers will wait 1200 // If we don't destroy the data socket completely, some servers will wait
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1318 if (!had_error_type[type]) { 1303 if (!had_error_type[type]) {
1319 had_error_type[type] = true; 1304 had_error_type[type] = true;
1320 UMA_HISTOGRAM_ENUMERATION("Net.FtpDataConnectionErrorHappened", 1305 UMA_HISTOGRAM_ENUMERATION("Net.FtpDataConnectionErrorHappened",
1321 type, NUM_OF_NET_ERROR_TYPES); 1306 type, NUM_OF_NET_ERROR_TYPES);
1322 } 1307 }
1323 UMA_HISTOGRAM_ENUMERATION("Net.FtpDataConnectionErrorCount", 1308 UMA_HISTOGRAM_ENUMERATION("Net.FtpDataConnectionErrorCount",
1324 type, NUM_OF_NET_ERROR_TYPES); 1309 type, NUM_OF_NET_ERROR_TYPES);
1325 } 1310 }
1326 1311
1327 } // namespace net 1312 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698