summaryrefslogtreecommitdiff
path: root/chromium/net/ftp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-01-04 14:17:57 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-01-05 10:05:06 +0000
commit39d357e3248f80abea0159765ff39554affb40db (patch)
treeaba0e6bfb76de0244bba0f5fdbd64b830dd6e621 /chromium/net/ftp
parent87778abf5a1f89266f37d1321b92a21851d8244d (diff)
downloadqtwebengine-chromium-39d357e3248f80abea0159765ff39554affb40db.tar.gz
BASELINE: Update Chromium to 55.0.2883.105
And updates ninja to 1.7.2 Change-Id: I20d43c737f82764d857ada9a55586901b18b9243 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/net/ftp')
-rw-r--r--chromium/net/ftp/ftp_ctrl_response_buffer.cc9
-rw-r--r--chromium/net/ftp/ftp_ctrl_response_buffer.h6
-rw-r--r--chromium/net/ftp/ftp_ctrl_response_buffer_unittest.cc60
-rw-r--r--chromium/net/ftp/ftp_ctrl_response_fuzzer.cc3
-rw-r--r--chromium/net/ftp/ftp_directory_listing_parser.cc44
-rw-r--r--chromium/net/ftp/ftp_directory_listing_parser_unittest.cc4
-rw-r--r--chromium/net/ftp/ftp_network_layer.cc4
-rw-r--r--chromium/net/ftp/ftp_network_transaction.cc18
-rw-r--r--chromium/net/ftp/ftp_network_transaction.h11
-rw-r--r--chromium/net/ftp/ftp_network_transaction_unittest.cc27
-rw-r--r--chromium/net/ftp/ftp_transaction.h4
-rw-r--r--chromium/net/ftp/ftp_util.cc6
12 files changed, 100 insertions, 96 deletions
diff --git a/chromium/net/ftp/ftp_ctrl_response_buffer.cc b/chromium/net/ftp/ftp_ctrl_response_buffer.cc
index 1195d66b54a..f2cc5f535b0 100644
--- a/chromium/net/ftp/ftp_ctrl_response_buffer.cc
+++ b/chromium/net/ftp/ftp_ctrl_response_buffer.cc
@@ -12,6 +12,7 @@
#include "base/strings/string_piece.h"
#include "base/values.h"
#include "net/base/net_errors.h"
+#include "net/log/net_log_event_type.h"
namespace net {
@@ -24,10 +25,8 @@ FtpCtrlResponse::FtpCtrlResponse(const FtpCtrlResponse& other) = default;
FtpCtrlResponse::~FtpCtrlResponse() {}
-FtpCtrlResponseBuffer::FtpCtrlResponseBuffer(const BoundNetLog& net_log)
- : multiline_(false),
- net_log_(net_log) {
-}
+FtpCtrlResponseBuffer::FtpCtrlResponseBuffer(const NetLogWithSource& net_log)
+ : multiline_(false), net_log_(net_log) {}
FtpCtrlResponseBuffer::~FtpCtrlResponseBuffer() {}
@@ -101,7 +100,7 @@ FtpCtrlResponse FtpCtrlResponseBuffer::PopResponse() {
FtpCtrlResponse result = responses_.front();
responses_.pop();
- net_log_.AddEvent(NetLog::TYPE_FTP_CONTROL_RESPONSE,
+ net_log_.AddEvent(NetLogEventType::FTP_CONTROL_RESPONSE,
base::Bind(&NetLogFtpCtrlResponseCallback, &result));
return result;
diff --git a/chromium/net/ftp/ftp_ctrl_response_buffer.h b/chromium/net/ftp/ftp_ctrl_response_buffer.h
index b53b7a91783..e8683ec88ab 100644
--- a/chromium/net/ftp/ftp_ctrl_response_buffer.h
+++ b/chromium/net/ftp/ftp_ctrl_response_buffer.h
@@ -11,7 +11,7 @@
#include "base/macros.h"
#include "net/base/net_export.h"
-#include "net/log/net_log.h"
+#include "net/log/net_log_with_source.h"
namespace net {
@@ -28,7 +28,7 @@ struct NET_EXPORT_PRIVATE FtpCtrlResponse {
class NET_EXPORT_PRIVATE FtpCtrlResponseBuffer {
public:
- FtpCtrlResponseBuffer(const BoundNetLog& net_log);
+ FtpCtrlResponseBuffer(const NetLogWithSource& net_log);
~FtpCtrlResponseBuffer();
// Called when data is received from the control socket. Returns error code.
@@ -92,7 +92,7 @@ class NET_EXPORT_PRIVATE FtpCtrlResponseBuffer {
// As we read full responses (possibly multiline), we add them to the queue.
std::queue<FtpCtrlResponse> responses_;
- BoundNetLog net_log_;
+ NetLogWithSource net_log_;
DISALLOW_COPY_AND_ASSIGN(FtpCtrlResponseBuffer);
};
diff --git a/chromium/net/ftp/ftp_ctrl_response_buffer_unittest.cc b/chromium/net/ftp/ftp_ctrl_response_buffer_unittest.cc
index 759ed87205d..a133aa441d7 100644
--- a/chromium/net/ftp/ftp_ctrl_response_buffer_unittest.cc
+++ b/chromium/net/ftp/ftp_ctrl_response_buffer_unittest.cc
@@ -7,15 +7,20 @@
#include <string.h>
#include "net/base/net_errors.h"
+#include "net/test/gtest_util.h"
+#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+using net::test::IsError;
+using net::test::IsOk;
+
namespace net {
namespace {
class FtpCtrlResponseBufferTest : public testing::Test {
public:
- FtpCtrlResponseBufferTest() : buffer_(BoundNetLog()) {}
+ FtpCtrlResponseBufferTest() : buffer_(NetLogWithSource()) {}
protected:
int PushDataToBuffer(const char* data) {
@@ -28,7 +33,7 @@ class FtpCtrlResponseBufferTest : public testing::Test {
TEST_F(FtpCtrlResponseBufferTest, Basic) {
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("200 Status Text\r\n"));
+ EXPECT_THAT(PushDataToBuffer("200 Status Text\r\n"), IsOk());
EXPECT_TRUE(buffer_.ResponseAvailable());
FtpCtrlResponse response = buffer_.PopResponse();
@@ -39,15 +44,15 @@ TEST_F(FtpCtrlResponseBufferTest, Basic) {
}
TEST_F(FtpCtrlResponseBufferTest, Chunks) {
- EXPECT_EQ(OK, PushDataToBuffer("20"));
+ EXPECT_THAT(PushDataToBuffer("20"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("0 Status"));
+ EXPECT_THAT(PushDataToBuffer("0 Status"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer(" Text"));
+ EXPECT_THAT(PushDataToBuffer(" Text"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("\r"));
+ EXPECT_THAT(PushDataToBuffer("\r"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("\n"));
+ EXPECT_THAT(PushDataToBuffer("\n"), IsOk());
EXPECT_TRUE(buffer_.ResponseAvailable());
FtpCtrlResponse response = buffer_.PopResponse();
@@ -58,13 +63,13 @@ TEST_F(FtpCtrlResponseBufferTest, Chunks) {
}
TEST_F(FtpCtrlResponseBufferTest, Continuation) {
- EXPECT_EQ(OK, PushDataToBuffer("230-FirstLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230-FirstLine\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("230-SecondLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230-SecondLine\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("230 LastLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230 LastLine\r\n"), IsOk());
EXPECT_TRUE(buffer_.ResponseAvailable());
FtpCtrlResponse response = buffer_.PopResponse();
@@ -77,19 +82,19 @@ TEST_F(FtpCtrlResponseBufferTest, Continuation) {
}
TEST_F(FtpCtrlResponseBufferTest, MultilineContinuation) {
- EXPECT_EQ(OK, PushDataToBuffer("230-FirstLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230-FirstLine\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("Continued\r\n"));
+ EXPECT_THAT(PushDataToBuffer("Continued\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("230-SecondLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230-SecondLine\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("215 Continued\r\n"));
+ EXPECT_THAT(PushDataToBuffer("215 Continued\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("230 LastLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230 LastLine\r\n"), IsOk());
EXPECT_TRUE(buffer_.ResponseAvailable());
FtpCtrlResponse response = buffer_.PopResponse();
@@ -103,13 +108,13 @@ TEST_F(FtpCtrlResponseBufferTest, MultilineContinuation) {
TEST_F(FtpCtrlResponseBufferTest, MultilineContinuationZeroLength) {
// For the corner case from bug 29322.
- EXPECT_EQ(OK, PushDataToBuffer("230-\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230-\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("example.com\r\n"));
+ EXPECT_THAT(PushDataToBuffer("example.com\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("230 LastLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230 LastLine\r\n"), IsOk());
EXPECT_TRUE(buffer_.ResponseAvailable());
FtpCtrlResponse response = buffer_.PopResponse();
@@ -121,15 +126,15 @@ TEST_F(FtpCtrlResponseBufferTest, MultilineContinuationZeroLength) {
}
TEST_F(FtpCtrlResponseBufferTest, SimilarContinuation) {
- EXPECT_EQ(OK, PushDataToBuffer("230-FirstLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230-FirstLine\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
// Notice the space at the start of the line. It should be recognized
// as a continuation, and not the last line.
- EXPECT_EQ(OK, PushDataToBuffer(" 230 Continued\r\n"));
+ EXPECT_THAT(PushDataToBuffer(" 230 Continued\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("230 TrueLastLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230 TrueLastLine\r\n"), IsOk());
EXPECT_TRUE(buffer_.ResponseAvailable());
FtpCtrlResponse response = buffer_.PopResponse();
@@ -142,16 +147,16 @@ TEST_F(FtpCtrlResponseBufferTest, SimilarContinuation) {
// The nesting of multi-line responses is not allowed.
TEST_F(FtpCtrlResponseBufferTest, NoNesting) {
- EXPECT_EQ(OK, PushDataToBuffer("230-FirstLine\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230-FirstLine\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("300-Continuation\r\n"));
+ EXPECT_THAT(PushDataToBuffer("300-Continuation\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("300 Still continuation\r\n"));
+ EXPECT_THAT(PushDataToBuffer("300 Still continuation\r\n"), IsOk());
EXPECT_FALSE(buffer_.ResponseAvailable());
- EXPECT_EQ(OK, PushDataToBuffer("230 Real End\r\n"));
+ EXPECT_THAT(PushDataToBuffer("230 Real End\r\n"), IsOk());
ASSERT_TRUE(buffer_.ResponseAvailable());
FtpCtrlResponse response = buffer_.PopResponse();
@@ -164,12 +169,13 @@ TEST_F(FtpCtrlResponseBufferTest, NoNesting) {
}
TEST_F(FtpCtrlResponseBufferTest, NonNumericResponse) {
- EXPECT_EQ(ERR_INVALID_RESPONSE, PushDataToBuffer("Non-numeric\r\n"));
+ EXPECT_THAT(PushDataToBuffer("Non-numeric\r\n"),
+ IsError(ERR_INVALID_RESPONSE));
EXPECT_FALSE(buffer_.ResponseAvailable());
}
TEST_F(FtpCtrlResponseBufferTest, OutOfRangeResponse) {
- EXPECT_EQ(ERR_INVALID_RESPONSE, PushDataToBuffer("777 OK?\r\n"));
+ EXPECT_THAT(PushDataToBuffer("777 OK?\r\n"), IsError(ERR_INVALID_RESPONSE));
EXPECT_FALSE(buffer_.ResponseAvailable());
}
diff --git a/chromium/net/ftp/ftp_ctrl_response_fuzzer.cc b/chromium/net/ftp/ftp_ctrl_response_fuzzer.cc
index 227cfa28497..f3a9ee3c6df 100644
--- a/chromium/net/ftp/ftp_ctrl_response_fuzzer.cc
+++ b/chromium/net/ftp/ftp_ctrl_response_fuzzer.cc
@@ -6,11 +6,10 @@
#include <stdint.h>
#include "net/ftp/ftp_ctrl_response_buffer.h"
-#include "net/log/net_log.h"
// Entry point for LibFuzzer.
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
- const net::BoundNetLog log;
+ const net::NetLogWithSource log;
net::FtpCtrlResponseBuffer buffer(log);
if (!buffer.ConsumeData(reinterpret_cast<const char*>(data), size)) {
return 0;
diff --git a/chromium/net/ftp/ftp_directory_listing_parser.cc b/chromium/net/ftp/ftp_directory_listing_parser.cc
index a1aabf3f971..151c1b9df56 100644
--- a/chromium/net/ftp/ftp_directory_listing_parser.cc
+++ b/chromium/net/ftp/ftp_directory_listing_parser.cc
@@ -6,7 +6,7 @@
#include "base/bind.h"
#include "base/callback.h"
-#include "base/i18n/icu_encoding_detection.h"
+#include "base/i18n/encoding_detection.h"
#include "base/i18n/icu_string_conversions.h"
#include "base/stl_util.h"
#include "base/strings/string_util.h"
@@ -45,8 +45,8 @@ int ParseListing(const base::string16& text,
const base::Time& current_time,
std::vector<FtpDirectoryListingEntry>* entries,
FtpServerType* server_type) {
- std::vector<base::string16> lines;
- base::SplitStringUsingSubstr(text, newline_separator, &lines);
+ std::vector<base::string16> lines = base::SplitStringUsingSubstr(
+ text, newline_separator, base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
struct {
base::Callback<bool(void)> callback;
@@ -84,29 +84,23 @@ int DecodeAndParse(const std::string& text,
const base::Time& current_time,
std::vector<FtpDirectoryListingEntry>* entries,
FtpServerType* server_type) {
- const char* const kNewlineSeparators[] = { "\n", "\r\n" };
-
- std::vector<std::string> encodings;
- if (!base::DetectAllEncodings(text, &encodings))
+ std::string encoding;
+ if (!base::DetectEncoding(text, &encoding))
return ERR_ENCODING_DETECTION_FAILED;
-
- // Use first encoding that can be used to decode the text.
- for (size_t i = 0; i < encodings.size(); i++) {
- base::string16 converted_text;
- if (base::CodepageToUTF16(text,
- encodings[i].c_str(),
- base::OnStringConversionError::FAIL,
- &converted_text)) {
- for (size_t j = 0; j < arraysize(kNewlineSeparators); j++) {
- int rv = ParseListing(converted_text,
- base::ASCIIToUTF16(kNewlineSeparators[j]),
- encodings[i],
- current_time,
- entries,
- server_type);
- if (rv == OK)
- return rv;
- }
+ const char* encoding_name = encoding.c_str();
+
+ base::string16 converted_text;
+ if (base::CodepageToUTF16(text, encoding_name,
+ base::OnStringConversionError::FAIL,
+ &converted_text)) {
+ const char* const kNewlineSeparators[] = {"\n", "\r\n"};
+
+ for (size_t j = 0; j < arraysize(kNewlineSeparators); j++) {
+ int rv = ParseListing(converted_text,
+ base::ASCIIToUTF16(kNewlineSeparators[j]),
+ encoding_name, current_time, entries, server_type);
+ if (rv == OK)
+ return rv;
}
}
diff --git a/chromium/net/ftp/ftp_directory_listing_parser_unittest.cc b/chromium/net/ftp/ftp_directory_listing_parser_unittest.cc
index 5c98c23f630..583426d98d7 100644
--- a/chromium/net/ftp/ftp_directory_listing_parser_unittest.cc
+++ b/chromium/net/ftp/ftp_directory_listing_parser_unittest.cc
@@ -69,8 +69,8 @@ TEST_P(FtpDirectoryListingParserTest, Parse) {
test_dir.AppendASCII(std::string(param.name) + ".expected"),
&expected_listing));
- std::vector<std::string> lines;
- base::SplitStringUsingSubstr(expected_listing, "\r\n", &lines);
+ std::vector<std::string> lines = base::SplitStringUsingSubstr(
+ expected_listing, "\r\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
// Special case for empty listings.
if (lines.size() == 1 && lines[0].empty())
diff --git a/chromium/net/ftp/ftp_network_layer.cc b/chromium/net/ftp/ftp_network_layer.cc
index bc9c25a0b7f..2c11fc7b5ba 100644
--- a/chromium/net/ftp/ftp_network_layer.cc
+++ b/chromium/net/ftp/ftp_network_layer.cc
@@ -23,8 +23,8 @@ std::unique_ptr<FtpTransaction> FtpNetworkLayer::CreateTransaction() {
if (suspended_)
return std::unique_ptr<FtpTransaction>();
- return base::WrapUnique(new FtpNetworkTransaction(
- session_->host_resolver(), ClientSocketFactory::GetDefaultFactory()));
+ return base::MakeUnique<FtpNetworkTransaction>(
+ session_->host_resolver(), ClientSocketFactory::GetDefaultFactory());
}
void FtpNetworkLayer::Suspend(bool suspend) {
diff --git a/chromium/net/ftp/ftp_network_transaction.cc b/chromium/net/ftp/ftp_network_transaction.cc
index 32cd5d40455..8ecde3104de 100644
--- a/chromium/net/ftp/ftp_network_transaction.cc
+++ b/chromium/net/ftp/ftp_network_transaction.cc
@@ -21,6 +21,8 @@
#include "net/ftp/ftp_request_info.h"
#include "net/ftp/ftp_util.h"
#include "net/log/net_log.h"
+#include "net/log/net_log_event_type.h"
+#include "net/log/net_log_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/stream_socket.h"
#include "url/url_constants.h"
@@ -237,7 +239,7 @@ int FtpNetworkTransaction::Stop(int error) {
int FtpNetworkTransaction::Start(const FtpRequestInfo* request_info,
const CompletionCallback& callback,
- const BoundNetLog& net_log) {
+ const NetLogWithSource& net_log) {
net_log_ = net_log;
request_ = request_info;
@@ -462,7 +464,7 @@ int FtpNetworkTransaction::SendFtpCommand(const std::string& command,
memcpy(write_command_buf_->data(), command.data(), command.length());
memcpy(write_command_buf_->data() + command.length(), kCRLF, 2);
- net_log_.AddEvent(NetLog::TYPE_FTP_COMMAND_SENT,
+ net_log_.AddEvent(NetLogEventType::FTP_COMMAND_SENT,
NetLog::StringCallback("command", &command_for_log));
next_state_ = STATE_CTRL_WRITE;
@@ -637,12 +639,10 @@ int FtpNetworkTransaction::DoCtrlResolveHost() {
HostResolver::RequestInfo info(HostPortPair::FromURL(request_->url));
// No known referrer.
- return resolver_.Resolve(
- info,
- DEFAULT_PRIORITY,
- &addresses_,
+ return resolver_->Resolve(
+ info, DEFAULT_PRIORITY, &addresses_,
base::Bind(&FtpNetworkTransaction::OnIOComplete, base::Unretained(this)),
- net_log_);
+ &resolve_request_, net_log_);
}
int FtpNetworkTransaction::DoCtrlResolveHostComplete(int result) {
@@ -656,7 +656,7 @@ int FtpNetworkTransaction::DoCtrlConnect() {
ctrl_socket_ = socket_factory_->CreateTransportClientSocket(
addresses_, NULL, net_log_.net_log(), net_log_.source());
net_log_.AddEvent(
- NetLog::TYPE_FTP_CONTROL_CONNECTION,
+ NetLogEventType::FTP_CONTROL_CONNECTION,
ctrl_socket_->NetLog().source().ToEventParametersCallback());
return ctrl_socket_->Connect(io_callback_);
}
@@ -1233,7 +1233,7 @@ int FtpNetworkTransaction::DoDataConnect() {
data_socket_ = socket_factory_->CreateTransportClientSocket(
data_address, NULL, net_log_.net_log(), net_log_.source());
net_log_.AddEvent(
- NetLog::TYPE_FTP_DATA_CONNECTION,
+ NetLogEventType::FTP_DATA_CONNECTION,
data_socket_->NetLog().source().ToEventParametersCallback());
return data_socket_->Connect(io_callback_);
}
diff --git a/chromium/net/ftp/ftp_network_transaction.h b/chromium/net/ftp/ftp_network_transaction.h
index d5fc67d4b49..02c45c23645 100644
--- a/chromium/net/ftp/ftp_network_transaction.h
+++ b/chromium/net/ftp/ftp_network_transaction.h
@@ -16,12 +16,12 @@
#include "base/memory/ref_counted.h"
#include "net/base/address_list.h"
#include "net/base/auth.h"
+#include "net/base/net_export.h"
#include "net/dns/host_resolver.h"
-#include "net/dns/single_request_host_resolver.h"
#include "net/ftp/ftp_ctrl_response_buffer.h"
#include "net/ftp/ftp_response_info.h"
#include "net/ftp/ftp_transaction.h"
-#include "net/log/net_log.h"
+#include "net/log/net_log_with_source.h"
namespace net {
@@ -39,7 +39,7 @@ class NET_EXPORT_PRIVATE FtpNetworkTransaction : public FtpTransaction {
// FtpTransaction methods:
int Start(const FtpRequestInfo* request_info,
const CompletionCallback& callback,
- const BoundNetLog& net_log) override;
+ const NetLogWithSource& net_log) override;
int RestartWithAuth(const AuthCredentials& credentials,
const CompletionCallback& callback) override;
int Read(IOBuffer* buf,
@@ -202,13 +202,14 @@ class NET_EXPORT_PRIVATE FtpNetworkTransaction : public FtpTransaction {
CompletionCallback io_callback_;
CompletionCallback user_callback_;
- BoundNetLog net_log_;
+ NetLogWithSource net_log_;
const FtpRequestInfo* request_;
FtpResponseInfo response_;
// Cancels the outstanding request on destruction.
- SingleRequestHostResolver resolver_;
+ HostResolver* resolver_;
AddressList addresses_;
+ std::unique_ptr<HostResolver::Request> resolve_request_;
// User buffer passed to the Read method for control socket.
scoped_refptr<IOBuffer> read_ctrl_buf_;
diff --git a/chromium/net/ftp/ftp_network_transaction_unittest.cc b/chromium/net/ftp/ftp_network_transaction_unittest.cc
index 1c0cc8970d4..3c75f42fda8 100644
--- a/chromium/net/ftp/ftp_network_transaction_unittest.cc
+++ b/chromium/net/ftp/ftp_network_transaction_unittest.cc
@@ -17,9 +17,14 @@
#include "net/dns/mock_host_resolver.h"
#include "net/ftp/ftp_request_info.h"
#include "net/socket/socket_test_util.h"
+#include "net/test/gtest_util.h"
+#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
+using net::test::IsError;
+using net::test::IsOk;
+
namespace {
// Size we use for IOBuffers used to receive data from the test data socket.
@@ -892,7 +897,7 @@ class FtpNetworkTransactionTest
EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState());
ASSERT_EQ(ERR_IO_PENDING,
transaction_.Start(&request_info, callback_.callback(),
- BoundNetLog()));
+ NetLogWithSource()));
EXPECT_NE(LOAD_STATE_IDLE, transaction_.GetLoadState());
ASSERT_EQ(expected_result, callback_.WaitForResult());
if (expected_result == OK) {
@@ -944,8 +949,8 @@ TEST_P(FtpNetworkTransactionTest, FailedLookup) {
EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState());
ASSERT_EQ(ERR_IO_PENDING,
transaction_.Start(&request_info, callback_.callback(),
- BoundNetLog()));
- ASSERT_EQ(ERR_NAME_NOT_RESOLVED, callback_.WaitForResult());
+ NetLogWithSource()));
+ ASSERT_THAT(callback_.WaitForResult(), IsError(ERR_NAME_NOT_RESOLVED));
EXPECT_EQ(LOAD_STATE_IDLE, transaction_.GetLoadState());
}
@@ -1175,8 +1180,8 @@ TEST_P(FtpNetworkTransactionTest, DownloadTransactionEvilPasvUnsafeHost) {
// Start the transaction.
ASSERT_EQ(ERR_IO_PENDING,
transaction_.Start(&request_info, callback_.callback(),
- BoundNetLog()));
- ASSERT_EQ(OK, callback_.WaitForResult());
+ NetLogWithSource()));
+ ASSERT_THAT(callback_.WaitForResult(), IsOk());
// The transaction fires the callback when we can start reading data. That
// means that the data socket should be open.
@@ -1360,8 +1365,8 @@ TEST_P(FtpNetworkTransactionTest, EvilRestartUser) {
ASSERT_EQ(ERR_IO_PENDING,
transaction_.Start(&request_info, callback_.callback(),
- BoundNetLog()));
- ASSERT_EQ(ERR_FTP_FAILED, callback_.WaitForResult());
+ NetLogWithSource()));
+ ASSERT_THAT(callback_.WaitForResult(), IsError(ERR_FTP_FAILED));
MockRead ctrl_reads[] = {
MockRead("220 host TestFTPd\r\n"),
@@ -1380,7 +1385,7 @@ TEST_P(FtpNetworkTransactionTest, EvilRestartUser) {
base::ASCIIToUTF16("foo\nownz0red"),
base::ASCIIToUTF16("innocent")),
callback_.callback()));
- EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult());
+ EXPECT_THAT(callback_.WaitForResult(), IsError(ERR_MALFORMED_IDENTITY));
}
TEST_P(FtpNetworkTransactionTest, EvilRestartPassword) {
@@ -1394,8 +1399,8 @@ TEST_P(FtpNetworkTransactionTest, EvilRestartPassword) {
ASSERT_EQ(ERR_IO_PENDING,
transaction_.Start(&request_info, callback_.callback(),
- BoundNetLog()));
- ASSERT_EQ(ERR_FTP_FAILED, callback_.WaitForResult());
+ NetLogWithSource()));
+ ASSERT_THAT(callback_.WaitForResult(), IsError(ERR_FTP_FAILED));
MockRead ctrl_reads[] = {
MockRead("220 host TestFTPd\r\n"),
@@ -1415,7 +1420,7 @@ TEST_P(FtpNetworkTransactionTest, EvilRestartPassword) {
AuthCredentials(base::ASCIIToUTF16("innocent"),
base::ASCIIToUTF16("foo\nownz0red")),
callback_.callback()));
- EXPECT_EQ(ERR_MALFORMED_IDENTITY, callback_.WaitForResult());
+ EXPECT_THAT(callback_.WaitForResult(), IsError(ERR_MALFORMED_IDENTITY));
}
TEST_P(FtpNetworkTransactionTest, Escaping) {
diff --git a/chromium/net/ftp/ftp_transaction.h b/chromium/net/ftp/ftp_transaction.h
index 07401896fb6..1da3aeff205 100644
--- a/chromium/net/ftp/ftp_transaction.h
+++ b/chromium/net/ftp/ftp_transaction.h
@@ -17,7 +17,7 @@ namespace net {
class AuthCredentials;
class FtpResponseInfo;
class FtpRequestInfo;
-class BoundNetLog;
+class NetLogWithSource;
// Represents a single FTP transaction.
class NET_EXPORT_PRIVATE FtpTransaction {
@@ -42,7 +42,7 @@ class NET_EXPORT_PRIVATE FtpTransaction {
// Profiling information for the request is saved to |net_log| if non-NULL.
virtual int Start(const FtpRequestInfo* request_info,
const CompletionCallback& callback,
- const BoundNetLog& net_log) = 0;
+ const NetLogWithSource& net_log) = 0;
// Restarts the FTP transaction with authentication credentials.
virtual int RestartWithAuth(const AuthCredentials& credentials,
diff --git a/chromium/net/ftp/ftp_util.cc b/chromium/net/ftp/ftp_util.cc
index d7f759ce786..00b23b7c10b 100644
--- a/chromium/net/ftp/ftp_util.cc
+++ b/chromium/net/ftp/ftp_util.cc
@@ -61,7 +61,7 @@ std::string FtpUtil::UnixFilePathToVMS(const std::string& unix_path) {
for (size_t i = 2; i < tokens.size() - 1; i++)
result.append("." + tokens[i]);
}
- result.append("]" + tokens[tokens.size() - 1]);
+ result.append("]" + tokens.back());
return result;
}
@@ -71,7 +71,7 @@ std::string FtpUtil::UnixFilePathToVMS(const std::string& unix_path) {
std::string result("[");
for (size_t i = 0; i < tokens.size() - 1; i++)
result.append("." + tokens[i]);
- result.append("]" + tokens[tokens.size() - 1]);
+ result.append("]" + tokens.back());
return result;
}
@@ -373,4 +373,4 @@ base::string16 FtpUtil::GetStringPartAfterColumns(const base::string16& text,
return result;
}
-} // namespace
+} // namespace net