From 77d892d7f20bb484f3da148a7f2cb57429066c28 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 17 May 2008 09:26:47 +0000 Subject: [PATCH] 2008-05-17 Tatsuhiro Tsujikawa Don't pool connection if HTTP proxy is enabled. * src/FtpFinishDownloadCommand.cc * src/FtpNegotiationCommand.cc * src/HttpSkipResponseCommand.cc --- ChangeLog | 7 +++++++ src/FtpFinishDownloadCommand.cc | 3 ++- src/FtpNegotiationCommand.cc | 3 ++- src/HttpSkipResponseCommand.cc | 5 ++++- 4 files changed, 15 insertions(+), 3 deletions(-) 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);