From 01fdb2aaeb4dcb351931c14ca63d9347f0adc529 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 2 Jul 2009 15:18:13 +0000 Subject: 2009-07-03 Tatsuhiro Tsujikawa Try all available addresses returned by DNS until it gets connected in HTTP(S)/FTP download * src/AbstractCommand.cc * src/AbstractCommand.h * src/AbstractProxyRequestCommand.cc * src/AbstractProxyRequestCommand.h * src/DNSCache.h * src/DownloadEngine.cc * src/DownloadEngine.h * src/FtpInitiateConnectionCommand.cc * src/FtpInitiateConnectionCommand.h * src/FtpNegotiationCommand.cc * src/FtpNegotiationCommand.h * src/HttpInitiateConnectionCommand.cc * src/HttpInitiateConnectionCommand.h * src/HttpRequestCommand.cc * src/HttpRequestCommand.h * src/InitiateConnectionCommand.cc * src/InitiateConnectionCommand.h * test/DNSCacheTest.cc * test/Makefile.am * test/SimpleDNSCacheTest.cc --- src/FtpNegotiationCommand.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/FtpNegotiationCommand.h') diff --git a/src/FtpNegotiationCommand.h b/src/FtpNegotiationCommand.h index bdbc2c15..afa75865 100644 --- a/src/FtpNegotiationCommand.h +++ b/src/FtpNegotiationCommand.h @@ -76,6 +76,7 @@ public: SEQ_HEAD_OK, SEQ_DOWNLOAD_ALREADY_COMPLETED, SEQ_FILE_PREPARATION, // File allocation after SIZE command + SEQ_EXIT }; private: bool recvGreeting(); @@ -118,6 +119,10 @@ private: SharedHandle serverSocket; Seq sequence; SharedHandle ftp; + + std::string _connectedHostname; + std::string _connectedAddr; + uint16_t _connectedPort; protected: virtual bool executeInternal(); public: @@ -130,6 +135,14 @@ public: Seq seq = SEQ_RECV_GREETING, const std::string& baseWorkingDir = "/"); virtual ~FtpNegotiationCommand(); + + void setConnectedAddr + (const std::string& hostname, const std::string& addr, uint16_t port) + { + _connectedHostname = hostname; + _connectedAddr = addr; + _connectedPort = port; + } }; } // namespace aria2 -- cgit