2006-02-17 13:35:04 +00:00
|
|
|
* Add HTTP POST support
|
|
|
|
* Add expires handling for Cookie
|
2006-02-17 18:51:12 +00:00
|
|
|
* Add SSL server cert verification
|
2006-02-18 05:13:21 +00:00
|
|
|
* Add SSL client cert support
|
2006-02-18 05:21:43 +00:00
|
|
|
* Better HTTP status handling
|
2006-03-21 14:12:51 +00:00
|
|
|
* Add the feature which adds or removes URLs on-the-fly.
|
Added new class SendMessageQueue that includes PendingMessages
and
RequestSlotMan.
* src/SendMessageQueue.h: New class.
* src/SendMessageQueue.cc: New class.
* src/PendingMessage.h: Added new member variable blockIndex and
its
accessors.
(createRequestMessage): Updated.
* src/PendingMessage.cc (createRequestMessage): Updated.
* src/PeerInteractionCommand.cc (executeInternal): Updated with
SendMessageQueue.
(checkLongTimePeerChoking): Updated with SendMessageQueue.
(receiveMessage): Updated with SendMessageQueue.
(deletePendingPieceMessage): Removed.
(getNewPieceAndSendInterest): Updated with SendMessageQueue.
(sendInterest): Updated with SendMessageQueue.
(createRequestPendingMessage): Updated with SendMessageQueue.
(sendMessages): Updated with SendMessageQueue.
(onAbort): Updated with SendMessageQueue.
(keepAlive): Updated with SendMessageQueue.
(beforeSocketCheck): Updated SendMessageQueue.
* src/PeerInteractionCommand (sendMessages): Shuffle
missingBLockIndexes before using it.
Added its own timeout for peer connection.
* src/PeerAbstractCommand.h: Added member variable timeout and
its
setter.
* src/prefs.h: Added PREF_PEER_CONNECTION_TIMEOUT.
* src/PeerInteractionCommand.cc (PeerInteractionCommand):
Added setTimeout() call.
(executeInternal): Added setTimeout() call.
* src/PeerAbstractCommand.cc (PeerAbstractCommand):
Added timeout.
(isTimeoutDetected): Updated.
* src/main.cc (main): Added PREF_PEER_CONNECTION_TIMEOUT entry
to
option.
Added *simple* message flooding checker.
* src/PeerInteractionCommand.cc (executeInternal):
Added detectMessageFlooding() call.
(detectMessageFlooding): New function.
(receiveMessage): Count up CHOKE, UNCHOKE, HAVE message.
(beforeSocketCheck): Added detectMessageFlooding() call.
* src/PeerInteractionCommand.h: Added sendMessageQueue,
chokeUnchokeCount, haveCount, detectMessageFlooding().
Removed deletePendingPieceMessage(), getRequestSlot(),
deleteRequestSlot(), deleteAllRequestSlot().
* src/PeerInteractionCommand.cc (beforeSocketCheck):
Added checkLongTimePeerChoking() call.
* src/RequestSlotMan.h: Renamed deleteTimeoutRequestSlot().
* src/TorrentMan.cc (addPeer): Delete at most MAX_PEER_LIST_SIZE
peers
if duplicate == false.
The parameter "uploaded" and "downloaded" in the tracker request
are
the size since the client sent the "started" event to the
tracker.
* src/TorrentMan.cc (setup): Assigned saved downloaded Size and
uploaded size to preDownloadedSize, preUploadedSize
respectively.
* src/TorrentMan.h: Added preDownloadedSize, preUploadedSize,
getSessionDownloadedSize(), getSessionUploadedSize().
* src/TrackerInitCommand.cc (execute): Use
getSessionDownloadedSize(),
getSessionUploadedSize() instead of getDownloadedSize(),
getUploadedSize().
* src/PendingMessage.cc (processMessage): Do not send request
message
if the peer is choking the client.
* src/TrackerUpdateCommand.cc (execute): Check wtheher
minInterval is
less than interval.
2006-03-28 15:23:51 +00:00
|
|
|
* Add max peers command-line option
|
2006-05-18 17:08:29 +00:00
|
|
|
* Refacturing HttpConnection and FtpConnection
|
2006-07-03 14:19:23 +00:00
|
|
|
* Query resource by location
|
2006-07-20 15:48:12 +00:00
|
|
|
* List available os, version, etc for metalink
|
2006-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/Option.h
(getAsBool): New function.
* src/Option.cc
(prefs.h): Included.
(defined): 0-length value is now recognized as undefined.
(getAsInt): Rewritten.
(getAsLLInt): Rewritten.
(getAsBool): New function.
* src/FeatureConfig.h: Rewritten.
* src/FeatureConfig.cc: Rewritten.
* src/prefs.h
(PREF_STDOUT_LOG): New definition.
(PREF_LOG): New definition.
(PREF_DIR): New definition.
(PREF_OUT): New definition.
(PREF_SPLIT): New definition.
(PREF_DAEMON): New definition.
(PREF_REFERER): New definition.
(PREF_TORRENT_FILE): New definition.
(PREF_LISTEN_PORT): New definition.
(PREF_METALINK_FILE): New definition.
(PREF_METALINK_VERSION): New definition.
(PREF_METALINK_LANGUAGE): New definition.
(PREF_METALINK_OS): New definition.
(PREF_METALINK_SERVERS): New definition.
* src/main.cc
(main): Following command-line parameters are now put into
Option
class: stdoutLog, logfile, dir, ufilename, split, daemonMode,
referer, torrentFile, metalinkFile, listenPort, metalinkVersion,
metalinkLanguage, metalinkOs, metalinkServers
To fix the bug that aria2 can not handle http response header
properly.
* src/HttpHeader.cc
(put): Made name lowercased.
(defined): Made name lowercased.
(getFirst): Made name lowercased.
(get): Made name lowercased.
(getFirstAsInt): Rewritten.
(getFirstAsLLInt): Rewritten.
2006-08-03 12:36:02 +00:00
|
|
|
* ipv6(RFC2428 for ftp)
|
2006-08-27 12:49:17 +00:00
|
|
|
* Add silent mode.
|
2006-08-28 12:40:41 +00:00
|
|
|
* Save URLs and command-line arguments to .aria2 file.
|
2006-09-19 14:52:59 +00:00
|
|
|
* Add a control port for GUI frontend
|
2006-10-18 14:57:00 +00:00
|
|
|
* Use SharedHandle where it is useful.
|
|
|
|
* Rewrite Util::countBit
|
2006-11-09 14:04:46 +00:00
|
|
|
* Add --bt-timeout command line option.
|
2006-12-24 06:25:21 +00:00
|
|
|
* remove blockIndex
|
2007-03-26 12:16:57 +00:00
|
|
|
* Add seed mode.
|
2007-05-31 15:56:20 +00:00
|
|
|
* consider life cycle of requestGroup and segmentMan
|
2007-05-20 13:51:52 +00:00
|
|
|
* exit status: all downloads have been successful-> EXIT_SUCCESS,
|
|
|
|
some of downloads have been failed -> EXIT_FAILURE
|
2007-07-21 08:56:16 +00:00
|
|
|
|
|
|
|
* Fix log and stdout message in Metalink related class.
|
|
|
|
* Fix Cookie header's value. ';' is not necessary at the end of it.
|
|
|
|
* Time::getTimeInMillis() returns int64_t.
|
|
|
|
* Util::secfmt, What happens if sec is less than 0?
|
|
|
|
* Rewrite ChunkedEncoding
|
2007-07-23 13:04:48 +00:00
|
|
|
* typedef int32_t CUID in common.h or a2types.h
|
|
|
|
|
|
|
|
* io related headers and compatible macros and definition -> a2io.h
|
|
|
|
* net related headers and compatible macros and definition -> a2netcompat.h
|
2007-07-31 16:45:16 +00:00
|
|
|
* time related headers and compatible macros and definition -> a2time.h
|
2007-07-23 13:04:48 +00:00
|
|
|
* used globally -> common.h
|
2007-08-08 15:26:19 +00:00
|
|
|
|
2007-08-24 10:11:45 +00:00
|
|
|
* Add pgp verification support. I have to use libgpgme??
|
2007-09-03 10:32:19 +00:00
|
|
|
|
|
|
|
* Rewrite following classes using TimeBasedCommand
|
|
|
|
src/ActivePeerConnectionCommand.h
|
|
|
|
src/FillRequestGroupCommand.h
|
|
|
|
src/HaveEraseCommand.h
|
|
|
|
src/PeerChokeCommand.h
|
|
|
|
src/TorrentAutoSaveCommand.h
|
2007-08-28 11:51:20 +00:00
|
|
|
* Rewrite MetaFileUtil
|
2007-10-11 16:58:24 +00:00
|
|
|
* Reconsider the use of RecoverableException and FatalException
|
|
|
|
* Limit the number of opening file to,say,100 in MultiDiskAdaptor.
|
2007-10-23 16:29:37 +00:00
|
|
|
* Implement the feature to treat http/ftp as auxuality download method for BitTorrent
|
2007-10-29 12:43:45 +00:00
|
|
|
* http-seeding(single and multi-file torrent)
|
2007-11-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Don't connect server before checking file integrity at startup,
if
filesize and output file path are known.
* src/AbstractCommand.cc
* src/StreamFileAllocationEntry.cc
* src/Metalink2RequestGroup.cc
* src/RequestGroup.{h, cc}
* src/HttpResponseCommand.cc
* src/FtpNegotiationCommand.cc
Added DownloadFailureException. If it is thrown, RequestGroup
should
halt.
* src/AbstractCommand.cc
* src/DownloadFailureException.h
* src/RequestGroup.cc
Catch RecoverableException, instead of DlAbortEx.
* src/RequestGroupMan.cc
* src/FillRequestGroupCommand.cc
* src/MetaFileUtil.cc
* src/IteratableChunkChecksumValidator.cc
Now first parameter of MSG_DOWNLOAD_ABORTED is
gid(RequestGroup::
getGID())
* src/CheckIntegrityCommand.cc
* src/message.h
Print gid instead of idx.
* src/RequestGroupMan.cc
Removed exception throwers declaration.
* src/DirectDiskAdaptor.{h, cc}
* src/SocketCore.{h, cc}
* src/MultiDiskAdaptor.{h, cc}
* src/HttpConnection.{h, cc}
* src/HttpResponse.{h, cc}
* src/DiskAdaptor.{h, cc}
* src/CopyDiskAdaptor.{h, cc}
* src/MultiDiskAdaptor.{h, cc}
* src/HttpHeaderProcessor.{h, cc}
* src/AbstractSingleDiskAdaptor.{h, cc}
* src/Util.{h, cc}
* test/UtilTest.cc
* src/DefaultDiskWriter.{h, cc}
* src/FtpConnection.{h, cc}
* src/AbstractDiskWriter.{h, cc}
Removed duplicate code.
* src/StreamCheckIntegrityEntry.cc
Removed unnecessary include.
* src/DiskWriter.h
Included Exception.h
* src/option_processing.cc
Included 2 files and added doc
* src/TrackerWatcherCommand.cc
* src/SocketCore.cc (writeData): Fixed send error with GnuTLS.
2007-11-09 18:01:12 +00:00
|
|
|
* Rewrite exception usage:
|
|
|
|
RecoverableException
|
|
|
|
DlRetryEx .... Retry using same connection/url. Should be renamed to TemporaryFailureException
|
|
|
|
DlAbortEx .... Abort download with the connection/url. Should be renamed to PermanentFailureException
|
|
|
|
DownloadFailureException .... RequestGroup should halt.
|
|
|
|
FatalException .... Program should abort.
|
2007-11-22 11:17:35 +00:00
|
|
|
* replace strtol with Util::parseInt
|
2007-11-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten to add content-type support.
* src/DownloadHandler.{h, cc}
* src/BtPostDownloadHandler.{h, cc}
* test/BtPostDownloadHandlerTest.cc
* src/MetalinkPostDownloadHandler.{h, cc}
* test/MetalinkPostDownloadHandlerTest.cc
* src/PostDownloadHandler.{h, cc}
* src/DownloadHandlerConstants.{h, cc}
* src/RequestGroup.cc
* src/HttpResponseCommand.cc
* src/FtpNegotiationCommand.cc
* src/SingleFileDownloadContext.{h, cc}
* src/RequestGroup.h
* src/RequestGroupCriteria.h
* src/ContentTypeRequestGroupCriteria.h
Added 'mem' option value for --follow-metalink,
--follow-torrent.
If it is give, metalink/torrent file is not written to the disk,
but
just is kept in memory. Parsing is occurred on memory.
* src/MetalinkHelper.{h, cc}
* src/MetalinkProcessor.h
* src/Xml2MetalinkProcessor.{h, cc}
* test/Xml2MetalinkProcessorTest.cc
* src/DownloadHandlerFactory.{h, cc}
* test/DownloadHandlerFactoryTest.cc
* src/PreDownloadHandler.{h, cc}
* src/OptionHandlerFactory.cc
* src/DefaultBtContext.{h, cc}
* test/DefaultBtContextTest.cc
* src/version_usage.cc
* src/Metalink2RequestGroup.{h, cc}
* src/RequestGroup.{h, cc}
* src/a2functional.h
* test/a2functionalTest.cc
* src/MemoryBufferPreDownloadHandler.{h, cc}
* src/OptionHandlerImpl.h
* src/prefs.h
* src/Util.{h, cc}
* test/UtilTest.cc
Keep DownloadResult rather than RequestGroup after downloads to
reduce
memory usage.
* src/RequestGroupMan.{h, cc}
* src/DownloadEngine.cc
* src/BtDependency.{h, cc}: Changed the type of dependee from
WeakHandle to SharedHandle because WeakHandle could be null.
* src/RequestGroup.{h, cc}
* src/DownloadEngineFactory.cc
* src/DownloadResult.h
Set totalLength after download finished
* src/UnknownLengthPieceStorage.{h, cc}
Keep torrent file specified in metalink in memory.
* src/Metalink2RequestGroup.cc
* src/BtDependency.cc
* src/TrueRequestGroupCriteria.h
Fixed the bug: seekg is used where seekp should be used.
* src/ByteArrayDiskWriter.cc
* test/ByteArraydiskWriterTest.cc
2007-11-27 12:27:10 +00:00
|
|
|
* remove header files from Makefile.am
|
|
|
|
* create MetalinkProcessorFactory and get Xml2MetalinkProcessor from it.
|
2007-12-08 16:58:35 +00:00
|
|
|
* Reconsider the location where DiskAdaptor::enable/disableDirectIO() are called
|