mirror of https://github.com/aria2/aria2
2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc * src/FtpNegotiationCommand.cc * src/HttpResponseCommand.cc * src/RequestGroup.ccpull/1/head
parent
97953dd1ae
commit
7f9e70e5c8
|
@ -1,3 +1,10 @@
|
||||||
|
2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Updated doc
|
||||||
|
* src/FtpNegotiationCommand.cc
|
||||||
|
* src/HttpResponseCommand.cc
|
||||||
|
* src/RequestGroup.cc
|
||||||
|
|
||||||
2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Fixed the bug that error occurs when downloading zero-length file.
|
Fixed the bug that error occurs when downloading zero-length file.
|
||||||
|
|
|
@ -405,10 +405,13 @@ bool FtpNegotiationCommand::onFileSizeDetermined(uint64_t totalLength)
|
||||||
|
|
||||||
if(getDownloadContext()->knowsTotalLength() &&
|
if(getDownloadContext()->knowsTotalLength() &&
|
||||||
getRequestGroup()->downloadFinishedByFileLength()) {
|
getRequestGroup()->downloadFinishedByFileLength()) {
|
||||||
|
// TODO If metalink file does not contain size and it contains
|
||||||
|
// hash and file is not zero length, but remote server says the
|
||||||
|
// file size is 0, no hash check is performed in the current
|
||||||
|
// implementation. See also
|
||||||
|
// HttpResponseCommand::handleOtherEncoding()
|
||||||
getRequestGroup()->initPieceStorage();
|
getRequestGroup()->initPieceStorage();
|
||||||
getPieceStorage()->markAllPiecesDone();
|
getPieceStorage()->markAllPiecesDone();
|
||||||
// TODO It would be good to issue ChecksumCheckIntegrity here
|
|
||||||
// instead of just pretending checksum verification is done.
|
|
||||||
getDownloadContext()->setChecksumVerified(true);
|
getDownloadContext()->setChecksumVerified(true);
|
||||||
sequence_ = SEQ_DOWNLOAD_ALREADY_COMPLETED;
|
sequence_ = SEQ_DOWNLOAD_ALREADY_COMPLETED;
|
||||||
getLogger()->notice(MSG_DOWNLOAD_ALREADY_COMPLETED,
|
getLogger()->notice(MSG_DOWNLOAD_ALREADY_COMPLETED,
|
||||||
|
|
|
@ -390,9 +390,13 @@ bool HttpResponseCommand::handleOtherEncoding
|
||||||
// For zero-length file, check existing file comparing its size
|
// For zero-length file, check existing file comparing its size
|
||||||
if(!chunkedUsed && getDownloadContext()->knowsTotalLength() &&
|
if(!chunkedUsed && getDownloadContext()->knowsTotalLength() &&
|
||||||
getRequestGroup()->downloadFinishedByFileLength()) {
|
getRequestGroup()->downloadFinishedByFileLength()) {
|
||||||
|
// TODO If metalink file does not contain size and it contains
|
||||||
|
// hash and file is not zero length, but remote server says the
|
||||||
|
// file size is 0, no hash check is performed in the current
|
||||||
|
// implementation. See also
|
||||||
|
// FtpNegotiationCommand::onFileSizeDetermined()
|
||||||
getRequestGroup()->initPieceStorage();
|
getRequestGroup()->initPieceStorage();
|
||||||
getPieceStorage()->markAllPiecesDone();
|
getPieceStorage()->markAllPiecesDone();
|
||||||
// This is zero-size file, so hash check is no use.
|
|
||||||
getDownloadContext()->setChecksumVerified(true);
|
getDownloadContext()->setChecksumVerified(true);
|
||||||
getLogger()->notice(MSG_DOWNLOAD_ALREADY_COMPLETED,
|
getLogger()->notice(MSG_DOWNLOAD_ALREADY_COMPLETED,
|
||||||
util::itos(getRequestGroup()->getGID()).c_str(),
|
util::itos(getRequestGroup()->getGID()).c_str(),
|
||||||
|
|
|
@ -542,6 +542,8 @@ void RequestGroup::initPieceStorage()
|
||||||
{
|
{
|
||||||
SharedHandle<PieceStorage> tempPieceStorage;
|
SharedHandle<PieceStorage> tempPieceStorage;
|
||||||
if(downloadContext_->knowsTotalLength() &&
|
if(downloadContext_->knowsTotalLength() &&
|
||||||
|
// Following conditions are needed for chunked encoding with
|
||||||
|
// content-length = 0. Google's dl server used this before.
|
||||||
(downloadContext_->getTotalLength() > 0
|
(downloadContext_->getTotalLength() > 0
|
||||||
#ifdef ENABLE_BITTORRENT
|
#ifdef ENABLE_BITTORRENT
|
||||||
|| downloadContext_->hasAttribute(bittorrent::BITTORRENT)
|
|| downloadContext_->hasAttribute(bittorrent::BITTORRENT)
|
||||||
|
|
Loading…
Reference in New Issue