diff --git a/ChangeLog b/ChangeLog index 141f3b5c..fe810371 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-05-17 Tatsuhiro Tsujikawa + + Don't pool connection if HTTP proxy is enabled. + * src/FtpFinishDownloadCommand.cc + * src/FtpNegotiationCommand.cc + * src/HttpSkipResponseCommand.cc + 2008-05-17 Tatsuhiro Tsujikawa Don't add closed socket to DownloadEngine::addSocketForReadCheck() diff --git a/src/FtpFinishDownloadCommand.cc b/src/FtpFinishDownloadCommand.cc index d9a705e2..db5848cb 100644 --- a/src/FtpFinishDownloadCommand.cc +++ b/src/FtpFinishDownloadCommand.cc @@ -81,7 +81,8 @@ bool FtpFinishDownloadCommand::execute() if(status != 226) { throw DlAbortEx(StringFormat(EX_BAD_STATUS, status).str()); } - if(e->option->getAsBool(PREF_FTP_REUSE_CONNECTION)) { + if(!e->option->getAsBool(PREF_HTTP_PROXY_ENABLED) && + e->option->getAsBool(PREF_FTP_REUSE_CONNECTION)) { std::pair peerInfo; socket->getPeerInfo(peerInfo); e->poolSocket(peerInfo.first, peerInfo.second, socket); diff --git a/src/FtpNegotiationCommand.cc b/src/FtpNegotiationCommand.cc index c50da417..628a1515 100644 --- a/src/FtpNegotiationCommand.cc +++ b/src/FtpNegotiationCommand.cc @@ -438,7 +438,8 @@ bool FtpNegotiationCommand::processSequence(const SegmentHandle& segment) { void FtpNegotiationCommand::poolConnection() const { - if(e->option->getAsBool(PREF_FTP_REUSE_CONNECTION)) { + if(!e->option->getAsBool(PREF_HTTP_PROXY_ENABLED) && + e->option->getAsBool(PREF_FTP_REUSE_CONNECTION)) { std::pair peerInfo; socket->getPeerInfo(peerInfo); e->poolSocket(peerInfo.first, peerInfo.second, socket); diff --git a/src/HttpSkipResponseCommand.cc b/src/HttpSkipResponseCommand.cc index 8c263944..6272b09a 100644 --- a/src/HttpSkipResponseCommand.cc +++ b/src/HttpSkipResponseCommand.cc @@ -48,6 +48,8 @@ #include "StringFormat.h" #include "DlAbortEx.h" #include "HttpHeader.h" +#include "prefs.h" +#include "Option.h" namespace aria2 { @@ -111,7 +113,8 @@ bool HttpSkipResponseCommand::executeInternal() || (_transferDecoder.isNull() && _totalLength == _receivedBytes)) { if(!_transferDecoder.isNull()) _transferDecoder->end(); - if(req->supportsPersistentConnection()) { + if(!e->option->getAsBool(PREF_HTTP_PROXY_ENABLED) && + req->supportsPersistentConnection()) { std::pair peerInfo; socket->getPeerInfo(peerInfo); e->poolSocket(peerInfo.first, peerInfo.second, socket);