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

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

Issue 8340026: Use AuthCredentials throughout the network stack instead of username/password. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Reduce password zapping Created 9 years, 1 month 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
OLDNEW
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 #ifndef NET_FTP_FTP_NETWORK_TRANSACTION_H_ 5 #ifndef NET_FTP_FTP_NETWORK_TRANSACTION_H_
6 #define NET_FTP_FTP_NETWORK_TRANSACTION_H_ 6 #define NET_FTP_FTP_NETWORK_TRANSACTION_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "base/string16.h"
16 #include "net/base/address_list.h" 15 #include "net/base/address_list.h"
16 #include "net/base/auth.h"
17 #include "net/base/host_resolver.h" 17 #include "net/base/host_resolver.h"
18 #include "net/base/net_log.h" 18 #include "net/base/net_log.h"
19 #include "net/base/single_request_host_resolver.h" 19 #include "net/base/single_request_host_resolver.h"
20 #include "net/ftp/ftp_ctrl_response_buffer.h" 20 #include "net/ftp/ftp_ctrl_response_buffer.h"
21 #include "net/ftp/ftp_response_info.h" 21 #include "net/ftp/ftp_response_info.h"
22 #include "net/ftp/ftp_transaction.h" 22 #include "net/ftp/ftp_transaction.h"
23 23
24 namespace net { 24 namespace net {
25 25
26 class ClientSocketFactory; 26 class ClientSocketFactory;
27 class FtpNetworkSession; 27 class FtpNetworkSession;
28 class StreamSocket; 28 class StreamSocket;
29 29
30 class NET_EXPORT_PRIVATE FtpNetworkTransaction : public FtpTransaction { 30 class NET_EXPORT_PRIVATE FtpNetworkTransaction : public FtpTransaction {
31 public: 31 public:
32 FtpNetworkTransaction(FtpNetworkSession* session, 32 FtpNetworkTransaction(FtpNetworkSession* session,
33 ClientSocketFactory* socket_factory); 33 ClientSocketFactory* socket_factory);
34 virtual ~FtpNetworkTransaction(); 34 virtual ~FtpNetworkTransaction();
35 35
36 virtual int Stop(int error); 36 virtual int Stop(int error);
37 virtual int RestartIgnoringLastError(OldCompletionCallback* callback); 37 virtual int RestartIgnoringLastError(OldCompletionCallback* callback);
38 38
39 // FtpTransaction methods: 39 // FtpTransaction methods:
40 virtual int Start(const FtpRequestInfo* request_info, 40 virtual int Start(const FtpRequestInfo* request_info,
41 OldCompletionCallback* callback, 41 OldCompletionCallback* callback,
42 const BoundNetLog& net_log) OVERRIDE; 42 const BoundNetLog& net_log) OVERRIDE;
43 virtual int RestartWithAuth(const string16& username, 43 virtual int RestartWithAuth(const AuthCredentials& credentials,
44 const string16& password,
45 OldCompletionCallback* callback) OVERRIDE; 44 OldCompletionCallback* callback) OVERRIDE;
46 virtual int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback) 45 virtual int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback)
47 OVERRIDE; 46 OVERRIDE;
48 virtual const FtpResponseInfo* GetResponseInfo() const OVERRIDE; 47 virtual const FtpResponseInfo* GetResponseInfo() const OVERRIDE;
49 virtual LoadState GetLoadState() const OVERRIDE; 48 virtual LoadState GetLoadState() const OVERRIDE;
50 virtual uint64 GetUploadProgress() const OVERRIDE; 49 virtual uint64 GetUploadProgress() const OVERRIDE;
51 50
52 private: 51 private:
53 enum Command { 52 enum Command {
54 COMMAND_NONE, 53 COMMAND_NONE,
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 // Data type to be used for the TYPE command. 224 // Data type to be used for the TYPE command.
226 DataType data_type_; 225 DataType data_type_;
227 226
228 // Detected resource type (file or directory). 227 // Detected resource type (file or directory).
229 ResourceType resource_type_; 228 ResourceType resource_type_;
230 229
231 // Initially we favour EPSV over PASV for transfers but should any 230 // Initially we favour EPSV over PASV for transfers but should any
232 // EPSV fail, we fall back to PASV for the duration of connection. 231 // EPSV fail, we fall back to PASV for the duration of connection.
233 bool use_epsv_; 232 bool use_epsv_;
234 233
235 string16 username_; 234 AuthCredentials credentials_;
236 string16 password_;
237 235
238 // Current directory on the remote server, as returned by last PWD command, 236 // Current directory on the remote server, as returned by last PWD command,
239 // with any trailing slash removed. 237 // with any trailing slash removed.
240 std::string current_remote_directory_; 238 std::string current_remote_directory_;
241 239
242 int data_connection_port_; 240 int data_connection_port_;
243 241
244 ClientSocketFactory* socket_factory_; 242 ClientSocketFactory* socket_factory_;
245 243
246 scoped_ptr<StreamSocket> ctrl_socket_; 244 scoped_ptr<StreamSocket> ctrl_socket_;
247 scoped_ptr<StreamSocket> data_socket_; 245 scoped_ptr<StreamSocket> data_socket_;
248 246
249 State next_state_; 247 State next_state_;
250 }; 248 };
251 249
252 } // namespace net 250 } // namespace net
253 251
254 #endif // NET_FTP_FTP_NETWORK_TRANSACTION_H_ 252 #endif // NET_FTP_FTP_NETWORK_TRANSACTION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698