diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-11-28 00:23:20 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-11-28 00:23:20 +0900 |
| commit | 68726e0838b6bb32f9fbacc5ab6b8a0ea040bde6 (patch) | |
| tree | dbaeeb88246a39742680b91493ec7142287dbd4b /ChangeLog | |
| parent | f4e008f8865e51a5cd61f02f5c991cc53f292077 (diff) | |
Moved ChangeLog to ChangeLog.old and added notice that we no longer
update this fie.
Diffstat (limited to 'ChangeLog')
| -rw-r--r-- | ChangeLog | 27739 |
1 files changed, 0 insertions, 27739 deletions
diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 9db05dbc..00000000 --- a/ChangeLog +++ /dev/null @@ -1,27739 +0,0 @@ -2010-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - For MINGW32 build, percent-encode non-ASCII characters in - filename. - * src/util.cc - -2010-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Include last '/' to directory name to create. This will avoid to - create directory 'C:' in Windows. - * src/File.cc - -2010-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused FileEntry::setupDir() - * src/FileEntry.cc - * src/FileEntry.h - * test/FileEntryTest.cc - -2010-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed MultiDiskAdaptor::mkdir() because directory structure is - created at AbstractDiskWriter::createFile(). - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - -2010-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed unittest error - * test/OptionHandlerTest.cc - -2010-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made strings which are only used in comparison plain C strings. - * src/HttpHeader.cc - * src/HttpHeader.h - * src/Netrc.cc - * src/Netrc.h - * test/HttpHeaderTest.cc - -2010-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added white space after ',' when enumerating valid parameters. - * src/OptionHandlerImpl.cc - -2010-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Cleaned up Possible Values in usage help. More than 2 values are - delimited by ", ". - * src/NameMatchOptionHandler.h - * src/OptionHandler.cc - * src/OptionHandler.h - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.cc - * test/OptionHandlerTest.cc - -2010-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made --allow-overwrite, --allow-piece-length-change, - --realtime-chunk-checksum and --bt-require-crypto take optional - argument. Fixed usage doc for --metalink-enable-unique-protocol. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - * src/usage_text.h - -2010-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made --continue, --daemon, --no-conf, --no-netrc and --show-files - option take optional argument. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - * src/usage_text.h - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added BtSeederStateChoke::PeerEntry::swap(). Also added - non-member swap for it, which is friend function for - BtSeederStateChoke because PeerEntry is private. - * src/BtSeederStateChoke.cc - * src/BtSeederStateChoke.h - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added BtLeecherStateChoke::PeerEntry::swap(). Also added - non-member swap for it, which is friend function for - BtLeecherStateChoke because PeerEntry is private. - * src/BtLeecherStateChoke.cc - * src/BtLeecherStateChoke.h - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added CookieStorage::DomainEntry::swap(). Also added non-member - swap for it. - * src/CookieStorage.cc - * src/CookieStorage.h - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made LogFactory::logger_ as SharedHandle<Logger> to make dtor of - Logger called at the program exit. Rewritten A2_LOG_* macro and - moved them to LogFactory.h - * src/LogFactory.cc - * src/LogFactory.h - * src/Logger.cc - * src/Logger.h - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed cuid as cuid_t in DefaultBtMessageDispatcher. - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use format specifier %lld for cuid_t. Defined cuid_t as long long - int instead of int64_t, since g++ complains int64_t is not - suitable for %lld. - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced StringFormat with fmt - -2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten Logger interface. Logger now writes source file name and - line number in log file. - -2010-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made DHTBucketTreeNode non-copyable. - * src/DHTBucketTree.h - -2010-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enter 'end game' mode from the beginning when getting torrent - metadata for quick data retrieval. - * src/HandshakeExtensionMessage.cc - -2010-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced BNode with DHTBucketTreeNode which is 2 times efficient. - * src/BNode.cc: Removed - * src/BNode.h: Removed - * src/DHTBucketTree.cc - * src/DHTBucketTree.h - * src/DHTRoutingTable.cc - * src/DHTRoutingTable.h - * src/Makefile.am - * test/BNodeTest.cc: Removed - * test/DHTBucketTreeTest.cc - * test/Makefile.am - -2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added non-member swap() for SharedHandle. - * src/SharedHandle.h - -2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced HttpHeader::responseStatus_ with HttpHeader::statusCode_. - statusCode_ is of type int. - * src/AbstractProxyResponseCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpHeaderProcessor.cc - * src/HttpResponse.cc - * src/HttpResponse.h - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/util.cc - * src/util.h - * test/HttpHeaderProcessorTest.cc - * test/HttpHeaderTest.cc - * test/HttpResponseTest.cc - * test/UtilTest.cc - -2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use SharedHandle::swap() in some places. - * src/RequestGroup.cc - -2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added SharedHandle::swap - * src/SharedHandle.h - -2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use --max-connection-per-server option value for Metalink. - * src/Metalink2RequestGroup.cc - -2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error on opensolaris - * src/util.cc - -2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't catch Exception. - * src/RealtimeCommand.cc - -2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused includes. - -2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added .cc file for classes/structs that only provided by header - file. Defined non-POD classes' ctor, dtor in .cc file. Moved - implementation code in header file to .cc file for major - classes/strucsts. - -2010-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed SharedHandle::isNull(). Instead we added operator* and - operator unspecified_bool_type. Removed use of WeakHandle and - replaced with raw pointer. - -2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed memory leak - * src/ExpatMetalinkProcessor.cc - -2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - To match the behavior of friend operator functions in - SharedHandle.h to std::tr1::shared_ptr, we intentionally broke - these functions and modified code so that our code does not depend - on old behavior. - * src/AbstractCommand.cc - * src/DHTAbstractNodeLookupTask.h - * src/DHTBucket.cc - * src/DHTMessageReceiver.cc - * src/DHTNodeLookupEntry.cc - * src/DHTRoutingTable.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultPeerStorage.cc - * src/DefaultPieceStorage.cc - * src/DownloadContext.cc - * src/EpollEventPoll.cc - * src/Event.h - * src/HttpConnection.cc - * src/KqueueEventPoll.cc - * src/MultiDiskAdaptor.cc - * src/PeerAbstractCommand.cc - * src/PieceStatMan.cc - * src/PollEventPoll.cc - * src/PortEventPoll.cc - * src/SegmentMan.cc - * src/SelectEventPoll.cc - * src/SelectEventPoll.h - * src/ServerStatMan.cc - * src/SharedHandle.h - * src/UnknownLengthPieceStorage.cc - * src/a2functional.h - * src/option_processing.cc - * src/version_usage.cc - * test/BNodeTest.cc - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTBucketTest.cc - * test/DHTFindNodeMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTIDCloserTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTPingMessageTest.cc - * test/DefaultBtRequestFactoryTest.cc - * test/DefaultPeerStorageTest.cc - * test/SequentialPickerTest.cc - * test/SingletonHolderTest.cc - -2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Create SharedHandle outside of function call to avoid unexpected - memory leak. - * src/AnnounceList.cc - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/UTMetadataPostDownloadHandler.cc - * src/download_helper.cc - -2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated supported hash functions. - * README - -2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added sha-224, sha-384, sha-512 hash function support. - * m4/openssl.m4 - * src/MessageDigest.cc - * src/LibgcryptMessageDigestImpl.cc - * src/LibsslMessageDigestImpl.cc - -2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced MessageDigestContext with MessageDigest. Cleaned up - unnecessary functions in MessageDigestHelper. - * src/BtPieceMessage.cc - * src/Checksum.h - * src/DHTTokenTracker.cc - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/HashFuncEntry.h - * src/IteratableChecksumValidator.cc - * src/IteratableChecksumValidator.h - * src/IteratableChunkChecksumValidator.cc - * src/IteratableChunkChecksumValidator.h - * src/LibgcryptMessageDigestImpl.cc - * src/LibgcryptMessageDigestImpl.h - * src/LibsslMessageDigestImpl.cc - * src/LibsslMessageDigestImpl.h - * src/MSEHandshake.cc - * src/MSEHandshake.h - * src/Makefile.am - * src/MessageDigest.cc - * src/MessageDigest.h - * src/MessageDigestHelper.cc - * src/MessageDigestHelper.h - * src/MessageDigestImpl.h - * src/MetalinkParserController.cc - * src/Piece.cc - * src/Piece.h - * src/UTMetadataDataExtensionMessage.cc - * src/bittorrent_helper.cc - * src/messageDigest.cc: Removed - * src/messageDigest.h: Removed - * src/util.cc - * src/version_usage.cc - * test/BittorrentHelperTest.cc - * test/GZipDecoderTest.cc - * test/GZipDecodingStreamFilterTest.cc - * test/IteratableChecksumValidatorTest.cc - * test/IteratableChunkChecksumValidatorTest.cc - * test/Makefile.am - * test/MessageDigestHelperTest.cc - * test/MessageDigestTest.cc - * test/Metalink2RequestGroupTest.cc - * test/MetalinkProcessorTest.cc - * test/PieceTest.cc - * test/TestUtil.cc - * test/TestUtil.h - * test/UTMetadataDataExtensionMessageTest.cc - * test/UTMetadataPostDownloadHandlerTest.cc - -2010-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print IP protocol version when setting up XML-RPC server failed. - * src/HttpListenCommand.cc - -2010-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Retry open(2) and fallocate(2) when they are interrupted by - signal. - * src/AbstractDiskWriter.cc - -2010-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Capture errno right after system/library call to avoid it to get - overwritten. Use util::safeStrerror instead of strerror directly - because strerror might return NULL. We don't check errno for - std::fstream anymore. - * src/AbstractDiskWriter.cc - * src/CookieStorage.cc - * src/DHTAutoSaveCommand.cc - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * src/DefaultBtProgressInfoFile.cc - * src/EpollEventPoll.cc - * src/IteratableChunkChecksumValidator.cc - * src/KqueueEventPoll.cc - * src/Logger.cc - * src/MessageDigestHelper.cc - * src/PortEventPoll.cc - * src/SelectEventPoll.cc - * src/SocketCore.cc - * src/message.h - * src/util.cc - * src/util.h - -2010-11-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use const reference - * src/UnionSeedCriteria.h - -2010-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.10.6 - -2010-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian and Greek translation. Thanks to all - translators. - * po/el.po - * po/uk.po - -2010-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated translation template. - * po - -2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.10.6 - * configure.ac - * doc/aria2c.1.txt - -2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added XML-RPC examples. - * doc/aria2c.1.txt - -2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return empty range if byte-range-resp-spec or instance-length is - "*" in Content-Range header to prevent aria2 from emitting error - failing to convert "*" to a integer. - * src/HttpHeader.cc - * test/HttpHeaderTest.cc - -2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made #include guard consistent for c++ header files. - -2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that downloading > 4GB file fails on 32bit systems. - * src/HttpRequest.cc - * src/HttpRequestCommand.cc - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use unnamed namespace instead of static keyword. - * src/AbstractCommand.cc - * src/AdaptiveURISelector.cc - * src/Base64.cc - * src/BitfieldMan.cc - * src/BtDependency.cc - * src/ConsoleStatCalc.cc - * src/ContentTypeRequestGroupCriteria.cc - * src/CookieStorage.cc - * src/DHTMessageFactoryImpl.cc - * src/DHTRoutingTableDeserializer.cc - * src/DefaultBtAnnounce.cc - * src/DefaultBtProgressInfoFile.cc - * src/DefaultPeerStorage.cc - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/EpollEventPoll.cc - * src/ExpatMetalinkProcessor.cc - * src/ExpatXmlRpcRequestProcessor.cc - * src/FileEntry.cc - * src/HttpRequest.cc - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/KqueueEventPoll.cc - * src/LongestSequencePieceSelector.cc - * src/MetalinkParserStateV3Impl.cc - * src/MetalinkParserStateV4Impl.cc - * src/MultiDiskAdaptor.cc - * src/MultiUrlRequestInfo.cc - * src/OptionParser.cc - * src/PeerSessionResource.cc - * src/PortEventPoll.cc - * src/Request.cc - * src/RequestGroupMan.cc - * src/SelectEventPoll.cc - * src/SessionSerializer.cc - * src/SimpleLogFormatter.cc - * src/Sqlite3CookieParser.cc - * src/TrackerWatcherCommand.cc - * src/XML2SAXMetalinkProcessor.cc - * src/Xml2XmlRpcRequestProcessor.cc - * src/XmlRpcMethod.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcResponse.cc - * src/base32.cc - * src/bencode2.cc - * src/bittorrent_helper.cc - * src/download_helper.cc - * src/main.cc - * src/messageDigest.cc - * src/option_processing.cc - * src/util.cc - * test/AnnounceListTest.cc - * test/BtRegistryTest.cc - * test/DHTBucketTest.cc - * test/DHTRoutingTableTest.cc - * test/DefaultBtAnnounceTest.cc - * test/FileEntryTest.cc - * test/FtpConnectionTest.cc - * test/MSEHandshakeTest.cc - * test/MagnetTest.cc - * test/XmlRpcMethodTest.cc - * test/array_funTest.cc - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added '// namespace' after end of unnamed namespace. - * src/AbstractCommand.cc - * src/AnnounceList.cc - * src/BtSeederStateChoke.cc - * src/ConsoleStatCalc.cc - * src/CookieStorage.cc - * src/DHTBucket.cc - * src/DHTPeerAnnounceEntry.cc - * src/DHTPeerAnnounceStorage.cc - * src/DHTTaskQueueImpl.cc - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultPeerStorage.cc - * src/DefaultPieceStorage.cc - * src/ExpatMetalinkProcessor.cc - * src/ExpatXmlRpcRequestProcessor.cc - * src/FeedbackURISelector.cc - * src/FileEntry.cc - * src/GZipEncoder.cc - * src/Metalink2RequestGroup.cc - * src/MetalinkEntry.cc - * src/MetalinkParserStateV3Impl.cc - * src/MetalinkParserStateV4Impl.cc - * src/Metalinker.cc - * src/MultiDiskAdaptor.cc - * src/Netrc.cc - * src/NsCookieParser.cc - * src/OptionParser.cc - * src/PieceStatMan.cc - * src/RarestPieceSelector.cc - * src/RequestGroupMan.cc - * src/SegmentMan.cc - * src/ServerStatMan.cc - * src/SocketCore.cc - * src/XML2SAXMetalinkProcessor.cc - * src/Xml2XmlRpcRequestProcessor.cc - * src/XmlRpcMethodImpl.cc - * src/cookie_helper.cc - * src/download_helper.cc - * src/messageDigest.cc - * src/util.cc - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unnecessary unnamed namespace - * src/a2functional.h - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added cross reference in XML-RPC method section. Also added cross - reference for remaining -i list options. - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added cross reference in Input File section. - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made XML-RPC method section more readable by adding indents and - titles. - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added command-line options cross reference in HTML man page. - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved -x and -k option to HTTP/FTP option. - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Tagged -x and -k option as #basic - * src/OptionHandlerFactory.cc - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added XML-RPC code example for options. - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added internal cross reference for sections and subsections. - * doc/aria2c.1.txt - -2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added XML-RPC client code example using Python(I have not added - them for every methods yet). Added -x and -k example. - * doc/aria2c.1.txt - -2010-10-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning with --disable-bittorrent and - --disable-metalink. - * src/download_helper.cc - -2010-10-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning about printf format. - * src/AdaptiveURISelector.cc - * src/BtPieceMessage.cc - * src/DHTAbstractNodeLookupTask.h - * src/DHTMessageFactoryImpl.cc - * src/DHTPeerLookupTask.cc - * src/DHTReplaceNodeTask.cc - * src/DefaultBtAnnounce.cc - * src/DefaultBtInteractive.cc - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultExtensionMessageFactory.cc - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/FileAllocationCommand.cc - * src/FileEntry.cc - * src/HandshakeExtensionMessage.cc - * src/IteratableChunkChecksumValidator.cc - * src/LibgcryptDHKeyExchange.h - * src/LibsslDHKeyExchange.h - * src/LpdDispatchMessageCommand.cc - * src/MSEHandshake.cc - * src/MessageDigestHelper.cc - * src/MultiDiskAdaptor.cc - * src/PeerConnection.cc - * src/SegmentMan.cc - * src/TimedHaltCommand.cc - * src/UTMetadataRequestExtensionMessage.cc - * src/UTPexExtensionMessage.cc - * src/bencode2.cc - * src/bittorrent_helper.cc - * src/message.h - -2010-10-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning when checking c-ares version. - * m4/libcares.m4 - -2010-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused variable r. - * src/StringFormat.cc - -2010-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added printf format check attribute. - * src/Logger.h - * src/StringFormat.h - -2010-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use std::numeric_limits<time_t> instead of checking of - sizeof(time_t). - * src/NsCookieParser.cc - * src/Sqlite3CookieParser.cc - * src/cookie_helper.cc - * test/CookieHelperTest.cc - * test/CookieStorageTest.cc - * test/NsCookieParserTest.cc - -2010-10-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed improper use of vsnprintf - * src/StringFormat.cc - -2010-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that dht.dat file could not be saved. This is - because a directory denoting temporary file path is wrongly - created and thus aria2 fails to open the file as regular file. - * src/DHTAutoSaveCommand.cc - -2010-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enclosed dht.dat path with single quote. - * doc/aria2c.1.txt - -2010-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed formatting errors. Added toc list to aria2c.1.html. Escaped - URI properly. - * doc/aria2c.1.txt - * doc/makeman - -2010-10-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.10.5 - -2010-10-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.10.5 - * configure.ac - * doc/aria2c.1.txt - -2010-10-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't reuse socket which is readable because we assume that if - socket is readable it means peer shutdowns connection and the - socket will receive EOF. Added default timeout value to - DownloadEngine::poolSocket(). - * src/DownloadEngine.cc - * src/DownloadEngine.h - -2010-10-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that file allocation is enabled in HTTP even if - --file-allocation=none is specified. - * src/HttpResponseCommand.cc - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.10.4 - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian, Simplified Chinese and French translation. Thanks - to all translators. - * po/fr.po - * po/ru.po - * po/zh_CN.po - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added keys parameter to tellStatus, tellActive, tellStopped and - tellWaiting. - * doc/xmlrpc/aria2rpc - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added testcase for File::mkdirs(). - * test/FileTest.cc - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten AbstractDiskWriter::openFile() without File::exists(). - * src/AbstractCommand.cc - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added errno member variable to Exception. - * src/DlAbortEx.cc - * src/DlAbortEx.h - * src/Exception.cc - * src/Exception.h - * src/RecoverableException.cc - * src/RecoverableException.h - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Simplified directory creation. - * src/DHTAutoSaveCommand.cc - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Skip ";" after name value pair. - * src/cookie_helper.cc - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten util::mkdirs() - * src/util.cc - -2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten File::mkdirs() - * src/File.cc - -2010-10-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use RFC1123 date format in debug log of MDTM response and - last-modified time and creation date of .torrent file printed - using -S. - * src/FtpNegotiationCommand.cc - * src/RequestGroup.cc - * src/bittorrent_helper.cc - -2010-10-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.10.4 - * configure.ac - * doc/aria2c.1.txt - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without sqlite3 - * test/CookieStorageTest.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Retrieve last access time from sqlite3 cookie database. - * src/CookieStorage.cc - * src/Sqlite3CookieParser.cc - * src/Sqlite3CookieParser.h - * src/Sqlite3CookieParserImpl.cc - * test/Sqlite3CookieParserTest.cc - * test/chromium_cookies.sqlite - * test/cookies.sqlite - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Remove expired cookies first when cookies_ is full. - * src/CookieStorage.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten util::split() - * src/util.h - * test/UtilTest.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/cookie_helper.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced util::split(a,b,c) and util::split(a,b) with - util::divide() - * src/ExpatMetalinkProcessor.cc - * src/FtpConnection.cc - * src/HttpHeader.cc - * src/HttpResponse.cc - * src/HttpServer.cc - * src/OptionParser.cc - * src/ParameterizedStringParser.cc - * src/ServerStatMan.cc - * src/magnet.cc - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Append 'u' to hex mask. - * src/Base64.cc - * src/BitfieldMan.cc - * src/BtHandshakeMessage.cc - * src/BtHandshakeMessage.h - * src/DHTBucket.cc - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * src/DefaultBtProgressInfoFile.cc - * src/MSEHandshake.h - * src/MultiUrlRequestInfo.cc - * src/Platform.cc - * src/SpeedCalc.cc - * src/UTPexExtensionMessage.cc - * src/a2netcompat.h - * src/base32.cc - * src/bitfield.h - * src/bittorrent_helper.cc - * src/cookie_helper.cc - * src/util.h - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added util::lowercase() and util::uppercase(). - * src/cookie_helper.cc - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added test cases for util::parseUIntNoThrow() and - util::parseLLIntNoThrow(). - * test/UtilTest.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use util::strip() instead of util::trim() - * src/ExpatXmlRpcRequestProcessor.cc - * src/FeatureConfig.cc - * src/HttpHeader.cc - * src/MetalinkParserStateV3Impl.cc - * src/OptionHandlerImpl.h - * src/ServerStatMan.cc - * src/UriListParser.cc - * src/Xml2XmlRpcRequestProcessor.cc - * src/bittorrent_helper.cc - * src/cookie_helper.cc - * src/messageDigest.cc - * src/util.cc - * src/util.h - * test/FeatureConfigTest.cc - * test/HttpRequestTest.cc - * test/UriListParserTest.cc - * test/UtilTest.cc - -2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added util::strip() - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tests to HttpRequestTest about trailing slash of cookie - path. - * test/HttpRequestTest.cc - -2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't append slash in CookieStorage::criteriaFind(). Append file - part of URI to request-uri in HttpRequest::createRequest(). This - change reverts the part of the previous change:"The - request-path must be ends with '/' so that request-path '/foo/' - path-matches cookie-path '/foo' and '/foo/' in the proposed - algorithm." - * src/CookieStorage.cc - * src/HttpRequest.cc - -2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten Cookie class and Cookie parser based on - http://tools.ietf.org/html/draft-ietf-httpstate-cookie-14 with - some modifications. When parsing cookie date, match time first so - that it parses asctime() format. The request-path must be ends - with '/' so that request-path '/foo/' path-matches cookie-path - '/foo' and '/foo/' in the proposed algorithm. - * src/Cookie.cc - * src/Cookie.h - * src/CookieParser.cc: Removed - * src/CookieParser.h: Removed - * src/CookieStorage.cc - * src/CookieStorage.h - * src/HttpResponse.cc - * src/Makefile.am - * src/Makefile.in - * src/MultiUrlRequestInfo.cc - * src/NsCookieParser.cc - * src/NsCookieParser.h - * src/Sqlite3CookieParser.cc - * src/Sqlite3CookieParser.h - * src/a2functional.h - * src/cookie_helper.cc - * src/cookie_helper.h - * src/util.cc - * src/util.h - * test/CookieBoxFactoryTest.cc: Removed - * test/CookieHelperTest.cc - * test/CookieParserTest.cc: Removed - * test/CookieStorageTest.cc - * test/CookieTest.cc - * test/HttpRequestTest.cc - * test/Makefile.am - * test/Makefile.in - * test/NsCookieParserTest.cc - * test/Sqlite3CookieParserTest.cc - * test/TestUtil.cc - * test/TestUtil.h - * test/a2functionalTest.cc - * test/chromium_cookies.sqlite - * test/cookies.sqlite - * test/nscookietest.txt - -2010-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Supported ANSI C's asctime() format in Time::parseHTTPDate(). - Added Time::parseAsctime(). Changed order of application of parse - functions. I could not remember why parseRFC850() was tried first. - * src/TimeA2.cc - * src/TimeA2.h - * test/TimeTest.cc - -2010-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use inet_ntoa if inet_ntop is not available. Since inet_ntoa does - not handle IPv6 address, IPv6 support is limited in this - case. Fixed unit test error under mingw32. - * configure.ac - * src/AsyncNameResolver.cc - * src/SocketCore.cc - * src/bittorrent_helper.cc - * test/BittorrentHelperTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTRoutingTableDeserializerTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/DefaultBtAnnounceTest.cc - * test/Metalink2RequestGroupTest.cc - * test/UTPexExtensionMessageTest.cc - -2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reverted the previous change in src/MultiUrlRequestInfo.cc. - Change log level of warning message about CA certificates to info. - * src/MultiUrlRequestInfo.cc - -2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed warning message when CA certificates are not imported. - --ca-certificate and --check-certificate option were added to the - error message displayed when certificate verification failed. - * src/MultiUrlRequestInfo.cc - * src/message.h - -2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print message when performing slow file allocation at first time. - * src/SingleFileAllocationIterator.cc - * src/SingleFileAllocationIterator.h - -2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error on OpenBSD4.7(i386). In openssl.m4, we first - search libcrypto and then libssl because libssl depends on - libcrypto on OpenBSD. - * src/Netrc.cc - * src/Netrc.h - * src/Triplet.h - * src/openssl.m4 - -2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Execute 5 DHT tasks concurrently in each task queue. - * src/DHTTaskExecutor.cc - * src/DHTTaskExecutor.h - * src/DHTTaskQueueImpl.cc - * src/DHTTaskQueueImpl.h - * src/Makefile.am - * test/DHTTaskExecutorTest.cc - * test/Makefile.am - * test/MockDHTTask.h - -2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that FtpFinishDownloadCommand does not handle - timeout. This means it waits for the remote server to send "226 - Transfer Complete" message *without* its own timeout until the - remote server shutdowns connection(we can detect EOF in this - case). - * src/AbstractCommand.h - * src/FtpFinishDownloadCommand.cc - -2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup util::percentEncode() - * src/util.cc - -2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made string literal static std::string in - util::detectDirTraversal(). - * src/util.cc - -2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten util::escapePath(). Now it does not replace bad chars:it - performs percent-encode against them. util::fixTaintedBasename() - now replaces "/" with "%2F". Added 0x7f as bad chars in - util::detectDirTraversal(). - * src/util.cc - * test/UtilTest.cc - -2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Non-UTF8 filenames are now percent-encoded. For example, filename - for http://example.org/%90%A2%8AE will be %90%A2%8AE because it is - Shift_JIS. The comments and name in .torrent file in XML-RPC - response are percent-encoded if they are not UTF-8. - * src/FtpNegotiationCommand.cc - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/XmlRpcMethodImpl.cc - * src/bittorrent_helper.cc - * src/util.cc - * src/util.h - * test/BittorrentHelperTest.cc - * test/UtilTest.cc - -2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed TripletGet as TupleGet. Renamed TripletNthType as - TupleNthType. Renamed Triplet2Pair as Tuple2Pair. - * src/RequestGroupMan.cc - * src/Triplet.h - * test/TripletTest.cc - -2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use class instead of typename for Triplet template parameter. - * src/Triplet.h - -2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten TripletGet. - * src/Triplet.h - -2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten TripletNthType. - * src/Triplet.h - * test/TripletTest.cc - -2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Sort usedHosts by least used and faster download speed. - * src/Makefile.am - * src/RequestGroupMan.cc - * src/Triplet.h - * test/Makefile.am - * test/TripletTest.cc - -2010-09-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made small optimization. - * src/DownloadCommand.cc - -2010-09-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reset download start time of PeerStat because it is started before - file allocation begins. Without reset, we have incorrect download - time and aria2 wrongly determines that download speed is too low - if --lowest-speed-limit is used. - * src/StreamFileAllocationEntry.cc - -2010-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added keys parameter to aria2.tellStatus, aria2.tellActive, - aria2.tellWaiting and aria2.tellStopped XML-RPC method. 'keys' is - array of string. If it is specified, the response contains only - keys in 'keys' array. If 'keys' is empty or not specified, the - response contains all keys. This is useful when you just want - specific keys and avoid unnecessary transfers. For example, - *aria2.tellStatus*("1", ["gid", "status"]) returns 'gid' and - 'status' key. Made get*Param() functions XmlRpcRequest's - methods and changed portions of the code that were affected by - this change. - * doc/aria2c.1.txt - * src/Makefile.am - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * src/XmlRpcRequest.cc - * src/XmlRpcRequest.h - * test/XmlRpcMethodTest.cc - -2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.10.3 - -2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added note to --enable-http-pipelining option. - * doc/aria2c.1.txt - -2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print a message in console when download is not complete. - * src/RequestGroupMan.cc - -2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't set error in ServerStat just because resource is not - there. We can still use the server for other resources. - * src/AbstractCommand.cc - -2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Disabled --dry-run in multi-file download for now. - * src/RequestGroup.cc - -2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that a file gets overwritten if -V is given and no - hash is provided. Fixed the bug that --dry-run leads download - error. Added RequestGroup::createCheckIntegrityEntry() which - correctly creates CheckIntegrityEntry objects and open files based - on -V option and the existence of control file. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/ChecksumCheckIntegrityEntry.cc - * src/DownloadContext.cc - * src/DownloadContext.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/PieceHashCheckIntegrityEntry.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupEntry.cc - * src/RequestGroupEntry.h - -2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without zlib - * test/Makefile.am - -2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without zlib - * src/HttpResponseCommand.cc - -2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed ChunkedDecoder. Moved GZipDecodingStreamFilter to under - 'if HAVE_LIBZ'. - * src/ChunkedDecoder.cc - * src/ChunkedDecoder.h - * src/Makefile.am - * test/ChunkedDecoderTest.cc - * test/Makefile.am - -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> - - Fixed the bug that error occurs when downloading zero-length file. - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - -2010-09-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without OpenSSL/GnuTLS. - * src/DownloadCommand.cc - -2010-09-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without BitTorrent support and OpenSSL/GnuTLS. - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/RequestGroup.cc - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing MockSegment.h to test/Makefile.am - * test/Makefile.am - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced V_TRUE with A2_V_TRUE. Replaced V_FALSE with A2_V_FALSE. - * src/AbstractCommand.cc - * src/HttpResponseCommand.cc - * src/Option.cc - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/TrackerWatcherCommand.cc - * src/download_helper.cc - * src/main.cc - * src/prefs.cc - * src/prefs.h - * test/AuthConfigFactoryTest.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/DownloadHelperTest.cc - * test/HttpRequestTest.cc - * test/OptionHandlerTest.cc - * test/UTMetadataPostDownloadHandlerTest.cc - * test/XmlRpcMethodTest.cc - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated autoconf 2.67 - * configure.ac - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.10.3 - * configure.ac - * doc/aria2c.1.txt - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page according to changes in options. - * doc/aria2c.1.txt - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added short option -k for --min-split-size option and -x for - --max-connection-per-server option. Raised maximum value of - --max-connection-per-server up to 16. - * src/OptionHandlerFactory.cc - * src/usage_text.h - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use uri::parse instead of Request::setUri() where just URI parser - is needed. - * src/AbstractCommand.cc - * src/AdaptiveURISelector.cc - * src/DefaultBtAnnounce.cc - * src/FeedbackURISelector.cc - * src/FileEntry.cc - * src/HttpResponseCommand.cc - * src/ProtocolDetector.cc - * src/Request.cc - * src/RequestGroupMan.cc - -2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved URI parser code to uri.h, uri.cc to provide fast URI parser - without Request object initialization. - * src/Makefile.am - * src/Request.cc - * src/uri.cc - * src/uri.h - * test/Makefile.am - * test/RequestTest.cc - * test/UriTest.cc - -2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Store last error of removed download result so that it can be used - as exit status. - * src/RequestGroupMan.cc - -2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --max-download-result=NUM option. This option sets maximum - number of download result kept in memory. The download results are - completed/error/ removed downloads. The download results are - stored in FIFO queue and it can store at most NUM download - results. When queue is full and new download result is created, - oldest download result is removed from the front of the queue and - new one is pushed to the back. Setting big number in this option - may result high memory consumption after thousands of - downloads. Specifying 0 means no download result is kept. Default - value is 1000. - * src/OptionHandlerFactory.cc - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Check hash(hash for entire file, not piece hash) if - --check-integrity option is given and file is - downloaded(determined by file length). If it fails, re-download - file. - * src/AbstractCommand.cc - * src/ChecksumCheckIntegrityEntry.cc - * src/ChecksumCheckIntegrityEntry.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/RequestGroup.cc - -2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Make finished() return true only when offset == totalLength. - * src/AdaptiveFileAllocationIterator.cc - * src/SingleFileAllocationIterator.cc - -2010-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved connectedHostname, connectedAddr and connectedPort to - Request object. Mark cached IP address bad on timeout to allow - aria2 to renew IP address cache. - * src/AbstractCommand.cc - * src/AbstractProxyRequestCommand.cc - * src/AbstractProxyRequestCommand.h - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/HttpInitiateConnectionCommand.cc - * src/HttpRequestCommand.cc - * src/HttpRequestCommand.h - * src/InitiateConnectionCommand.cc - * src/InitiateConnectionCommand.h - * src/Request.cc - * src/Request.h - -2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call RequestGroupMan::fillRequestGroupFromReserver() repeatedly - while RequestGroupMan::requestQueueCheck() is true. - * src/FillRequestGroupCommand.cc - -2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use const ref - * src/MultiUrlRequestInfo.cc - -2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that aria2 reports error and exits with non-zero - status when file is already downloaded. - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/RequestGroup.cc - -2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Allow '@' in username and password embedded in URI. It should be - percent-encoded but many people use their mail address as an - username and forget about PE. - * src/Request.cc - * test/RequestTest.cc - -2010-09-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Parse original URI when removing same host. - * src/HttpResponseCommand.cc - -2010-09-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Data from remote server in HTTP/FTP download are now written to - the disk(or memory) through StreamFilter. Decoding chunked and - gziped streams are done cascading StreamFilter. - Removed inefficient 1byte read code. - * src/ChunkedDecodingStreamFilter.cc - * src/ChunkedDecodingStreamFilter.h - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/GZipDecodingStreamFilter.cc - * src/GZipDecodingStreamFilter.h - * src/HttpConnection.cc - * src/HttpDownloadCommand.cc - * src/HttpResponse.cc - * src/HttpResponse.h - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - * src/HttpSkipResponseCommand.cc - * src/HttpSkipResponseCommand.h - * src/Makefile.am - * src/NullSinkStreamFilter.cc - * src/NullSinkStreamFilter.h - * src/RequestGroup.cc - * src/SinkStreamFilter.cc - * src/SinkStreamFilter.h - * src/StreamFilter.cc - * src/StreamFilter.h - * test/ChunkedDecodingStreamFilterTest.cc - * test/GZipDecodingStreamFilterTest.cc - * test/HttpResponseTest.cc - * test/Makefile.am - * test/MockSegment.h - -2010-09-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.10.2 - -2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.10.2 - * configure.ac - * doc/aria2c.1.txt - -2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enclosed classes and structs declared in *.cc files unnamed - namespace. Added static keyword for function template in *.cc - files(TODO we should use unnamed namespace instead of static). - * src/AbstractCommand.cc - * src/AnnounceList.cc - * src/BtLeecherStateChoke.cc - * src/BtLeecherStateChoke.h - * src/BtSeederStateChoke.cc - * src/BtSeederStateChoke.h - * src/ConsoleStatCalc.cc - * src/ContentTypeRequestGroupCriteria.cc - * src/CookieStorage.cc - * src/DHTBucket.cc - * src/DHTPeerAnnounceEntry.cc - * src/DHTPeerAnnounceStorage.cc - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultPeerStorage.cc - * src/DefaultPieceStorage.cc - * src/ExpatMetalinkProcessor.cc - * src/ExpatXmlRpcRequestProcessor.cc - * src/FeedbackURISelector.cc - * src/FileEntry.cc - * src/Metalink2RequestGroup.cc - * src/MetalinkEntry.cc - * src/Metalinker.cc - * src/MultiDiskAdaptor.cc - * src/Netrc.cc - * src/OptionParser.cc - * src/PieceStatMan.cc - * src/RarestPieceSelector.cc - * src/RequestGroupMan.cc - * src/SegmentMan.cc - * src/ServerStatMan.cc - * src/XML2SAXMetalinkProcessor.cc - * src/Xml2XmlRpcRequestProcessor.cc - * src/XmlRpcResponse.cc - * src/a2algo.h - * src/download_helper.cc - -2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * doc/aria2c.1.txt - -2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added test for previous change - * test/NetrcTest.cc - -2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In .netrc file, if machine name starts ".", aria2 performs domain - match instead of exact match. This is an extension of aria2. - * src/Netrc.h - -2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug which prevents HTTP redirection from working when - downloading multiple files from same host. - * src/AbstractCommand.cc - * src/FileEntry.cc - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.10.1 - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Polish and Turkish translations. Thanks to all - translators. - * po/pl.po - * po/tr.po - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added a note about the number of connections to help message. - * src/version_usage.cc - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Run PeerLookupTask more frequently when the number of peer is low. - * src/DHTGetPeersCommand.cc - * src/DHTGetPeersCommand.h - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Drop connection when bad ut_metadata is received.. - * src/UTMetadataDataExtensionMessage.cc - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Drop connection when BtRuntime::isHalt() is true. - * src/PeerReceiveHandshakeCommand.cc - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed getMissingFastPiece(piece) and getMissingFastPiece(piece, - excludedIndexes) from PieceStorage. Done some code cleanup. - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Pass excludedIndexes when getting metadata piece. - * src/UTMetadataRequestFactory.cc - * test/UTMetadataRequestFactoryTest.cc - -2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added a sets of overloaded functions for - PieceStorage::getMissingPiece() and getMissingFastPiece() to get - multiple pieces more efficiently. - * src/DefaultBtInteractive.cc - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/DefaultPieceStorageTest.cc - * test/MockPieceStorage.h - -2010-08-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed signature of util::executeHook(). - * src/RequestGroupMan.cc - * src/util.cc - * src/util.h - -2010-08-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Wait data arrives at clientSocket_ in - FtpConnectionTest::testReceiveEpsvResponse(). - * test/FtpConnectionTest.cc - -2010-08-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bt-tracker and bt-exclude-tracker to -i list option. - * doc/aria2c.1.txt - * doc/xmlrpc/aria2rpc - * src/download_helper.cc - -2010-08-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't listen on IPv6 socket for BitTorrent, DHT, XML-RPC if - --disable-ipv6 is true. - * src/BtSetup.cc - * src/DownloadEngineFactory.cc - * src/RequestGroup.cc - -2010-08-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused debug log. - * src/DefaultBtInteractive.cc - -2010-08-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enter end game mode as soon as all pieces are assigned to peer to - avoid substantial slow down at the very last stage of download. - * src/DefaultBtInteractive.cc - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - -2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated IPv6 DHT usage. - * doc/aria2c.1.txt - -2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Quoted sample tracker URIs. - * doc/aria2c.1.txt - -2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-tracker and --bt-exclude-tracker option in man - page. - * doc/aria2c.1.txt - -2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set max outstanding request size to 100. Set stepping to 6. - * src/BtConstants.h - * src/DefaultBtInteractive.cc - -2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number 1.10.1 - * configure.ac - * doc/aria2c.1.txt - -2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up DHT version to 2. - * src/DHTConstants.h - -2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added error message when given address and resolved address do not - match in SocketCore::bind(). - * src/SocketCore.cc - -2010-08-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-tracker and --bt-exclude-tracker option. In - --bt-tracker option, you can specify comma separated list of - additional BitTorrent tracker's announce URI. These URIs are not - affected by --bt-exclude-tracker option because they are added - after URIs in --bt-exclude-tracker option are removed. In - --bt-exclude-tracker option, you can specify comma separated list - of BitTorrent tracker's announce URI to remove. You can use - special value '*' which matches all URIs, thus removes all - announce URIs. When specifying '*' in shell command-line, don't - forget to escape or quote it. - * src/BtDependency.cc - * src/OptionHandlerFactory.cc - * src/UTMetadataPostDownloadHandler.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/download_helper.cc - * src/download_helper.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/BittorrentHelperTest.cc - * test/DownloadHelperTest.cc - -2010-08-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/DefaultPeerStorage.cc - -2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --dht-entry-porint6, --dht-file-path6, - --dht-listen-addr6 and --enable-dht6 option. Updated other things - too. - * doc/aria2c.1.txt - -2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated README - * README - -2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated usage. - * src/usage_text.h - -2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated README - * README - -2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed uitos(). Use util::uitos() instead. - * src/SocketCore.cc - -2010-08-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't try to send empty string. - * src/SocketBuffer.cc - * src/SocketBuffer.h - -2010-08-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Listen both IPv4 and IPv6 for BitTorrent protocol. - * src/BtSetup.cc - * src/PeerListenCommand.cc - * src/PeerListenCommand.h - -2010-08-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added debug log - * src/DHTPeerLookupTask.cc - -2010-08-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Initialized cur_ with values_.end() - * src/Sequence.h - -2010-08-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Listen both IPv4 and IPv6 for xml-rpc request. - * src/DownloadEngineFactory.cc - * src/HttpListenCommand.cc - * src/HttpListenCommand.h - -2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated malformed message handling. - * src/DHTMessageTracker.cc - * src/DHTMessageTracker.h - -2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Evaluate callback is non-null. - * src/DHTMessageTracker.cc - -2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added IPv6 DHT. Added --dht-entry-porint6, --dht-file-path6, - --dht-listen-addr6 and --enable-dht6 option. IPv6 DHT is disabled - by default. To use IPv6 DHT, you need to use --enable-dht6 and - specify a global unicast address to --dht-listen-addr6. IPv6 DHT - is highly experimental. - * src/BtSetup.cc - * src/DHTAutoSaveCommand.cc - * src/DHTAutoSaveCommand.h - * src/DHTConnectionImpl.cc - * src/DHTConnectionImpl.h - * src/DHTEntryPointNameResolveCommand.cc - * src/DHTFindNodeReplyMessage.cc - * src/DHTFindNodeReplyMessage.h - * src/DHTGetPeersMessage.cc - * src/DHTGetPeersReplyMessage.cc - * src/DHTGetPeersReplyMessage.h - * src/DHTMessageFactory.h - * src/DHTMessageFactoryImpl.cc - * src/DHTMessageFactoryImpl.h - * src/DHTMessageTracker.cc - * src/DHTRegistry.cc - * src/DHTRegistry.h - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableDeserializer.h - * src/DHTRoutingTableSerializer.cc - * src/DHTRoutingTableSerializer.h - * src/DHTSetup.cc - * src/DHTSetup.h - * src/FtpConnection.cc - * src/LpdMessageReceiver.cc - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/PeerInteractionCommand.cc - * src/RequestGroup.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DHTConnectionImplTest.cc - * test/DHTFindNodeReplyMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTRoutingTableDeserializerTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/LpdMessageDispatcherTest.cc - * test/MockDHTMessageFactory.h - -2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed AI_V4MAPPED from DEFAULT_AI_FLAGS - * src/a2netcompat.h - -2010-08-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added support for peers6 key in tracker response. Added added6, - added6.f and dropped6 in ut_pex. - * src/BtAnnounce.cc - * src/BtAnnounce.h - * src/DefaultBtAnnounce.cc - * src/UTPexExtensionMessage.cc - * src/UTPexExtensionMessage.h - * test/DefaultBtAnnounceTest.cc - * test/UTPexExtensionMessageTest.cc - -2010-08-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added AI_V4MAPPED to DEFAULT_AI_FLAGS - * src/a2netcompat.h - -2010-08-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Add only gracefully disconnected peer to ut_pex dropped list. Add - incoming dropped list to PeerStorage. - * src/DefaultBtInteractive.cc - * src/DefaultPeerStorage.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/Peer.cc - * src/Peer.h - * src/PeerConnection.cc - * src/PeerConnection.h - * src/PeerInteractionCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * src/ReceiverMSEHandshakeCommand.cc - * src/UTPexExtensionMessage.cc - * test/DefaultPeerStorageTest.cc - * test/UTPexExtensionMessageTest.cc - -2010-08-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't use pre-calculate hash value when end-game mode. Throw - exception if bad piece is received. - * src/BtPieceMessage.cc - * src/DownloadCommand.cc - -2010-08-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten ut_pex peer selection. - * src/DefaultBtInteractive.cc - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/PeerStorage.h - * src/UTPexExtensionMessage.h - * test/DefaultPeerStorageTest.cc - * test/MockPeerStorage.h - * test/UTPexExtensionMessageTest.cc - -2010-08-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bittorrent::packcompact() which replaces - bittorrent::createcompact() and supports IPv6 addresses. Rewritten - bittorrent::unpackcompact() and bittorrent::extractPeer() to - support IPv6 addresses. Fixed added.f flags in ut_pex. - * src/BtConstants.h - * src/DHTFindNodeReplyMessage.cc - * src/DHTGetPeersReplyMessage.cc - * src/DHTMessageFactoryImpl.cc - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * src/DHTTokenTracker.cc - * src/DefaultBtAnnounce.cc - * src/UTPexExtensionMessage.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - * test/DHTFindNodeReplyMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/UTPexExtensionMessageTest.cc - -2010-08-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --enable-async-dns6 option. This option enables IPv6 name - resolution in asynchronous DNS resolver. This option will be - ignored when --async-dns=false. - * doc/aria2c.1.txt - * src/AbstractCommand.cc - * src/AsyncNameResolver.cc - * src/AsyncNameResolver.h - * src/DHTEntryPointNameResolveCommand.cc - * src/OptionHandlerFactory.cc - * src/download_helper.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-07-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use hostname of original URI when counting hostname in - inFlightRequest. - * src/FileEntry.cc - -2010-07-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that - AdaptiveFileAllocationIterator::getCurrentLength() does not return - updated allocated bytes. - * src/AdaptiveFileAllocationIterator.h - -2010-07-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added FTP EPSV and EPRT command support. aria2 issues these - commands when address family of local socket is AF_INET6. - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/SocketCore.cc - * src/SocketCore.h - * test/FtpConnectionTest.cc - -2010-07-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that if hostname is numeric, - AbstractCommand::resolveHostname() does not add its address to - given addrs. This makes pooled socket is not used for that - address. - * src/AbstractCommand.cc - -2010-07-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set milliseconds in DownloadEngine::refreshInterval_. Because - there is difference in accuracy between epoll and clock_gettime(), - we set DEFAULT_REFRESH_INTERVAL 900ms just lower than default - timeout 1 sec for epoll. Also set update interval of - ConsoleStatCalc to 900ms by the same reason. - * src/ConsoleStatCalc.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - -2010-07-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten check for fallocate using AC_COMPILE_IFELSE. - * configure.ac - * m4/fallocate.m4 - -2010-07-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that HAVE_SOME_FALLOCATE gets undefined if fallocate - is not available even if posix_fallocate is available. This causes - FallocFileAllocationIterator.cc is out of compile targets and - linker error. - * configure.ac - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.10.0 - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added hidden select-least-used-host option. - * src/CreateRequestCommand.cc - * src/OptionHandlerFactory.cc - * src/TrackerWatcherCommand.cc - * src/prefs.cc - * src/prefs.h - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc for --split option. - * src/usage_text.h - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc for --min-split-size option. - * doc/aria2c.1.txt - * src/usage_text.h - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added max-connection-per-server, min-split-size and - conditional-get option to -i list option and aria2rpc. - * doc/aria2c.1.txt - * doc/xmlrpc/aria2rpc - * src/download_helper.cc - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed double free bug - * src/Sqlite3CookieParserImpl.cc - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with OSX g++ 4.0.1 - * src/FileEntry.h - * test/FileEntryTest.cc - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reverted default value of -j from 2 to 5. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Metadata download may take very long time. If URIs are - available, give up metadata download in at most 30 seconds. - * src/Metalink2RequestGroup.cc - -2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call RequestGroup::setForceHaltRequested(true) from - BtStopDownloadCommand to avoid long delay of tracker request. - * src/BtStopDownloadCommand.cc - -2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Pass maxSplitSize as an argument, instead of member variable of - DefaultPieceStorage. SegmentMan::getSegment(cuid_t,size_t index) - was renamed to SegmentMan::getSegmentWithIndex(...) - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/DownloadCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/PieceStorage.h - * src/RequestGroup.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - * test/SegmentManTest.cc - -2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed prepareForRetry from CreateRequestCommand - * src/CreateRequestCommand.cc - * src/CreateRequestCommand.h - -2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set PREF_REUSE_URI=V_FALSE for tracker request. - * src/TrackerWatcherCommand.cc - -2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.10.0 - * configure.ac - * doc/aria2c.1.txt - -2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Count the number of command used in HTTP(S)/FTP and the number of - connections in HTTP(S)/FTP independently. The former is used to - determin whether additional command is needed. The latter is used - to report user to how many connections are used in a download. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/CreateRequestCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - -2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Check status values: 200 and 206. - * src/HttpResponse.cc - -2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reverted previous change and fixed it in a right way. - * src/HttpDownloadCommand.cc - -2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Make sure that all decoders are finished to pool socket - * src/HttpDownloadCommand.cc - -2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed indent of --conditional-get option. - * src/usage_text.h - -2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --on-bt-download-complete=COMMAND option. For BitTorrent, a - command specified in --on-download-complete is called when - download completes and seeding is over. On the other hand, this - option set the command to be executed when download completes but - before seeding. - * doc/aria2c.1.txt - * src/DefaultPieceStorage.cc - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * src/util.cc - * src/util.h - -2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc of --split option. - * doc/aria2c.1.txt - -2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved executeHook and executeHookByOptName to util. - * src/RequestGroupMan.cc - * src/util.cc - * src/util.h - -2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --conditional-get option. Download file only when the local - file is older than remote file. This function only works with - HTTP(S) downloads only. It does not work if file size is specified - in Metalink. It also ignores Content-Disposition header. If a - control file exists, this option will be ignored. This function - uses If-Modified-Since header to get only newer file - conditionally. When getting modification time of local file, it - uses user supplied filename(see --out option) or filename part in - URI if --out is not specified. - * doc/aria2c.1.txt - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/OptionHandlerFactory.cc - * src/TimeA2.cc - * src/TimeA2.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/HttpResponseTest.cc - * test/TimeTest.cc - -2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - FeedbackURISelector now tries to select URI whose host is least - used in aria2 globally. Reverted the previous change. - * src/AdaptiveURISelector.cc - * src/AdaptiveURISelector.h - * src/CreateRequestCommand.cc - * src/FeedbackURISelector.cc - * src/FeedbackURISelector.h - * src/FileEntry.cc - * src/FileEntry.h - * src/InOrderURISelector.cc - * src/InOrderURISelector.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/URISelector.h - * src/a2algo.h - * test/FeedbackURISelectorTest.cc - * test/InOrderURISelectorTest.cc - -2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Prefer untested server in FeedbackURISelector - * src/FeedbackURISelector.cc - -2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --min-split-size option in man page. - * doc/aria2c.1.txt - -2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --min-split-size=SIZE option. aria2 does not split less - than 2*SIZE byte range. For example, let's consider downloading - 20MiB file. If SIZE is 10M, aria2 can split file into 2 range - [0-10MiB) and [10MiB-20MiB) and download it using 2 sources(if - --split >= 2, of course). If SIZE is 15M, since 2*15M > 20MiB, - aria2 does not split file and download it using 1 source. - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/BitfieldManTest.cc - * test/SegmentManTest.cc - -2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - FeedbackURISelector now tries to chooses URI which is not used in - aria2 globally. If it is possible, it may return used URI. - * src/AdaptiveURISelector.cc - * src/AdaptiveURISelector.h - * src/CreateRequestCommand.cc - * src/FeedbackURISelector.cc - * src/FeedbackURISelector.h - * src/FileEntry.cc - * src/FileEntry.h - * src/InOrderURISelector.cc - * src/InOrderURISelector.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/URISelector.h - * test/FeedbackURISelectorTest.cc - * test/InOrderURISelectorTest.cc - -2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc for options. - * doc/aria2c.1.txt - -2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --max-connection-per-server=NUM option. The default value of - NUM is 1. This option limits the number of connections allowed to - one server for each download. This means when NUM is 2 and 1 URI - is provided, even if you specified -s 5, aria2 establishes 2 - connections. Default value of -j option is changed from 5 to 2. - * src/BtDependency.cc - * src/CreateRequestCommand.cc - * src/FileEntry.cc - * src/FileEntry.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/Metalink2RequestGroup.cc - * src/OptionHandlerFactory.cc - * src/TrackerWatcherCommand.cc - * src/download_helper.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DownloadHelperTest.cc - * test/FileEntryTest.cc - -2010-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set end byte in Range header if start byte > 0 to get more chance - to pool socket. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/DownloadCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.h - * test/DefaultPieceStorageTest.cc - * test/HttpRequestTest.cc - * test/MockPieceStorage.h - -2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved segment empty check before socket check. - * src/AbstractCommand.cc - -2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that segments are not filled to - Request::getMaxPipelinedRequest(). - Make sure that trailing data of transfer encoding is read propery, - after file data is received. - * src/AbstractCommand.cc - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/FtpDownloadCommand.cc - * src/FtpDownloadCommand.h - * src/HttpDownloadCommand.cc - * src/HttpDownloadCommand.h - -2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - After change request to faster one, wait at least 10 seconds. - * src/FileEntry.cc - * src/FileEntry.h - -2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed ChunkedDecoder. It does not read trailer and final CRLF. - * src/ChunkedDecoder.cc - * src/ChunkedDecoder.h - * test/ChunkedDecoderTest.cc - -2010-07-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unusable typedefs - * src/FileAllocationIterator.h - * src/MultiDiskAdaptor.cc - * src/MultiFileAllocationIterator.h - * src/SingleFileAllocationIterator.h - -2010-07-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that DownloadContext::resetDownloadStartTime() never - be called in downloads whose total length is unknown. This causes - avg speed in Download Results is always 0 for these downloads. - * src/RequestGroup.cc - * src/BtFileAllocationEntry.cc - * src/StreamFileAllocationEntry.cc - -2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that AdaptiveFileAllocationIterator::finished() - returns false even if offset_ >= totalLength_. This causes - ftruncate error for seeding torrents. - * src/AdaptiveFileAllocationIterator.cc - -2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Send each CWD component of FTP URI in separate CWD command as - described in RFC1738. - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * test/FtpConnectionTest.cc - -2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented that aria2 supports Chromium/Google Chrom cookies file. - * doc/aria2c.1.txt - * README - -2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that aria2 cannot handle %2F in FTP URI properly. - If directory component starts with %2F which percent-encode of - '/', client should issue CWD to absolute path, but aria2 does not - do that. It just issues relative path and download fails. - * src/FtpConnection.cc - * test/FtpConnectionTest.cc - -2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Increased DOMAIN_EVICTION_TRIGGER to 2000 - * src/CookieStorage.cc - * test/CookieStorageTest.cc - -2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Chromium/Google Chrome Cookies file support. Thanks to - gotrunks for original patch. - * src/CookieStorage.cc - * src/Makefile.am - * src/Sqlite3CookieParser.cc - * src/Sqlite3CookieParser.h - * src/Sqlite3CookieParserImpl.cc - * src/Sqlite3CookieParserImpl.h - * src/Sqlite3MozCookieParser.cc: Removed - * src/Sqlite3MozCookieParser.h: Removed - * test/Makefile.am - * test/Sqlite3CookieParserTest.cc - * test/Sqlite3MozCookieParserTest.cc: Removed - * test/chromium_cookies.sqlite - -2010-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - When allocating disk space, for Linux system with fallocate() - system call, first check file system supports fallocate. This - just run fallocate with small chunk and see it succeeds or fails. - If it succeeds, use fallocate() to allocate entire file otherwise - fall back to traditional slower method: writing zeros. This - behavior is enabled in --file-allocation=prealloc, so this is - enabled by default for most modern Linux. - * configure.ac - * src/AbstractDiskWriter.cc - * src/AbstractDiskWriter.h - * src/AbstractSingleDiskAdaptor.cc - * src/AdaptiveFileAllocationIterator.cc - * src/AdaptiveFileAllocationIterator.h - * src/DefaultPieceStorage.cc - * src/DiskAdaptor.cc - * src/DiskAdaptor.h - * src/FallocFileAllocationIterator.cc - * src/Makefile.am - * src/MultiFileAllocationIterator.cc - * src/OptionHandlerFactory.cc - * test/FallocFileAllocationIteratorTest.cc - * test/Makefile.am - -2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.9.5 - -2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without ssl library. - * test/Metalink2RequestGroupTest.cc - -2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning without ssl library. - * src/DownloadEngineFactory.cc - -2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.5 - * configure.ac - * doc/aria2c.1.txt - -2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc for aria2.addUri - * doc/aria2c.1.txt - -2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't set previousUri_ to "" on redirect. - * src/Request.cc: redirectUri() - -2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return given hostname if hostname is numeric host. - * src/AbstractCommand.cc: resolveHostname() - -2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed Peer::updateSeeder() to reflect current bitfield. - * src/Peer.cc - -2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/util.cc - -2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused getOverflow(). Added assertion in - PiecedSegment::updateWrittenLength() to check updated written - length does not exceed piece length. - * src/GrowSegment.h - * src/PiecedSegment.cc - * src/PiecedSegment.h - * src/Segment.h - * test/SegmentTest.cc - -2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return null if written length > 0 even if SegmentEntry->cuid - equals given cuid. - * src/SegmentMan.cc - -2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning without bittorrent support - * src/RequestGroup.cc - -2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Run whole checksum check when download file name and size are - determined and download is already completed. Related to r2221. - Guarded ENABLE_MESSAGE_DIGEST where necessary. - * src/AbstractCommand.cc - * src/RequestGroup.cc - * src/message.h - -2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made log and log-level option modifiable using - aria2.changeGlobalOption. This means you can dynamically start or - stop logging and change log file and log level. - * doc/aria2c.1.txt - * src/LogFactory.cc - * src/LogFactory.h - * src/LogFormatter.h - * src/Logger.cc - * src/Logger.h - * src/Makefile.am - * src/Makefile.in - * src/SimpleLogFormatter.cc - * src/SimpleLogFormatter.h - * src/SimpleLogger.cc: Removed - * src/SimpleLogger.h: Removed - * src/XmlRpcMethod.cc - * src/XmlRpcMethodImpl.cc - * src/main.cc - -2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Request ut_metadata in end-game mode(in other words, more - aggresively) - * src/HandshakeExtensionMessage.cc - * src/Peer.cc - * src/Peer.h - * src/PeerSessionResource.cc - * src/PeerSessionResource.h - * src/UTMetadataRequestFactory.cc - * test/UTMetadataRequestFactoryTest.cc - -2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing parameter to log message. - * src/UTMetadataRequestFactory.cc - -2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made test code not use /tmp - * test/CookieStorageTest.cc - * test/DirectDiskAdaptorTest.cc - * test/FallocFileAllocationIteratorTest.cc - * test/FileEntryTest.cc - * test/FileTest.cc - * test/GZipDecoderTest.cc - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - * test/RequestGroupManTest.cc - * test/SignatureTest.cc - * test/SingleFileAllocationIteratorTest.cc - * test/UtilTest.cc - -2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed that bug that when aria2 is stopped before whole hash - check(not piece hash check) is done, aria2 reports its file is - downloaded successfully. It should report the download is - in-progress and next invocation of aria2 should check hash. - * src/ChecksumCheckIntegrityEntry.cc - * src/DownloadCommand.cc - * src/DownloadContext.cc - * src/DownloadContext.h - * src/RequestGroup.cc - * src/RequestGroupMan.cc - -2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/PiecedSegment.cc - -2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that corrups file if segment returned from - SegmetnMan::getCleanSegmentIfOwnerIsIdle() has writtenLength > 0. - * src/DownloadCommand.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * test/SegmentManTest.cc - -2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed naming standards for class member variable: now it looks - like var_ instead of _var. - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - When wrong type DHT reply message is received for a transaction - ID, assume the message timed out. - * src/DHTNodeLookupTaskCallback.cc - * src/DHTNodeLookupTaskCallback.h - * src/DHTPeerLookupTaskCallback.cc - * src/DHTPeerLookupTaskCallback.h - * src/DHTPingReplyMessageCallback.h - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed PeerListProcessor. Its functionality is now moved to - bittorrent_helper.h - * src/DefaultBtAnnounce.cc - * src/Makefile.am - * src/PeerListProcessor.h: Removed - * src/UTPexExtensionMessage.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - * test/Makefile.am - * test/PeerListProcessorTest.cc: Removed - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Included util.h - * src/LpdReceiveMessageCommand.cc - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved non-trivial functions to *.cc file - * src/Logger.cc - * src/Logger.h - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added separete *.cc files for exception classes. - * src/DlAbortEx.cc - * src/DlAbortEx.h - * src/DlRetryEx.cc - * src/DlRetryEx.h - * src/DownloadFailureException.cc - * src/DownloadFailureException.h - * src/FatalException.cc - * src/FatalException.h - * src/Makefile.am - * src/RecoverableException.cc - * src/RecoverableException.h - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved non-trivial functions to *.cc file - * src/DownloadContext.cc - * src/DownloadContext.h - * src/FileEntry.cc - * src/FileEntry.h - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused contants - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use auto_delete_container to delete created Command when exception - is thrown rather than deleting them in catch block. - * src/AbstractCommand.cc - * src/CheckIntegrityCommand.cc - * src/DHTSetup.cc - * src/FileAllocationCommand.cc - * src/TrackerWatcherCommand.cc - * src/a2functional.h - -2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed BDE and bencode - -2010-06-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Introduced ValueBase class, which is a replacement of BDE. In - this change ValueBase is used instead of BDE except DHT messages, - UTMetadata messages and XML-RPC. They'll be replaced in the later - commits. DownloadContext::_attrs is now ContextAttribute rather - than BDE. - * src/ActivePeerConnectionCommand.cc - * src/AnnounceList.cc - * src/AnnounceList.h - * src/BtDependency.cc - * src/BtRegistry.cc - * src/BtSetup.cc - * src/ConsoleStatCalc.cc - * src/ContextAttribute.h - * src/DefaultBtAnnounce.cc - * src/DefaultBtInteractive.cc - * src/DownloadContext.cc - * src/DownloadContext.h - * src/HandshakeExtensionMessage.cc - * src/InitiateConnectionCommand.cc - * src/LpdReceiveMessageCommand.cc - * src/MSEHandshake.cc - * src/Makefile.am - * src/Makefile.in - * src/PeerInteractionCommand.cc - * src/PeerListProcessor.h - * src/ProtocolDetector.cc - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/TorrentAttribute.h - * src/TrackerWatcherCommand.cc - * src/UTMetadataDataExtensionMessage.cc - * src/UTMetadataPostDownloadHandler.cc - * src/UTMetadataRequestExtensionMessage.cc - * src/ValueBase.cc - * src/ValueBase.h - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * src/bencode2.cc - * src/bencode2.h - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/download_helper.cc - * src/magnet.cc - * src/magnet.h - * test/AnnounceListTest.cc - * test/Bencode2Test.cc - * test/BencodeTest.cc - * test/BittorrentHelperTest.cc - * test/BtDependencyTest.cc - * test/BtRegistryTest.cc - * test/DefaultBtAnnounceTest.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/HandshakeExtensionMessageTest.cc - * test/MSEHandshakeTest.cc - * test/MagnetTest.cc - * test/Makefile.am - * test/Makefile.in - * test/RequestGroupManTest.cc - * test/UTMetadataDataExtensionMessageTest.cc - * test/UTMetadataPostDownloadHandlerTest.cc - * test/UTMetadataRequestExtensionMessageTest.cc - * test/ValueBaseTest.cc - * test/XmlRpcMethodTest.cc - -2010-06-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed assertion error if updateTransferStatFor is called with peer - X before calculateStat() after peer X is added. - * src/DefaultPeerStorage.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten DHTMessageCallback using Visitor pattern. Eliminated - dynamic_pointer_cast. - * src/DHTMessageCallbackImpl.cc: Removed - * src/DHTMessageReceiver.cc - * src/DHTAbstractNodeLookupTask.h - * src/DHTAnnouncePeerReplyMessage.h - * src/DHTReplaceNodeTask.h - * src/DHTFindNodeReplyMessage.cc - * src/DHTGetPeersReplyMessage.h - * src/DHTPeerLookupTask.h - * src/DHTMessageCallbackImpl.h: Removed - * src/DHTMessageFactory.h - * src/DHTNodeLookupTaskCallback.h - * src/DHTMessageTracker.h - * src/DHTMessageCallbackListener.h: Removed - * src/DHTGetPeersReplyMessage.cc - * src/DHTMessageCallback.h - * src/DHTAnnouncePeerReplyMessage.cc - * src/DHTNodeLookupTask.h - * src/DHTReplaceNodeTask.cc - * src/DHTPeerLookupTaskCallback.cc - * src/DHTMessageTracker.cc - * src/DHTPingReplyMessage.cc - * src/DHTPingTask.cc - * src/DHTMessageFactoryImpl.h - * src/Makefile.am - * src/DHTNodeLookupTask.cc - * src/DHTPeerLookupTaskCallback.h - * src/DHTPeerLookupTask.cc - * src/DHTMessageReceiver.h - * src/DHTMessageFactoryImpl.cc - * src/DHTResponseMessage.h - * src/DHTFindNodeReplyMessage.h - * src/DHTPingReplyMessageCallback.h - * src/Makefile.in - * src/DHTBucketRefreshTask.cc - * src/DHTNodeLookupTaskCallback.cc - * src/DHTPingTask.h - * src/DHTPingReplyMessage.h - * src/DHTAbstractNodeLookupTask.cc: Removed - * test/DHTMessageTrackerTest.cc - * test/DHTPingMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/MockDHTMessage.h - * test/MockDHTMessageFactory.h - * test/DHTFindNodeMessageTest.cc - * test/MockDHTMessageCallback.h - * test/DHTAnnouncePeerMessageTest.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced dynamic_pointer_cast with static_pointer_cast - * src/DHTSetup.cc - * src/DefaultBtMessageReceiver.cc - * src/SharedHandle.h - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reverted changes which deleted peerConnection from - DefaultBtInteractive. - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/PeerInteractionCommand.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten DHTRegistry - * src/BtSetup.cc - * src/DHTRegistry.cc - * src/DHTRegistry.h - * src/DHTSetup.cc - * src/PeerInteractionCommand.cc - * src/RequestGroup.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables of XmlRpcResponse - * src/XmlRpcMethodImpl.cc - * src/XmlRpcResponse.cc - * src/XmlRpcResponse.h - * test/XmlRpcMethodTest.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/HttpServerBodyCommand.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * src/XmlRpcRequest.h - * test/XmlRpcMethodTest.cc - * test/XmlRpcRequestProcessorTest.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made DownloadResult struct - * src/DownloadResult.h - * src/RequestGroup.h - * src/RequestGroupMan.h - * src/XmlRpcMethodImpl.h - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made DHTMessageEntry struct - * src/DHTMessageDispatcherImpl.cc - * src/DHTMessageDispatcherImpl.h - * src/DHTMessageEntry.cc - * src/DHTMessageEntry.h - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made DHTNodeLookupEntry struct - * src/DHTAbstractNodeLookupTask.cc - * src/DHTIDCloser.h - * src/DHTNodeLookupEntry.cc - * src/DHTNodeLookupEntry.h - * src/DHTPeerLookupTask.cc - * test/DHTIDCloserTest.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/ActivePeerConnectionCommand.cc - * src/BtLeecherStateChoke.cc - * src/BtPieceMessage.cc - * src/BtPortMessage.cc - * src/BtSeederStateChoke.cc - * src/DHTGetPeersReplyMessage.cc - * src/DefaultBtInteractive.cc - * src/DefaultPeerStorage.cc - * src/HandshakeExtensionMessage.cc - * src/LpdReceiveMessageCommand.cc - * src/Peer.cc - * src/Peer.h - * src/PeerAbstractCommand.cc - * src/PeerInitiateConnectionCommand.cc - * src/PeerListenCommand.cc - * src/SimpleBtMessage.cc - * src/UTPexExtensionMessage.cc - * src/XmlRpcMethodImpl.cc - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTPeerAnnounceEntryTest.cc - * test/DHTPeerAnnounceStorageTest.cc - * test/DefaultPeerStorageTest.cc - * test/HandshakeExtensionMessageTest.cc - * test/LpdMessageReceiverTest.cc - * test/PeerListProcessorTest.cc - * test/PeerTest.cc - * test/UTPexExtensionMessageTest.cc - -2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made DHTNode::getIPAddress() return const reference. - * src/DHTNode.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/SocketCore.cc - * src/SocketCore.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made public member variable in Metalinker private - * src/MetalinkParserController.cc - * src/Metalinker.cc - * src/Metalinker.h - * test/MetalinkParserControllerTest.cc - * test/MetalinkProcessorTest.cc - * test/MetalinkerTest.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/SharedHandle.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/messageDigest.cc - * src/messageDigest.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. - * src/XmlRpcMethod.h - * src/XmlRpcMethodImpl.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. - * src/UTMetadataDataExtensionMessage.cc - * src/UTMetadataExtensionMessage.h - * src/UTMetadataRejectExtensionMessage.cc - * src/UTMetadataRequestExtensionMessage.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/TimeSeedCriteria.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/TimeA2.cc - * src/TimeA2.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/SpeedCalc.cc - * src/SpeedCalc.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables in SegmentMan - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * src/XmlRpcMethodImpl.cc - * test/BtDependencyTest.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/RequestSlot.cc - * src/RequestSlot.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/Range.cc - * src/Range.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/Piece.cc - * src/Piece.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/PeerStat.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/PeerConnection.cc - * src/PeerConnection.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/Option.cc - * src/Option.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/Netrc.cc - * src/Netrc.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/LogFactory.cc - * src/LogFactory.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/HttpResponse.cc - * src/HttpResponse.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/HttpRequest.cc - * src/HttpRequest.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/HttpHeader.cc - * src/HttpHeader.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. Removed unused member variable. - * src/AbstractProxyRequestCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpConnection.cc - * src/HttpConnection.h - * src/HttpInitiateConnectionCommand.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed HandleRegistry - * src/HandleRegistry.h - * src/Makefile.am - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/FtpConnection.cc - * src/FtpConnection.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/FileEntry.cc - * src/FileEntry.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/File.cc - * src/File.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/BtPostDownloadHandler.cc - * src/DownloadHandler.h - * src/MetalinkPostDownloadHandler.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/DownloadEngine.cc - * src/DownloadEngine.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. Removed unused member variable. - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/RequestGroup.cc - * test/DefaultPeerStorageTest.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. Removed unused member variable. - * src/DefaultBtRequestFactory.cc - * src/DefaultBtRequestFactory.h - * src/PeerInteractionCommand.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. Removed unused member variables. - * src/DefaultBtMessageReceiver.cc - * src/DefaultBtMessageReceiver.h - * src/PeerInteractionCommand.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/DefaultBtMessageFactory.cc - * src/DefaultBtMessageFactory.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables. Removed member variable peerConnection. - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/PeerInteractionCommand.cc - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/DefaultBtAnnounce.cc - * src/DefaultBtAnnounce.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/DHTAbstractNodeLookupTask.cc - * src/DHTAbstractNodeLookupTask.h - * src/DHTAbstractTask.h - * src/DHTBucketRefreshTask.cc - * src/DHTNodeLookupTask.cc - * src/DHTNodeLookupTask.h - * src/DHTPeerLookupTask.cc - * src/DHTPeerLookupTask.h - * src/DHTPingTask.cc - * src/DHTPingTask.h - * src/DHTReplaceNodeTask.cc - * src/DHTReplaceNodeTask.h - -2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/DHTAbstractMessage.cc - * src/DHTAbstractMessage.h - * src/DHTAnnouncePeerMessage.cc - * src/DHTAnnouncePeerMessage.h - * src/DHTAnnouncePeerReplyMessage.cc - * src/DHTAnnouncePeerReplyMessage.h - * src/DHTFindNodeMessage.cc - * src/DHTFindNodeMessage.h - * src/DHTFindNodeReplyMessage.cc - * src/DHTFindNodeReplyMessage.h - * src/DHTGetPeersMessage.cc - * src/DHTGetPeersMessage.h - * src/DHTGetPeersReplyMessage.cc - * src/DHTGetPeersReplyMessage.h - * src/DHTMessage.h - * src/DHTPingMessage.cc - * src/DHTPingMessage.h - * src/DHTPingReplyMessage.cc - * src/DHTPingReplyMessage.h - * src/DHTQueryMessage.cc - * src/DHTQueryMessage.h - * src/DHTResponseMessage.cc - * src/DHTResponseMessage.h - * src/DHTUnknownMessage.cc - * src/DHTUnknownMessage.h - * test/MockDHTMessage.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused member variable uuid and uuidGen - * src/Command.cc - * src/Command.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/ByteArrayDiskWriter.cc - * src/ByteArrayDiskWriter.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/BtRuntime.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/BtHandshakeMessage.cc - * src/BtHandshakeMessage.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/BtBitfieldMessageValidator.h - * src/BtHandshakeMessageValidator.h - * src/BtPieceMessageValidator.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variables - * src/BtAbortOutstandingRequestEvent.h - * src/BtCancelSendingPieceEvent.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variable - * src/BitfieldMan.cc - * src/BitfieldMan.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variable - * src/AsyncNameResolver.cc - * src/AsyncNameResolver.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed member variable - * src/AnnounceList.cc - * src/AnnounceList.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/DirectDiskAdaptor.cc - * src/DirectDiskAdaptor.h - * src/DiskAdaptor.cc - * src/DiskAdaptor.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/MultiFileAllocationIterator.cc - * src/MultiFileAllocationIterator.h - * test/BtBitfieldMessageTest.cc - * test/BtHaveAllMessageTest.cc - * test/BtHaveMessageTest.cc - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/AbstractDiskWriter.cc - * src/AbstractDiskWriter.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/AbstractAuthResolver.h - * src/DefaultAuthResolver.cc - * src/DefaultAuthResolver.h - * src/NetrcAuthResolver.cc - * src/NetrcAuthResolver.h - -2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/BtAllowedFastMessage.cc - * src/BtAllowedFastMessage.h - * src/BtBitfieldMessage.cc - * src/BtBitfieldMessage.h - * src/BtCancelMessage.cc - * src/BtCancelMessage.h - * src/BtChokeMessage.cc - * src/BtChokeMessage.h - * src/BtExtendedMessage.cc - * src/BtHaveAllMessage.cc - * src/BtHaveAllMessage.h - * src/BtHaveMessage.cc - * src/BtHaveMessage.h - * src/BtHaveNoneMessage.cc - * src/BtHaveNoneMessage.h - * src/BtInterestedMessage.cc - * src/BtInterestedMessage.h - * src/BtNotInterestedMessage.cc - * src/BtNotInterestedMessage.h - * src/BtPieceMessage.cc - * src/BtPieceMessage.h - * src/BtPortMessage.cc - * src/BtPortMessage.h - * src/BtRejectMessage.cc - * src/BtRejectMessage.h - * src/BtRequestMessage.cc - * src/BtRequestMessage.h - * src/BtUnchokeMessage.cc - * src/BtUnchokeMessage.h - * src/SimpleBtMessage.cc - * src/SimpleBtMessage.h - -2010-06-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/BtCheckIntegrityEntry.cc - * src/BtFileAllocationEntry.cc - * src/CheckIntegrityEntry.cc - * src/CheckIntegrityEntry.h - * src/ChecksumCheckIntegrityEntry.cc - * src/FileAllocationEntry.cc - * src/PieceHashCheckIntegrityEntry.cc - * src/RequestGroupEntry.h - * src/StreamCheckIntegrityEntry.cc - * src/StreamFileAllocationEntry.cc - -2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - * src/CheckIntegrityDispatcherCommand.cc - * src/DHTEntryPointNameResolveCommand.h - * src/DHTInteractionCommand.h - * src/FileAllocationDispatcherCommand.cc - * src/LpdReceiveMessageCommand.h - * src/PeerChokeCommand.cc - * src/PeerChokeCommand.h - * src/PeerListenCommand.cc - * src/PeerListenCommand.h - * src/SeedCheckCommand.cc - * src/SeedCheckCommand.h - * src/SequentialDispatcherCommand.h - * src/SleepCommand.cc - * src/SleepCommand.h - * src/TrackerWatcherCommand.cc - * src/TrackerWatcherCommand.h - -2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/CheckIntegrityCommand.cc - * src/FileAllocationCommand.cc - * src/RealtimeCommand.h - -2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/AutoSaveCommand.cc - * src/BtStopDownloadCommand.cc - * src/DHTAutoSaveCommand.cc - * src/DHTBucketRefreshCommand.cc - * src/DHTPeerAnnounceCommand.cc - * src/DHTTokenUpdateCommand.cc - * src/HaveEraseCommand.cc - * src/TimeBasedCommand.h - * src/TimedHaltCommand.cc - -2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/InitiatorMSEHandshakeCommand.cc - * src/PeerAbstractCommand.cc - * src/PeerAbstractCommand.h - * src/PeerInitiateConnectionCommand.cc - * src/PeerInteractionCommand.cc - * src/PeerInteractionCommand.h - * src/PeerReceiveHandshakeCommand.cc - * src/ReceiverMSEHandshakeCommand.cc - -2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/AbstractCommand.cc - -2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variable private. Added accessor funcs. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/AbstractProxyRequestCommand.cc - * src/AbstractProxyRequestCommand.h - * src/AbstractProxyResponseCommand.cc - * src/AbstractProxyResponseCommand.h - * src/CreateRequestCommand.cc - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/FtpDownloadCommand.cc - * src/FtpDownloadCommand.h - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/FtpTunnelRequestCommand.cc - * src/FtpTunnelResponseCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpProxyRequestCommand.cc - * src/HttpProxyResponseCommand.cc - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - * src/HttpSkipResponseCommand.cc - * src/InitiateConnectionCommand.cc - -2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made protected member variables of Command private. Added accessor - funcs. - -2010-06-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made public member variables of DownloadEngine private. Added - accessor funcs. - -2010-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.9.4 - -2010-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Italian translation. Added Korean translation. - Thanks to all translators. - * LINGUAS - * it.po - * ko.po - -2010-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that reading Metalink from pipe fails on older - libxml2. It only accepts "-" as a special keyword to read stdin. - * src/XML2SAXMetalinkProcessor.cc - -2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added log message when cookies are loaded. Added filename to log - message when serializing session. - * src/MultiUrlRequestInfo.cc - -2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Treat SIGHUP and SIGTERM signal as emergency shutdown because they - are usually issued by system or other process. - * src/MultiUrlRequestInfo.cc - -2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use downloadresultcode::IN_PROGRESS for - RequestGroup::SHUTDOWN_SIGNAL. - * src/RequestGroup.cc - -2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call requestForceHalt() instead of _requestGroupMan->forceHalt(). - * src/DownloadEngine.cc - -2010-06-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Mentioned RFC 5854 in README and man page. - * README - * doc/aria2c.1.txt - -2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.4 - * configure.ac - * doc/aria2c.1.txt - -2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't throw exception when Metalink document is empty(no file - element). It is a valid Metalink document anyway. - * src/MetalinkHelper.cc - * src/download_helper.cc - -2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed double memory free when Exception raised from - AbstractCommand::prepareForNextAction() called by - HttpResponseCommand::handleDefaultEncoding(). - * src/AbstractCommand.cc - * src/HttpResponseCommand.cc - -2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added _logger->info() guard - * src/IteratableChunkChecksumValidator.cc - -2010-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that feeding Metalink XML via pipe (-M- option) does - not work when aria2 is built with expat. Fixed the bug that when - Metalink XML is fed via pipe and --save-session is used, entry - "/dev/stdin" is saved in session file. - * src/ExpatMetalinkProcessor.cc - * src/ExpatMetalinkProcessor.h - * src/Metalink2RequestGroup.cc - -2010-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/aria2c.1.txt - -2010-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added totalLength, completedLength, uploadLength, bitfield, - downloadSpeed, uploadSpeed, infoHash, numSeeders, pieceLength, - numPieces, connections and dir to the response of - aria2.tellStopped XML-RPC method. aria2.tellWaiting now always - returns numSeeders for BitTorrent download. - * src/DownloadResult.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/XmlRpcMethodImpl.cc - * test/XmlRpcMethodTest.cc - -2010-05-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that connection pooling does not take into account - proxy. This means that when connection A via proxy X is pooled, - it will be wrongly reused in the download using proxy Y. - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - -2010-05-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that FTP download may fail when control connection - is reused. This happens because FTP server can offer different - root directory for different account. If pooled connections has - different root directory, then download will fail. - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - -2010-05-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed DownloadResult's ctor because it has many args. - * src/DownloadResult.h - * src/RequestGroup.cc - * test/XmlRpcMethodTest.cc - -2010-05-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup. - * src/RequestGroupMan.cc - * src/UTMetadataPostDownloadHandler.cc - * src/XmlRpcMethodImpl.cc - -2010-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Store both whole checksum and piece hash in metalink file. - Dispatch whole checksum verification only when piece hash is not - set. - * src/DownloadCommand.cc - * src/Metalink2RequestGroup.cc - * test/Metalink2RequestGroupTest.cc - -2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Left only IANA hash function textual name in messageDigest.cc. - Assign only IANA hash function textual name to Checksum and - ChunkChecksum. Fixed the value of MessageDigestContext::MD5. - * src/Checksum.h - * src/MetalinkParserController.cc - * src/messageDigest.cc - * src/messageDigest.h - * test/IteratableChecksumValidatorTest.cc - * test/IteratableChunkChecksumValidatorTest.cc - * test/MessageDigestHelperTest.cc - * test/Metalink2RequestGroupTest.cc - * test/MetalinkProcessorTest.cc - -2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo in log message - * src/AbstractCommand.cc - -2010-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.9.3 - -2010-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return const reference. - * src/DefaultPieceStorage.h - * src/DownloadContext.h - * src/FeatureConfig.cc - * src/FeatureConfig.h - * src/OptionParser.cc - * src/OptionParser.h - * src/SimpleRandomizer.cc - * src/SimpleRandomizer.h - -2010-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.3. - * configure.ac - -2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return const reference. - * src/LpdMessageReceiver.h - * src/LpdReceiveMessageCommand.h - -2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed useless pathJoin - * src/MetalinkParserController.cc - -2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that name attribute of file element in Metalink file - is not properly sanitized. - * src/Metalink2RequestGroup.cc - * src/MetalinkParserController.cc - * test/Makefile.am - * test/Metalink2RequestGroupTest.cc - * test/metalink4-dosdirtraversal.xml - -2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that if filename in Content-Disposition header - includes ';', aria2 cuts filename after ';'. - * src/util.cc - * test/UtilTest.cc - -2010-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.9.2 - -2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning on opensolaris. - * src/StringFormat.h - * src/XORCloser.h - -2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * test/array_funTest.cc - -2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed segmentation fault when running unit tests on opensolaris. - * src/SocketCore.cc - * src/bittorrent_helper.cc - -2010-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian translation. Thanks to all translators. - * po/ru.po - -2010-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print warning when trying to add file descriptor >= FD_SET or < 0 - to fd_set for other than MinGW32 build. For MinGW32 build, print - warning when trying to add file descriptor to fd_set when it - already contains FD_SET file descriptors. - * src/SelectEventPoll.cc - * src/SocketCore.cc - -2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc for --event-poll option. - * doc/aria2c.1.txt - -2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.2 - * configure.ac - * doc/aria2c.1.txt - -2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined FD_SETSIZE 1024 for MinGW32. - * src/a2netcompat.h - -2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error on the system which lacks poll() - * src/DownloadEngineFactory.cc - -2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In SocketCore::isReadable()/isWritable(), use poll() if it is - available otherwise use select(). Removed epoll/port from there - because poll() does the good enough job for single socket event - notification. - * src/SocketCore.cc - * src/SocketCore.h - * src/main.cc - -2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added kqueue support. We use poll() for - SocketCore::isReadable()/isWritable() when kqueue is used. - * configure.ac - * src/DownloadEngineFactory.cc - * src/KqueueEventPoll.cc - * src/KqueueEventPoll.h - * src/Makefile.am - * src/Makefile.in - * src/OptionHandlerFactory.cc - * src/main.cc - * src/prefs.cc - * src/prefs.h - -2010-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing timespec.h to SRCS - * src/Makefile.am - -2010-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that aria2.unpause fails with -s1. - * src/FileEntry.cc - * src/XmlRpcMethodImpl.cc - -2010-04-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing #ifdef HAVE_PORT_ASSOCIATE - * src/DownloadEngineFactory.cc - -2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added opensolaris port_associate() support. - * src/DownloadEngineFactory.cc - * src/Makefile.am - * src/OptionHandlerFactory.cc - * src/PortEventPoll.cc - * src/PortEventPoll.h - * src/SocketCore.cc - * src/SocketCore.h - * src/configure.ac - * src/main.cc - * src/prefs.cc - * src/prefs.h - -2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that _e is passed where e should be passed. - * src/HttpListenCommand.cc - -2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Increased _epEvents size if necessary. - * src/EpollEventPoll.cc - * src/EpollEventPoll.h - -2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed EventRType template parameter - * src/EpollEventPoll.cc - * src/EpollEventPoll.h - * src/Event.h - * src/PollEventPoll.cc - * src/PollEventPoll.h - -2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use Event in EpollEventPoll - * src/EpollEventPoll.cc - * src/EpollEventPoll.h - -2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Externalized Event, CommandEvent, ADNSEvent, SocketEntry and - AsyncNameResolverEntry class. - * src/Event.h - * src/Makefile.am - * src/PollEventPoll.cc - * src/PollEventPoll.h - -2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Supported poll() for socket event notification. --event-poll can - take value "poll". Fixed the bug that timeout for - SocketCore::isReadable()/isWritable() is ignored when epoll is - used. - * src/OptionHandlerFactory.cc - * src/a2io.h - * src/prefs.h - * src/SocketCore.h - * src/Makefile.am - * src/main.cc - * src/PollEventPoll.h - * src/SocketCore.cc - * src/DownloadEngineFactory.cc - * src/PollEventPoll.cc - * src/prefs.cc - * configure.ac - -2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reverted previous change to DownloadCommand.cc with additional - commentary. - * src/DownloadCommand.cc - -2010-04-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with openssl 1.1.0 and mingw32. - * src/AsyncNameResolver.cc - * src/LogFactory.cc - * src/Logger.cc - * src/Logger.h - * src/SocketCore.cc - * src/SocketCore.h - * src/a2netcompat.h - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.9.1 - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.0 - * doc/aria2c.1.txt - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian, Russian, Simplified Chinese, German and Greek - translation. Thanks to all translators. - * po/de.po - * po/el.po - * po/ru.po - * po/uk.po - * po/zh_CN.po - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added AC_SEARCH_LIBS for inet_aton on opensolaris. opensolaris - needs -lnsl for inet_aton. - * configure.ac - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aria2.pause, aria2.forcePause, aria2.pauseAll, - aria2.forcePauseAll, aria2.unpause, aria2.unpauseAll XML-RPC - method to aria2rpc - * doc/xmlrpc/aria2rpc - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use elapsed time between two mach_absolute_time() calls. - Fixed compile error in Mac OS X. - * src/clock_gettime_osx.cc - * src/timespec.h - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Implemented clock_gettime() using mach_absolute_time in Mac OS X. - * configure.ac - * src/Makefile.am - * src/a2time.h - * src/clock_gettime_osx.cc - * src/clock_gettime_osx.h - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Implemented clock_gettime() using timeGetTime in mingw. - * configure.ac - * src/Makefile.am - * src/a2time.h - * src/clock_gettime_mingw.cc - * src/clock_gettime_mingw.h - * src/timespec.h - * test/Makefile.am - -2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Ensure that std::ofstream is destroyed before renaming. - * src/SessionSerializer.cc - * src/util.cc - -2010-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that user specified path is escaped using - util::escapePath() where it should not. - * src/DownloadContext.cc - * src/DownloadContext.h - -2010-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Hold reference to PieceStorage when paused in order to provide - progress information via XML-RPC. - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined struct timespec if it is not available. - * src/a2time.h - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing serialize_session.meta4 to EXTRA_DIST - * test/Makefile.am - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without BitTorrent support. - * src/Metalink2RequestGroup.cc - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error on Mac OS X - * src/TimerA2.h - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added warning for the system which lacks clock_gettime with - CLOCK_MONOTONIC. - * src/MultiUrlRequestInfo.cc - * src/TimerA2.cc - * src/TimerA2.h - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed redundant method call for DownloadEngine. - * src/DownloadCommand.cc - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that hash check hangs when aria2.pause is issued - while aria2 is checking piece hashes. Fixed the bug that the - download is paused after file allocation completion even if - aria2.pause is issued during file allocation. - * src/CheckIntegrityCommand.cc - * src/FileAllocationCommand.cc - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added nsl to search-libs for getaddrinfo on opensolaris - * configure.ac - -2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error on opensolaris - * configure.ac - * src/Logger.h - * src/GZipEncoder.h - -2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aria2.pauseAll, aria2.forcePauseAll and aria2.unpauseAll - XML-RPC method. - * doc/aria2c.1.txt - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aria2.forcePause XML-RPC command. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use global::wallclock - * src/DHTBucket.cc - * src/DHTMessageTrackerEntry.cc - * src/DHTMessageTrackerEntry.h - * src/DefaultBtInteractive.cc - * src/Peer.cc - * src/PeerAbstractCommand.cc - * src/PeerStat.h - * src/RequestSlot.h - * src/TimeBasedCommand.cc - -2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use clock_gettime(CLOCK_MONOTONIC, ...) if it is available and - usable to prevent from aria2 from being affected by system time - change. - -2010-04-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aria2.pause and aria2.unpause XML-RPC method. aria2.pause - pauses the download denoted by gid. gid is of type string. The - status of paused download becomes "paused" and the download is - placed on the first position of waiting queue. As long as the - status is "paused", the download is not started. To change status - to "waiting", use aria2.unpause method. This method returns GID of - paused download. aria2.unpause changes the status of the download - denoted by gid from "paused" to "waiting". This makes the download - eligible to restart. gid is of type string. This method returns - GID of unpaused download. - * doc/aria2c.1.txt - * src/DownloadContext.cc - * src/FileEntry.cc - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --save-session=FILE option. This option saves - error/unfinished downloads to FILE on exit. You can pass this - output file to aria2c with -i option on restart. Please note that - downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC - method are not saved. - * src/BtPostDownloadHandler.cc - * src/DownloadResult.h - * src/Makefile.am - * src/MetadataInfo.cc - * src/MetadataInfo.h - * src/Metalink2RequestGroup.cc - * src/MetalinkPostDownloadHandler.cc - * src/MultiUrlRequestInfo.cc - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/SessionSerializer.cc - * src/SessionSerializer.h - * src/UTMetadataPostDownloadHandler.cc - * src/download_helper.cc - * src/download_helper.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/Makefile.am - * test/SessionSerializerTest.cc - * test/XmlRpcMethodTest.cc - * test/serialize_session.meta4 - -2010-04-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that FTP data connection is not established via - proxy when --ftp-proxy is defined and --ftp-pasv=true and - --proxy-method=tunnel. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/InitiateConnectionCommand.cc - -2010-04-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.1 - * configure.ac - -2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added shutdown and forceShutdown to aria2rpc - * doc/xmlrpc/aria2rpc - -2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed error message. - * src/XmlRpcMethod.cc - -2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bt-tracker-timeout, bt-tracker-connect-timeout, - always-resume, max-resume-failure-tries and http-accept-gzip to -i - list options. - * doc/aria2c.1.txt - * doc/xmlrpc/aria2rpc - * src/download_helper.cc - -2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that web-seed URI is not percent-encoded. - * src/a2functional.h - * src/bittorrent_helper.cc - * test/BittorrentHelperTest.cc - * test/url-list-multiFile.torrent - * test/url-list-singleFileEndsWithSlash.torrent - -2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aria2.shutdown and aria2.forceShutdown XML-RPC method. - These methods, as their name implies, shutdown aria2. These - methods are useful for Windows because it lacks signal mechanism. - * doc/aria2c.1.txt - * src/TimedHaltCommand.cc - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added forceHalt argument to TimedHaltCommand. - Added requestForceHalt() to DownloadEngine. - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/TimedHaltCommand.cc - * src/TimedHaltCommand.h - -2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Possible fix for chunked encoding with Content-Length. - * src/HttpResponseCommand.cc - -2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't send "Accept: default, gzip" by default. This is because - some server responds with "Content-Encoding: gzip" for files which - itself is gzipped file and aria2 inflates them. This is a problem - if user don't want to inflate the file. Apparently this is server - configuration error, but I cannot do anything about this. So turn - this off. Added --http-accept-gzip option. If true is given to - this option, aria2 sends 'Accept: deflate, gzip' request header - and inflates response if remote server responds with - 'Content-Encoding: gzip' or 'Content-Encoding: deflate'. This - indicates we removed extension tgz hack in order not to inflate - files with tgz extensions. - * doc/aria2c.1.txt - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/HttpRequestTest.cc - -2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made aria2 not send - "application/metalink4+xml,application/metalink+xml" in Accept - header for web-seeding URIs and tracker request. - * src/Metalink2RequestGroup.cc - * src/TrackerWatcherCommand.cc - * src/download_helper.cc - * src/util.cc - * src/util.h - -2010-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added download_helper.{cc,h} to SRCS - * src/Makefile.am - * test/Makefile.am - -2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --dht-message-timeout option. - * doc/aria2c.1.txt - * src/DHTConstants.h - * src/DHTMessageDispatcherImpl.cc - * src/DHTMessageDispatcherImpl.h - * src/DHTMessageTracker.cc - * src/DHTMessageTracker.h - * src/DHTReplaceNodeTask.h - * src/DHTSetup.cc - * src/DHTTaskFactoryImpl.cc - * src/DHTTaskFactoryImpl.h - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DHTMessageTrackerTest.cc - -2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-tracker-connect-timeout and --bt-tracker-timeout - option. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - * src/TrackerWatcherCommand.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented that specifying --seed-time=0 disables seeding after - download completed. - * doc/aria2c.1.txt - -2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/BtSetup.cc - -2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Drop connection if same Peer ID has been already seen. - * src/DefaultBtInteractive.cc - -2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that waiting download unintentionally starts when - URIs are added to it using aria2.changeUri XML-RPC method. This - also fixes the bug that causes segmentation fault when adding URIs - to waiting download, which is a regression introduced by the - previous change made to src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.cc - -2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with g++-4.4 on FreeBSD. - * src/util.h - -2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that added URI using aria2.changeUri XML-RPC method - is not used immediately if there is no URIs remaining before - calling aria2.changeUri and the number of connection is less than - the value in -s(or -C for Metalink downloads). - * src/XmlRpcMethodImpl.cc - -2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --always-resume and --max-resume-failure-tries option - and exit status 8 in man page. Fixed typo. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - -2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --always-resume and --max-resume-failure-tries option. If - --always-resume=false is given, when all given URIs does not - support resume or aria2 encounters N URIs which does not support - resume - (N is the value specified using --max-resume-failure-tries - option), aria2 download file from scratch. The default behavior - is --always-resume=true, which means if all URIs do not support - resume, download fails. I think this is OK because user normally - don't like to see that partially downloaded file is - overwritten(this is particularly true if file size is big). This - option is useful when aria2 is used as download backend and - graceful falling back to overwritten behavior is preferable. - Added exit status value 8, which means download failed because - server did not support resume. - * src/AbstractCommand.cc - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/DownloadResultCode.h - * src/FileEntry.h - * src/FtpNegotiationCommand.cc - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/SegmentMan.cc - * src/SegmentMan.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DefaultPieceStorageTest.cc - * test/SegmentManTest.cc - -2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --remove-control-file option to -i list options. - * doc/aria2c.1.txt - * doc/xmlrpc/aria2rpc - * src/download_helper.cc - -2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --remove-control-file option. This option removes control - file(*.aria2 file) before download. Using with - --allow-overwrite=true, download always starts from scratch. This - will be useful for users behind proxy server which disables - resume. For such proxy user, -C1 is also recommended for Metalink - downloads to avoid establishing unnecessary connections. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed arrayLength. Defined A2_ARRAY_LEN as macro to calculate - size of array at compile time. - * src/array_fun.h - * test/BitfieldManTest.cc - * test/BtPortMessageTest.cc - * test/DHTRoutingTableDeserializerTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/DownloadHelperTest.cc - * test/LongestSequencePieceSelectorTest.cc - * test/MultiDiskAdaptorTest.cc - * test/OptionParserTest.cc - * test/PriorityPieceSelectorTest.cc - * test/array_funTest.cc - -2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added vbegin() and vend() for fixed sized array. - * src/DownloadHandlerConstants.cc - * src/FeatureConfig.cc - * src/OptionHandlerFactory.cc - * src/ServerStat.cc - * src/TimeA2.cc - * src/XmlRpcMethod.cc - * src/array_fun.h - * src/download_helper.cc - * src/messageDigest.cc - * src/util.cc - * test/BittorrentHelperTest.cc - * test/DHTRoutingTableDeserializerTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/DefaultBtAnnounceTest.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/DownloadContextTest.cc - * test/DownloadHelperTest.cc - * test/FeatureConfigTest.cc - * test/FeedbackURISelectorTest.cc - * test/HttpRequestTest.cc - * test/InOrderURISelectorTest.cc - * test/MSEHandshakeTest.cc - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - * test/PriorityPieceSelectorTest.cc - * test/RequestGroupManTest.cc - * test/UtilTest.cc - * test/XmlRpcMethodTest.cc - * test/a2algoTest.cc - * test/array_funTest.cc - -2010-03-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Simplified code using lastByteMask - * src/BitfieldMan.cc - * src/PieceStatMan.cc - -2010-03-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten lastByteMask - * src/bitfield.h - -2010-03-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Redefined the maximum length of buffer used for HTTP header. - * src/HttpHeaderProcessor.cc - -2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/SleepCommand.cc - -2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Do exact match if IP address is specified in --no-proxy. - * src/AbstractCommand.cc - -2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that socket is added to EventPoll object twice. This - is because derived class FtpFinishDownloadCommand adds socket to - EventPoll object while base class AbstractCommand does that - already. - * src/FtpFinishDownloadCommand.cc - * src/FtpFinishDownloadCommand.h - -2010-03-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined gid_t as int64_t. - * src/BtDependency.cc - * src/BtStopDownloadCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/TrackerWatcherCommand.cc - * src/XmlRpcMethodImpl.cc - * src/message.h - * test/XmlRpcMethodTest.cc - -2010-03-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined cuid_t as int64_t. Removed texts containing "CUID#%D" from - translatable texts because it is used in log and debugging - purpose. - * src/AbstractCommand.cc - * src/ActivePeerConnectionCommand.cc - * src/BtPieceMessage.cc - * src/CUIDCounter.h - * src/CheckIntegrityCommand.cc - * src/CheckIntegrityDispatcherCommand.cc - * src/Command.h - * src/CreateRequestCommand.cc - * src/DHTEntryPointNameResolveCommand.cc - * src/DefaultBtInteractive.cc - * src/DefaultBtMessageDispatcher.cc - * src/DownloadCommand.cc - * src/FileAllocationCommand.cc - * src/FileAllocationDispatcherCommand.cc - * src/FtpConnection.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpConnection.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpListenCommand.cc - * src/HttpResponse.cc - * src/HttpServerBodyCommand.cc - * src/HttpServerCommand.cc - * src/HttpServerResponseCommand.cc - * src/InitiateConnectionCommand.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/MSEHandshake.cc - * src/PeerAbstractCommand.cc - * src/PeerConnection.cc - * src/PeerInitiateConnectionCommand.cc - * src/PeerInteractionCommand.cc - * src/PeerListenCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * src/SegmentMan.cc - * src/SimpleBtMessage.cc - * src/TrackerWatcherCommand.cc - * src/message.h - -2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use gid_t type for gid. - * src/BtRegistry.cc - * src/BtRegistry.h - * src/DownloadResult.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethodImpl.cc - -2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use cuid_t type for cuid. - -2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added v key in DHT message. aria2's DHT version is independent of - the package version and we defined it as 1 at the moment. It is - defined as DHT_VERSION in src/DHTConstants.h. aria2's DHT version - scheme is "A2"+2bytes DHT version number in network byte order. - * src/DHTAbstractMessage.cc - * src/DHTConstants.h - * src/DHTMessage.cc - * src/DHTMessage.h - * src/DHTMessageFactoryImpl.cc - * src/DHTQueryMessage.cc - * src/DHTResponseMessage.cc - * src/util.h - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTAnnouncePeerReplyMessageTest.cc - * test/DHTFindNodeMessageTest.cc - * test/DHTFindNodeReplyMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTPingMessageTest.cc - * test/DHTPingReplyMessageTest.cc - -2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that value of numSeeders in aria2.tellStatus XML-RPC - method response is integer, while manual says it is string. When - peer's port is not listening port, set '0' to port in - aria2.getPeers response. - * src/XmlRpcMethodImpl.cc - -2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Lines starting "#" in -i list are treated as comments. - Example: - # this is comment - http://example.org/file - http://example.org/file2 - dir=/tmp - # another comment - out=myfile - * doc/aria2c.1.txt - * src/UriListParser.cc - * test/filelist1.txt - -2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Accept IPv4 network address with CIDR block in --no-proxy option - and no_proxy environment variable. Current implementation does - not resolve hostname in URI to compare network address. So it is - only effecive if URI has numeric IP addresses. - * doc/aria2c.1.txt - * src/AbstractCommand.cc - * src/OptionHandlerFactory.cc - * src/bitfield.h - * src/usage_text.h - * src/util.cc - * src/util.h - * test/UtilTest.cc - * test/bitfieldTest.cc - -2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reduced interval for metadatagetmode to quickly gather metadata. - * src/BtSetup.cc - -2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.9.0 - -2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc. - * doc/aria2c.1.txt - -2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented about Metalink4 and LPD in README - * RADME - -2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Few adjustment for timeouts in DHT. DHT message timeout is changed - from 15 to 10. The interval of PeerLookup is first 5 seconds and - it adds another 5 seconds in each retry. - * src/DHTConstants.h - * src/DHTGetPeersCommand.cc - * src/DHTGetPeersCommand.h - -2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed log level from error to info for DHT message send error. - * src/DHTMessageDispatcherImpl.cc - -2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Inspect all xt in magnet to find urn:btih. - * src/bittorrent_helper.cc - * test/BittorrentHelperTest.cc - -2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use global option for DHTSetup. - * src/DHTSetup.cc - * src/DHTSetup.h - * src/RequestGroup.cc - -2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bt-enable-lpt, reuse-uri - and {http,https,ftp,all}-proxy-{user,passwd} options to -i list - options. - * doc/aria2c.1.txt - * doc/xmlrpc/aria2rpc - * src/download_helper.cc - -2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use global option for PREF_LISTEN_PORT and PREF_BT_LPD_INTERFACE. - * src/BtSetup.cc - -2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Resurrected --http-proxy-user and --http-proxy-passwd option. - Added --https-proxy-user, --https-proxy-passwd, --ftp-proxy-user, - --ftp-proxy-passwd, --all-proxy-user, --all-proxy-passwd option. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/OptionHandlerTest.cc - -2010-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian and Simplified Chinese translation. Thanks to all - translators. - * po/ru.po - * po/zh_CN.po - -2010-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - For LPD sockets, bind IN_ADDRANY because binding multicast address - fails under Windows. - * src/LpdMessageReceiver.cc - * test/LpdMessageDispatcherTest.cc - -2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that error message is not propagated to Exception. - * src/SocketCore.cc - -2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-lpd-interface option in man page. - * doc/aria2c.1.txt - -2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.0 - * configure.ac - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that FillRequestGroupCommand is not invoked when - RequestGroupMan::createInitialCommand() creates no Command object. - * src/FillRequestGroupCommand.cc - * src/RequestGroupMan.cc - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added debug logs. - * src/FileEntry.cc - * src/SegmentMan.cc - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed unit test error with mingw32 build. - * test/LpdMessageReceiverTest.cc - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated automake-1.11.1 - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error and unit test error without openssl and - gnutls. - * src/MetalinkParserController.cc - * test/MetalinkProcessorTest.cc - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed unitest fails if openssl doesn't support sha-256. - * src/MetalinkParserStateV4Impl.cc - * test/MetalinkProcessorTest.cc - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Wait until message arrives(again) - * test/LpdMessageReceiverTest.cc - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing wallclock.h to SRCS. - * src/Makefile.am - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with --disable-bittorrent - * test/Metalink2RequestGroupTest.cc - * test/MetalinkParserControllerTest.cc - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --reuse-uri option. This option has existed quite long, but - been hidden. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - * src/usage_text.h - -2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Ignore filename parameter if it contains directory traversal - directives. - * src/util.cc - * test/UtilTest.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - urldecode -> percentDecode - * src/FtpConnection.cc - * src/FtpNegotiationCommand.cc - * src/HttpResponse.cc - * src/Request.cc - * src/magnet.cc - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - urlencode -> percentEncode, - torrentUrlencode -> torrentPercentEncode - * src/BtHandshakeMessage.cc - * src/BtHandshakeMessageValidator.h - * src/DHTMessageFactoryImpl.cc - * src/DefaultBtAnnounce.cc - * src/HandshakeExtensionMessage.cc - * src/HttpRequest.cc - * src/XmlRpcMethodImpl.cc - * src/bittorrent_helper.cc - * src/util.cc - * src/util.h - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/UTPexExtensionMessageTest.cc - * test/UtilTest.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that filename is percent encoded where it must be - percent decoded in sendMdtm(). - * src/FtpConnection.cc - * test/FtpConnectionTest.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - url -> uri in Request class. - * src/AbstractCommand.cc - * src/AdaptiveURISelector.cc - * src/DefaultBtAnnounce.cc - * src/FeedbackURISelector.cc - * src/FileEntry.cc - * src/FileEntry.h - * src/HttpRequest.h - * src/HttpResponse.cc - * src/InitiateConnectionCommandFactory.cc - * src/Metalink2RequestGroup.cc - * src/OptionHandlerImpl.h - * src/ProtocolDetector.cc - * src/Request.cc - * src/Request.h - * src/XmlRpcMethodImpl.cc - * test/AuthConfigFactoryTest.cc - * test/FtpConnectionTest.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - * test/RequestTest.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added getServers XML-RPC method. - * doc/aria2c.1.txt - * src/FileEntry.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Pool request when download finished. - * src/DownloadCommand.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made 'fileIndex' parameter in aria2.changeUri XML-RPC method - 1-based. - * doc/aria2c.1.txt - * src/XmlRpcMethodImpl.cc - * test/XmlRpcMethodTest.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call RequestGroupMan::requestQueueCheck() when - max-concurrent-downloads option is changed or new downloads are - added/inserted into reserved list. - * src/RequestGroupMan.cc - * src/XmlRpcMethodImpl.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aria2.forceRemove XML-RPC method. - * doc/aria2c.1.txt - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added debug log. - * src/AbstractCommand.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Create CreateRequestCommand to the number of -s/-C when URIs are - added by XML-RPC. - * src/RequestGroup.cc - * src/RequestGroup.h - * src/XmlRpcMethodImpl.cc - -2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added 'status' key to the response of getUri XML-RPC method. - * doc/aria2c.1.txt - * src/XmlRpcMethodImpl.cc - -2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced Time::reset() call with assigning of global::wallclock. - * src/BtLeecherStateChoke.cc - * src/BtSeederStateChoke.cc - * src/PeerSessionResource.cc - * src/RequestSlot.cc - * src/ServerStat.cc - * src/SpeedCalc.cc - -2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added changeUri XML-RPC method. This method removes/adds URIs - dynamically. - * doc/aria2c.1.txt - * src/AbstractCommand.cc - * src/DownloadContext.cc - * src/DownloadContext.h - * src/FileEntry.cc - * src/FileEntry.h - * src/Request.cc - * src/Request.h - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/FileEntryTest.cc - * test/XmlRpcMethodTest.cc - -2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten copy ctor of RequestSlot to use initialization list. - * src/RequestSlot.h - -2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Time global::wallclock to cache "current time" to reduce the - call gettimeofday(). Global variables are now in namespace global. - * src/AbstractCommand.cc - * src/ActivePeerConnectionCommand.cc - * src/AdaptiveURISelector.cc - * src/BtLeecherStateChoke.cc - * src/BtLeecherStateChoke.h - * src/BtSeederStateChoke.cc - * src/BtSeederStateChoke.h - * src/BtStopDownloadCommand.cc - * src/ConsoleStatCalc.cc - * src/DHTBucket.cc - * src/DHTGetPeersCommand.cc - * src/DHTMessageTrackerEntry.cc - * src/DHTNode.cc - * src/DHTPeerAnnounceEntry.cc - * src/DHTPeerAnnounceStorage.cc - * src/DHTSetup.cc - * src/DefaultBtAnnounce.cc - * src/DefaultBtInteractive.cc - * src/DefaultBtMessageDispatcher.cc - * src/DefaultPeerStorage.cc - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/FileEntry.cc - * src/HttpServerBodyCommand.cc - * src/HttpServerCommand.cc - * src/HttpServerResponseCommand.cc - * src/LpdMessageDispatcher.cc - * src/MultiUrlRequestInfo.cc - * src/Peer.cc - * src/Peer.h - * src/PeerAbstractCommand.cc - * src/PeerStat.h - * src/RequestSlot.cc - * src/RequestSlot.h - * src/SegmentMan.cc - * src/ServerStatMan.cc - * src/SleepCommand.cc - * src/SpeedCalc.cc - * src/SpeedCalc.h - * src/TimeA2.cc - * src/TimeA2.h - * src/TimeBasedCommand.cc - * src/TimeSeedCriteria.h - * src/UTMetadataRequestTracker.h - * src/UTPexExtensionMessage.cc - * src/wallclock.h - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that util::itos(INT64_MIN) fails. - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed memory leak in SocketBuffer when _bufq is not empty when - SocketBuffer is deleted. Added BufEntry constructor and deleted - static factory functions. - * src/SocketBuffer.cc - * src/SocketBuffer.h - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Only execute RequestGroupMan::fillRequestGroupFromReserver() when - queue maintenance is requested by RequestGroup to avoid to call - the function unnecessarily. - * src/FillRequestGroupCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't use hash for Peer::id. Simple concatenation of ip address - and port is enough. - * src/Peer.cc - * test/PeerTest.cc - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enclosed log of DHTMessage::toString() with Logger::info(). - * src/DHTMessageDispatcherImpl.cc - * src/DHTMessageReceiver.cc - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten util::toHex(). - * src/util.cc - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed SocketBuffer::feedAndSend(). Renamed - SocketBuffer::feedSendBuffer() as SocketBuffer::pushStr(). - * src/FtpConnection.cc - * src/HttpConnection.cc - * src/HttpServer.cc - * src/MSEHandshake.cc - * src/PeerConnection.cc - * src/SocketBuffer.cc - * src/SocketBuffer.h - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused PeerConnection::sendMessage(). Updated doc. - * src/PeerConnection.cc - * src/PeerConnection.h - -2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reduced copying/std::string instantiation in sending/receiving - BitTorrent messages. - * src/BtBitfieldMessage.cc - * src/BtBitfieldMessage.h - * src/BtExtendedMessage.cc - * src/BtExtendedMessage.h - * src/BtHandshakeMessage.cc - * src/BtHandshakeMessage.h - * src/BtKeepAliveMessage.cc - * src/BtKeepAliveMessage.h - * src/BtPieceMessage.cc - * src/BtPieceMessage.h - * src/BtPortMessage.cc - * src/BtPortMessage.h - * src/BtUnchokeMessage.h - * src/DefaultBtMessageReceiver.cc - * src/IndexBtMessage.cc - * src/IndexBtMessage.h - * src/PeerConnection.cc - * src/PeerConnection.h - * src/RangeBtMessage.cc - * src/RangeBtMessage.h - * src/SimpleBtMessage.cc - * src/SimpleBtMessage.h - * src/SocketBuffer.cc - * src/SocketBuffer.h - * src/ZeroBtMessage.cc - * src/ZeroBtMessage.h - * test/BtAllowedFastMessageTest.cc - * test/BtBitfieldMessageTest.cc - * test/BtCancelMessageTest.cc - * test/BtChokeMessageTest.cc - * test/BtExtendedMessageTest.cc - * test/BtHandshakeMessageTest.cc - * test/BtHaveAllMessageTest.cc - * test/BtHaveMessageTest.cc - * test/BtHaveNoneMessageTest.cc - * test/BtInterestedMessageTest.cc - * test/BtKeepAliveMessageTest.cc - * test/BtNotInterestedMessageTest.cc - * test/BtPieceMessageTest.cc - * test/BtPortMessageTest.cc - * test/BtRejectMessageTest.cc - * test/BtRequestMessageTest.cc - * test/BtSuggestPieceMessageTest.cc - * test/BtUnchokeMessageTest.cc - -2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten SocketBuffer. Old implementation uses single std::string - to store data and erase sent data, which is costly. New - implementation uses deque to hold each data to avoid to mutate - string. - * src/SocketBuffer.cc - * src/SocketBuffer.h - -2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused FileEntry::extracted - * src/FileEntry.cc - * src/FileEntry.h - -2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Wait until data arrives. - * test/LpdMessageReceiverTest.cc - -2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In Metalink4, if size element contains invalid size, discard whole - document. Added strict hash value check for metalink3/4. - * src/MetalinkParserController.cc - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/MetalinkParserStateV3Impl.cc - * src/MetalinkParserStateV4Impl.cc - * src/util.cc - * src/util.h - * test/MetalinkParserControllerTest.cc - * test/MetalinkProcessorTest.cc - * test/metalink4.xml - -2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added strict attribute validation for metalink4. When - specification violation is found, discard the whole document. - * src/ExpatMetalinkProcessor.cc - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/MetalinkParserStateV4Impl.cc - * src/XML2SAXMetalinkProcessor.cc - * test/Makefile.am - * test/MetalinkProcessorTest.cc - * test/metalink4-attrs.xml: Removed - * test/metalink4-dirtraversal.xml: Removed - -2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added test for Metaurl transaction. - * src/MetalinkParserController.cc - * test/MetalinkParserControllerTest.cc - -2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid costly BtMessage::toString() if info level log is not - required. - * src/DefaultBtInteractive.cc - * src/Logger.h - * src/SimpleBtMessage.cc - -2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reserved vector elements based on profiler results. - * src/DefaultBtInteractive.cc - * src/DefaultBtProgressInfoFile.cc - -2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid to calculate end() iterator in each loop. std::deque is - particularly slow. Make sure that recalculate end iterator if - element is erased during loop. - -2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use vector instead of deque for containers which is used for - mostly read-only purpose. - -2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * test/Makefile.am - -2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added metalink4-groupbymetaurl.xml to EXTRA_DIST - * test/Makefile.am - -2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Small optimization: In updateTransferStatFor(), don't search peer - ID twice. - * src/DefaultPeerStorage.cc - -2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use vector instead of deque for MetalinkEntry and MetalinkResource - objects. - * src/Metalink2RequestGroup.cc - * src/Metalink2RequestGroup.h - * src/MetalinkEntry.cc - * src/MetalinkEntry.h - * src/MetalinkHelper.cc - * src/MetalinkHelper.h - * src/Metalinker.cc - * src/Metalinker.h - * src/main.cc - * test/MetalinkEntryTest.cc - * test/MetalinkHelperTest.cc - * test/MetalinkProcessorTest.cc - * test/MetalinkerTest.cc - -2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that grouped FileEntry objects are not used but - instead all FileEntry objects are used for each metaurl group. - * src/Metalink2RequestGroup.cc - * test/Metalink2RequestGroupTest.cc - * test/metalink4-groupbymetaurl.xml - -2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use vector instead of deque for ChunkChecksum. - * src/ChunkChecksum.h - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - -2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added MessageDigest::isStronger(). Now aria2 selects stronger hash - algorithm in Metalink properly - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - * src/messageDigest.cc - * src/messageDigest.h - * test/MetalinkProcessorTest.cc - * test/metalink4.xml - -2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced null or control characters in file path with '_'. For - MinGW32 build, additional characters which is not allowed in - Windows kernel are also replaced. util::detectDirTraversal() now - returns true if given string contains null or control characters. - * src/DownloadContext.cc - * src/DownloadContext.h - * src/Metalink2RequestGroup.cc - * src/MetalinkParserController.cc - * src/bittorrent_helper.cc - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Discard metalink:file if its name attribute is empty string. - Removed FileEntry instantiation in - MetalinkParserController::setFileLengthOfEntry() - * src/MetalinkParserController.cc - * src/MetalinkParserStateV3Impl.cc - * src/MetalinkParserStateV4Impl.cc - -2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Discard torrent file if path data in it contains directory - traversal directives. Discard metalink:file element in Metalink3 - format if its name attribute contains directory traversal - directives. Ignore name attribute of metalink:signature element - in Metalink3 format if it contains directory traversal directives. - * src/MetalinkParserStateV3Impl.cc - * src/bittorrent_helper.cc - * src/message.h - * test/BittorrentHelperTest.cc - * test/Makefile.am - * test/MetalinkProcessorTest.cc - * test/metalink3-dirtraversal.xml - * test/test.xml - -2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed useless comment - * src/MetalinkParserStateV4Impl.cc - -2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Supported name attribute of metalink::metaurl element and - multi-file torrent with Metalink4. Files with same metaurl are - grouped and downloaded in one RequestGroup. - * src/BtDependency.cc - * src/FileEntry.h - * src/Metalink2RequestGroup.cc - * src/Metalink2RequestGroup.h - * src/MetalinkEntry.cc - * src/MetalinkEntry.h - * src/MetalinkHelper.cc - * src/MetalinkHelper.h - * src/MetalinkMetaurl.cc - * src/MetalinkMetaurl.h - * src/MetalinkParserController.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/bittorrent_helper.cc - * test/BittorrentHelperTest.cc - * test/BtDependencyTest.cc - * test/MetalinkHelperTest.cc - -2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Store name attribute of metalink:metaurl element in MetalinkMetaurl. - * src/MetalinkMetaurl.h - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/MetalinkParserStateV4Impl.cc - * test/MetalinkProcessorTest.cc - * test/metalink4-dirtraversal.xml - -2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added MetalinkMetaurl class. It corresponds to metalink:metaurl - element. - * src/Makefile.am - * src/Metalink2RequestGroup.cc - * src/MetalinkEntry.cc - * src/MetalinkEntry.h - * src/MetalinkMetaurl.cc - * src/MetalinkMetaurl.h - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/MetalinkParserStateV4Impl.cc - * src/MetalinkParserStateV4Impl.h - * test/MetalinkProcessorTest.cc - -2010-02-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Metalink4 support. Currently, name attribute of - metalink::metaurl is ignored and multi-file torrent cannot be used - with Metalink4. - * doc/aria2c.1.txt - * src/DownloadHandlerConstants.cc - * src/ExpatMetalinkProcessor.cc - * src/Makefile.am - * src/Metalink2RequestGroup.cc - * src/MetalinkEntry.cc - * src/MetalinkEntry.h - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - * src/MetalinkParserState.h - * src/MetalinkParserStateImpl.cc - * src/MetalinkParserStateImpl.h - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/MetalinkParserStateV3Impl.cc - * src/MetalinkParserStateV3Impl.h - * src/MetalinkParserStateV4Impl.cc - * src/MetalinkParserStateV4Impl.h - * src/MetalinkResource.cc - * src/MetalinkResource.h - * src/Metalinker.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/XML2SAXMetalinkProcessor.cc - * src/messageDigest.cc - * src/util.cc - * src/util.h - * test/Makefile.am - * test/MetalinkEntryTest.cc - * test/MetalinkParserControllerTest.cc - * test/MetalinkProcessorTest.cc - * test/MetalinkerTest.cc - * test/UtilTest.cc - * test/metalink4-attrs.xml - * test/metalink4-dirtraversal.xml - * test/metalink4.xml - -2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aiFlags argument to getInterfaceAddress(). Use - AI_NUMERICHOST to find interface specified using - --bt-lpd-interface option to avoid time-consuming address lookup. - * src/BtSetup.cc - * src/SocketCore.cc - * src/SocketCore.h - -2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return SharedHandle<LpdMessage>(new LpdMessage()) if received data - is bad in LpdMessageReceiver. - * src/LpdMessage.h - * src/LpdMessageReceiver.cc - * src/LpdMessageReceiver.h - * src/LpdReceiveMessageCommand.cc - * test/LpdMessageReceiverTest.cc - -2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-lpd-interface option to specify the interface to use - for Local Peer Discovery. LpdMessageDispatcher object now has its - own socket. LpdMessageReceiver's socket is binded to multicast - address to only receive multicast packets. - * src/BtSetup.cc - * src/LpdMessageDispatcher.cc - * src/LpdMessageDispatcher.h - * src/LpdMessageReceiver.cc - * src/LpdMessageReceiver.h - * src/LpdReceiveMessageCommand.cc - * src/LpdReceiveMessageCommand.h - * src/OptionHandlerFactory.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/LpdMessageDispatcherTest.cc - * test/LpdMessageReceiverTest.cc - -2010-02-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Put the portion of code to get interface addresses in - SocketCore::bindAddress() into newly added getInterfaceAddress(). - * src/SocketCore.cc - * src/SocketCore.h - -2010-02-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten util::parseInt() and parseUInt() - * src/util.cc - -2010-02-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with mingw32 cross compiler. Defined - a2_sockopt_t as void* for the target systems other than mingw32. - * src/SocketCore.cc - * src/a2netcompat.h - -2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed 'always true' condition - * src/util.cc - -2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-enable-lpd option in man page. - * doc/aria2c.1.txt - -2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Local Peer Discovery. It is disabled by default. Use - --bt-enable-lpd to enable the function. - * src/BtConstants.h - * src/BtSetup.cc - * src/LpdDispatchMessageCommand.cc - * src/LpdDispatchMessageCommand.h - * src/LpdMessage.h - * src/LpdMessageDispatcher.cc - * src/LpdMessageDispatcher.h - * src/LpdMessageReceiver.cc - * src/LpdMessageReceiver.h - * src/LpdReceiveMessageCommand.cc - * src/LpdReceiveMessageCommand.h - * src/Makefile.am - * src/OptionHandlerFactory.cc - * src/Peer.cc - * src/Peer.h - * src/PeerInteractionCommand.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * src/util.cc - * src/util.h - * test/LpdMessageDispatcherTest.cc - * test/LpdMessageReceiverTest.cc - * test/Makefile.am - -2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - User-defined custom request headers specified by --header option - now override builtin headers if they have same name. - * src/HttpRequest.cc - * src/HttpRequest.h - * test/HttpRequestTest.cc - -2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewirtten util::isNumber() - * src/util.cc - -2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reverted changes in r1893. setlocale(LC_CTYPE, "") is needed - because without it localized error messages are not printed - correctly. - * src/Platform.cc - -2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added unit tests for util::getContentDispositionFilename() from - http://greenbytes.de/tech/tc2231/ Fixed the function so that added - tests are passed. - * src/util.cc - * test/UtilTest.cc - -2010-02-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed setlocale() for LC_CTYPE. It may affect isxdigit in - util.cc - * src/Platform.cc - -2010-02-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Support RFC2231 "Parameter Value Character Set and Language - Information" in Content-Disposition header. - * src/HttpResponse.cc - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-02-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print CXXFLAGS - * configure.ac - -2010-02-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Small optimization for A2_WOULDBLOCK(e) - * src/SocketCore.cc - -2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed test file - * test/CookieStorageTest.cc - -2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Check both EAGAIN and EWOULDBLOCK - * src/SocketCore.cc - -2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed ret == 0 checking for SSL_read(), SSL_write() and - SSL_peek() because the checks are done in the caller. In - SocketBuffer::send(), throw exception if nothing could be written - and socket error was not EWOULDBLOCK - * src/SocketBuffer.cc - * src/SocketCore.cc - -2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed error code handling so that it can handle Winsock2 error - code. - * src/SocketCore.cc - * src/SocketCore.h - -2010-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.9.0a - * configure.ac - * doc/aria2c.1.txt - -2010-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that aria2 doesn't handle return value if error - occurred before download begins. - * src/MultiUrlRequestInfo.cc - * src/main.cc - -2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed SegmentManFactory class. - * src/AbstractSegmentManFactory.h - * src/DefaultSegmentManFactory.cc - * src/DefaultSegmentManFactory.h - * src/Makefile.am - * src/RequestGroup.cc - * src/RequestGroup.h - * src/SegmentManFactory.h - -2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Destroyed digest context after getting calculated hash. - * src/Piece.cc - * src/Piece.h - -2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed BitfieldManFactory class. - * src/BitfieldManFactory.cc - * src/BitfieldManFactory.h - * src/DefaultPieceStorage.cc - * src/Makefile.am - * src/PeerSessionResource.cc - * src/Piece.cc - * src/main.cc - * test/DefaultPieceStorageTest.cc - -2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused methods from BitfieldMan class. Moved - getFirstMissingIndex to bitfield.h. Updated doc for BitfieldMan - class. - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/BitfieldManFactory.cc - * src/BitfieldManFactory.h - * src/bitfield.h - * src/main.cc - * test/BitfieldManTest.cc - * test/DefaultPieceStorageTest.cc - -2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved getFirstNMissingIndex to bitfield.h and made it return the - number of appended indexes. - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/Piece.cc - * src/Piece.h - * src/bitfield.h - * test/BitfieldManTest.cc - -2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added more tests. - * test/BitfieldManTest.cc - -2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added BitfieldMan::getFirstNMissingUnusedIndex() to get multiple - unused block indexes at once instead of calling - getFirstMissingUnusedIndex() multiple times. Made use of it in - Piece class and DefaultBtRequestFactory class via Piece class. - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/DefaultBtRequestFactory.cc - * src/Piece.cc - * src/Piece.h - * test/BitfieldManTest.cc - -2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use std::make_pair(...) - * src/DHTMessageTracker.cc - -2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use std::make_pair(...) - * src/bittorrent_helper.cc - -2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - urlencode(removeFragment(...)) in parseUrl(...) - * src/Request.cc - -2010-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Wrapped logger->debug(...) with if(logger->debug()) { ... } - * src/AbstractCommand.cc - * src/AdaptiveURISelector.cc - * src/BtPieceMessage.cc - * src/BtPortMessage.cc - * src/CreateRequestCommand.cc - * src/DHTAbstractNodeLookupTask.cc - * src/DHTBucket.cc - * src/DHTGetPeersCommand.cc - * src/DHTMessageDispatcherImpl.cc - * src/DHTMessageFactoryImpl.cc - * src/DHTMessageTracker.cc - * src/DHTPeerAnnounceStorage.cc - * src/DHTRoutingTable.cc - * src/DHTSetup.cc - * src/DefaultBtAnnounce.cc - * src/DefaultBtInteractive.cc - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageReceiver.cc - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultPeerStorage.cc - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/EpollEventPoll.cc - * src/FileAllocationCommand.cc - * src/FileEntry.cc - * src/FtpNegotiationCommand.cc - * src/HandshakeExtensionMessage.cc - * src/HttpListenCommand.cc - * src/HttpServer.cc - * src/HttpSkipResponseCommand.cc - * src/IteratableChunkChecksumValidator.cc - * src/Logger.h - * src/MSEHandshake.cc - * src/MetalinkPostDownloadHandler.cc - * src/MultiDiskAdaptor.cc - * src/PeerAbstractCommand.cc - * src/PeerConnection.cc - * src/PeerListenCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/SegmentMan.cc - * src/SelectEventPoll.cc - * src/ServerStat.cc - * src/SimpleBtMessage.cc - * src/SocketCore.cc - * src/TrackerWatcherCommand.cc - * src/UTMetadataDataExtensionMessage.cc - * src/UTMetadataRequestFactory.cc - * src/UTMetadataRequestTracker.cc - * src/XmlRpcMethod.cc - -2010-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed log level from debug to info - * src/BtDependency.cc - * src/BtPostDownloadHandler.cc - -2010-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused PeerSessionResource::_latency. - * src/BtConstants.h - * src/BtPieceMessage.cc - * src/Peer.cc - * src/Peer.h - * src/PeerSessionResource.cc - * src/PeerSessionResource.h - * test/PeerSessionResourceTest.cc - -2010-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that --file-allocation=falloc doesn't work with - single file download. - * src/AbstractSingleDiskAdaptor.cc - -2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.8.2 - -2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Portuguese translation. Updated Ukrainian and Spanish - translation. Thanks to all translators. - * po/LINGUAS - * po/es.po - * po/pt.po - * po/uk.po - -2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Remove fragment from redirected URI. - * src/Request.cc - * test/RequestTest.cc - -2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Drop legacy ifdef for ares support and code cleanup. - * src/AsyncNameResolver.cc - * src/AsyncNameResolver.h - -2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call ares_library_init and ares_library_cleanup if they are - available. Some code cleanups. - * src/Platform.cc - -2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call ares_process_fd() each time after epoll to handle timeout. - * src/EpollEventPoll.cc - * src/EpollEventPoll.h - -2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Suppressed type-cast compiler warning - * src/CookieStorage.cc - -2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error on Mac OS X. - * src/CookieStorage.h - -2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed cookietest.txt from Makefile.am - * test/Makefile.am - -2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated version number in man page. - * doc/aria2c.1.txt - -2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten help message for --allow-overwrite option. - * doc/aria2c.1.txt - * src/usage_text.h - -2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bittorrent key to the response of tellStatus XML-RPC method. - The associated value of the key is a struct and contains data - retrieved from .torrent file, such as name, announce-list, - comment, etc. - * doc/aria2c.1.txt - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed parse(std::istream&) and parse(const std::string&) from - CookieParser. - * src/CookieParser.cc - * src/CookieParser.h - * test/CookieParserTest.cc - * test/cookietest.txt: Removed - -2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that cookie for domain a.b.c is not sent to the host - a.b.c if no other cookies are stored. Fixed the bug that - Cookie::markOriginServerOnly() is not called when cookies are - loaded from file/sqlite3 database. - * src/Cookie.h - * src/CookieStorage.cc - * src/NsCookieParser.cc - * src/Sqlite3MozCookieParser.cc - * test/CookieStorageTest.cc - * test/NsCookieParserTest.cc - * test/Sqlite3MozCookieParserTest.cc - * test/cookies.sqlite - * test/nscookietest.txt - -2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed RequestGroup::initSegmentMan(). Guaranteed that either - both _pieceStorage and _segmentMan are initialized or they are - not. - * src/RequestGroup.cc - * src/RequestGroup.h - * test/BtDependencyTest.cc - -2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.8.2 - * configure.ac - -2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced "." with A2STR::DOT_C - * src/AbstractCommand.cc - * src/Cookie.cc - * src/DownloadContext.cc - * src/FtpConnection.cc - * src/RequestGroup.cc - * src/util.cc - -2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced isNumberAndDotsNotation() with isNumericHost(). - isNumericHost() can handle IPv6 address. - * src/Cookie.cc - * src/CookieStorage.cc - * src/util.cc - * src/util.h - * test/CookieTest.cc - * test/UtilTest.cc - -2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Included A2STR.h - * src/CookieStorage.cc - -2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten Cookie storage. - * src/Cookie.cc - * src/Cookie.h - * src/CookieParser.cc - * src/CookieStorage.cc - * src/CookieStorage.h - * src/a2functional.h - * test/CookieParserTest.cc - * test/CookieStorageTest.cc - * test/CookieTest.cc - * test/HttpResponseTest.cc - * test/TestUtil.h - * test/a2functionalTest.cc - -2010-01-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Handle redirected URI which is not properly percent encoded. - * src/Request.cc - * test/RequestTest.cc - -2010-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that causes segmentaiton fault when aria2 sees '404 - not found' in the N times(N is where --max-file-not-found=N, N>0) - in a row without single '200 OK' response. - * src/RequestGroup.cc. - -2010-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with i586-mingw32msvc-g++. Always Cut console - readout by 80 characters in mingw32 build. Catch exception in - DHTMessageReceiver::receiveMessage(). - * src/AbstractDiskWriter.cc - * src/ConsoleStatCalc.cc - * src/DHTMessageReceiver.cc - * src/File.cc - * src/RequestGroupMan.cc - * src/a2io.h - * test/FileTest.cc - -2010-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with intel compiler - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.8.1 - -2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Swedish, Russian and Italian translations. Thanks to all - translators. - * po/it.po - * po/ru.po - * po/sv.po - -2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed broken OptionParser::findByName(). - * src/OptionParser.cc - * test/OptionParserTest.cc - -2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed test error without BitTorrent support. - * test/XmlRpcMethodTest.cc - -2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without GNUTLS/OpenSSL. - * src/util.cc - -2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed compression level to Z_DEFAULT_COMPRESSION. - * src/GZipEncoder.cc - -2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing command line options: --http-no-cache, - --bt-save-metadata and --bt-metadata-only. - * doc/xmlrpc/aria2rpc - -2010-01-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - aria2 now returns gzip compressed XML-RPC response if XML-RPC - client accepts gzip content encoding. - * src/A2STR.cc - * src/A2STR.h - * src/GZipEncoder.cc - * src/GZipEncoder.h - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpServer.cc - * src/HttpServer.h - * src/HttpServerBodyCommand.cc - * src/HttpServerCommand.cc - * src/Makefile.am - * src/XmlRpcResponse.cc - * src/XmlRpcResponse.h - * test/GZipEncoderTest.cc - * test/Makefile.am - -2010-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added XML-RPC client sample code in Python. - * doc/aria2c.1.txt - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.8.1 - * configure.ac - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added version number to man page. Updated copyright year in man - page. - * doc/aria2c.1.txt - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten toTagString - * src/NameMatchOptionHandler.cc - * test/OptionHandlerTest.cc - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added dir and files key to the response struct of aria2.tellStatus - XML-RPC method. The value associated with files key is the list - of files. Its element is the same struct used in aria2.getFiles - XML-RPC method. Added uris key to the response struct of - aria2.getFiles XML-RPC method. The value associated with uris key - is the list of URIs. Its element is the same struct used in - aria2.getUris XML-RPC method. - * doc/aria2c.1.txt - * src/XmlRpcMethodImpl.cc - * test/XmlRpcMethodTest.cc - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added aria2.getSessionInfo XML-RPC method. This method returns a - struct containing Session ID, which is generated each time when - aria2 is invoked. - * doc/aria2c.1.txt - * doc/xmlrpc/aria2rpc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved generateRandomKey() from bittorrent_helper to util. - * src/DHTBucket.cc - * src/DHTNode.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/util.cc - * src/util.h - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc about GID. - * doc/aria2c.1.txt - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Now offset argument in aria2.tellWaiting and aria2.tellStopped - accepts a negative integer. 'offset' == -1 points last download - in the waiting queue and 'offset' == -2 points the download before - the last download, and so on. The downloads in the response are in - reversed order. - * doc/aria2c.1.txt - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --human-readable option. This option, when true is given, - prints sizes and speed in human readable format(e.g., 1.2Ki, - 3.4Mi) in the console readout. The default value is true and it - looks exactly the same as aria2-1.8.0. So the 'new feature' - appears when false is given. In this case, sizes and speed are - printed without in bytes. No Ki, Mi units conversion is used. - This may be useful for a program to parse the output of aria2. - * doc/aria2c.1.txt - * src/ConsoleStatCalc.cc - * src/ConsoleStatCalc.h - * src/OptionHandlerFactory.cc - * src/main.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-01-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Now --all-proxy, --http-proxy, --https-proxy and --ftp-proxy - option accepts empty string "". When "" is given, it erases - previously defined proxy. - * doc/aria2c.1.txt - * src/OptionHandlerImpl.h - * src/usage_text.h - * test/OptionHandlerTest.cc - -2010-01-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup for proxy URI handling. - * src/AbstractCommand.cc - -2010-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-metadata-only option. If true is given to this option, - aria2 downloads metadata only. The file(s) described in metadata - will not be downloaded. This option has effect only when - BitTorrent Magnet URI is used. See also --bt-save-metadata option. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - * src/UTMetadataPostDownloadHandler.cc - * src/download_helper.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed memory leak. Commands stored in std::deque<Command*> are not - deleted when exception is thrown. Make sure that when passing - std::deque<Command*> to function to store Commands, handle - exception and delete these Commands. - * src/AbstractCommand.cc - * src/CheckIntegrityCommand.cc - * src/FileAllocationCommand.cc - * src/RequestGroup.cc - * src/TrackerWatcherCommand.cc - -2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced '/' and '_' with '_' in HTTP/FTP filename. - * src/A2STR.cc - * src/A2STR.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Treat --dir="" as --dir="." - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/Metalink2RequestGroup.cc - * src/UTMetadataPostDownloadHandler.cc - * src/bittorrent_helper.cc - * src/download_helper.cc - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code clean up. - * src/main.cc - -2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reset GID to 1 when they reach maximum value. Rewritten - CUIDCounter::newID() - * src/CUIDCounter.h - * src/RequestGroup.cc - * src/RequestGroup.h - -2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --http-no-cache option in man page. - * doc/aria2c.1.txt - -2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --http-no-cache option. When true is given, aria2 sends - Cache-Control: no-cache and Pragma: no-cache header to avoid - cached content. If false is given , these headers are not sent - and you can add Cache-Control header with a directive you like - using --header option. - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/OptionHandlerFactory.cc - * src/download_helper.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed Logger from OptionParser. When OptionParser is used to - parse options at bootstrap, LogFactory is not configured yet - properly. When LogFactory is used in OptionParser, it initializes - itself to return a logger which has no ability to write log to the - disk. - * src/OptionParser.cc - * src/OptionParser.h - -2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added following sentance to the help message of --out option: - --out option is ignored when -Z is used. - * doc/aria2c.1.txt - * src/usage_text.h - -2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-save-metadata option to -i list options. - * doc/aria2c.1.txt - * src/download_helper.cc - -2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with i586-mingw32msvc-gcc 4.4.2, without any - additional libraries. - * src/MultiUrlRequestInfo.cc - * src/NameResolver.cc - * src/SelectEventPoll.cc - * src/SelectEventPoll.h - * src/SocketCore.cc - * src/SocketCore.h - * src/a2netcompat.h - * src/daemon.cc - * src/main.cc - -2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo. - * src/DHTMessageReceiver.cc - -2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that causes segmentation fault if unknown option is - put in aria2.conf file. BUG#2928303 - * src/OptionParser.cc - * src/OptionParser.h - * src/option_processing.cc - * test/OptionParserTest.cc - -2010-01-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Ignore port message with port=0. - * src/BtPortMessage.cc - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Run autoupdate - * configure.ac - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated autoconf/automake auxiliary files. - * INSTALL - * config.guess - * config.sub - * depcomp - * install-sh - * m4/intldir.m4 - * missing - * mkinstalldirs - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused function. - * src/SharedHandle.h - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Find pooled socket using all cached addresses. - * src/DNSCache.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/InitiateConnectionCommand.cc - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated copyright year. - * src/version_usage.cc - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Pool connection if _contentEncodingDecoder is used and server - supports persistent connection. - * src/HttpDownloadCommand.cc - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc. - * src/DownloadCommand.cc - -2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Untabify. Fixed one line in copyright which is longer than 80 - columns. - * src - * test - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.8.0 - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-save-metadata option in man page. - * doc/aria2c.1.txt - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed usage of --bt-save-metadata option. - * src/usage_text.h - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Get rid of AI_ADDRCONFIG when --disable-ipv6 opiton is given. It - causes name resolution error when none of network interface has - IPv4 address. - * src/main.cc - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.8.0. - * configure.ac - -2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use info hash as a filename when saving BitTorrent metadata. - * src/UTMetadataPostDownloadHandler.cc - * test/UTMetadataPostDownloadHandlerTest.cc - -2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented system.multicall XML-RPC method in man page. - * doc/aria2c.1.txt - -2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added signal handler for SIGHUP to save .aria2 file when terminal - is closed. The handler is the same one for SIGINT and SIGTERM. - * src/MultiUrlRequestInfo.cc - -2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined method name in XmlRpcMethod subclasses. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added system.multicall XML-RPC method. - * src/XmlRpcMethod.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Check structure depth when decoding. - * src/bencode.cc - * src/bencode.h - * test/BencodeTest.cc - -2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented tellStopped XML-RPC method in man page. - * doc/aria2c.1.txt - -2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tellStopped XML-RPC method to aria2rpc. - * doc/xmlrpc/aria2rpc - -2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tellStopped XML-RPC method. This method returns stopped - download in the specified range. It takes same parameters with - tellWaiting XML-RPC method. offset = 0 means the oldest download. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use AI_ADDRCONFIG flag if it is available. Refactored so that - getaddrinfo calls are not scattered around. Unset AI_ADDRCONFIG - when conducting unit tests because they fail if networking - interface is not configured with IPv4 address. - * src/NameResolver.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/a2netcompat.h - * test/AllTest.cc - -2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed unit test error - * test/UTMetadataPostDownloadHandlerTest.cc - -2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined static string constants for efficiency. - * src/XmlRpcMethodImpl.cc - -2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-save-metadata option. When true is given, it saves - metadata as .torrent file. This option has effect only when - BitTorrent Magnet URI is used. The filename is name in metadata - with suffix .torrent. The directory to be saved is the same - directory where download file is saved. If the same file already - exists, metdata is not saved. - * src/OptionHandlerFactory.cc - * src/UTMetadataPostDownloadHandler.cc - * src/UTMetadataPostDownloadHandler.h - * src/message.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/UTMetadataDataExtensionMessageTest.cc - -2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added util::saveAs() function. Use it in Signature::save(). - * src/Signature.cc - * src/util.cc - * src/util.h - -2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Upcase info hash in Magnet URI. - * doc/aria2c.1.txt - -2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refactored RequestGroupMan::changeReservedGroupPosition() - * src/RequestGroupMan.cc - -2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated the description for aria2.addTorrent XML-RPC method. - * doc/aria2c.1.txt - -2009-12-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added changePosition to aria2rpc. - * doc/xmlrpc/aria2rpc - -2009-12-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented changePosition XML-RPC method in man page. - * doc/aria2c.1.txt - -2009-12-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added changePosition XML-RPC method. It takes 3 parameters: gid, - pos and how. This method changes the position of download denoted - by gid. If how is POS_SET, it moves the download to a position - relative to the beginning of the queue. If how is POS_CUR, it - moves the download to a position relative to the current - position. If how is POS_END, it moves the download to a position - relative to the end of the queue. If the destination position is - less than 0 or beyond the end of the queue, it moves the download - to the beginning or the end of the queue respectively. Returns - the destination position. - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/RequestGroupManTest.cc - * test/XmlRpcMethodTest.cc - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added getOption and getGlobalOption to aria2rpc. - * doc/xmlrpc/aria2rpc - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented getOption and getGlobalOption XML-RPC method in man - page - * doc/aria2c.1.txt - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added getOption and getGlobalOption XML-RPC method. getOption - takes GID as a parameter and returns its options as struct. - getGlobalOption takes no parameter and returns global - options. Because global option is used as a template for the - option of newly added downloads, it includes options returned by - getOption. - * src/Option.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Sort _optionHandlers in OptionParser by name in ascending order. - Use vector instead of deque for efficiency. - * src/OptionHandler.h - * src/OptionHandlerFactory.h - * src/OptionParser.cc - * src/OptionParser.h - * src/version_usage.cc - * test/OptionParserTest.cc - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/XmlRpcMethod.cc - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented about followedBy and belongsTo in man page. - * doc/aria2c.1.txt - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added following 2 keys, followedBy and belongsTo, to the response - of tellStatus. - - followedBy: List of GIDs which are generated by the consequence of - this download. For example, when aria2 downloaded Metalink file, - it generates downloads described in it(see *--follow-metalink* - option). This value is useful to track these auto generated - downloads. If there is no such downloads, this key will not be - included in the response. - - belongsTo: GID of a parent download. Some downloads are a part of - another download. For example, if a file in Metalink has - BitTorrent resource, the download of .torrent is a part of that - file. If this download has no parent, this key will not be - included in the response. - * src/BtPostDownloadHandler.cc - * src/DownloadResult.h - * src/Metalink2RequestGroup.cc - * src/MetalinkPostDownloadHandler.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/UTMetadataPostDownloadHandler.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Assigned BObject in BDE() to avoid segmentation fault when calling - methods of BDE::none(). - * src/BDE.cc - -2009-12-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Show info hash in Magnet URI in upper case letters in -S output. - * src/bittorrent_helper.cc - * test/BittorrentHelperTest.cc - -2009-12-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed old useless comment - * src/MultiUrlRequestInfo.cc - -2009-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that if --without-sqlite3 is given, pkg-config is - not properly used in configure script and failed to detect gnutls. - This is because explicit call of PKG_PROG_PKG_CONFIG is missing - and the initialization of pkg-config is done in first occurrence - of PKG_CHECK_MODULES which is not executed because it is inside of - sqlite3.m4. Added explicit PKG_PROG_PKG_CONFIG call. - * configure.ac - -2009-12-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.7.2 - -2009-12-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that RequestGroupMan::downloadFinished() returns - true even if all downloads haven't finished, especially when - PostDownloadHandler is involved. Changed the condition so that it - only returns true if both _requestGroups and _reservedGroups are - empty. - * src/RequestGroupMan.cc - -2009-12-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Log listening port for BitTorrent/DHT in notice level. - * src/DHTConnectionImpl.cc - * src/PeerListenCommand.cc - -2009-12-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2009-12-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.7.2 - * configure.ac - -2009-12-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed default value of --enable-dht from 'false' to 'true'. - * doc/aria2c.1.txt - -2009-12-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enabled DHT by default because of Magnet URI support. To disable - DHT, use --enable-dht=false - * src/OptionHandlerFactory.cc - -2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print Magnet URI in -S output. - * src/AnnounceList.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - -2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-prioritize-piece option to aria2rpc. - * doc/xmlrpc/aria2rpc - -2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refer Magnet URI in --help. Made some cosmetic changes. - * src/version_usage.cc - -2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated -T and -M option. - * doc/aria2c.1.txt - -2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * doc/aria2c.1.txt - -2009-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that line separator is missing in horizontal bar. - * doc/xmlrpc/aria2mon - -2009-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated usage text for --metalink-file option. - * src/usage_text.h - -2009-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - If '-' is given as an argument to --metalink-file option, aria2 - reads Metalink file from stdin. - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/a2io.h - -2009-12-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that aria2 listens wrong port if --interface option - is used. - * src/SocketCore.cc - -2009-12-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that query parameter in magnet URI is not decoded. - * src/magnet.cc - * test/MagnetTest.cc - -2009-12-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Specified defaultSize as an argument for easy testing. - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.7.1 - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.7.1 - * configure.ac - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug --bt-prioritize-piece=tail is not working. - * src/util.cc - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.7.0 - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated help message for --bt-prioritize-piece. Some cosmetic - changes. - * doc/aria2c.1.txt - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set default value for SIZE in --bt-prioritize-piece to 1MiB. - * src/usage_text.h - * src/util.cc - * test/UtilTest.cc - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian, Ukrainian, German and French translations. - Thanks to all translators involved. - * po/de.po - * po/fr.po - * po/ru.po - * po/uk.po - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Mentioned about pkg-config - * README - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo. Referred --index-out option in BitTorrent notes. - * README - -2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Store all addresses found by getifaddrs() and getaddrinfo(). In - bind, try all addresses until success - * src/SocketCore.cc - * src/SocketCore.h - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated po templates. - * po/aria2.pot - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.7.0 - * configure.ac - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error if ENABLE_BITTORRENT is undefined. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - * test/ProtocolDetectorTest.cc - * test/XmlRpcMethodTest.cc - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented in man page that if getifaddrs() is missing, - --interface option doesn't accept interface name. - * doc/aria2c.1.txt - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use last 8 bytes of peer ID as 'key' parameter for tracker request. - * src/DefaultBtAnnounce.cc - * src/DefaultBtAnnounce.h - * test/DefaultBtAnnounceTest.cc - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that connection is always dropped if handshake - message in extension protocol don't have metadata_size. - src/HandshakeExtensionMessage.cc - * src/HandshakeExtensionMessage.cc - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated "URI, MAGNET, TORRENT_FILE, METALINK_FILE" section. Added - text saying DHT is recommended when Magnet URI is provided. - * doc/aria2c.1.txt - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that DHT is always enabled when BitTorrent Magnet - URI is supplied. Notify user that they should consider enabling - DHT if they use Magnet URI. - * src/RequestGroup.cc - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --disable-ipv6 option to disable IPv6. - * doc/aria2c.1.txt - * src/InitiateConnectionCommand.cc - * src/NameResolver.cc - * src/NameResolver.h - * src/OptionHandlerFactory.cc - * src/main.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated usage text for --bt-prioritize-piece option. - * doc/aria2c.1.txt - * src/usage_text.h - -2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In configure script, if --with-PACKAGE and --enable-FEATURE are - given and PACKAGE is missing in the system or FEATURE cannot be - enabled, print error message and stop the script. - * configure.ac - * m4/aria2_arg.m4 - -2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Halt metadata download immediately when metadata download is done. - Don't wait unresponsive tracker. - * src/ByteArrayDiskWriter.h - * src/DefaultBtInteractive.cc - * src/DefaultExtensionMessageFactory.cc - * src/DefaultExtensionMessageFactory.h - * src/PeerInteractionCommand.cc - * src/UTMetadataDataExtensionMessage.cc - * src/UTMetadataDataExtensionMessage.h - * src/UTMetadataRequestExtensionMessage.cc - * test/UTMetadataDataExtensionMessageTest.cc - * test/UTMetadataRequestExtensionMessageTest.cc - -2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --interface option in man page. - * doc/aria2c.1.txt - -2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Try resolved address in the order received from the resolver. - * src/DNSCache.h - -2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added debug logs. - * src/SocketCore.cc - -2009-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed type of tail to uint64_t - * src/util.cc - -2009-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --interface option. This feature binds sockets to given - interface. You can specify interface name, IP address and - hostname. - * configure.ac - * src/OptionHandlerFactory.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/main.cc - * src/message.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for bt-prioritize-piece option in -i list. - * doc/aria2c.1.txt - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bt-prioritize-piece option to -i list. - * src/download_helper.cc - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --http-auth-scheme option from man page. - * doc/aria2c.1.txt - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --http-auth-scheme option since it doesn't do nothing. - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Adjusted the number of peer info which get_peers reply message can - carry. - * src/DHTGetPeersReplyMessage.cc - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added extension_message_test_helper.h to aria2c_SOURCES. - * test/Makefile.am - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-prioritize-piece option in man page. - * doc/aria2c.1.txt - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added option --bt-prioritize-piece. This option instruct aria2 to - try to download first and last pieces of each file first. The - argument can contain 2 keywords:head and tail. To include both - keywords, they must be separated by comma. These keywords can take - one parameter, SIZE. For example , if head=SIZE is specified, - pieces in the range of first SIZE bytes of each file get higher - priority. tail=SIZE means the range of last SIZE bytes of each - file. SIZE can include K or M(1K = 1024, 1M = 1024K). - * src/DefaultPieceStorage.h - * src/Makefile.am - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/PriorityPieceSelector.cc - * src/PriorityPieceSelector.h - * src/RequestGroup.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * src/util.cc - * src/util.h - * test/Makefile.am - * test/MockPieceSelector.h - * test/PriorityPieceSelectorTest.cc - * test/UtilTest.cc - -2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * src/HttpRequest.h - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In Magnet URI with tr parameter, put each announce URI in separate - tier. - * src/bittorrent_helper.cc - * test/BittorrentHelperTest.cc - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed ExtensionMessage::getBencodedData() as - ExtensionMessage::getPayload() - * src/BtExtendedMessage.cc - * src/ExtensionMessage.h - * src/HandshakeExtensionMessage.cc - * src/HandshakeExtensionMessage.h - * src/UTMetadataDataExtensionMessage.cc - * src/UTMetadataDataExtensionMessage.h - * src/UTMetadataRejectExtensionMessage.cc - * src/UTMetadataRejectExtensionMessage.h - * src/UTMetadataRequestExtensionMessage.cc - * src/UTMetadataRequestExtensionMessage.h - * src/UTPexExtensionMessage.cc - * src/UTPexExtensionMessage.h - * test/HandshakeExtensionMessageTest.cc - * test/MockExtensionMessage.h - * test/UTMetadataDataExtensionMessageTest.cc - * test/UTMetadataRejectExtensionMessageTest.cc - * test/UTMetadataRequestExtensionMessageTest.cc - * test/UTPexExtensionMessageTest.cc - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for BitTorrent Magnet URI. - * doc/aria2c.1.txt - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call DownloadContext::setOwnerRequestGroup() in - RequestGroup::setDownloadContext(). - * src/BtDependency.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/download_helper.cc - * test/DefaultBtMessageDispatcherTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/HandshakeExtensionMessageTest.cc - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Accept BitTorrent Magnet URI in Metalink resource type bittorrent. - Rewritten UTMetadataPostDownloadHandler. To create torrent data - from metadata, use new metadata2Torrent() function. - * src/BtDependency.cc - * src/UTMetadataPostDownloadHandler.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - * test/BtDependencyTest.cc - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use createRequestGroupForUri to create the download for torrent - file. - * src/Metalink2RequestGroup.cc - * test/Metalink2RequestGroupTest.cc - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * src/DownloadContext.h - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use createRequestGroupForBitTorrent() - * src/BtPostDownloadHandler.cc - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added remove(). - * src/Option.cc - * src/Option.h - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed options which is only valid for URIs specified in - command-line. If they are left, because op is used as a template - for new RequestGroup(such as created in XML-RPC command, - BtPostDownloadHandler etc), they causes unintentional effect. - * src/main.cc - -2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refer to option value of PREF_OUT only in download_helper. - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - -2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Now addUri XML-RPC method accepts BitTorrent Magnet URI. - * src/download_helper.cc - * src/download_helper.h - * src/XmlRpcMethodImpl.cc - -2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for changeOption XML-RPC method. - * doc/aria2c.1.txt - -2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-max-peers option to changeOption XML-RPC method. - * src/XmlRpcMethod.cc - * src/XmlRpcMethodImpl.cc - * test/XmlRpcMethodTest.cc - -2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added test case for PREF_BT_REQUEST_PEER_SPEED_LIMIT - * test/XmlRpcMethodTest.cc - -2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed redundant DownloadContext::hasAttribute(...) calls. - * src/ConsoleStatCalc.cc - * src/RequestGroup.cc - * src/XmlRpcMethodImpl.cc - -2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed the number of tracker request attempt from 5 to 2. - * src/TrackerWatcherCommand.cc - -2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use host and protocol in original URI, because URI selector - selects URI based on original URI, not redirected one. - * src/Request.cc - -2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug which causes segmentation fault with tellWaiting - XML-RPC method when BitTorrent download is waiting. The key of - BtRegistry is changed from info hash to GID, because it is - registered per RequestGroup, not info hash. - * src/BtRegistry.cc - * src/BtRegistry.h - * src/BtSetup.cc - * src/ConsoleStatCalc.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/PeerInitiateConnectionCommand.cc - * src/PeerInteractionCommand.cc - * src/PeerInteractionCommand.h - * src/PeerReceiveHandshakeCommand.cc - * src/RequestGroup.cc - * src/XmlRpcMethodImpl.cc - * test/BtRegistryTest.cc - * test/XmlRpcMethodTest.cc - -2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for changeOption XML-RPC method. - * doc/aria2c.1.txt - -2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-request-peer-speed-limit option to changeOption XML-RPC - method. - * src/XmlRpcMethod.cc - -2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented about BitTorrent Magnet URI in man page. - * doc/aria2c.1.txt - -2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that trackers in BitTorrent Magnet URI are not - inherited to generated RequestGroup. - * src/UTMetadataPostDownloadHandler.cc - * test/UTMetadataPostDownloadHandlerTest.cc - -2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Prepended "[METADATA]" before dn. - * src/bittorrent_helper.cc - * test/BittorrentHelperTest.cc - -2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten Magnet URI parser. - * src/Makefile.am - * src/ProtocolDetector.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/download_helper.cc - * src/magnet.cc - * src/magnet.h - * test/BittorrentHelperTest.cc - * test/MagnetTest.cc - * test/Makefile.am - * test/ProtocolDetectorTest.cc - -2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use hton64 - * src/base32.cc - -2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Base32 encoded BitTorrent Magnet Link support. - * src/Makefile.am - * src/base32.cc - * src/base32.h - * src/bittorrent_helper.cc - * test/Base32Test.cc - * test/BittorrentHelperTest.cc - * test/Makefile.am - -2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added BitTorrent Magnet Link support. Base32 encoded link is not - supported yet. Fixed typo in method name in RequestGroup. In - metadataGetMode, don't show "Your share ratio was ..." message. - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/DownloadHandlerFactory.cc - * src/DownloadHandlerFactory.h - * src/HandshakeExtensionMessage.cc - * src/Makefile.am - * src/Metalink2RequestGroup.cc - * src/PeerInteractionCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/UTMetadataPostDownloadHandler.cc - * src/UTMetadataPostDownloadHandler.h - * src/download_helper.cc - * test/HandshakeExtensionMessageTest.cc - * test/Makefile.am - * test/UTMetadataPostDownloadHandlerTest.cc - * test/UTMetadataRejectExtensionMessageTest.cc - -2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In metadataGetMode, don't show SEEDING. - * src/ConsoleStatCalc.cc - -2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed ut_metadata data handling. Implemented - UTMetadataDataExtensionMessage::doReceivedAction(). Initialize - PeerStorage in HandshakeExtensionMessage::doReceivedAction() when - metadata_size is received. - * src/DefaultExtensionMessageFactory.cc - * src/DefaultExtensionMessageFactory.h - * src/HandshakeExtensionMessage.cc - * src/HandshakeExtensionMessage.h - * src/UTMetadataDataExtensionMessage.cc - * src/UTMetadataDataExtensionMessage.h - * src/UTMetadataRequestExtensionMessage.cc - * src/UTMetadataRequestFactory.cc - * src/UTMetadataRequestFactory.h - * src/UTMetadataRequestTracker.cc - * src/UTMetadataRequestTracker.h - * test/DefaultExtensionMessageFactoryTest.cc - * test/HandshakeExtensionMessageTest.cc - * test/MockBtMessage.h - * test/UTMetadataDataExtensionMessageTest.cc - * test/UTMetadataRequestExtensionMessageTest.cc - * test/UTMetadataRequestFactoryTest.cc - * test/UTMetadataRequestTrackerTest.cc - * test/extension_message_test_helper.h - -2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Drop connection if ut_metadata reject message is received. - * src/UTMetadataRejectExtensionMessage.cc - -2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set thresholdSpeed to 0 in metadataGetMode because speed doesn't - get high enough in that mode. - * src/ActivePeerConnectionCommand.cc - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added BitTorrent magnet link support to ProtocolDetector. - * src/ProtocolDetector.cc - * src/ProtocolDetector.h - * test/ProtocolDetectorTest.cc - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't inject validator into BtMessage in metadataGetMode because - most of the checks depends on the total length of download but it - is unknown. Delegate metadataGetMode to BtMessage. - * src/DefaultBtMessageFactory.cc - * src/DefaultBtMessageFactory.h - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added setEndGamePieceNum() pure virtual function to PieceStorage. - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added markTotalLengthIsKnown(). - * src/DownloadContext.h - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't add PeerChokeCommand and SeedCheckCommand if metadata is - missing. If metadata is missing, always use DHT when it is ready. - * src/BtSetup.cc - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added parseMagnetLink(). Hex encoded info hash is supported. - Base32 encoded info hash is not supported yet. - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added FromHex() - * src/util.cc - * src/util.h - * test/UtilTest.cc - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added _metadataGetMode member variable. It toggles the action when - messages are received: usually they almost do nothing if - _metadataGetMode is true. - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/BtAllowedFastMessage.cc - * src/BtBitfieldMessage.cc - * src/BtCancelMessage.cc - * src/BtChokeMessage.cc - * src/BtHaveAllMessage.cc - * src/BtHaveMessage.cc - * src/BtInterestedMessage.cc - * src/BtNotInterestedMessage.cc - * src/BtPieceMessage.cc - * src/BtRejectMessage.cc - * src/BtRequestMessage.cc - * src/BtUnchokeMessage.cc - -2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bencode::decode overload functions. They have extra argument - 'end', passed by reference. 'end' points to the beyond the last - position of data used in decoding process. - * src/bencode.cc - * src/bencode.h - * test/BencodeTest.cc - -2009-11-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Initial support of Extension for Peers to Send Metadata - Files(BEP9). Currently aria2 only serves metadata and cannot get - metadata from swarm. - * src/BtConstants.h - * src/DefaultBtInteractive.cc - * src/DefaultExtensionMessageFactory.cc - * src/DefaultExtensionMessageFactory.h - * src/ExtensionMessage.h - * src/ExtensionMessageRegistry.h - * src/HandshakeExtensionMessage.cc - * src/HandshakeExtensionMessage.h - * src/Makefile.am - * src/PeerConnection.h - * src/PeerInteractionCommand.cc - * src/UTMetadataDataExtensionMessage.cc - * src/UTMetadataDataExtensionMessage.h - * src/UTMetadataExtensionMessage.cc - * src/UTMetadataExtensionMessage.h - * src/UTMetadataRejectExtensionMessage.cc - * src/UTMetadataRejectExtensionMessage.h - * src/UTMetadataRequestExtensionMessage.cc - * src/UTMetadataRequestExtensionMessage.h - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/HandshakeExtensionMessageTest.cc - * test/Makefile.am - * test/UTMetadataDataExtensionMessageTest.cc - * test/UTMetadataRejectExtensionMessageTest.cc - * test/UTMetadataRequestExtensionMessageTest.cc - -2009-11-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Cancel segment in prepareForRetry() because there is a chance that - the command has segments. - * src/CreateRequestCommand.cc - -2009-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that slow server is not knocked down in favor of - faster one. - * src/AbstractCommand.cc - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - -2009-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that Request object is not added to - _inFlightRequests in findFasterRequest(). - * src/FileEntry.cc - -2009-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed the strategry of how to increase the number of outstanding - requests. Now the number is doubled if there are no outstanding - requests after receiving messages. - * src/BtConstants.h - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - -2009-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Check socket for reading if there are outstanding requests. - * src/PeerInteractionCommand.cc - -2009-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved frequently called methods to header file so they get - inlined. - * src/RequestSlot.cc - * src/RequestSlot.h - -2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Copied in_addr instead of just casting from char* which might - violate strict aliasing rules. - * src/AsyncNameResolver.cc - -2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use dynamic_pointer_cast - * test/BtPieceMessageTest.cc - * test/BtRequestMessageTest.cc - * test/DefaultBtRequestFactoryTest.cc - -2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added testSetUrl20() - * test/RequestTest.cc - -2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/bittorrent_helper.cc - -2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use C++ style cast - * src/AsyncNameResolver.cc - * src/Base64.h - * src/BtBitfieldMessage.cc - * src/BtHandshakeMessage.cc - * src/DefaultBtMessageFactory.cc - * src/DefaultBtProgressInfoFile.cc - * src/EpollEventPoll.cc - * src/ExpatMetalinkProcessor.cc - * src/IteratableChecksumValidator.cc - * src/IteratableChunkChecksumValidator.cc - * src/MessageDigestHelper.cc - * src/Platform.cc - * src/RequestGroupMan.cc - * src/SingleFileAllocationIterator.cc - * src/Sqlite3MozCookieParser.cc - * src/XML2SAXMetalinkProcessor.cc - * src/Xml2XmlRpcRequestProcessor.cc - * src/util.cc - * src/util.h - -2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed integer potential alignment problem. - * src/bitfield.h - -2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Applied a patch from tizianomueller to fix sigbus errors on Linux - sparc. I modified the patch to eliminate a cast to uint32_t* and - include file ordering. - * src/PeerListProcessor.h - * src/bittorrent_helper.cc - -2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added util::parseUIntNoThrow(). Use it in Request::parseUrl(). - * src/Request.cc - * src/util.cc - * src/util.h - * test/RequestTest.cc - -2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten util::uitos() - * src/util.h - -2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/Request.cc - * src/Request.h - -2009-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten Request::parseUrl() - * src/Request.cc - * test/RequestTest.cc - -2009-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused macro SAFE_CHARS - * src/Request.cc - -2009-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/DHTRoutingTableDeserializer.cc - -2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.6.3 - -2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused function. - * test/DHTPeerAnnounceStorageTest.cc - -2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Only decrement cols if cols > 0 - * src/ConsoleStatCalc.cc - -2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Polish, Catalan, French, Italian, Russian and Japanese - translations. Thanks to all translators. - * po/ca.po - * po/fr.po - * po/it.po - * po/ja.po - * po/pl.po - * po/ru.po - -2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated translation template - * po - -2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without ssl library. - * src/util.cc - -2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Logged received nodes in get_peers reply message. - * src/DHTAbstractNodeLookupTask.cc - * src/DHTAbstractNodeLookupTask.h - -2009-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that DHTAbstractNodeLookupTask never finishes if - error occurred in DHTMessageDispatcherImpl::sendMessage(). - * src/DHTMessageDispatcherImpl.cc - -2009-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't reuse URI if Request pool is not empty. - * src/CreateRequestCommand.cc - -2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed peerStorage from DHTPeerAnnounceEntry. It is unlikely to - receive get_peers request for torrent which the client is now - downloading. - * src/BtSetup.cc - * src/DHTPeerAnnounceEntry.cc - * src/DHTPeerAnnounceEntry.h - * src/DHTPeerAnnounceStorage.cc - * src/DHTPeerAnnounceStorage.h - * src/RequestGroup.cc - * test/DHTPeerAnnounceEntryTest.cc - * test/DHTPeerAnnounceStorageTest.cc - -2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that in Windows environment new blank line is - inserted when console readout is updated. - * src/ConsoleStatCalc.cc - -2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Throw exception if binding listening port is failed. Removed - RequestGroupMan::getInitialCommand(). Use - fillRequestGroupFromReserver() instead. Delete commands for - RequestGroup which has errors when it is being added. - * src/BtSetup.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/DownloadEngineFactory.cc - * src/MultiUrlRequestInfo.cc - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * test/RequestGroupManTest.cc - -2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that when downloading more than one torrent, - listening port is not reported properly to tracker for 2nd or - later torrents. - * src/BtSetup.cc - * src/PeerListenCommand.cc - * src/PeerListenCommand.h - * src/RequestGroup.cc - -2009-10-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.6.3 - * configure.ac - -2009-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed Util.cc from POTFILES.in - * po/POTFILES.in - -2009-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for previous change. - * doc/aria2c.1.txt - -2009-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - If user name is embedded but password is missing in URI, first - resolve password using .netrc. If password is found in .netrc, - then use it as password. If not, use the password specified in - --ftp-passwd. - * src/AuthConfigFactory.cc - * src/Request.cc - * src/Request.h - * test/AuthConfigFactoryTest.cc - -2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * doc/aria2c.1.txt - -2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * src/usage_text.h - -2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing bitfield.cc - * src/bitfield.cc - -2009-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed Util.{cc,h} as util.{cc,h} - * src/Util.cc - * src/Util.h - * src/util.cc - * src/util.h - -2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved static functions in Util class to namespace util. - * src - * test - -2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved generateRandomData to Util.cc Moved flipBit to bitfield.cc. - Moved generateRandomKey to bittorrent_helper.cc. - * src/DHTBucket.cc - * src/DHTGetPeersMessage.cc - * src/DHTGetPeersReplyMessage.cc - * src/DHTMessage.cc - * src/DHTNode.cc - * src/DHTTokenTracker.cc - * src/DHTUtil.cc: Removed. - * src/DHTUtil.h: Removed. - * src/Makefile.am - * src/Util.cc - * src/Util.h - * src/bitfield.h - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/ARC4Test.cc - * test/BNodeTest.cc - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTAnnouncePeerReplyMessageTest.cc - * test/DHTFindNodeMessageTest.cc - * test/DHTFindNodeReplyMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTPingMessageTest.cc - * test/DHTPingReplyMessageTest.cc - * test/DHTTokenTrackerTest.cc - * test/DHTUtilTest.cc: Removed. - * test/Makefile.am - * test/UtilTest.cc - -2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed the call to trim() because trim() is called for each - element in split(). - * src/CookieParser.cc - -2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced Util::slice() with split() - * src/AbstractCommand.cc - * src/CookieParser.cc - * src/File.cc - * src/HttpHeaderProcessor.cc - * src/HttpRequest.cc - * src/Metalink2RequestGroup.cc - * src/MetalinkParserController.cc - * src/Netrc.cc - * src/NsCookieParser.cc - * src/ParameterizedStringParser.cc - * src/ServerStatMan.cc - * src/UriListParser.cc - * src/Util.cc - * src/Util.h - * src/bittorrent_helper.cc - * test/UtilTest.cc - -2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use request->getDir() instead of "/" for embedded user/pass in - URI. - * src/AuthConfigFactory.cc - -2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed wrong insertion point for BasicCred. - * src/AuthConfigFactory.cc - -2009-10-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Allowed non-regular file in LocalFilePathOptionHandler - * src/OptionHandlerImpl.h - * src/message.h - -2009-10-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that Netrc::parse() cannot recognize comment line. - * src/Netrc.cc - * src/Util.h - * test/NetrcTest.cc - * test/sample.netrc - -2009-10-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * src/BtDependency.cc - * src/BtRejectMessage.cc - * src/FtpConnection.cc - * src/HttpHeaderProcessor.h - -2009-10-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed lintian report in man page - * doc/aria2c.1.txt - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release 1.6.2 - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian translation. Thanks to all translators. - * po/uk.po - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated translation template - * po - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.6.2 - * configure.ac - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated licence message in -v output. - * src/version_usage.cc - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced aria2 with aria2c in help message. - * src/version_usage.cc - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use PACKAGE_BUGREPORT and PACKAGE_URL. - * src/version_usage.cc - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Quoted localedir - * src/Makefile.am - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added AC_FUNC_STRTOD and AC_TYPE_PID_T. Check function for pow, - utime. Check header for utime.h. - * configure.ac - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use AC_FUNC_FORK. Replaced HAVE_FORK with HAVE_WORKING_FORK. - * configure.ac - * src/daemon.cc - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't set localedir manually. Leave it to autoconf. - * configure.ac - * src/Makefile.am - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --install to ACLOCAL_AMFLAGS. - Removed m4 from SUBDIRS. - Updated automake 1.11 and autoconf 2.64. - Replaced some obsolute macros with new one. - * Makefile.am - * configure.ac - * m4/aria2_arg.m4 - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed Makefile.am in m4 directory. - * configure.ac - * m4/ChangeLog - * m4/Makefile.am - * m4/Makefile.in - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused m4 macros. - * m4/intldir.m4 - * m4/inttypes.m4 - * m4/isc-posix.m4 - * m4/libgnutls-extra.m4 - * m4/ulonglong.m4 - -2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that causes segmentation fault if - req->getCurrentUrl() contains printf formatting characters such as - %d. The statement that causes this bug is useless and removed. - * src/AbstractCommand.cc - -2009-10-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.6.1 - -2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Simplified Chinese translation. Thanks to translators. - * po/zh_CN.po - -2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated translation template - * po - -2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.6.1 - * configure.ac - -2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed interval from 120 to 60 for dropping inactive peer. - * src/DefaultBtInteractive.cc - -2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for --user-agent and --peer-id-prefix option. - * doc/aria2c.1.txt - -2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code clean up - * src/BtPostDownloadHandler.cc - * src/ContentTypeRequestGroupCriteria.cc - * src/ContentTypeRequestGroupCriteria.h - * src/DownloadHandlerConstants.cc - * src/DownloadHandlerConstants.h - * src/DownloadHandlerFactory.cc - * src/MetalinkPostDownloadHandler.cc - -2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't save control file when aria2 exists while checking piece - hash(behavior of -V option). If control file doesn't exist when - aria2 launched, the completed length in saved control file will be - 0 byte and this confuses user. disableSaveControlFile() is called - in RequestGroup::processCheckIntegrityEntry(). - enableSaveControlFile() will be called after hash checking is - done. See CheckIntegrityCommand. - * src/CheckIntegrityCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - -2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Included version number in Peer ID and client version. Peer ID - now starts with "aria2/VERSION-", where VERSION is - MAJOR.MINOR.MICRO. Client version is aria2/VERSION. - * src/DefaultBtInteractive.cc - * src/OptionHandlerFactory.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/main.cc - * src/usage_text.h - * test/BittorrentHelperTest.cc - -2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed memory leak. - * src/DownloadCommand.cc - -2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed server, port, user and passwd key from options before - XMLRPC::Client.call since they are not options of aria2. - * doc/xmlrpc/aria2mon - * doc/xmlrpc/aria2rpc - -2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Included version number in user-agent string. - * src/OptionHandlerFactory.cc - -2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that the option values changed by XML-RPC - method(changeOption and changeGlobalOption) are overwritten to the - previous value by the next these request which doesn't contain - that option value. Supporse max-download-limit is initially 0. You - changed this value to 100K by changeOption. Then you issue - changeOption request to change max-upload-limit to 50K. This - second request doesn't contain xml-download-limit, so it is back - to initial value, 0. Another improvement is that exception is - thrown when changeOption and changeGlobalOption request contains - option name which doesn't allowed in each request. - * src/DownloadEngine.h - * src/XmlRpcMethod.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodImpl.cc - * src/download_helper.cc - * src/download_helper.h - * test/XmlRpcMethodTest.cc - -2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing MetalinkParserStateImpl.{cc,h} - * src/MetalinkParserStateImpl.cc - * src/MetalinkParserStateImpl.h - -2009-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Put all MetalinkParserState subclasses into - MetalinkParserStateImpl.cc. Use stack to track element structure. - * src/FileMetalinkParserState.cc: Removed - * src/FileMetalinkParserState.h: Removed - * src/FilesMetalinkParserState.cc: Removed - * src/FilesMetalinkParserState.h: Removed - * src/FinMetalinkParserState.cc: Removed - * src/FinMetalinkParserState.h: Removed - * src/HashMetalinkParserState.cc: Removed - * src/HashMetalinkParserState.h: Removed - * src/InitialMetalinkParserState.cc: Removed - * src/InitialMetalinkParserState.h: Removed - * src/LanguageMetalinkParserState.cc: Removed - * src/LanguageMetalinkParserState.h: Removed - * src/Makefile.am - * src/MetalinkMetalinkParserState.cc: Removed - * src/MetalinkMetalinkParserState.h: Removed - * src/MetalinkParserState.h - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/OSMetalinkParserState.cc: Removed - * src/OSMetalinkParserState.h: Removed - * src/PieceHashMetalinkParserState.cc: Removed - * src/PieceHashMetalinkParserState.h: Removed - * src/PiecesMetalinkParserState.cc: Removed - * src/PiecesMetalinkParserState.h: Removed - * src/ResourcesMetalinkParserState.cc: Removed - * src/ResourcesMetalinkParserState.h: Removed - * src/SignatureMetalinkParserState.cc: Removed - * src/SignatureMetalinkParserState.h: Removed - * src/SizeMetalinkParserState.cc: Removed - * src/SizeMetalinkParserState.h: Removed - * src/SkipTagMetalinkParserState.cc: Removed - * src/SkipTagMetalinkParserState.h: Removed - * src/URLMetalinkParserState.cc: Removed - * src/URLMetalinkParserState.h: Removed - * src/VerificationMetalinkParserState.cc: Removed - * src/VerificationMetalinkParserState.h: Removed - * src/VersionMetalinkParserState.cc: Removed - * src/VersionMetalinkParserState.h: Removed - -2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Move all functions in PeerMessageUtil to bittorrent_helper. - * src/BtBitfieldMessage.cc - * src/BtBitfieldMessageValidator.h - * src/BtExtendedMessage.cc - * src/BtHandshakeMessage.cc - * src/BtHandshakeMessageValidator.h - * src/BtPieceMessage.cc - * src/BtPieceMessageValidator.h - * src/BtPortMessage.cc - * src/DHTFindNodeReplyMessage.cc - * src/DHTGetPeersReplyMessage.cc - * src/DHTMessageFactoryImpl.cc - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * src/DHTTokenTracker.cc - * src/DefaultBtMessageFactory.cc - * src/IndexBtMessage.cc - * src/IndexBtMessage.h - * src/IndexBtMessageValidator.h - * src/Makefile.am - * src/PeerMessageUtil.cc: Removed. - * src/PeerMessageUtil.h: Removed. - * src/RangeBtMessage.cc - * src/RangeBtMessage.h - * src/RangeBtMessageValidator.h - * src/UTPexExtensionMessage.cc - * src/ZeroBtMessage.cc - * src/ZeroBtMessage.h - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - * test/BtAllowedFastMessageTest.cc - * test/BtBitfieldMessageTest.cc - * test/BtCancelMessageTest.cc - * test/BtChokeMessageTest.cc - * test/BtExtendedMessageTest.cc - * test/BtHandshakeMessageTest.cc - * test/BtHaveAllMessageTest.cc - * test/BtHaveMessageTest.cc - * test/BtHaveNoneMessageTest.cc - * test/BtInterestedMessageTest.cc - * test/BtNotInterestedMessageTest.cc - * test/BtPieceMessageTest.cc - * test/BtPortMessageTest.cc - * test/BtRejectMessageTest.cc - * test/BtRequestMessageTest.cc - * test/BtSuggestPieceMessageTest.cc - * test/BtUnchokeMessageTest.cc - * test/DHTFindNodeReplyMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTRoutingTableDeserializerTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/DefaultBtMessageFactoryTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/Makefile.am - * test/PeerListProcessorTest.cc - * test/PeerMessageUtilTest.cc: Removed. - * test/UTPexExtensionMessageTest.cc - -2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Limit the size of values list when sending get_peers reply. - * src/DHTGetPeersReplyMessage.cc - -2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated banner - * doc/xmlrpc/aria2rpc - -2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing help message for remove command. - * doc/xmlrpc/aria2rpc - -2009-09-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Generated configure and config.h.in - -2009-09-23 Ross Smith II <aria2spam at smithii dot com> - - Add check for fork(), which is missing on MinGW - * src/daemon.cc - * configure.ac - -2009-09-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused methods Util::fileCopy(), Util::rangedFileCopy(), - Util::expandBuffer(), Util::unfoldRange(), Util::indexRange() and - Util::httpGMT(). - * src/Util.cc - * src/Util.h - * test/UtilTest.cc - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.6.0 - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed a path to xmlrpc/README.txt - * doc/Makefile.am - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added XML-RPC in -v Configuration output. - * src/FeatureConfig.cc - * src/FeatureConfig.h - * test/FeatureConfigTest.cc - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Bulgarian, Russian, Slovak and Japanese - translations. Thanks to all translators. - * po/bg.po - * po/ja.po - * po/ru.po - * po/sk.po - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --retry-wait option from aria2rpc - * doc/xmlrpc/aria2rpc - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --retry-wait option from man page. - * doc/aria2c.1.txt - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --retry-wait option since the current architecture doesn't - allow sleep for particular URI. - * src/AbstractCommand.cc - * src/OptionHandlerFactory.cc - * src/download_helper.cc - * src/prefs.cc - * src/prefs.h - -2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed Retry-After header support. Since the current architecture - doesn't allow sleep for particular URI. - * src/HttpSkipResponseCommand.cc - -2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated the help message for --daemon option. - * doc/aria2c.1.txt - * src/usage_text.h - -2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added our own daemon() function for systems which desn't have - daemon(3). - * configure.ac - * src/Makefile.am - * src/daemon.cc - * src/daemon.h - * src/option_processing.cc - -2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Simplified File::getCurrentDir() - * src/File.cc - -2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use exit() instead of _exit - * src/RequestGroupMan.cc - -2009-09-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced "CATEGORY" with "TAGS". - * src/usage_text.h - * doc/aria2c.1.txt - -2009-09-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated the help message for --help option. - * src/usage_text.h - * doc/aria2c.1.txt - -2009-09-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for added help tags. - * doc/aria2c.1.txt - -2009-09-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added help category #file. Added #file tag to the options related - to downloaded file. - * src/OptionHandlerFactory.cc - * src/help_tags.h - -2009-09-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added help categories: #cookie and #hook. Added #https tag to - --https-proxy and --https-proxy, --all-proxy and --no-proxy. - * src/OptionHandlerFactory.cc - * src/help_tags.h - -2009-09-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made MSG_NOT_FILE translatable. - * src/message.h - -2009-09-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page for --help option. - * doc/aria2c.1.txt - -2009-09-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc. - * src/XmlRpcMethod.h - -2009-09-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Help category now starts with "#" to distinguish a category from - keyword search. For example, "http" categroy is now "#http". You - can type "--help=#http" to get explanation of options related to - http. If '#' is omitted, then the argument is treated as a keyword - and aria2 searches options whose name includes the keyword and - print matched ones. For example, "--help=http" will show options - whose name includes "http". - * src/OptionHandlerFactory.cc - * src/help_tags.h - * src/usage_text.h - * src/version_usage.cc - -2009-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented missing experimental tag and newly added xml-rpc tag in - man page. - * doc/aria2c.1.txt - -2009-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added xml-rpc help tag. Tagged xml-rpc related options with - xml-rpc tag. - * src/OptionHandlerFactory.cc - * src/help_tags.h - -2009-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated message when a path is not a file. Updated common message - for wrong option. - * src/OptionHandlerException.cc - * src/message.h - -2009-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use File::isFile() instead of File::exists(). Updated message when - a path is not a file. - * src/OptionHandlerImpl.cc - * src/message.h - -2009-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that server performence profile is not updated when - aria2c was terminated by emergency shutdown. - * src/TrackerWatcherCommand.cc - -2009-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use LocalFilePathOptionHandler for -T and -M option. - Updated message of MSG_FILE_NOT_EXIST. - * src/OptionHandlerFactory.cc - * src/message.h - -2009-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added LocalFilePathOptionHandler which check whether the specified - file path does exist or not. - * src/OptionHandlerImpl.cc - * src/message.h - -2009-09-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated wiki page URI. - * README - * doc/aria2c.1.txt - -2009-09-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added README.txt for xmlrpc directory. - * doc/Makefile.am - * doc/xmlrpc/README.txt - -2009-09-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.6.0. - * configure.ac - -2009-09-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added XML-RPC client scripts written in ruby. - * doc/Makefile.am - * doc/xmlrpc/aria2mon - * doc/xmlrpc/aria2rpc - -2009-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added support for IPv6 literal address in URI. Now aria2 can - handle URI such as http://[::1]/ - * src/HttpRequest.cc - * src/HttpRequest.h - * src/Request.cc - * src/Request.h - * test/HttpRequestTest.cc - * test/OptionHandlerTest.cc - * test/RequestTest.cc - -2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that HTTP request header for XML-RPC request is not - parsed properly. - * src/HttpHeader.cc - * src/HttpHeaderProcessor.cc - -2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that XML-RPC authorization might be done before HTTP - request header is fully received. - * src/HttpServerCommand.cc - -2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --xml-rpc-listen-all option in man page. - * doc/aria2c.1.txt - -2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --xml-rpc-listen-all option. If true is given to this - option, aria2 listens incoming XML-RPC requests on all network - interfaces. If false is given, listens only on local loopback - interface. The default value is false. - * src/HttpListenCommand.cc - * src/OptionHandlerFactory.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-08-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.5.2 - -2009-08-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian and Russian translations. Thanks to all - translators. - * po/ru.po - * po/uk.po - -2009-08-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.5.2 - * configure.ac - -2009-08-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Get comment, comment.utf-8, created by and creation date from - .torrent file and print them in -S output. - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * test/BittorrentHelperTest.cc - * test/test.torrent - * test/utf8.torrent - -2009-08-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Show exact file size along in -S option output. - * src/Util.h - * src/bittorrent_helper.cc - * test/UtilTest.cc - -2009-08-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoided unnecessary memory allocation in - BitfieldMan::getCompletedLength(). - * src/BitfieldMan.cc - -2009-08-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that download fails if - SocketCore::establishConnection() throws exception and aria2 - doesn't try another address. - * src/AbstractCommand.cc - * src/InitiateConnectionCommand.cc - * src/message.h - -2009-08-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed sqlite3.m4 macro so that sqlite3_open_v2 function is - detected properly. - * m4/sqlite3.m4 - -2009-08-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed xmlrpc::elements::PARAMS to xmlrpc::elements::A2_PARAMS - because it causes compile error if PARAMS macro is defined. - * src/XmlRpcElements.cc - * src/XmlRpcElements.h - * src/XmlRpcRequestParserStateImpl.cc - -2009-07-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.5.1 - -2009-07-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.5.1 - * configure.ac - -2009-07-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without BitTorrent support - * src/DefaultBtProgressInfoFile.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - -2009-07-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing '=' in Download Results - * src/RequestGroupMan.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning - * src/DefaultBtProgressInfoFile.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning on 32bit systems. - * src/DownloadCommand.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call flush from ServerStatMan::save() - * src/ServerStatMan.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Check stream status after file is opened. - * src/CookieStorage.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten Signature::save() - * src/Signature.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten RequestGroupMan::saveServerStat() - * src/RequestGroupMan.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten stream error handling - * src/DHTAutoSaveCommand.cc - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * src/DHTSetup.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Check stream status after file is opened. - * src/DefaultBtProgressInfoFile.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten stream error handling - * src/DefaultBtProgressInfoFile.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Make sure that stream is closed before renaming file. Unit test - fails on mingw32 in the previous implementation. - * src/CookieStorage.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the unit test error without sqlite3 - * test/CookieStorageTest.cc - -2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the undefined reference error - * test/HttpResponseTest.cc - -2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.5.0 - -2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian, Italian, Danish, Bulgarian, Japanese and - Ukrainian translations. Thanks to all translators. - * po/ru.po - * po/it.po - * po/da.po - * po/bg.po - * po/ja.po - * po/uk.po - -2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing src/Logger.cc - * src/Logger.cc - -2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten Logger to avoiding constly virtual call. - * src/LogFactory.cc - * src/LogFactory.h - * src/Logger.h - * src/Makefile.am - * src/Makefile.in - * src/NullLogger.h: Removed. - * src/SimpleLogger.cc - * src/SimpleLogger.h - -2009-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/main.cc - -2009-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated debug log message - * src/AbstractCommand.cc - * src/message.h - -2009-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid to create zombie process when commands specified in - --on-download-* options are executed. Tested on Linux 2.6, Mac OS - X and NetBSD. - * src/main.cc - -2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * src/usage_text.h - * doc/aria2c.1.txt - -2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented 'errorCode' of tellStatus in man page. - * doc/aria2c.1.txt - -2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added 'errorCode' to the reponse of tellStatus xml-rpc method. - This key is only available for stopped/completed downloads and its - value is the error code defined in EXIT STATUS in man page. - * src/XmlRpcMethodImpl.cc - -2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that session download length is not updated when - PeerStat is not fastest one. - * src/SegmentMan.cc - -2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc. - * doc/aria2c.1.txt - -2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc. - * src/AbstractCommand.cc - -2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Handle the case when DownloadContext has no FileEntry. - * src/XmlRpcMethodImpl.cc - -2009-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Handle the situation where struct option.name is char *. - * configure.ac - * src/OptionParser.cc - -2009-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/AbstractCommand.cc - * src/DownloadCommand.cc - -2009-07-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use option of each download to create AuthConfig instead of global - option. - * src/AuthConfigFactory.cc - * src/AuthConfigFactory.h - * src/FtpNegotiationCommand.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpSkipResponseCommand.cc - * src/MultiUrlRequestInfo.cc - * test/AuthConfigFactoryTest.cc - * test/FtpConnectionTest.cc - * test/HttpRequestTest.cc - -2009-07-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't call prepareForRetry(1) if all segments are ignored in - SegmentMan. - * src/AbstractCommand.cc - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/SegmentMan.cc - * src/SegmentMan.h - -2009-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed FileEntry::getAssociatedUris() - * src/FileEntry.h - -2009-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc: TODO1.5 -> TODO - * src/FileEntry.cc - * src/HttpResponseCommand.cc - -2009-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added assertion fileEntries.size() == 1 if BitTorrent is not - involved. - * src/RequestGroup.cc - -2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Eliminated duplicated filterBitfield initialization code. - * src/BitfieldMan.cc - * src/BitfieldMan.h - -2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added assert(!req.isNull()) when DlRetryEx is caught(this is - relatively naive approach, though). For DownloadFailureException, - we handle the case when req is null properly. - * src/AbstractCommand.cc - -2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added function returning suffix of control file to - DefaultBtProgressInfoFile. - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtProgressInfoFile.h - * src/RequestGroup.cc - -2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented getVersion in man page. - * doc/aria2c.1.txt - -2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented type of offset and num for tellWaiting xml-rpc method. - * doc/aria2c.1.txt - -2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Implemented getVersion xml-rpc method. This method returns struct - which has 2 key-value pairs: "version" key is associated to the - version of aria2, such as "1.5.0". "enabledFeatures" key is - associated to the list of enabled features, such as "Async DNS", - "BitTorrent". - * src/FeatureConfig.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed TLS1.1 protocol support when aria2 is built with gnutls - for compatibility issue. - * src/SocketCore.cc - -2009-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error with openSSL - * src/bittorrent_helper.cc - * src/messageDigest.h - -2009-07-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed bad code: setting certificate type priority to key - exchange priority. - * src/SocketCore.cc - -2009-07-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Disconnect seeder if client is also in seed state. - * src/BtBitfieldMessage.cc - * src/BtHaveAllMessage.cc - * src/BtHaveMessage.cc - * src/message.h - * test/BtBitfieldMessageTest.cc - * test/BtHaveAllMessageTest.cc - * test/BtHaveMessageTest.cc - * test/MockPieceStorage.h - -2009-07-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Keep CreateRequestCommand in queue when no segment is available so - that they can pick up pieces which slow BitTorrent peers are - downloading. - * src/AbstractCommand.cc - * src/CreateRequestCommand.cc - * src/CreateRequestCommand.h - -2009-07-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - --bt-stop-timeout now only checks download speed. - * src/BtStopDownloadCommand.cc - * src/BtStopDownloadCommand.h - * src/BtSetup.cc - * src/usage_text.h - * doc/aria2c.1.txt - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error regarding BUFSIZE. - * src/DownloadCommand.cc - * src/DownloadCommand.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented tellWaiting xml-rpc method in man page. - * doc/aria2c.1.txt - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.5.0 - * configure.ac - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed resolved TODO1.5 - * src/AbstractCommand.cc - * src/DownloadCommand.cc - * src/RequestGroup.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Release pooled and in-flight Request objectsand URIResult objects - in FileEntry after download completed. - * src/DownloadContext.cc - * src/DownloadContext.h - * src/FileEntry.cc - * src/FileEntry.h - * src/RequestGroup.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set manual and source attribute in aria2c.1.txt - * doc/aria2c.1.txt - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented that the default value of --use-head is 'false' in man - page. - * doc/aria2c.1.txt - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bt-stop-timeout option to -i list. - * doc/aria2c.1.txt - * src/download_helper.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * doc/aria2c.1.txt - * src/usage_text.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed peer-id-prefix option from -i list. - * doc/aria2c.1.txt - * src/download_helper.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * doc/aria2c.1.txt - * src/usage_text.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-stop-timeout option in man page. - * doc/aria2c.1.txt - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated README regarding multi-file torrent web-seeding. - * doc/README.txt - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page regarding multi-file torrent web-seeding. - * doc/aria2c.1.txt - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/version_usage.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Winsock select() doesn't work if no socket is in FD_SET. To - overcome this problem, a dummy socket is added to FD_SET and it is - given to select(). - * src/SelectEventPoll.cc - * src/SelectEventPoll.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Disabled --use-head option by default because --use-head=true - causes problems on some web sites. - * src/OptionHandlerFactory.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print URL List in -S option for torrent. - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Allocate buffer in ctor of DownloadCommand. - * src/DownloadCommand.cc - * src/DownloadCommand.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed DiskAdaptor::onDownloadComplete() - * src/DirectDiskAdaptor.cc - * src/DirectDiskAdaptor.h - * src/DiskAdaptor.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Committed missing BtStopDownloadCommand.{cc,h} - * src/BtStopDownloadCommand.cc - * src/BtStopDownloadCommand.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-stop-timeout=SEC option. This function stops BitTorrent - download if the download speed is 0 and the number of seeder is 0 - in consecutive SEC seconds. By default, this function is disabled. - * src/BtSetup.cc - * src/Makefile.am - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed the call to DiskAdaptor::onDownloadComplete() from - BtCheckIntegrityEntry and DefaultPieceStorage. - * src/BtCheckIntegrityEntry.cc - * src/DefaultPieceStorage.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Commented out throw statements when number of piece is 0 to - download 0 length torrent. - * src/bittorrent_helper.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call RequestGroup::createNextCommandWithAdj() from - BtFileAllocationEntry if at least one FileEntry has URI. The - static function hasAssociatedUri in RequestGroup.cc is renamed as - isUriSuppliedForRequsetFileEntry() and placed in FileEntry.h. - * src/BtFileAllocationEntry.cc - * src/FileEntry.h - * src/RequestGroup.cc - -2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Generate peer ID after SimpleRandomizer is initialized. - * src/main.cc - * src/option_processing.cc - -2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused method argument. - * src/CreateRequestCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/TrackerWatcherCommand.cc - -2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made URI reusing function work. - * src/CreateRequestCommand.cc - * src/FileEntry.cc - * src/FileEntry.h - * test/FileEntryTest.cc - -2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Add formerly fastest PeerStat's sessionDownloadLength to new - fastest PeerStat and use _fastestPeerStats to calcuate downloaded - bytes in a session. - * src/PeerStat.cc - * src/SegmentMan.cc - -2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - If pipelining is enabled, we can always pool socket. - * src/HttpDownloadCommand.cc - -2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In a single file download, file size becomes known just after - downloading, set total length to FileEntry object when download - completed. - * src/DownloadCommand.cc - -2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use std::vector::reserve() for fileEntries and pieceHashes in - bittorrent_helper - * src/bittorrent_helper.cc - -2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed calls to Request::resetUrl() in AbstractCommand.cc. - Removed hidden option PREF_RESET_URI. - * src/AbstractCommand.cc - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - -2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused variable/function. - * src/PeerStat.h - -2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Show first URL in Download Results if file path is not available. - * src/FileEntry.h - -2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Throw exception if file path doesn't exist in FTP URL. - * src/InitiateConnectionCommandFactory.cc - -2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refactored BitfieldMan::getSparseMissingUnusedIndex() - * src/BitfieldMan.cc - -2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten PeerStats handling in SegmentMan.cc. Now we have 2 list - of PeerStat in SegmentMan. peerStats is used for calculating - download speed. Therefore all active PeerStats should be in - there. Another one is _fastestPeerStats and it only contains - fastest PeerStat for each hostname/protocol pair. They are used - for updating ServerStat. - * src/DownloadCommand.cc - * src/Request.h - * src/RequestGroupMan.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * test/SegmentManTest.cc - -2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - 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 - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/download_helper.cc - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refactored fieldMan ctor. - * src/BitfieldMan.cc - * src/BitfieldMan.h - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't print "No files to download." message if -S is given. - * src/main.cc - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set referer and method to newly created Request object. - * src/CreateRequestCommand.cc - * src/FileEntry.cc - * src/FileEntry.h - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed ctor of AbstractCommand which doesn't take FileEntry. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/CreateRequestCommand.cc - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Get proxy download working - * src/AbstractProxyRequestCommand.cc - * src/AbstractProxyRequestCommand.h - * src/AbstractProxyResponseCommand.cc - * src/AbstractProxyResponseCommand.h - * src/FtpInitiateConnectionCommand.cc - * src/FtpTunnelRequestCommand.cc - * src/FtpTunnelRequestCommand.h - * src/FtpTunnelResponseCommand.cc - * src/FtpTunnelResponseCommand.h - * src/HttpInitiateConnectionCommand.cc - * src/HttpProxyRequestCommand.cc - * src/HttpProxyRequestCommand.h - * src/HttpProxyResponseCommand.cc - * src/HttpProxyResponseCommand.h - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use SegmentMan::getSegment(cuid) for single file download. - * src/AbstractCommand.cc - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed bufSize calculation - * src/DownloadCommand.cc - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't append "/" if base URI ends with "/". - * src/bittorrent_helper.cc - * test/url-list-multiFile.torrent - -2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - HTTP pipelining is now working. Fixed Segmention fault in - BitfieldMan's copy ctor. - * src/AbstractCommand.cc - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/DownloadCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpRequest.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * test/BitfieldManTest.cc - * test/SegmentManTest.cc - -2009-06-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed ServerHost. Same functionality is implemented using - FileEntry's in-flight Request objects. - * src/AbstractCommand.cc - * src/BtDependency.cc - * src/CreateRequestCommand.cc - * src/FileEntry.cc - * src/FileEntry.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/Makefile.am - * src/Metalink2RequestGroup.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/ServerHost.cc: Removed - * src/ServerHost.h: Removed - * test/BtDependencyTest.cc - * test/FileEntryTest.cc - * test/RequestGroupTest.cc - -2009-06-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten PeerStat handling. In the previous implementation, - faster command tries to find slower command. In this new - implementation, slower command tries to find faster command. - PeerStat is now created in each HTTP/FTP request to get download - rate correctly. If the download range is small, the download rate - tends to small and this will occur at the later stage of download. - * src/AbstractCommand.cc - * src/DownloadCommand.cc - * src/FileEntry.cc - * src/FileEntry.h - * src/Request.cc - * src/Request.h - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * test/SegmentManTest.cc - -2009-06-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed _uris from RequestGroup. All functions that refer to _uris - were moved to FileEntry. Exit status code are now defined in - DownloadResultCode.h. - * src/AbstractCommand.cc - * src/AdaptiveURISelector.cc - * src/AdaptiveURISelector.h - * src/AutoSaveCommand.cc - * src/BtPostDownloadHandler.cc - * src/CheckIntegrityDispatcherCommand.cc - * src/CookieStorage.cc - * src/DHTAutoSaveCommand.cc - * src/DHTBucketRefreshCommand.cc - * src/DHTEntryPointNameResolveCommand.cc - * src/DHTInteractionCommand.cc - * src/DHTPeerAnnounceCommand.cc - * src/DHTTokenUpdateCommand.cc - * src/DlAbortEx.h - * src/DlRetryEx.h - * src/DownloadCommand.cc - * src/DownloadContext.h - * src/DownloadFailureException.h - * src/DownloadResult.h - * src/DownloadResultCode.h - * src/FeedbackURISelector.cc - * src/FeedbackURISelector.h - * src/FileEntry.cc - * src/FileEntry.h - * src/FtpNegotiationCommand.cc - * src/HttpListenCommand.cc - * src/HttpResponseCommand.cc - * src/HttpServerResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/InOrderURISelector.cc - * src/InOrderURISelector.h - * src/Makefile.am - * src/Makefile.in - * src/Metalink2RequestGroup.cc - * src/MultiUrlRequestInfo.cc - * src/MultiUrlRequestInfo.h - * src/OptionHandlerFactory.cc - * src/PeerListenCommand.cc - * src/RecoverableException.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/TimedHaltCommand.cc - * src/TrackerWatcherCommand.cc - * src/URIResult.cc - * src/URIResult.h - * src/URISelector.h - * src/XmlRpcMethodImpl.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/download_helper.cc - * src/main.cc - * src/option_processing.cc - * test/BtDependencyTest.cc - * test/BtPostDownloadHandlerTest.cc - * test/CookieStorageTest.cc - * test/DefaultBtMessageDispatcherTest.cc - * test/DownloadHandlerFactoryTest.cc - * test/DownloadHelperTest.cc - * test/FeedbackURISelectorTest.cc - * test/FileEntryTest.cc - * test/InOrderURISelectorTest.cc - * test/Metalink2RequestGroupTest.cc - * test/MetalinkPostDownloadHandlerTest.cc - * test/RequestGroupManTest.cc - * test/RequestGroupTest.cc - * test/XmlRpcMethodTest.cc - -2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - Removed MockBtContext.h - * test/Makefile.am - -2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed _currentRequest from StreamCheckIntegrityEntry and - StreamFileAllocationEntry. - * src/AbstractCommand.cc - * src/HttpResponseCommand.cc - * src/RequestGroup.cc - * src/StreamCheckIntegrityEntry.cc - * src/StreamCheckIntegrityEntry.h - * src/StreamFileAllocationEntry.cc - * src/StreamFileAllocationEntry.h - -2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten DownloadContext and removed SingleFileDownloadContext - and BtContext and its derived classes. BitTorrent specific - attributes are now set by DownloadContext::setAttribute() with key - bittorrent::BITTORRENT. - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/AbstractProxyRequestCommand.cc - * src/AbstractProxyResponseCommand.cc - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - * src/AnnounceList.cc - * src/BtCheckIntegrityEntry.cc - * src/BtConstants.h - * src/BtContext.h: Removed - * src/BtDependency.cc - * src/BtExtendedMessage.cc - * src/BtPieceMessage.cc - * src/BtPieceMessage.h - * src/BtPostDownloadHandler.cc - * src/BtRegistry.cc - * src/BtRegistry.h - * src/BtSetup.cc - * src/CheckIntegrityCommand.cc - * src/CheckIntegrityEntry.cc - * src/ChecksumCheckIntegrityEntry.cc - * src/ConsoleStatCalc.cc - * src/ContentTypeRequestGroupCriteria.cc - * src/DHTGetPeersCommand.cc - * src/DHTGetPeersCommand.h - * src/DHTPeerLookupTask.cc - * src/DHTPeerLookupTask.h - * src/DHTTaskFactory.h - * src/DHTTaskFactoryImpl.cc - * src/DHTTaskFactoryImpl.h - * src/DefaultBtAnnounce.cc - * src/DefaultBtAnnounce.h - * src/DefaultBtContext.cc: Removed - * src/DefaultBtContext.h: Removed - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - * src/DefaultBtMessageFactory.cc - * src/DefaultBtMessageFactory.h - * src/DefaultBtMessageReceiver.cc - * src/DefaultBtMessageReceiver.h - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultBtRequestFactory.h - * src/DefaultExtensionMessageFactory.cc - * src/DefaultExtensionMessageFactory.h - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/DefaultPieceStorage.cc - * src/DefaultSegmentManFactory.cc - * src/DiskAdaptor.cc - * src/DiskAdaptor.h - * src/DownloadContext.cc - * src/DownloadContext.h - * src/DownloadEngine.cc - * src/DownloadEngineFactory.cc - * src/DownloadHandler.cc - * src/DownloadResult.h - * src/FileAllocationCommand.cc - * src/FileAllocationDispatcherCommand.cc - * src/FileAllocationEntry.cc - * src/FileEntry.h - * src/FillRequestGroupCommand.cc - * src/FtpDownloadCommand.cc - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/FtpTunnelRequestCommand.cc - * src/FtpTunnelResponseCommand.cc - * src/HandshakeExtensionMessage.cc - * src/HandshakeExtensionMessage.h - * src/HaveEraseCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpProxyRequestCommand.cc - * src/HttpProxyResponseCommand.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/HttpServerBodyCommand.cc - * src/HttpServerCommand.cc - * src/HttpSkipResponseCommand.cc - * src/InitiateConnectionCommandFactory.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/InitiatorMSEHandshakeCommand.h - * src/IteratableChecksumValidator.cc - * src/IteratableChecksumValidator.h - * src/IteratableChunkChecksumValidator.cc - * src/MSEHandshake.cc - * src/MSEHandshake.h - * src/Makefile.am - * src/Makefile.in - * src/Metalink2RequestGroup.cc - * src/MetalinkPostDownloadHandler.cc - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/MultiFileAllocationIterator.cc - * src/MultiUrlRequestInfo.cc - * src/PeerChokeCommand.cc - * src/PeerChokeCommand.h - * src/PeerInitiateConnectionCommand.cc - * src/PeerInitiateConnectionCommand.h - * src/PeerInteractionCommand.cc - * src/PeerInteractionCommand.h - * src/PeerReceiveHandshakeCommand.cc - * src/PieceHashCheckIntegrityEntry.cc - * src/RealtimeCommand.cc - * src/ReceiverMSEHandshakeCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupEntry.cc - * src/RequestGroupMan.cc - * src/SeedCheckCommand.cc - * src/SeedCheckCommand.h - * src/SegmentMan.cc - * src/ShareRatioSeedCriteria.h - * src/SingleFileDownloadContext.cc: Removed - * src/SingleFileDownloadContext.h: Removed - * src/SleepCommand.cc - * src/StreamCheckIntegrityEntry.cc - * src/TrackerWatcherCommand.cc - * src/TrackerWatcherCommand.h - * src/UnknownLengthPieceStorage.cc - * src/Util.cc - * src/Util.h - * src/XmlRpcMethodImpl.cc - * src/bittorrent_helper.cc - * src/bittorrent_helper.h - * src/download_helper.cc - * src/main.cc - * src/option_processing.cc - * test/BitfieldManTest.cc - * test/BittorrentHelperTest.cc - * test/BtCancelMessageTest.cc - * test/BtChokeMessageTest.cc - * test/BtDependencyTest.cc - * test/BtPieceMessageTest.cc - * test/BtPostDownloadHandlerTest.cc - * test/BtRegistryTest.cc - * test/BtRejectMessageTest.cc - * test/BtRequestMessageTest.cc - * test/DHTPeerAnnounceStorageTest.cc - * test/DefaultBtAnnounceTest.cc - * test/DefaultBtContextTest.cc: Removed - * test/DefaultBtMessageDispatcherTest.cc - * test/DefaultBtMessageFactoryTest.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/DefaultBtRequestFactoryTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/DefaultPeerStorageTest.cc - * test/DefaultPieceStorageTest.cc - * test/DirectDiskAdaptorTest.cc - * test/DownloadContextTest.cc - * test/DownloadHandlerFactoryTest.cc - * test/DownloadHelperTest.cc - * test/HandshakeExtensionMessageTest.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - * test/IteratableChecksumValidatorTest.cc - * test/IteratableChunkChecksumValidatorTest.cc - * test/MSEHandshakeTest.cc - * test/Makefile.am - * test/Makefile.in - * test/Metalink2RequestGroupTest.cc - * test/MetalinkPostDownloadHandlerTest.cc - * test/MockBtContext.h: Removed - * test/MockDHTTaskFactory.h - * test/MockDownloadContext.h: Removed - * test/MockPieceStorage.h - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - * test/RequestGroupManTest.cc - * test/RequestGroupTest.cc - * test/SegmentManTest.cc - * test/ShareRatioSeedCriteriaTest.cc - * test/SingleFileDownloadContextTest.cc: Removed - * test/UtilTest.cc - * test/XmlRpcMethodTest.cc - -2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added experimental support of WEB-Seeding for multi-file torrent. - Due to fundamental changes in file handling in HTTP/FTP code, many - functions are not working: PeerStat, ServerHost, proxy..etc - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/CreateRequestCommand.cc - * src/CreateRequestCommand.h - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/DownloadContext.cc - * src/DownloadContext.h - * src/FileEntry.cc - * src/FileEntry.h - * src/FtpDownloadCommand.cc - * src/FtpDownloadCommand.h - * src/FtpFinishDownloadCommand.cc - * src/FtpFinishDownloadCommand.h - * src/FtpInitiateConnectionCommand.cc - * src/FtpInitiateConnectionCommand.h - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/FtpTunnelResponseCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpDownloadCommand.h - * src/HttpInitiateConnectionCommand.cc - * src/HttpInitiateConnectionCommand.h - * src/HttpProxyResponseCommand.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpRequestCommand.h - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - * src/HttpSkipResponseCommand.cc - * src/HttpSkipResponseCommand.h - * src/InitiateConnectionCommand.cc - * src/InitiateConnectionCommand.h - * src/InitiateConnectionCommandFactory.cc - * src/InitiateConnectionCommandFactory.h - * src/Makefile.am - * src/PieceStorage.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * src/SingleFileDownloadContext.h - * src/StreamFileAllocationEntry.cc - * src/TrackerWatcherCommand.cc - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * src/array_fun.h - * src/bitfield.h - * src/download_helper.cc - * test/DownloadContextTest.cc - * test/Makefile.am - * test/MockDownloadContext.h - -2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tellWaiting XML-RPC method. - * src/SingleFileDownloadContext.cc - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated CookieStorageTest - * test/CookieStorageTest.cc - -2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In TLSContext::addClientKeyFile() and addTrustedCACertFile(), - handle excepion inside these functions. - * src/LibgnutlsTLSContext.cc - * src/LibgnutlsTLSContext.h - * src/LibsslTLSContext.cc - * src/LibsslTLSContext.h - * src/MultiUrlRequestInfo.cc - -2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added comment - * src/RequestGroup.cc - -2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In CookieStorage::load() and saveNsFormat(), handle exception - inside the functions. When saving Cookies, first write temporary - file and after successful writes, then renames it to final - destination. - * src/CookieStorage.cc - * src/CookieStorage.h - * src/MultiUrlRequestInfo.cc - -2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - The default value of --dir option is the absolute path to the - current directory. If getcwd() is failed, then it is ".", which is - the same value with old implementation. This change is necessary - because after daemon() call, the current working directory is - changed to /. - * src/File.cc - * src/File.h - * src/OptionHandlerFactory.cc - * src/option_processing.cc - -2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call daemon() with arguments(0,0), which means daemon() changes - current working directory to / and redirects stdin, stdout and - stderr to /dev/null. - * src/option_processing.cc - -2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Small performance optimizations. - * src/RequestGroupMan.cc - -2009-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added _xmlRpc member variable to RequestGroupMan to reduce the - number of call Option::getAsBool(PREF_ENABLE_XML_RPC) - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - -2009-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call setStatus(STATUS_ONESHOT_REALTIME) from constructor. Call - setNoWiat(true) if newly created command calls - setStatus(STATUS_ONESHOT_REALTIME) from its constructor. - * src/HttpListenCommand.cc - * src/HttpServerBodyCommand.cc - * src/HttpServerCommand.cc - * src/HttpServerResponseCommand.cc - * src/InitiateConnectionCommand.cc - * src/RequestGroup.cc - * src/StreamFileAllocationEntry.cc - -2009-06-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed include vector - * src/BtRegistry.h - -2009-06-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten BtRegistry - * src/BtRegistry.cc - * src/BtRegistry.h - * src/BtSetup.cc - * src/ConsoleStatCalc.cc - * src/PeerInteractionCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * src/ReceiverMSEHandshakeCommand.cc - * src/RequestGroup.cc - * src/XmlRpcMethodImpl.cc - * test/BtRegistryTest.cc - -2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Used array_ptr for savedInfoHash, savedBitfield and pieceBitfield. - * src/DefaultBtProgressInfoFile.cc - -2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Throw an exception if position is less than 0. - * src/XmlRpcMethodImpl.cc - * test/XmlRpcMethodTest.cc - -2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use writeFilePath() in ConsoleStatCalc.cc - * src/ConsoleStatCalc.cc - -2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Receive the return value as const reference from - DownloadContext::getFileEntries(). - * src/DefaultPieceStorage.cc - * src/RequestGroupMan.cc - * src/XmlRpcMethodImpl.cc - -2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - DownloadContext now has _fileEntries so that - DownloadContext::getFileEntries() can returns its const reference. - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/DownloadContext.cc - * src/DownloadContext.h - * src/SingleFileDownloadContext.cc - * src/SingleFileDownloadContext.h - -2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved getFirstRequestedFileEntry(), countRequestedFileEntry() and - writeFilePath() function template from RequestGroupMan.cc to - FileEntry.h - * src/FileEntry.h - * src/RequestGroupMan.cc - -2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented 'position' parameter is starting from 0 in man page. - * doc/aria2c.1.txt - -2009-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc. - * src/MSEHandshake.cc - -2009-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed _acceptFeatures and its accessor functions from - RequestGroup since they are not used practically. - * src/HttpRequestCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - -2009-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed member _maxTries from RequestGroup class to avoid - duplicate option value. Those classes who refer this variable - should use option value of PREF_MAX_TRIES directly. - * src/AbstractCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/TrackerWatcherCommand.cc - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.4.1 - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warnings on netbsd - * src/DHTConnectionImpl.cc - * src/PeerListenCommand.cc - * src/PeerSessionResource.cc - * src/SegmentMan.cc - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian translation. Thanks to all translators. - * po/uk.po - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.4.1. - * configure.ac - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added unit tests for strjoin, strconcat and strappend. - * test/a2functionalTest.cc - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten strconcat and strappend using operator+ instead of - append(). - * src/a2functional.h - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Compile bencode.cc and BencodeTest.cc only if BitTorrent support - is enabled. - * src/Makefile.am - * test/Makefile.am - -2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added countSeeder() function which counts seeder in the given - iterator range. Use it in ConsoleStatCalc and XmlRpcMethodImpl. - * src/ConsoleStatCalc.cc - * src/Peer.h - * src/XmlRpcMethodImpl.cc - * test/PeerTest.cc - -2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented missing seeder in getPeers xml-rpc method. - Documented uploadLength and numSeeders. - * doc/aria2c.1.txt - -2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added uploadLength and numSeeders to the response of tellStatus - xml-rpc method. Assert that PeerStorage instance is not null - instead of checking if statement. It should be non-null in this - context. - * src/XmlRpcMethodImpl.cc - -2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use htmlEscape instead of xmlEscape. Removed static function xmlEscape. - * src/XmlRpcResponse.cc - -2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid intermediate object during string concatenation. - * src/HttpRequest.cc - -2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added strjoin function template. Use it in pathJoin() - * src/Util.h - * src/a2functional.h - -2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid intermediate object during string concatenation. Replaced - post-increment unary operator with pre-increment one in for loop. - * src/AdaptiveURISelector.cc - * src/AnnounceList.cc - * src/AuthConfig.h - * src/BtBitfieldMessage.cc - * src/BtExtendedMessage.cc - * src/BtHandshakeMessage.cc - * src/BtPieceMessage.cc - * src/BtPortMessage.cc - * src/Cookie.cc - * src/DHTAnnouncePeerMessage.cc - * src/DHTAutoSaveCommand.cc - * src/DHTGetPeersReplyMessage.cc - * src/DHTNode.cc - * src/DHTQueryMessage.cc - * src/DHTResponseMessage.cc - * src/DHTUnknownMessage.cc - * src/DefaultBtAnnounce.cc - * src/DefaultBtContext.cc - * src/DefaultBtInteractive.cc - * src/DefaultBtProgressInfoFile.cc - * src/DefaultPeerStorage.cc - * src/DownloadEngine.cc - * src/FeatureConfig.cc - * src/File.cc - * src/FtpConnection.cc - * src/FtpNegotiationCommand.cc - * src/HandshakeExtensionMessage.cc - * src/HttpConnection.cc - * src/HttpRequest.cc - * src/HttpResponseCommand.cc - * src/HttpServer.cc - * src/IndexBtMessage.cc - * src/Metalink2RequestGroup.cc - * src/OptionHandlerImpl.h - * src/PStringBuildVisitor.cc - * src/Peer.cc - * src/PeerListenCommand.cc - * src/Piece.cc - * src/RangeBtMessage.cc - * src/Request.cc - * src/Request.h - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/ServerStat.cc - * src/ServerStatMan.cc - * src/UTPexExtensionMessage.cc - * src/Util.cc - * src/a2functional.h - * src/download_helper.cc - * src/messageDigest.cc - -2009-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Unchoke a peer randomly at first and second choke round in seed - state. - * src/BtSeederStateChoke.cc - -2009-06-02 Ross Smith II <aria2spam at smithii dot com> - - Added (sock_t) to quiet compiler warnings in MinGW - * src/SocketCore.cc - * src/SocketCore.h - -2009-06-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing #ifdef ENABLE_ASYNC_DNS guard. - * src/EpollEventPoll.h - -2009-06-01 Ross Smith II <aria2spam at smithii dot com> - - Added fork() emulation using CreateProcess() in MinGW - * src/RequestGroupMan.cc - -2009-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.4.0 - -2009-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added utf8.torrent to EXTRA_DIST - * test/Makefile.am - -2009-05-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed docs of aria2.addMetalink xml-rpc method. - * doc/aria2c.1.txt - -2009-05-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Slovak translation. Updated Ukrainian and Brazilian - Portuguese translation. Thanks to all translators. - * po/sk.po - * po/uk.po - * po/pt_BR.po - * po/LINGUAS - -2009-05-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added test case for XmlRpcProcessor to fail to parse malformed - document. - * test/XmlRpcRequestProcessorTest.cc - -2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed *.gmo files in po because they are generated on 'make - dist' - * po/*.gmo - -2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented max-concurrent-downloads of changeGlobalOption method - in man page. - * doc/aria2c.1.txt - -2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added max-concurrent-downloads option to changeGlobalOption - xml-rpc method. Rewritten loop conditional in - RequestGroupMan::fillRequestGroupFromReserver(). - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethod.cc - * src/XmlRpcMethodImpl.cc - -2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented position parameter in man page. - * doc/aria2c.1.txt - -2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added 'position' parameter to addUri, addTorrent and addMetalink - xml-rpc method. - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethodImpl.cc - * test/XmlRpcMethodTest.cc - -2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed Peer.cc from compile source list when --disable-bittorrent - is specified. Added #ifdef ENABLE_BITTORRENT guard to methods that - takes Peer. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/Makefile.am - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - -2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Implemented getter methods in header files to give them more - chance of optimization. - Return const reference for SharadHandle if possible. - * src/AbstractAuthResolver.cc - * src/AbstractAuthResolver.h - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/AsyncNameResolver.cc - * src/AsyncNameResolver.h - * src/BNode.cc - * src/BNode.h - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/BtAbortOutstandingRequestEvent.h - * src/BtExtendedMessage.cc - * src/BtExtendedMessage.h - * src/BtSeederStateChoke.cc - * src/BtSeederStateChoke.h - * src/Cookie.cc - * src/Cookie.h - * src/DHTBucket.cc - * src/DHTBucket.h - * src/DHTConnectionImpl.cc - * src/DHTConnectionImpl.h - * src/DHTFindNodeReplyMessage.cc - * src/DHTFindNodeReplyMessage.h - * src/DHTGetPeersReplyMessage.cc - * src/DHTGetPeersReplyMessage.h - * src/DHTInteractionCommand.cc - * src/DHTMessage.cc - * src/DHTMessage.h - * src/DHTMessageDispatcherImpl.cc - * src/DHTMessageEntry.cc - * src/DHTMessageReceiver.cc - * src/DHTMessageReceiver.h - * src/DHTMessageTrackerEntry.cc - * src/DHTMessageTrackerEntry.h - * src/DHTPeerAnnounceEntry.cc - * src/DHTPeerAnnounceEntry.h - * src/DHTPeerLookupTask.cc - * src/DHTPeerLookupTask.h - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableDeserializer.h - * src/DefaultBtAnnounce.cc - * src/DefaultBtAnnounce.h - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - * src/DefaultBtRequestFactory.cc - * src/DefaultBtRequestFactory.h - * src/DiskAdaptor.cc - * src/DiskAdaptor.h - * src/DownloadContext.cc - * src/DownloadContext.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/EpollEventPoll.cc - * src/EpollEventPoll.h - * src/FtpConnection.cc - * src/FtpConnection.h - * src/HttpConnection.cc - * src/HttpConnection.h - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpResponse.cc - * src/HttpResponse.h - * src/LibsslTLSContext.cc - * src/LibsslTLSContext.h - * src/MSEHandshake.cc - * src/MSEHandshake.h - * src/MetalinkEntry.cc - * src/MetalinkEntry.h - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/NetrcAuthResolver.cc - * src/NetrcAuthResolver.h - * src/Peer.cc - * src/Peer.h - * src/PeerSessionResource.cc - * src/PeerSessionResource.h - * src/Piece.cc - * src/Piece.h - * src/PieceStatMan.cc - * src/PieceStatMan.h - * src/Request.cc - * src/Request.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/RequestSlot.cc - * src/RequestSlot.h - * src/SegmentMan.cc - * src/SegmentMan.h - * src/SelectEventPoll.cc - * src/SelectEventPoll.h - * src/ServerStat.cc - * src/ServerStat.h - * src/Signature.cc - * src/Signature.h - * src/URIResult.cc - * src/URIResult.h - * src/UTPexExtensionMessage.cc - * src/UTPexExtensionMessage.h - -2009-05-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without BitTorrent and Metalink support. - * src/XmlRpcMethod.cc - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten the help message for --allow-overwrite option. - * doc/aria2c.1.txt - * src/usage_text.h - -2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * doc/aria2c.1.txt - * src/usage_text.h - -2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated README for 1.4.0 release. Use new table syntax of - asciidoc. - * README - -2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --xml-rpc-max-request-size option in man page. - * doc/aria2c.1.txt - -2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved C_* constants from BtContext to DefaultBtContext. - * src/BtContext.cc: Removed. - * src/BtContext.h - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/Makefile.am - -2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use name.utf-8 and path.utf-8 key in higher priority than name and - path key respectively when persing .torrent file. - * src/BtContext.cc - * src/BtContext.h - * src/DefaultBtContext.cc - * test/DefaultBtContextTest.cc - * test/utf8.torrent - -2009-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --xml-rpc-max-request-size option to limit the size of - XML-RPC request. - -2009-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented XML-RPC API in man page. - * doc/aria2c.1.txt - -2009-05-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed g++-4.4 compiler warning: dereferencing type-punned pointer - will break strict-aliasing rules - * src/PeerConnection.cc - * test/DHTRoutingTableSerializerTest.cc - -2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed PKG_CONFIG variable in sqlite3.m4, which conflicts the - variable in pkg.m4. Use PKG_CHECK_MODULES instead of hand-crafted - scripts. Renamed SQLITE3_CPPFLAGS as SQLITE3_CFLAGS since - PKG_CHECK_MODULES macro uses latter name. - * m4/sqlite3.m4 - * src/Makefile.am - * test/Makefile.am - -2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * configure.ac - -2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Since upcoming libgnutls 2.8 doesn't have libgnutls-config, Check - presence of libgnutls using pkg-config first. If it fails, fall - back to old macro libgnutls.m4. - * configure.ac - -2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use s itself instead of !s.bad() - * src/CookieStorage.cc - -2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --on-download-* option and --save-cookies option in man - page. - * doc/aria2c.1.txt - -2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set possible values for --load-cookie option to "/path/to/file". - * src/OptionHandlerFactory.cc - -2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --save-cookies option. - * src/Cookie.cc - * src/Cookie.h - * src/CookieStorage.cc - * src/CookieStorage.h - * src/MultiUrlRequestInfo.cc - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/CookieStorageTest.cc - * test/CookieTest.cc - -2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed tellAll XML-RPC command because its reponse tends to be - big if stopped/waiting downloads pile up. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added the ability to execute command when download starts and - stops. You can also specify command for particular cases such as - complete/error download. Added --on-download-start, - --on-download-stop, --on-download-complete and --on-download-error - option. - * src/OptionHandlerFactory.cc - * src/RequestGroupMan.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed test error - * test/BencodeTest.cc - -2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added unit tests. - * test/XmlRpcMethodTest.cc - -2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made exception message more verbose. - * src/bencode.cc - -2009-05-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Abbreviated KiB/s to KiBs and its precision decreased to 1 to save - space in console readout. Also they are now shown in MiB/s if - speed > 1024KiB/s. - * src/ConsoleStatCalc.cc - -2009-05-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added SEED to console output, which represents the number of - seeders currently the client is connecting to. - * src/ConsoleStatCalc.cc - * src/ConsoleStatCalc.h - * src/DownloadEngine.cc - * src/NullStatCalc.h - * src/StatCalc.h - -2009-05-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added source filename(__FILE__) and line number(__LINE__) to - exception message. - * src/AbstractCommand.cc - * src/AbstractDiskWriter.cc - * src/AbstractProxyResponseCommand.cc - * src/BDE.h - * src/BtAllowedFastMessage.cc - * src/BtHandshakeMessageValidator.h - * src/BtHaveAllMessage.cc - * src/BtHaveNoneMessage.cc - * src/BtPieceMessage.cc - * src/BtRejectMessage.cc - * src/ChunkedDecoder.cc - * src/CookieStorage.cc - * src/DHTAnnouncePeerMessage.cc - * src/DHTEntryPointNameResolveCommand.cc - * src/DHTMessageFactoryImpl.cc - * src/DHTMessageTracker.cc - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * src/DHTSetup.cc - * src/DHTTokenTracker.cc - * src/DefaultBtAnnounce.cc - * src/DefaultBtContext.cc - * src/DefaultBtInteractive.cc - * src/DefaultBtMessageFactory.cc - * src/DefaultBtProgressInfoFile.cc - * src/DefaultExtensionMessageFactory.cc - * src/DlAbortEx.h - * src/DlRetryEx.h - * src/DownloadCommand.cc - * src/DownloadEngineFactory.cc - * src/DownloadFailureException.h - * src/Exception.cc - * src/Exception.h - * src/ExpatMetalinkProcessor.cc - * src/ExpatXmlRpcRequestProcessor.cc - * src/FallocFileAllocationIterator.cc - * src/FatalException.h - * src/FtpConnection.cc - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/GZipDecoder.cc - * src/HandshakeExtensionMessage.cc - * src/HttpConnection.cc - * src/HttpHeaderProcessor.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/HttpServer.cc - * src/HttpSkipResponseCommand.cc - * src/InitiateConnectionCommandFactory.cc - * src/IteratableChunkChecksumValidator.cc - * src/LibgcryptARC4Context.h - * src/LibgcryptARC4Decryptor.h - * src/LibgcryptARC4Encryptor.h - * src/LibgcryptDHKeyExchange.h - * src/LibgnutlsTLSContext.cc - * src/LibsslARC4Context.h - * src/LibsslARC4Decryptor.h - * src/LibsslARC4Encryptor.h - * src/LibsslDHKeyExchange.h - * src/LibsslTLSContext.cc - * src/MSEHandshake.cc - * src/MessageDigestHelper.cc - * src/MetalinkHelper.cc - * src/MultiDiskAdaptor.cc - * src/NameMatchOptionHandler.h - * src/NameResolver.cc - * src/Netrc.cc - * src/NsCookieParser.cc - * src/OptionHandlerException.cc - * src/OptionHandlerException.h - * src/OptionHandlerImpl.h - * src/OptionParser.cc - * src/ParameterizedStringParser.cc - * src/PeerAbstractCommand.cc - * src/PeerConnection.cc - * src/PeerMessageUtil.cc - * src/PeerReceiveHandshakeCommand.cc - * src/Platform.cc - * src/ReceiverMSEHandshakeCommand.cc - * src/RecoverableException.h - * src/RequestGroup.cc - * src/SimpleLogger.cc - * src/SocketCore.cc - * src/Sqlite3MozCookieParser.cc - * src/UTPexExtensionMessage.cc - * src/Util.cc - * src/XML2SAXMetalinkProcessor.cc - * src/Xml2XmlRpcRequestProcessor.cc - * src/XmlRpcMethodImpl.cc - * src/bencode.cc - * src/download_helper.cc - * src/messageDigest.h - * test/ExceptionTest.cc - * test/TestUtil.cc - -2009-05-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.4.0 - * configure.ac - -2009-05-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added 2files.metalink to EXTRA_DIST - * test/Makefile.am - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing 2files.metalink - * test/2files.metalink - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Show "[MEMORY]" prefix before filename in download summary if it - is downloaded into memory. - * src/DownloadResult.h - * src/RequestGroup.cc - * src/RequestGroupMan.cc - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined MSG_CANNOT_PARSE_XML_RPC_REQUEST - * src/ExpatXmlRpcRequestProcessor.cc - * src/Xml2XmlRpcRequestProcessor.cc - * src/message.h - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined const BDEs to avoid duplicate instantiation. - Defined MSG_GID_NOT_PROVIDED. - * src/XmlRpcMethodImpl.cc - * src/message.h - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/Xml2XmlRpcRequestProcessor.cc - * src/Xml2XmlRpcRequestProcessor.h - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined ENABLE_XML_RPC - * configure.ac - * configure - * config.h.in - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added ExpatXmlRpcRequestProcessor - * src/ExpatXmlRpcRequestProcessor.cc - * src/ExpatXmlRpcRequestProcessor.h - * src/Makefile.am - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tests for addTorrent and addMetalink command. - * test/TestUtil.cc - * test/TestUtil.h - * test/XmlRpcMethodTest.cc - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Corrected the description of --file-allocation option. - * doc/aria2c.1.txt - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tellAll command. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use gatherProgress() in TellActiveXmlRpcMethod::process(). - * src/XmlRpcMethodImpl.cc - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added changeGlobalOption command. Currently, - max-overall-download-limit and max-overall-upload-limit option are - available. - * src/RequestGroupMan.h - * src/XmlRpcMethod.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added changeOption command. Currently, max-download-limit, - max-upload-limit option are available in this command. - * src/RequestGroup.h - * src/XmlRpcMethod.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added purgeDownloadResult command. - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refactored. - * src/XmlRpcMethod.cc - -2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added XmlRpcResponse class. XmlRpcMethod::execute() now returns - XmlRpcResponse. - * src/HttpServerBodyCommand.cc - * src/Makefile.am - * src/XmlRpcMethod.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodImpl.cc - * src/XmlRpcResponse.cc - * src/XmlRpcResponse.h - * test/XmlRpcMethodTest.cc - -2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In XML-RPC option struct, header and index-out option can take - array as value. - * src/XmlRpcMethod.cc - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused option member from PeerConnection. - * src/InitiatorMSEHandshakeCommand.cc - * src/PeerConnection.cc - * src/PeerConnection.h - * src/PeerInteractionCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * src/ReceiverMSEHandshakeCommand.cc - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added "seeder" key to getPeers response. - * src/XmlRpcMethodImpl.cc - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added addMetalink XML-RPC command. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * src/download_helper.cc - * src/download_helper.h - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that POU peers are never choked in seeding. - * src/BtSeederStateChoke.cc - * src/BtSeederStateChoke.h - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added web-seeding URI handling in addTorrent command. - * src/XmlRpcMethodImpl.cc - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added "length" key to getFiles response. - * src/XmlRpcMethodImpl.cc - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved --no-netrc option from ftp option section to http/ftp option - section. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed garbage "\" character before ' - * doc/aria2c.1.txt - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed garbage "\" character before http. - * doc/aria2c.1.txt - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented additional options that can be specified in -i list. - Documented --enable-xml-rpc, --xml-rpc-listen-port, --xml-rpc-user - and --xml-rpc-passwd. Removed --enable-http-server and - --http-server-listen-port. - * doc/aria2c.1.txt - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added "downloadSpeed" and uploadSpeed" key in getPeers response. - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/PeerStorage.h - * src/XmlRpcMethodImpl.cc - * test/MockPeerStorage.h - -2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Put a call to Socket::isReadable() in try block. - * src/HttpServerBodyCommand.cc - * src/HttpServerCommand.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed segmentation fault error. SocketBuffer::sendResponse() may throw - exception , so it is now in try block. - * src/HttpServerResponseCommand.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added "amChoking" and "peerChoking" key in getPeers response. - * src/XmlRpcMethodImpl.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added test case for zero-length filter. - * test/BitfieldManTest.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - getFiles command now returns file data for finished/stopped - downloads. - * src/XmlRpcMethodImpl.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - DownloadResult now has the list of FileEntry. The download - summary displays the path of first selected file and the number of - remaining files for multi-file torrent. - * src/DownloadResult.h - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * test/RequestGroupTest.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed segmentation fault error when no file is selected in - multi-file torrent. - * src/BitfieldMan.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Escaped <,>,& character in XML-RPC response. - * src/XmlRpcMethod.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Throw DlAbortEx instead of FatalException during parsing options - because we don't want for aria2 to quit when bad option is passed - via XML-RPC. - * src/OptionHandlerException.cc - * src/OptionHandlerException.h - * src/OptionHandlerImpl.h - * src/OptionParser.cc - * src/OptionParser.h - * src/PStringSegment.cc - * src/ParameterizedStringParser.cc - * src/download_helper.cc - * test/ParameterizedStringParserTest.cc - -2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Selecting files are now done in - DefaultBtContext::setFileFileter(). - PieceStorage::setFileFilter(), DiskAdaptor::addDownloadEntry() - functions are removed because they are no longer used. Creating - filter in BitfieldMan is done in new funtion - PieceStorage::setupFileFilter() - * src/BtContext.cc - * src/BtContext.h - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/DiskAdaptor.cc - * src/DiskAdaptor.h - * src/PieceStorage.h - * src/RequestGroup.cc - * src/UnknownLengthPieceStorage.h - * src/XmlRpcMethodImpl.cc - * test/DefaultBtContextTest.cc - * test/MockBtContext.h - * test/MockPieceStorage.h - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error on Mac OS X - * src/HttpServer.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodImpl.cc - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use std::binary_search instead of std::find - * src/DefaultPieceStorage.cc - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unnecessary BDE() call; leave them to implicit conversion. - * src/XmlRpcMethodImpl.cc - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return connections and gid in string - * src/XmlRpcMethodImpl.cc - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed addURI as addUri - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed addTorrentFile as addTorrent - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - The information for files, URIs, peers are removed from the - reponse of TellaActive, TellStatus command because they tend to be - large. Instead they can be retrieved by the dedicated commands: - getFiles, getUris and getPeers respectively. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --max-overall-upload-limit and - --max-overall-download-limit option from listRequestOptions. - * src/download_helper.cc - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Log incoming host in HttpListenCommand. - * src/HttpListenCommand.cc - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added BASIC authentication for XML-RPC. Added --xml-rpc-user and - --xml-rpc-passwd option. - * src/HttpServer.cc - * src/HttpServer.h - * src/HttpServerCommand.cc - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that SocketCore::isReadable() prevents aria2 from - processing 0 length request. - * src/HttpServerBodyCommand.cc - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --enable-http-server and --http-server-listen-port - options. Added --enable-xml-rpc and --xml-rpc-listen-port - instead. The original feature for --enable-http-server that - reports download progress in HTML was officially removed. Persist - XML-RPC connection if client supports keep-alive. - * src/DownloadEngineFactory.cc - * src/HttpServerCommand.cc - * src/HttpServerResponseCommand.cc - * src/Makefile.am - * src/Makefile.in - * src/OptionHandlerFactory.cc - * src/RequestGroupMan.cc - * src/main.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added "uris" key to the response of tellStatus command. Added - "connections" key to the response of tellStatus and tellActive - command. - * src/XmlRpcMethodImpl.cc - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed TellActiveStatusXmlRpcMethod as TellActiveXmlRpcMethod. - Added TellStatusXmlRpcMethod. Remove command can now remove - waiting RequestGroup. - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Initialized _peerId - * src/Peer.cc - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Return fault structure for error. FailXmlRpcMethod is renamed as - NoSuchMethodXmlRpcMethod. pieceLength and numPieces are returned - in non-torrent download. Return single param value. - * src/XmlRpcMethod.cc - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * test/XmlRpcMethodTest.cc - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set DownloadResult::IN_PROGRESS for downloads removed by xml-rpc - command. - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/XmlRpcMethodImpl.cc - * test/RequestGroupTest.cc - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added more options that can be specified in -i list and xml-rpc - add* command. - * src/download_helper.h - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - The available options in -i list should be listed in - listRequestOptions(). - * src/download_helper.cc - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added infoHash, pieceLength, numPieces value for tellActiveStatus - command. - * src/XmlRpcMethodImpl.cc - -2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Now RequestGroup has its own copy of Option object. This will help - to give custom option for each RequestGroup. - addTorrentFile command now takes options. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/AbstractProxyRequestCommand.cc - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - * src/AdaptiveURISelector.cc - * src/BtCheckIntegrityEntry.cc - * src/BtDependency.cc - * src/BtDependency.h - * src/BtFileAllocationEntry.cc - * src/BtPostDownloadHandler.cc - * src/CheckIntegrityEntry.cc - * src/DownloadCommand.cc - * src/FtpDownloadCommand.cc - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/InitiateConnectionCommand.cc - * src/InitiateConnectionCommandFactory.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/InitiatorMSEHandshakeCommand.h - * src/Metalink2RequestGroup.cc - * src/Metalink2RequestGroup.h - * src/MetalinkPostDownloadHandler.cc - * src/MultiUrlRequestInfo.cc - * src/MultiUrlRequestInfo.h - * src/PeerAbstractCommand.cc - * src/PeerInteractionCommand.cc - * src/PeerInteractionCommand.h - * src/PeerReceiveHandshakeCommand.cc - * src/PeerReceiveHandshakeCommand.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/TrackerWatcherCommand.cc - * src/TrackerWatcherCommand.h - * src/XmlRpcMethod.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodImpl.cc - * src/download_helper.cc - * src/download_helper.h - * src/main.cc - * test/BtDependencyTest.cc - * test/BtPostDownloadHandlerTest.cc - * test/DefaultBtMessageDispatcherTest.cc - * test/DownloadHandlerFactoryTest.cc - * test/DownloadHelperTest.cc - * test/Metalink2RequestGroupTest.cc - * test/MetalinkPostDownloadHandlerTest.cc - * test/RequestGroupManTest.cc - * test/RequestGroupTest.cc - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tellActiveStatus xml-rpc command which reports download - status of active downloads. - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added addTorrentFile xml-rpc command which receives uploaded - torrent file and add download for it. - * src/RequestGroupMan.cc - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * src/download_helper.cc - * src/download_helper.h - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added remove xml-rpc command which removes specified download. - There is a known issue: the removed unfinished downloads are - reported ERR when aria2 exits. They should be reported as INPR. - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - If --enable-http-server is enabled, don't stop aria2 when all - download finished and don't quit when no files to download at - start up. - * src/RequestGroupMan.cc - * src/main.cc - * src/option_processing.cc - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing AM_CONDITIONAL - * configure.ac - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added xml-rpc functionality. Currently only addURI commad is - supported. To enable xml-rpc, run aria2 with - --enable-http-server. This option name is temporal and will be - changed. The feature that reports download progress in html format - is temporarily disabled. - * src/HttpServer.cc - * src/HttpServer.h - * src/HttpServerBodyCommand.cc - * src/HttpServerBodyCommand.h - * src/HttpServerCommand.cc - * src/HttpServerResponseCommand.cc - * src/Makefile.am - * src/OptionParser.cc - * src/OptionParser.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/XmlRpcMethod.cc - * src/XmlRpcMethod.h - * src/XmlRpcMethodFactory.cc - * src/XmlRpcMethodFactory.h - * src/XmlRpcMethodImpl.cc - * src/XmlRpcMethodImpl.h - * src/download_helper.cc - * src/download_helper.h - * test/Makefile.am - * test/XmlRpcMethodTest.cc - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added xml-rpc request parser. The supported value types are: - i4/int, string, double, struct, array, base64. Currently only - libxml2 version is provided. - * src/Xml2XmlRpcRequestProcessor.cc - * src/Xml2XmlRpcRequestProcessor.h - * src/XmlRpcElements.cc - * src/XmlRpcElements.h - * src/XmlRpcRequest.h - * src/XmlRpcRequestParserController.cc - * src/XmlRpcRequestParserController.h - * src/XmlRpcRequestParserState.h - * src/XmlRpcRequestParserStateImpl.cc - * src/XmlRpcRequestParserStateImpl.h - * src/XmlRpcRequestParserStateMachine.cc - * src/XmlRpcRequestParserStateMachine.h - * src/XmlRpcRequestProcessor.h - * test/XmlRpcRequestParserControllerTest.cc - * test/XmlRpcRequestProcessorTest.cc - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.3.3 - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error since r1202. - * src/ExpatMetalinkProcessor.cc - -2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian, Russian and Simplified Chinese - translations. Thanks to all translators. - * po/ru.po - * po/uk.po - * po/zh_CN.po - -2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Pass reference of Option object instead of pointer. - * src/download_helper.cc - * src/download_helper.h - * src/main.cc - * test/DownloadHelperTest.cc - -2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't retrieve PREF_MAX_DOWNLOAD_LIMIT and PREF_MAX_UPLOAD_LIMIT - from option directly. Instead, get them from RequestGroup. - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - * src/PeerReceiveHandshakeCommand.cc - * src/RequestGroup.h - -2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused uploadLimitCheck and uploadLimit from - PeerAbstractCommand. Removed unused maxDownloadLimit from - PeerInteractionCommand. - * src/PeerAbstractCommand.cc - * src/PeerAbstractCommand.h - * src/PeerInteractionCommand.cc - * src/PeerInteractionCommand.h - -2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed broken file renaming feature since r1202. - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/HttpResponseCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - -2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused debug log - * src/SocketCore.cc - -2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Generated configure and Makefile.in using autoconf 2.63 and - automake 1.10.2. Removed AC_GNU_SOURCE from configure.ac because - it is subset of AC_USE_SYSTEM_EXTENSIONS and we use latter. - * configure.ac - -2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved piece statistics stuff to new PieceStatMan class. - Refactored PieceSelector interface. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/LongestSequencePieceSelector.cc - * src/LongestSequencePieceSelector.h - * src/Makefile.am - * src/PieceSelector.h - * src/PieceStatMan.cc - * src/PieceStatMan.h - * src/RarestPieceSelector.cc - * src/RarestPieceSelector.h - * src/RequestGroup.cc - * test/DefaultPieceStorageTest.cc - * test/InOrderPieceSelector.h - * test/Makefile.am - * test/PieceStatManTest.cc - * test/RarestPieceSelectorTest.cc - -2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added static member _protocolFamily to SocketCore. By default, - SocketCore uses AF_UNSPEC for getaddrinfo hints to resolve - address. Sometime SocketCore::bind() and - SocketCore::establishConnection() use difference protocl family - and latter cannot connect to former. To avoid this situation, we - limit protocol family to AF_INET for unit tests. - * src/SocketCore.cc - * src/SocketCore.h - * test/AllTest.cc - -2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid std::bad_alloc for negative bencode string length. - * src/bencode.cc - -2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Supported segmented downloading with chunked transfer encoding and - content-length. - * src/DownloadCommand.cc - * src/HttpResponseCommand.cc - -2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.3.3 - * configure.ac - -2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Applied Pascal Bleser's patch: increases MAX_RECV_BUFFER for ftp - from 4096 to 65536 (for insanely large ftp login banners) - * src/FtpConnection.h - * test/FtpConnectionTest.cc - -2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In DefaultBtContext::getActualBasePath(), return first - FileEntry::getPath() for single file torrent. - * src/DefaultBtContext.cc - * test/DefaultBtContextTest.cc - -2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed directIOAllowed() from BinaryStream, DiskWriter, - DiskAdaptor. setDirectIOAllowed() was renamed as allowDirectIO(). - Removed _directIOAllowed member from DiskWriter. - * src/AbstractDiskWriter.cc - * src/AbstractDiskWriter.h - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/BinaryStream.h - * src/ByteArrayDiskWriter.h - * src/DefaultPieceStorage.cc - * src/DiskWriter.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - -2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Now the constructor of AbstractDiskWriter takes filename as an - argument and filename argument is removed from openFile(), - initAndOpenFile(), openExistingFile() interface. storeDir member - and its accessor functions are removed from DiskAdaptor because it - is not used anymore. size() member function of DefaultDiskWriter, - DirectDiskAdaptor and MultiDiskAdaptor now can be called without - opening file. - * src/AbstractDiskWriter.cc - * src/AbstractDiskWriter.h - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/ByteArrayDiskWriter.cc - * src/ByteArrayDiskWriter.h - * src/ByteArrayDiskWriterFactory.cc - * src/ByteArrayDiskWriterFactory.h - * src/DefaultDiskWriter.cc - * src/DefaultDiskWriter.h - * src/DefaultDiskWriterFactory.cc - * src/DefaultDiskWriterFactory.h - * src/DefaultPieceStorage.cc - * src/DirectDiskAdaptor.cc - * src/DirectDiskAdaptor.h - * src/DiskAdaptor.h - * src/DiskWriter.h - * src/DiskWriterFactory.h - * src/MessageDigestHelper.cc - * src/MultiDiskAdaptor.cc - * src/RequestGroup.cc - * src/UnknownLengthPieceStorage.cc - * src/Util.cc - * test/DefaultDiskWriterTest.cc - * test/DirectDiskAdaptorTest.cc - * test/FallocFileAllocationIteratorTest.cc - * test/MessageDigestHelperTest.cc - * test/MetalinkProcessorTest.cc - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - * test/SingleFileAllocationIteratorTest.cc - * test/UtilTest.cc - -2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that aria2 aborts when --select-file is used. This - bug was introduced in r1199. - * src/MultiDiskAdaptor.cc - -2009-05-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * test/MockPieceStorage.cc - -2009-05-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that read-only file with wrong file size will cause - error because it cannot be truncated to the correct size. Now if - file size is different than the expected one, re-open file in - writable mode. - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/BtCheckIntegrityEntry.cc - * src/DiskAdaptor.h - * src/MultiDiskAdaptor.h - * src/RequestGroup.cc - -2009-05-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that with --check-integrity option aria2 reports - downloaded file size is 0 even if some parts of file is correctly - downloaded. This bug is reproducible for the download that a file - includes last piece is missing. This bug doesn't reveal for - single-torrent with file allocation on. - * src/IteratableChecksumValidator.cc - * test/IteratableChecksumValidatorTest.cc - -2009-05-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid circular reference between RequestGroup and AdaptiveURISelector - * src/RequestGroupMan.cc - * src/AdaptiveURISelector.cc - * src/AdaptiveURISelector.h - -2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.3.2 - -2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated README - * README - -2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian translations. Thanks to Alexander10. - * po/uk.po - -2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - -2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed MetalinkProcessorFactory. Since we don't use both libxml2 - and expat simultaneously, MetalinkProcessor is now not base class - and it is directly implemented in XML2SAXMetalinkProcessor and - ExpatMetalinkProcessor. - * src/ExpatMetalinkProcessor.cc - * src/ExpatMetalinkProcessor.h - * src/Makefile.am - * src/MetalinkHelper.cc - * src/MetalinkProcessor.h - * src/MetalinkProcessorFactory.cc: Removed. - * src/MetalinkProcessorFactory.h: Removed - * src/XML2SAXMetalinkProcessor.cc - * src/XML2SAXMetalinkProcessor.h - * test/MetalinkProcessorTest.cc - -2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.3.2 - * configure.ac - -2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing file. - * test/Makefile.am - * test/url-list-singleFileEndsWithSlash.torrent - -2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Put BDE in aria2 namespace. BDE will also be used to store xml-rpc - request. - * src/AnnounceList.cc - * src/AnnounceList.h - * src/BDE.cc: Added - * src/BDE.h: Added - * src/DHTAbstractMessage.cc - * src/DHTAbstractMessage.h - * src/DHTAnnouncePeerMessage.cc - * src/DHTAnnouncePeerMessage.h - * src/DHTAnnouncePeerReplyMessage.cc - * src/DHTAnnouncePeerReplyMessage.h - * src/DHTFindNodeMessage.cc - * src/DHTFindNodeMessage.h - * src/DHTFindNodeReplyMessage.cc - * src/DHTFindNodeReplyMessage.h - * src/DHTGetPeersMessage.cc - * src/DHTGetPeersMessage.h - * src/DHTGetPeersReplyMessage.cc - * src/DHTGetPeersReplyMessage.h - * src/DHTMessageFactory.h - * src/DHTMessageFactoryImpl.cc - * src/DHTMessageFactoryImpl.h - * src/DHTMessageReceiver.cc - * src/DHTMessageTracker.cc - * src/DHTMessageTracker.h - * src/DHTPingMessage.cc - * src/DHTPingMessage.h - * src/DHTPingReplyMessage.cc - * src/DHTPingReplyMessage.h - * src/DHTQueryMessage.cc - * src/DHTQueryMessage.h - * src/DHTResponseMessage.cc - * src/DHTResponseMessage.h - * src/DefaultBtAnnounce.cc - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/HandshakeExtensionMessage.cc - * src/Makefile.am - * src/PeerListProcessor.h - * src/UTPexExtensionMessage.cc - * src/bencode.cc - * src/bencode.h - * test/AnnounceListTest.cc - * test/BDETest.cc: Added - * test/BencodeTest.cc - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTAnnouncePeerReplyMessageTest.cc - * test/DHTFindNodeMessageTest.cc - * test/DHTFindNodeReplyMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTMessageTrackerTest.cc - * test/DHTPingMessageTest.cc - * test/DHTPingReplyMessageTest.cc - * test/Makefile.am - * test/MockDHTMessageFactory.h - * test/PeerListProcessorTest.cc - -2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use url-list (web-seeding) only for single-file torrent. This is - basically the same behavior with Metalink file with torrent and - URIs. - * src/RequestGroup.cc - * src/DefaultBtContext.cc - * test/DefaultBtContextTest.cc - -2009-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten expr - * src/array_fun.h - * test/array_funTest.cc - -2009-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added forEachMemFunSH(). Use it in BitTorrent event dispatch. - * src/DefaultBtMessageDispatcher.cc - * src/a2algo.h - -2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed ExtendedMessagingAware. Instead of using inheritance, - added ExtensionMessageRegistry and it is passed to - DefaultExtensionMessageFactory. - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/DefaultExtensionMessageFactory.cc - * src/DefaultExtensionMessageFactory.h - * src/ExtendedMessagingAware.h: Removed. - * src/ExtensionMessageFactory.h - * src/ExtensionMessageRegistry.h: Added. - * src/Makefile.am - * src/PeerInteractionCommand.cc - * test/DefaultExtensionMessageFactoryTest.cc - -2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo in log messages - * src/MSEHandshake.cc - -2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - - Fixed the bug that prevents torrent download from finishing. The - bug doesn't reveal for all torrents. The torrents affected this - bug satisfies ((N+7)/8)%4 == 0 and N%32 != 0 where N is the number - of pieces. - * src/bitfield.h - * test/bitfieldTest.cc - -2009-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/PeerListProcessor.h - -2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed RequestGroupAware - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - * src/DHTGetPeersCommand.cc - * src/DHTGetPeersCommand.h - * src/InitiatorMSEHandshakeCommand.cc - * src/InitiatorMSEHandshakeCommand.h - * src/Makefile.am - * src/PeerInitiateConnectionCommand.cc - * src/PeerInitiateConnectionCommand.h - * src/PeerInteractionCommand.cc - * src/PeerInteractionCommand.h - * src/RealtimeCommand.cc - * src/RealtimeCommand.h - * src/RequestGroupAware.cc: Removed - * src/RequestGroupAware.h: Removed - * src/SeedCheckCommand.cc - * src/SeedCheckCommand.h - * src/SleepCommand.cc - * src/TrackerWatcherCommand.cc - * src/TrackerWatcherCommand.h - -2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten PeerListProcessor - * src/PeerListProcessor.h - * src/CompactPeerListProcessor.h: Removed - * src/CompactPeerListProcessor.cc: Removed - * src/DelegatingPeerListProcessor.cc: Removed. - * src/DefaultBtAnnounce.cc - * src/Makefile.am - * src/UTPexExtensionMessage.cc - * src/DefaultPeerListProcessor.h: Removed. - * src/DefaultPeerListProcessor.cc: Removed. - * src/DelegatingPeerListProcessor.h: Removed. - * test/Makefile.am - * test/PeerListProcessorTest.cc - * test/DefaultPeerListProcessorTest.cc: Removed. - -2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten RequestGroupMan::calculateStat() - * src/RequestGroupMan.cc - -2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unnecessary virtual destructor for Request class. - * src/Request.cc - * src/Request.h - -2009-04-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid dynamic_pointer_cast. - * src/DHTGetPeersCommand.cc - * src/DHTGetPeersCommand.h - -2009-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten event dispatch in BtMessage. Removed BtEventListener, - BtEvent. - * src/AbstractBtEventListener.h: Removed. - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/BtAbortOutstandingRequestEvent.h - * src/BtCancelSendingPieceEvent.h - * src/BtChokedEvent.h: Removed. - * src/BtChokingEvent.h - * src/BtEvent.h: Removed - * src/BtEventListener.h: Removed. - * src/BtMessage.h - * src/BtPieceMessage.cc - * src/BtPieceMessage.h - * src/BtRequestMessage.cc - * src/BtRequestMessage.h - * src/DefaultBtMessageDispatcher.cc - * src/Makefile.am - * src/a2functional.h - * test/BtPieceMessageTest.cc - * test/BtRequestMessageTest.cc - * test/DefaultBtMessageDispatcherTest.cc - * test/MockBtMessage.h - -2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/RequestGroupMan.cc - -2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/DownloadCommand.cc - -2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed segmentation fault when GZipDecoder::decode() returns 0 - byte. - * src/DownloadCommand.cc - * src/bitfield.h - * test/bitfieldTest.cc - - Fixed the bug that causes infinite loop if broken web server - returns chunked response without last "0" chunk-size marker and - closes connection. - * src/DownloadCommand.cc - - Instantiate properly configured HttpDownloadCommand for - non-resumable downlaods. - * src/HttpResponseCommand.cc - -2009-04-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten array operation functions. - * src/BitfieldMan.cc - * src/array_fun.h - * test/array_funTest.cc - -2009-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused variable 'query' - * src/Request.cc - -2009-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set conditional HAVE_GETADDRINFO true for mingw32. It was - accidentally set to false in r1162. - * configure.ac - -2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Code cleanup - * src/BNode.cc - -2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Increase prefixLength for the bucket which doesn't own local node - ID when splitting bucket. - * src/DHTBucket.cc - * test/DHTBucketTest.cc - -2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.3.1 - -2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.3.1 - * configure.ac - -2009-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused variable checkPoint. Also removed include directive - for TimeA2.h. - * src/SeedCheckCommand.h - -2009-04-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that upload limit exceeds the value specified in - --seed-ratio option depending on the timing of the execution of - SeedCheckCommand. - * src/SeedCheckCommand.cc - -2009-04-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that removed peer's session upload/download length - are counted twice in _cachedTransferStat before it is - re-calculated. This affected the calculation of shara ratio, - resulting aria2 wrongly determines that specified share ratio is - reached. Also fixed the typo in calculateStatFor function name. - * src/BtSetup.cc - * src/DefaultPeerStorage.cc - * src/ShareRatioSeedCriteria.h - * test/ShareRatioSeedCriteriaTest.cc - -2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.3.0 - -2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian, Japanese, Spanish, Ukrainian and Norwegian - Nynorsk translations. Thanks to all translators. - * po/es.po - * po/ja.po - * po/nn.po - * po/ru.po - * po/uk.po - -2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten isInRange() - * src/DHTBucket.cc - * test/DHTBucketTest.cc - -2009-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo - * doc/aria2c.1.txt - -2009-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed AC_FUNC_MALLOC and AC_FUNC_REALLOC because 0-byte - malloc/realloc is not used. - * src/configure.ac - -2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - BitfieldMan::getMissingIndexes family functions now takes unsigned - char* bitfield instead of stl container for efficiency. - PieceSelector::select now takes this - bitfield. RarestPieceSelector::select now also performs - efficiently for this change. bitfield namespace is introduced and - it has several helper functions to handle basic bitfield - operations such as test, count set bits, etc. - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/DefaultBtRequestFactory.cc - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/LongestSequencePieceSelector.cc - * src/LongestSequencePieceSelector.h - * src/Makefile.am - * src/Piece.cc - * src/Piece.h - * src/PieceSelector.h - * src/RarestPieceSelector.cc - * src/RarestPieceSelector.h - * src/Util.cc - * src/Util.h - * src/bitfield.h - * test/BitfieldManTest.cc - * test/LongestSequencePieceSelectorTest.cc - * test/Makefile.am - * test/RarestPieceSelectorTest.cc - * test/UtilTest.cc - * test/bitfieldTest.cc - -2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made accepted socket non-block. - * src/FtpNegotiationCommand.cc - * src/HttpListenCommand.cc - -2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Guarded #ifdef HAVE_POSIX_FALLOCATE - * src/AbstractSingleDiskAdaptor.cc - * src/DefaultPieceStorage.cc - * src/DiskAdaptor.h - * src/DiskAdaptor.h - * src/MultiFileAllocationIterator.cc - -2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Run - DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing() - in every 1 sec. The timeout of RequestSlot is 60s by default and - it doesn't need to be called every time when - DefaultBtInteractive::doInteractionProcessing() is called. - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - -2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented 'falloc' in man page. - * doc/aria2c.1.txt - -2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/usage_text.h - -2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added 'falloc' parameter for --file-allocation option. 'falloc' - allocation mode uses posix_fallocate() system call to allocate - file on disk. If you are using newer file systems such as ext4 - (with extents support), btrfs or xfs, 'falloc' is your best - choice. It allocates large(few GiB) files almost instantly. Don't - use 'falloc' with legacy file systems such as ext3 because it - takes almost same time as 'prealloc' and it blocks aria2 entirely - until allocation finishes. 'falloc' may not be available if your - system doesn't have posix_fallocate() system call. - * configure.ac - * src/AbstractDiskWriter.cc - * src/AbstractDiskWriter.h - * src/AbstractSingleDiskAdaptor.cc - * src/BinaryStream.h - * src/BtCheckIntegrityEntry.cc - * src/ByteArrayDiskWriter.h - * src/CheckIntegrityEntry.cc - * src/CheckIntegrityEntry.h - * src/DefaultPieceStorage.cc - * src/DiskAdaptor.cc - * src/DiskAdaptor.h - * src/DiskWriter.h - * src/FallocFileAllocationIterator.cc - * src/FallocFileAllocationIterator.h - * src/FileAllocationEntry.cc - * src/FileAllocationEntry.h - * src/Makefile.am - * src/MultiFileAllocationIterator.cc - * src/MultiFileAllocationIterator.h - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/StreamCheckIntegrityEntry.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/FallocFileAllocationIteratorTest.cc - * test/Makefile.am - -2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed duplicate enableDirectIO() call. - * src/MultiFileAllocationIterator.cc - -2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced std::vector<SharedHandle<PieceStats> _sortedPieceStats - with std::vector<size_t> _sortedPieceStatIndexes to reduce the - cost of std::rotate(). - * src/RarestPieceSelector.cc - * src/RarestPieceSelector.h - * test/RarestPieceSelectorTest.cc - -2009-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated usage doc for --bt-tracker-interval option. - * src/usage_text.h - * doc/aria2c.1.txt - -2009-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-tracker-interval option in man page. - * doc/aria2c.1.txt - -2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added an option to specify the interval between tracker requests. - If non-zero value is specified, aria2 uses it and ignores the - interval value in the response of tracker. If zero is specified, - aria2 determines the inteval value based on the tarcker response - and download progress. - * src/DefaultBtAnnounce.cc - * src/DefaultBtAnnounce.h - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added operator+=, operator-=, operator- - * src/TransferStat.cc - * src/TransferStat.h - -2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refactored RarestPieceSelector to reduce CPU load, especially for - addPieceStats. - * src/RarestPieceSelector.cc - * src/RarestPieceSelector.h - -2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refactored getMissingIndexRandomly, getFirstMissingIndex, - getAllMissingBlockIndexes to reduce a call to - array_function_base::operator[]. - * src/BitfieldMan.cc - -2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Cached TransferStat/download speed to avoid to sum them up in each - call. - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/SegmentMan.cc - * src/SegmentMan.h - -2009-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Typedefed cuid_t as int32_t in Command.h - * src/CUIDCounter.h - * src/Command.cc - * src/Command.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/PeerStat.h - * src/SegmentMan.cc - * src/SegmentMan.h - -2009-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reduced the number of calls to PeerStorage::calculateStat() and - SegmentMan::calculateDownloadSpeed() to lower CPU usage on higher - transfer rate. - * src/DefaultBtInteractive.cc - * src/DefaultBtMessageDispatcher.cc - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/PeerStorage.h - * src/SegmentMan.cc - * src/SegmentMan.h - * test/MockPeerStorage.h - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Prepended _dir+"/" after joining path elements in torrent file. - * src/DefaultBtContext.cc - * test/DefaultBtContextTest.cc - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing IndexBtMessageValidator.h - * src/Makefile.am - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Indonesian, Russian, Italian, Ukrainian and Simplified - Chinese translations. Thank you for contributing our project. - * po/id.po - * po/it.po - * po/ru.po - * po/uk.po - * po/zh_CN.po - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated README - * README - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.3.0 - * configure.ac - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/DefaultBtContext.h - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Slice/joinPath for name of single torrent. - * src/DefaultBtContext.cc - * test/DefaultBtContextTest.cc - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page: Documented --dry-run and --index-out - options. Changed the default value of --uri-selector and - --http-auth-challenge options. Removed --direct-file-mapping - option. Added example for --index-out - * doc/aria2c.1.txt - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated TEXT_DRY_RUN - * src/usage_text.h - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed the default value of --uri-selector option from 'inorder' - to 'feedback' - * src/OptionHandlerFactory.cc - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Included current URI in exception message. - * src/AbstractCommand.cc - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed ServerStatURISelector as FeedbackURISelector. - * src/FeedbackURISelector.cc - * src/FeedbackURISelector.h - * src/Makefile.am - * src/RequestGroupMan.cc - * src/ServerStatURISelector.cc - * src/ServerStatURISelector.h - * test/FeedbackURISelectorTest.cc - * test/Makefile.am - * test/ServerStatURISelectorTest.cc - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that AdaptiveURISelector doesn't select any URI when - all URIs are tested and their timeout is not reached. - * src/AdaptiveURISelector.cc - * src/AdaptiveURISelector.h - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed the default value of --http-auth-challenge option to false. - * src/OptionHandlerFactory.cc - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reuse URIs when all unused URIs run out. - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/prefs.cc - * src/prefs.h - -2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Refactored BtMessage subclasses. BtCancelMessage, BtRequestMessage - and BtRejectMessage are derived from RangeBtMessage class. - BtAllowedFastMessage, BtHaveMessage and BtSuggestPieceMessage are - derived from IndexBtMessage class. BtChokeMessage, - BtHaveAllMessage, BtHaveNoneMessage, BtInterestedMessage, - BtNotInterestedMessage and BtUnchokeMessage are derived from - ZeroBtMessage class. - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/BtAllowedFastMessage.cc - * src/BtAllowedFastMessage.h - * src/BtAllowedFastMessageValidator.h: Removed - * src/BtBitfieldMessage.cc - * src/BtBitfieldMessage.h - * src/BtCancelMessage.cc - * src/BtCancelMessage.h - * src/BtCancelMessageValidator.h: Removed - * src/BtChokeMessage.cc - * src/BtChokeMessage.h - * src/BtExtendedMessage.cc - * src/BtExtendedMessage.h - * src/BtHandshakeMessage.cc - * src/BtHandshakeMessage.h - * src/BtHaveAllMessage.cc - * src/BtHaveAllMessage.h - * src/BtHaveMessage.cc - * src/BtHaveMessage.h - * src/BtHaveMessageValidator.h: Removed - * src/BtHaveNoneMessage.cc - * src/BtHaveNoneMessage.h - * src/BtInterestedMessage.cc - * src/BtInterestedMessage.h - * src/BtKeepAliveMessage.cc - * src/BtKeepAliveMessage.h - * src/BtNotInterestedMessage.cc - * src/BtNotInterestedMessage.h - * src/BtPieceMessage.cc - * src/BtPieceMessage.h - * src/BtPortMessage.cc - * src/BtPortMessage.h - * src/BtRejectMessage.cc - * src/BtRejectMessage.h - * src/BtRejectMessageValidator.h: Removed - * src/BtRequestMessage.cc - * src/BtRequestMessage.h - * src/BtRequestMessageValidator.h: Removed - * src/BtSuggestPieceMessage.cc - * src/BtSuggestPieceMessage.h - * src/BtSuggestPieceMessageValidator.h: Removed - * src/BtUnchokeMessage.cc - * src/BtUnchokeMessage.h - * src/DefaultBtMessageFactory.cc - * src/IndexBtMessage.cc - * src/IndexBtMessage.h - * src/IndexBtMessageValidator.h - * src/Makefile.am - * src/PeerMessageUtil.cc - * src/PeerMessageUtil.h - * src/RangeBtMessage.cc - * src/RangeBtMessage.h - * src/RangeBtMessageValidator.h - * src/SimpleBtMessage.cc - * src/SimpleBtMessage.h - * src/ZeroBtMessage.cc - * src/ZeroBtMessage.h - * test/BtRequestMessageTest.cc - -2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reverted usage_text.h to r1093 to avoid to lose translated - messages. - * src/usage_text.h - -2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - BtMessage now holds _id attribute. MESSAGE_LENGTH that is - declared as non-const previously is now const and defined in class - definition. - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/BtAllowedFastMessage.cc - * src/BtAllowedFastMessage.h - * src/BtBitfieldMessage.h - * src/BtCancelMessage.cc - * src/BtCancelMessage.h - * src/BtChokeMessage.cc - * src/BtChokeMessage.h - * src/BtExtendedMessage.cc - * src/BtExtendedMessage.h - * src/BtHandshakeMessage.cc - * src/BtHandshakeMessage.h - * src/BtHaveAllMessage.cc - * src/BtHaveAllMessage.h - * src/BtHaveMessage.cc - * src/BtHaveMessage.h - * src/BtHaveNoneMessage.cc - * src/BtHaveNoneMessage.h - * src/BtInterestedMessage.cc - * src/BtInterestedMessage.h - * src/BtKeepAliveMessage.cc - * src/BtKeepAliveMessage.h - * src/BtMessage.h - * src/BtNotInterestedMessage.cc - * src/BtNotInterestedMessage.h - * src/BtPieceMessage.h - * src/BtPortMessage.cc - * src/BtPortMessage.h - * src/BtRejectMessage.cc - * src/BtRejectMessage.h - * src/BtRequestMessage.cc - * src/BtRequestMessage.h - * src/BtSuggestPieceMessage.cc - * src/BtSuggestPieceMessage.h - * src/BtUnchokeMessage.cc - * src/BtUnchokeMessage.h - * src/SimpleBtMessage.cc - * src/SimpleBtMessage.h - * test/MockBtMessage.h - -2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use FileEntry::exists() - * src/MultiDiskAdaptor.cc - -2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added exists() - * src/FileEntry.cc - * src/FileEntry.h - -2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing prefix dir. - * src/download_helper.cc - -2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed --direct-file-mapping option and CopyDiskAdaptor. - * src/CopyDiskAdaptor.cc: Removed - * src/CopyDiskAdaptor.h: Removed - * src/DefaultPieceStorage.cc - * src/Makefile.am - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/CopyDiskAdaptorTest.cc: Removed - * test/Makefile.am - -2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten isSameFileBeingDownloaded() - * src/RequestGroupMan.cc - -2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed getName() from DownloadContext. getName() is declared in - BtContext. - * src/BtContext.h - * src/DownloadContext.h - * src/SingleFileDownloadContext.cc - * src/SingleFileDownloadContext.h - - Removed getFilePath() from DiskAdaptor. getFilePath() is declared - in AbstractSingleDiskAdaptor. - * src/AbstractSingleDiskAdaptor.h - * src/DiskAdaptor.h - * src/MultiDiskAdaptor.h - * src/RequestGroup.cc - - Removed setTopDir() and getTopDir() and getTopDirPath() from - MultiDiskAdaptor. - * src/DefaultPieceStorage.cc - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * test/MultiDiskAdaptorTest.cc - -2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - FileEntry::getPath() contains store(top level) directory to - simplify path handling operation. In the previous implementation, - store directory is concatenated to FileEntry::getPath() in - DownloadContext. - * src/BtDependency.cc - * src/BtPostDownloadHandler.cc - * src/CopyDiskAdaptor.cc - * src/DefaultBtContext.cc - * src/DirectDiskAdaptor.cc - * src/FileEntry.cc - * src/FileEntry.h - * src/FtpNegotiationCommand.cc - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/Metalink2RequestGroup.cc - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/MultiFileAllocationIterator.cc - * src/RequestGroup.cc - * src/SingleFileDownloadContext.cc - * src/SingleFileDownloadContext.h - * src/download_helper.cc - * test/BtDependencyTest.cc - * test/CopyDiskAdaptorTest.cc - * test/DefaultBtContextTest.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/DirectDiskAdaptorTest.cc - * test/DownloadHelperTest.cc - * test/FileEntryTest.cc - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - * test/RequestGroupTest.cc - * test/SingleFileDownloadContextTest.cc - -2009-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning - * src/download_helper.cc - -2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Throw exception if same infohash torrent is now downloading. - * src/RequestGroup.cc - -2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --dry-run option. In this mode, aria2 just checks whether - the remote file is available and doesn't download data. This - option has effect on HTTP/FTP downloads and BitTorrent downloads - are canceled in this mode. - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler waring - * test/UriListParserTest.cc - -2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Parse options in -i list using OptionParser. - * src/UriListParser.cc - * src/UriListParser.h - -2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't reset URI in retry to avoid additional round trips because - of redirects. - * src/AbstractCommand.cc - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - -2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Declared hide() in OptionHandler. - * src/NameMatchOptionHandler.h - * src/OptionHandler.h - * src/OptionHandlerImpl.h - -2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc - * src/Peer.h - -2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added log message in setStatusInternal() - * src/ServerStat.cc - -2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call ServerStat::setError() in AbstractCommand::onAbort() to - effectively exclude failed server. - * src/AbstractCommand.cc - -2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --index-out option to specify each file path for torrent. - Here index shown in --show-files option is used to specify which - file path should be altered. For example, to change the file path - with index=2, use --index-out=2=aria2.tar.bz2. You can use this - option multiple times: --index-out=1=aria2.tar.bz2 - --index-out=2=aria2-opt.tar.bz2. The short hand form -O is also - available. This option can be specified in -i list. - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/MultiFileAllocationIterator.cc - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/Util.cc - * src/Util.h - * src/download_helper.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DefaultBtContextTest.cc - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - * test/UtilTest.cc - -2009-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use Util::pathJoin() - * src/MetalinkParserController.cc - * test/test.xml - -2009-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use Util::pathJoin() - * src/DefaultBtContext.cc - -2009-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Util::pathJoin() - * src/Util.h - * test/UtilTest.cc - -2009-03-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Applied basename function to remove directory element in - content-disposition value. - Return empty string if content-disposition value is ".." or ".". - * src/Util.cc - * test/UtilTest.cc - -2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --max-overall-download-limit in man page. - Updated --max-overall-upload-limit, --max-download-limit option's doc. - * doc/aria2c.1.txt - -2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --max-overall-download-limit option. Now --max-upload-limit - option is not ignored when --max-overall-upload-limit option has - non-zero value. aria2 checks download(upload) speed in the order: - first checks overall speed limit and if it is not exceeded, then - checks speed limit per download. Thus you can specify both - value. For example, set --max-overall-download-limit=1M and - --max-download-limit=500K to prevent from one download from eating - all overall speed limit. - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/OptionHandlerFactory.cc - * src/PeerInteractionCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DefaultBtMessageDispatcherTest.cc - -2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented select-file option in Input File section. - Documented --http-auth-challenge option. - * doc/aria2c.1.txt - -2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Now select-file can be specified in the uri list(-i list). - * src/BtContext.cc - * src/BtContext.h - * src/RequestGroup.cc - * src/Sequence.h - * src/download_helper.cc - -2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made the upper value of --max-concurrent-downloads options unlimited. - * src/OptionHandlerFactory.cc - -2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that disk writer is not created even if it shares - same piece with the preceding file if the length of previous file - is 0. - * src/MultiDiskAdaptor.cc - * test/MultiDiskAdaptorTest.cc - -2009-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - In BitTorrent, Open files in read-only mode for hash check. After - that, re-open file in read/write mode only when the download is - not finished. - * src/AbstractDiskWriter.cc - * src/AbstractDiskWriter.h - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/BtCheckIntegrityEntry.cc - * src/DiskAdaptor.h - * src/DiskWriter.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/RequestGroup.cc - -2009-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --http-auth-challenge option. If it is set to true(by - default), aria2 sends HTTP authorization header only when it is - requested by the server. If false is set, then authorization - header is always sent to the server. This is useful for servers - that don't respond 401 code when authentication is required. - There is an exception: if username and password are embedded in - URI, authorization header is always sent to the server regardless - of this option. - * src/AuthConfigFactory.cc - * src/HttpSkipResponseCommand.cc - * src/OptionHandlerFactory.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/AuthConfigFactoryTest.cc - * test/HttpRequestTest.cc - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.2.0 - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Spanish, Ukrainian, Russian and Japanese translations. - Thanks to all translators. - * po/es.po - * po/ja.po - * po/ru.po - * po/uk.po - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Call deleteSocketForReadCheck() before socket is closed. - * src/HttpListenCommand.cc - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined virtual destructor for BObject. - * src/bencode.h - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten BDE to make it efficient. - * src/bencode.cc - * src/bencode.h - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed function throw list. - * src/bencode.cc - * src/bencode.h - * test/BencodeTest.cc - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enclosed all URLs in double quotes in command-line examples. - * doc/aria2c.1.txt - -2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated reference/see also section. - * README - * doc/aria2c.1.txt - -2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Reorganized man page based on man man-pages. - * doc/aria2c.1.txt - -2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed SERVER PERFORMANCE PROFILE and Configuration file section - because same documents are available in man page. Added - References section. - * README - -2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented sc_avg_speed, mc_avg_speed and counter in SERVER - PERFORMANCE PROFILE section. - * doc/aria2c.1.txt - -2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten the section for configuration file. - * README - * doc/aria2c.1.txt - -2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the segmentation fault during execution of choking algorithm - in leecher state because of broken compare operator - implementation. - * src/BtLeecherStateChoke.cc - * src/BtLeecherStateChoke.h - -2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Open file in binary mode. - * src/CookieStorage.cc - * src/DHTSetup.cc - * src/DHTUtil.cc - * src/Netrc.cc - * src/NsCookieParser.cc - * src/ProtocolDetector.cc - * src/RequestGroupMan.cc - * src/Signature.cc - * src/bencode.cc - * src/download_helper.cc - * src/option_processing.cc - * test/CookieParserTest.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/FileTest.cc - * test/GZipDecoderTest.cc - * test/RequestGroupManTest.cc - * test/SignatureTest.cc - * test/SingleFileAllocationIteratorTest.cc - * test/UriListParserTest.cc - -2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed operator[] because it is ambiguous with built-in [] - operator. - * src/array_fun.h - -2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error - * src/OptionParser.cc - -2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing call to arrayWrapperConst - * test/array_funTest.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use array_wrapper instead of array_ptr. - * src/DHTRoutingTableDeserializer.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed template<typename S> array_ptr(const array_ptr<S>& s) - * src/array_fun.h - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added array_wrapper template. - * src/array_fun.h - * test/array_funTest.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use operator T* of array_ptr. - * src/OptionParser.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use localhost instead of 127.0.0.1 - * test/FtpConnectionTest.cc - * test/MSEHandshakeTest.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added operator T* - * src/array_fun.h - * test/array_funTest.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use dynamically allocated char array to detect memory access - violation. - * src/DHTRoutingTableDeserializer.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Set struct sockaddr_in.sin_len if HAVE_SOCKADDR_IN_SIN_LEN is - defined. - * src/PeerMessageUtil.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed HAVE_SOCKADDR_SIN_LEN as HAVE_SOCKADDR_IN_SIN_LEN - * configure.ac - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added a check to see struct sockaddr_in has sin_len member. - * configure.ac - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed buffer overrun. - * src/DHTRoutingTableDeserializer.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added LL for long long int constant. - * test/FtpConnectionTest.cc - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Casted to unsigned int to suppress compiler warning on netbsd. - * src/BtRuntime.h - -2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Assign the value of tv.tv_sec to time_t timesec instead of giving - tv.tv_sec to localtime_r directly because tv.tv_sec may not be of - type time_t. - * src/SimpleLogger.cc - -2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added test for FtpConnection::receiveSizeResponse(). - * test/FtpConnectionTest.cc - -2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fix epoll error on the old kernel 2.6.8 or ealier. - * src/EpollEventPoll.cc - -2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use Util::parseLLInt instead of sscanf for portability. The - conversion "%Lu" fails in Mac OSX which requires "%llu" instead. - * src/FtpConnection.cc - -2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that adding 0 length filter to BitfieldMan filters 1 - block. It should not filter anything. - * src/BitfieldMan.cc - * src/ConsoleStatCalc.cc - * test/BitfieldManTest.cc - -2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that the boolean options that don't take arguments - don't work. - * src/OptionHandlerImpl.h - -2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed broken selected file BitTorrent download. - * src/MultiDiskAdaptor.cc - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - -2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed #define guard for EpollEventPoll - * src/EpollEventPoll.h - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Wait 2 seconds. 1 second is sometimes not enough. - * test/TimeSeedCriteriaTest.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use localhost instead of 127.0.0.1. - * test/DHTConnectionImplTest.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Suppressed compiler warning. - * src/AdaptiveURISelector.cc - * src/DefaultPieceStorage.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined virtual destructor. - * src/MetalinkParserState.h - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Give NULL for second argument of getaddrinfo instead of "0". - * src/NameResolver.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't use Time::parse(buf, "%Y%m%d%H%M%S") because Mac OS X and - included strptime doesn't parse data for this format. - * src/FtpConnection.cc - * test/FtpConnectionTest.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed tests giving -1 for unsigned argument. - * test/SingleFileDownloadContextTest.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't use sha256 in tests because it might not be supported by the - SSL library. - * test/MetalinkProcessorTest.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed tests giving -1 for unsigned argument. - * test/AlphaNumberDecoratorTest - * test/BitfieldManTest.cc - * test/DefaultBtContextTest.cc - -2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without libcares when epoll is available. - * src/EpollEventPoll.cc - -2009-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Included fstream instead of iostream. - * test/SignatureTest.cc - -2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed #include <algorithm> - * test/RequestGroupTest.cc - -2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten AdaptiveURISelector::mayRetryWithIncreasedTimeout() - using RequestGroup::extractURIResult(). - * src/AdaptiveURISelector.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * test/RequestGroupTest.cc - -2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tests for array_ptr. - * test/array_funTest.cc - -2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't send ip parameter to a tracker if ip parameter is empty - string. - * src/DefaultBtAnnounce.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Adjusted line feed. - * src/version_usage.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print tags, possible values when OptionHandlerException is caught. - * src/option_processing.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed the message for FatalException. - * src/OptionParser.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --bt-external-ip option in man page. Updated man pages - for --proxy-method option. - * doc/aria2c.1.txt - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use GET method for FTP via HTTP proxy. - * src/FtpInitiateConnectionCommand.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed the default value of --proxy-method option from 'tunnel' - to 'get'. Use 'tunnel' for HTTPS regardless of --proxy-method - option. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/FtpInitiateConnectionCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpInitiateConnectionCommand.h - * src/OptionHandlerFactory.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Initialized _logger - * src/SelectEventPoll.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Defined a copy constructor for the same type. - * src/SharedHandle.h - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added OptionParser::parseArg() which internally uses getopt_long - to parse command-line options. All command-line options are now - configured by OptionHandler. No manual editing of struct option* - is required any more. - * src/NameMatchOptionHandler.h - * src/OptionHandler.h - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/OptionParser.cc - * src/OptionParser.h - * src/array_fun.h - * src/main.cc - * src/option_processing.cc - * test/OptionHandlerTest.cc - * test/OptionParserTest.cc - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed configure error with --disable-epoll - * configure.ac - -2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error when HAVE_EPOLL is not defined. - Fixed linker error on bigendian systems. - * src/SocketCore.cc - * src/SocketCore.h - * test/DefaultBtProgressInfoFileTest.cc - -2009-02-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-external-ip option. You can specify the external IP - address to report to a BitTorrent tracker. Although this function - is named 'external', it can accept any kind of IP addresses. - * src/DefaultBtAnnounce.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DefaultBtAnnounceTest.cc - -2009-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Extracted the algorithm to find the longest incremental sequence - as max_sequence template. - * src/LongestSequencePieceSelector.cc - * src/a2algo.h - * test/Makefile.am - * test/a2algoTest.cc - -2009-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed TEXT_HTTP_SERVER_LISTEN_PORT from translation texts. - * src/usage_text.h - -2009-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc for --uri-selector, --http-server-listen-port and - --enable-http-server option. Documented --event-poll option. - * doc/aria2c.1.txt - -2009-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated doc for --enable-http-server. - * src/usage_text.h - -2009-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented --http-server-listen-port and --enable-http-server in - man page. - * doc/aria2c.1.txt - -2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Spanish, Indonesian, Russian, Ukrainian and Italian - translations. Thanks to all translators. - * po/es.po - * po/id.po - * po/it.po - * po/ru.po - * po/uk.po - -2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.2.0 - * configure.ac - -2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - BtContext::getAnnounceTiers() now returns const reference. - * src/BtContext.h - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * test/MockBtContext.h - -2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Change the number of retries for tracker request based on the - number of available tracker in a torrent file. - * src/TrackerWatcherCommand.cc - -2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added _maxTries property to RequestGroup and assign the option - value of PREF_MAX_TRIES to it. AbstractCommand now looks up - RequestGroup::getMaxTries() instead of - Option::getAsInt(PREF_MAX_TRIES). - * src/AbstractCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - -2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Applied AdaptiveURISelector-timeout patch from Pascal Rigaux at - Mandriva. I modified the patch: make RequestGroup have the - timeout value and AdaptiveURISelector directly modifies that - value. - * src/AbstractCommand.cc - * src/AdaptiveURISelector.cc - * src/AdaptiveURISelector.h - * src/FtpNegotiationCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - -2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning - * test/IteratableChecksumValidatorTest.cc - -2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use LongestSequencePieceSelector for HTTP/FTP/BitTorrent - integrated downloads. This PieceSelector subclass finds the - longest continuous sequence in the available missing pieces and - selects the last index of such sequence. This makes HTTP/FTP - connections less interrupted by the pieces obtained by BitTorrent - peers. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/LongestSequencePieceSelector.cc - * src/LongestSequencePieceSelector.h - * src/Makefile.am - * src/PieceSelector.h - * src/RarestPieceSelector.h - * src/RequestGroup.cc - * test/BtDependencyTest.cc - * test/DefaultPieceStorageTest.cc - * test/IteratableChecksumValidatorTest.cc - * test/LongestSequencePieceSelectorTest.cc - * test/Makefile.am - * test/SegmentManTest.cc - -2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that the average speed is wrong in - http/ftp/BitTorrent integrated download. Only the download bytes - in BitTorrent were considered. - * src/RequestGroup.cc - -2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Choose port for BitTorrent/DHT randomly from the specified range. - * src/DHTConnectionImpl.cc - * src/PeerListenCommand.cc - -2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Send HTTP Authorization header only if it is requested by the - server(response 401). There are some exceptions. The authorization - header for proxy is always sent if it is available without request - by the server. If username/password is specified in the URI, it - is immediately sent to the server without request by the server. - - AbstractAuthResolver::_defaultAuthConfig is now initialized as - SharedHandle<AuthConfig>(). - NetrcAuthResolver::resolveAuthConfig() returns - SharedHandle<AuthConfig>() if no AuthConfig is available. - * src/AbstractAuthResolver.cc - * src/AbstractProxyRequestCommand.cc - * src/AuthConfigFactory.cc - * src/AuthConfigFactory.h - * src/HttpConnection.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * test/AuthConfigFactoryTest.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - -2009-01-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Remove leading "--" from help keyword and a substring after "=" - from help keyword, so that one can query options by '-h--max-' or - '-hmax-peers=10'. - * src/option_processing.cc - -2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten PStringVisitor and its implementation. - * src/PStringBuildVisitor.cc - * src/PStringBuildVisitor.h - * src/PStringDatum.h - * src/PStringNumLoop.h - * src/PStringSegment.cc - * src/PStringSegment.h - * src/PStringSelect.h - * src/PStringVisitor.h - * src/download_helper.cc - * test/PStringBuildVisitorTest.cc - * test/ParameterizedStringParserTest.cc - -2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Persist connection between the built-in HTTP server and a client - if a client supports keep-alive. Fixed the bug that aria2 exits - when the HTTP server receives EOF from a client. - * src/HttpServer.cc - * src/HttpServer.h - * src/HttpServerCommand.cc - * src/HttpServerCommand.h - * src/HttpServerResponseCommand.cc - -2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added experimental built-in HTTP server. Currently, when a client - accesses to the server, it responds with the current download - progress. By default, it is disabled. To enable the server, give - --enable-http-server option. To change the default port number - for the server to listen to, use --http-server-listen-port option. - The response HTML is very simple and refreshes it self each 1 - second. Because of this refresh, you see flicker in normal web - browser such as Firefox. I recommend to use console-based browser - such as elinks, w3m. To connect to the server, run 'elinks - http://localhost:6800/' while running aria2. Please replace port - number '6800'(which is default) with your preference. - * src/DownloadEngineFactory.cc - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpHeaderProcessor.cc - * src/HttpHeaderProcessor.h - * src/HttpListenCommand.cc - * src/HttpListenCommand.h - * src/HttpServer.cc - * src/HttpServer.h - * src/HttpServerCommand.cc - * src/HttpServerCommand.h - * src/HttpServerResponseCommand.cc - * src/HttpServerResponseCommand.h - * src/Makefile.am - * src/OptionHandlerFactory.cc - * src/Util.cc - * src/Util.h - * src/help_tags.h - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/HttpHeaderProcessorTest.cc - * test/UtilTest.cc - -2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed. - * src/CheckIntegrityMan.cc - * src/FileAllocationMan.cc - -2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made (piece) hash check sequential for each RequestGroup because - simultaneous hash check is slower than sequential execution. - * src/CheckIntegrityCommand.cc - * src/CheckIntegrityDispatcherCommand.cc - * src/CheckIntegrityDispatcherCommand.h - * src/CheckIntegrityMan.h - * src/ConsoleStatCalc.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/DownloadEngineFactory.cc - * src/Makefile.am - * src/Makefile.in - * src/RequestGroup.cc - * src/StatCalc.h - -2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Moved setStatusRealtime() from FileAllocationDispatcherCommand to - SequentialDispatcherCommand. - * src/FileAllocationDispatcherCommand.cc - * src/SequentialDispatcherCommand.h - -2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten FileAllocationDispatcherCommand using brand new - SequentialDispatcherCommand. - * src/DownloadEngineFactory.cc - * src/FileAllocationCommand.cc - * src/FileAllocationDispatcherCommand.cc - * src/FileAllocationDispatcherCommand.h - * src/Makefile.am - * src/SequentialDispatcherCommand.h - -2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Replaced FileAllocationMan with - SequentialPicker<FileAllocationEntry>. - * src/BtCheckIntegrityEntry.cc - * src/ConsoleStatCalc.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/DownloadEngineFactory.cc - * src/FileAllocationCommand.cc - * src/FileAllocationDispatcherCommand.cc - * src/FileAllocationMan.h - * src/Makefile.am - * src/SequentialPicker.h - * src/StatCalc.h - * src/StreamCheckIntegrityEntry.cc - * test/Makefile.am - * test/SequentialPickerTest.cc - -2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added doc for adaptive URI selector. - * doc/aria2c.1.txt - -2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added doc for adaptive URI selector. - * src/usage_text.h - -2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added doc for --bt-max-peers option. - * doc/aria2c.1.txt - -2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added doc for --bt-hash-check-seed option. - * doc/aria2c.1.txt - -2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented exit codes. - * doc/aria2c.1.txt - -2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-max-peers option to specify the maximum number of peers - per torrent. 0 means unlimited number of peers. - * src/ActivePeerConnectionCommand.cc - * src/BtRuntime.h - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/DefaultPeerStorageTest.cc - -2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --bt-hash-check-seed option. If true is given to this - option, after hash check using --check-integrity option and file - is complete, continue to seed file. If you want to check file and - download it only when it is damaged or incomplete, set this option - to false. This option has effect only on BitTorrent download. - The default value is true(This is the same behavior with the - previous release). - * src/BtCheckIntegrityEntry.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated copyright year. - * src/version_usage.cc - -2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten the usage text for --bt-request-peer-speed-limit option. - * doc/aria2c.1.txt - * src/usage_text.h - -2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made the max value of split option unlimited. - * doc/aria2c.1.txt - * src/OptionHandlerFactory.cc - -2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile warning/error. - * src/DownloadResult.h - * src/HttpDownloadCommand.cc - * src/ServerStat.cc - * test/RequestGroupTest.cc - -2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --event-poll option to select the method for polling events. - The available methods are "select" and "epoll". "epoll" is - available on Linux only. The earlier release has the compile - option to choose from these methods. - * configure.ac - * src/RequestGroupMan.cc - * src/OptionHandlerFactory.cc - * src/EpollEventPoll.h - * src/StreamFileAllocationEntry.cc - * src/a2io.h - * src/SelectEventPoll.h - * src/option_processing.cc - * src/prefs.h - * src/EpollEventPoll.cc - * src/EventPoll.h - * src/SocketCore.h - * src/Makefile.am - * src/main.cc - * src/DownloadEngine.h - * src/SelectEventPoll.cc - * src/DownloadEngine.cc - * src/SocketCore.cc - * src/DownloadEngineFactory.cc - * src/Makefile.in - * src/prefs.cc - * src/usage_text.h - -2009-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Included RecoverableException.h from main.cc - * src/main.cc - -2009-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Applied exit-status patch from Pascal Rigaux at Mandriva. aria2 - now returns last error encountered in the HTTP/FTP downloads as a - exit status value. If all downloads finished successfully, aria2 - returns 0. The error code is defined in src/DownloadResult.h. - The error occurred in the download currently in progress is not - reported as a last error. If no error has encountered but there - are in progress or waiting downloads, aria2 returns 7. - - * src/AbstractCommand.cc - * src/DlAbortEx.h - * src/DlRetryEx.h - * src/DownloadCommand.cc - * src/DownloadFailureException.h - * src/DownloadResult.h - * src/FtpNegotiationCommand.cc - * src/HttpSkipResponseCommand.cc - * src/Makefile.am - * src/MultiUrlRequestInfo.cc - * src/MultiUrlRequestInfo.h - * src/RecoverableException.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/URIResult.cc - * src/URIResult.h - * src/main.cc - * src/option_processing.cc - * test/RequestGroupTest.cc - -2009-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Applied AdaptiveURISelector patch from Aurelien Lefebvre. This - patch adds AdaptiveURISelector, which selects one of the bests - mirrors for first and reserved connections. For supplementary - ones, it returns mirrors which has not been tested yet, and if - each of them already tested, returns mirrors which has to be - tested again. Otherwise, it doesn't return anymore mirrors. - * src/AdaptiveURISelector.cc - * src/AdaptiveURISelector.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/Makefile.am - * src/Makefile.in - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/ServerStat.cc - * src/ServerStat.h - * src/ServerStatMan.cc - * src/SpeedCalc.cc - * src/URISelector.h - * src/prefs.cc - * src/prefs.h - * test/RequestGroupManTest.cc - * test/ServerStatManTest.cc - * test/ServerStatTest.cc - -2009-01-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed unit test error. - * test/HttpResponseTest.cc (HttpResponseTest::testRetrieveCookie) - -2008-12-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.1.2 - -2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian translation. Thanks to the translators. - * po/ru.po - -2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added the description of --use-head option to man page. - * doc/aria2c.1.txt - -2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.1.2 - * configure.ac - -2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --use-head option to toggle whether HEAD method should be - used in the first HTTP request. By default aria2 uses HEAD method - as the first request. When the server doesn't recognize HEAD, then - give aria2 --use-head=false to force aria2 to use GET method - instead. - * src/OptionHandlerFactory.cc - * src/RequestGroupMan.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that BitTorrent download doesn't finish when REJECT - message is received before CHOKE message. The old implementation - doen't clear the use-bit of the piece when recieved REJECT - message. - * src/DefaultBtMessageDispatcher.cc - * test/DefaultBtMessageDispatcherTest.cc - -2008-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.1.1 - -2008-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.1.1. - * configure.ac - -2008-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that --summary-interval=0 doesn't work. The summary - is printed repeatedly. - * src/ConsoleStatCalc.cc - -2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.1.0 - -2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added ifdef clause for conditional compilation. - * src/main.cc - -2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Russian, Simplified Chinese, Ukrainian and Japanese - translations. Thanks to all translators. - * po/ja.po - * po/ru.po - * po/uk.po - * po/zh_CN.po - -2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added the preceding ">>> " before the message "Printing the - contents of file..." to make the output more readable. - * src/main.cc - -2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added try-catch block in the loop in showFiles() to continue the - operation even if the exception occurred in one file. - * src/main.cc (showFiles) - -2008-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made messages in showFiles() translatable. - * po/aria2.pot - * src/main.cc - * src/message.h - -2008-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print the contents of Torrent/Metalink files are printed without - -T/-M options. - * src/main.cc - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Escaped '--' with '\--' - * README - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated "How to build" section in README. Mentioned about - --with-ca-bundle compile option. - * README - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.1.0. - * configure.ac - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added a note for --dht-listen-port option. - * doc/aria2c.1.txt - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Update doc for --realtime-chunk-checksum option. - * doc/aria2c.1.txt - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Update doc for --realtime-chunk-checksum option. - * src/usage_text.h - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated French, Japanese, Russian and Ukrainian translations. - Thanks to all translators. - * po/fr.po - * po/ja.po - * po/ru.po - * po/uk.po - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Renamed aria2c.pot to aria2.pot - * po/aria2.pot - * po/aria2c.pot: Removed. - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed MetaEntry.h - * src/Makefile.am - -2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rename file by appending digits if a local file exists and its - file size is larger than that of remote file with --continue - option. The old implementation just throws exception in such case. - * src/RequestGroup.cc - -2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that download progress summary is not printed in the - interval specified by the option. - * src/ConsoleStatCalc.cc - * src/ConsoleStatCalc.h - -2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compiler warning - * src/Cookie.cc - -2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the cookie implementation based on RFC2965. - Now if a value in domain field is not started with dot, then - prepend dot. That means a cookie with domain=sf.net is sent to - wiki.sf.net. - * src/Cookie.cc - * test/CookieParserTest.cc - * test/CookieStorageTest.cc - * test/CookieTest.cc - * test/NsCookieParserTest.cc - * test/Sqlite3MozCookieParserTest.cc - -2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that causes corrupted downloads if HTTP pipelining - is enabled and the server doesn't support keep-alive. - * src/AbstractCommand.cc - * src/DownloadCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpDownloadCommand.h - * src/HttpResponseCommand.cc - * src/Request.cc - * src/Request.h - * test/RequestTest.cc - -2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed Dictionary/List/Data and its related classes. - * src/BencodeVisitor.cc: Removed. - * src/BencodeVisitor.h: Removed. - * src/Data.cc: Removed. - * src/Data.h: Removed. - * src/Dictionary.cc: Removed. - * src/Dictionary.h: Removed. - * src/List.cc: Removed. - * src/List.h: Removed. - * src/Makefile.am - * src/MetaEntry.h: Removed. - * src/MetaEntryVisitor.h: Removed. - * src/MetaFileUtil.cc: Removed. - * src/MetaFileUtil.h: Removed. - * test/BencodeVisitorTest.cc: Removed. - * test/DataTest.cc: Removed. - * test/DictionaryTest.cc: Removed. - * test/ListTest.cc: Removed. - * test/Makefile.am - * test/MetaFileUtilTest.cc: Removed. - -2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed include of MetaEntry.h - * test/DHTMessageTrackerEntryTest.cc - -2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use BDE instead of Dictionary/List/Data. - * src/AnnounceList.cc - * src/AnnounceList.h - * test/AnnounceListTest.cc - -2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use BDE instead of Dictionary/List/Data. - * src/DHTAbstractMessage.cc - * src/DHTAbstractMessage.h - * src/DHTAnnouncePeerMessage.cc - * src/DHTAnnouncePeerMessage.h - * src/DHTAnnouncePeerReplyMessage.cc - * src/DHTAnnouncePeerReplyMessage.h - * src/DHTFindNodeMessage.cc - * src/DHTFindNodeMessage.h - * src/DHTFindNodeReplyMessage.cc - * src/DHTFindNodeReplyMessage.h - * src/DHTGetPeersMessage.cc - * src/DHTGetPeersMessage.h - * src/DHTGetPeersReplyMessage.cc - * src/DHTGetPeersReplyMessage.h - * src/DHTMessageFactory.h - * src/DHTMessageFactoryImpl.cc - * src/DHTMessageFactoryImpl.h - * src/DHTMessageReceiver.cc - * src/DHTMessageTracker.cc - * src/DHTMessageTracker.h - * src/DHTPingMessage.cc - * src/DHTPingMessage.h - * src/DHTPingReplyMessage.cc - * src/DHTPingReplyMessage.h - * src/DHTQueryMessage.cc - * src/DHTQueryMessage.h - * src/DHTResponseMessage.cc - * src/DHTResponseMessage.h - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTAnnouncePeerReplyMessageTest.cc - * test/DHTFindNodeMessageTest.cc - * test/DHTFindNodeReplyMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTGetPeersReplyMessageTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTMessageTrackerTest.cc - * test/DHTPingMessageTest.cc - * test/DHTPingReplyMessageTest.cc - * test/MockDHTMessageFactory.h - -2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added tests the case where length < 0 is specified. - * test/BencodeTest.cc - -2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed memory leak in decoderawstring() - * src/bencode.cc - -2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added missing #ifdef guard. Added uc() function for String and - removeKey() for Dict. - * src/bencode.cc - * src/bencode.h - * test/BencodeTest.cc - -2008-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use BDE instead of Dictionary/List/Data. - * src/HandshakeExtensionMessage.cc - * src/HandshakeExtensionMessage.h - * test/HandshakeExtensionMessageTest.cc - -2008-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --max-overall-upload-limit option. This option limits the - overall upload speed. Stated in help message that the existing - --max-upload-limit option limits the upload speed per each - torrent. Man page is also updated. - * doc/aria2c.1.txt - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - * src/OptionHandlerFactory.cc - * src/PeerInteractionCommand.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use BDE instead of Dictionary/List/Data classes. - * src/CompactPeerListProcessor.cc - * src/CompactPeerListProcessor.h - * src/DefaultBtAnnounce.cc - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/DefaultPeerListProcessor.cc - * src/DefaultPeerListProcessor.h - * src/DelegatingPeerListProcessor.cc - * src/DelegatingPeerListProcessor.h - * src/PeerListProcessor.h - * src/UTPexExtensionMessage.cc - * src/Util.h - * src/message.h - * test/DefaultBtContextTest.cc - * test/DefaultPeerListProcessorTest.cc - -2008-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added bencode helper functions and BDE class. - They will replace MetaFileUtil and Dictionary/List/Data classes. - * src/Makefile.am - * src/bencode.cc - * src/bencode.h - * test/BencodeTest.cc - * test/Makefile.am - -2008-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that bad URI is sent to the tracker when the announe - URI in torrent file includes query. - * src/DefaultBtAnnounce.cc - * test/DefaultBtAnnounceTest.cc - -2008-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added Option::blank(). - Use !Option::blank(name) instead of Option::defined(name) for - the options that take filename. - * src/MultiUrlRequestInfo.cc - * src/Option.cc - * src/Option.h - * src/main.cc - * src/option_processing.cc - * test/OptionTest.cc - -2008-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Documented the default value of --check-certificate option in man - page. - * doc/aria2c.1.txt - -2008-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Enabled --check-certificate by default. Added compile - time(configure) option --with-ca-bundle to specify CA bundle. - Warn if --check-certificate=true and --ca-certificate is not - specified or loading CA certificate is failed. - * configure.ac - * src/MultiUrlRequestInfo.cc - * src/OptionHandlerFactory.cc - * src/message.h - -2008-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Mentioned https tag in help option. - * doc/aria2c.1.txt - -2008-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added `https' tag to help option category. Added https tag to - --ca-certificate, --certificate, --check-certificate and - --private-key option. - * src/OptionHandlerFactory.cc - * src/help_tags.h - * src/option_processing.cc - -2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Changed the package name from `aria2c' to `aria2' in order to fix - the packaging issue in Debian and Fedora. The name of the - executable is not changed. - * configure.ac - -2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typos - * src/usage_text.h - -2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typos and updated doc. - * README - -2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typos - * doc/aria2c.1.txt - -2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typos - * src/usage_text.h - -2008-11-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print a message when no files to download. - * src/download_helper.cc - * src/main.cc - * src/message.h - -2008-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - RFC3986 complied Percent-Encoding(urlencode). - Use uppercase hexadecimal digits for encoded text instead of lowercase - ones. - * src/Request.cc - * src/Util.cc - * src/Util.h - * test/BtHandshakeMessageTest.cc - * test/DefaultBtAnnounceTest.cc - * test/DefaultBtContextTest.cc - * test/RequestTest.cc - * test/UtilTest.cc - -2008-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that prevents aria2 from downloading 0-length files - via HTTP/FTP. - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/DownloadContext.h - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - * src/RequestGroup.cc - * src/SingleFileDownloadContext.cc - * src/SingleFileDownloadContext.h - * test/BtPostDownloadHandlerTest.cc - * test/MetalinkPostDownloadHandlerTest.cc - * test/MockBtContext.h - -2008-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that -pfalse and -ptrue are not recognized properly. - * src/option_processing.cc - -2008-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Applied aria2-1.0.1-mingw.patch. - Use SOCKET_ERRNO instead of errno if the code is used both linux and - mingw. - Collected 4th and 5th argument types for getsockopt and setsockopt. - * src/SocketCore.cc - * src/a2netcompat.h - * test/SocketCoreTest.cc - -2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.0.1 - -2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian and Norwegian Nynorsk translations. - Thanks to all translators. - * po/nn.po - * po/uk.po - -2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Don't show download result when -S option is used. - * src/main.cc - -2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.0.1 - * configure.ac - -2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Closed files after the test cases in MultiDiskWriterTest:: - testResetDiskWriterEntries(). This will fix the unit test error - in mingw32 build. - * test/MultiDiskWriterTest.cc - -2008-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Use HEAD method to get file size from HTTP server for segmented - downloading. - The request to the BitTorrent Tracker always uses GET method because - the response of the tracker is small and it doesn't need segmented - download. - * src/FtpNegotiationCommand.cc - * src/HttpRequest.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/TrackerWatcherCommand.cc - * test/HttpRequestTest.cc - -2008-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that causes floating exception when -T option is used and - no URIs are given. - * src/download_helper.cc - * test/DownloadHelperTest.cc - -2008-11-22 Ross Smith II <aria2spam at smithii dot com> - - Applied aria2-1.0.0-mingw-r5.patch to fix numerous compile/unit test - errors in MinGW: - Closed file after saving server stats (RequestGroupMan.cc) - Fixed time parsing if internal strptime() is missing (FtpConnection.cc) - Ignored case & handled 2-digit years (strptime.c) - Added missing suseconds_t definition (a2time.h) - Fixed socket CLOSE() define (SocketCore.cc) - Changed EINPROGRESS to A2_EINPROGRESS (SocketCore.cc) - Changed utime() test values from x000 to x00000 as MinGW failed on - values less than timezone offset from Unix epoch - Changed 'struct stat' to 'a2_struct_stat' (FileTest.cc) - Added waitRead() call prior to reading socket (FtpConnectionTest.cc) - Changed date from 01-Jan-1960 to 01-Jan-1970 00:00:01 as MinGW can't - handle negative dates (CookieParserTest.cc) - * src/a2time.h - * src/FtpConnection.cc - * src/RequestGroupMan.cc - * src/SocketCore.cc - * src/strptime.c - * test/CookieParserTest.cc - * test/CopyDiskAdaptorTest.cc - * test/FileTest.cc - * test/FtpConnectionTest.cc - * test/MultiDiskAdaptorTest.cc - -2008-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed typo in "OPTIONS THAT TAKE AN OPTIONAL ARGUMENT" section. - * doc/aria2c.1.txt - -2008-11-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - * Release 1.0.0 - -2008-11-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added '~' to reserved characters. - * src/Util.cc - -2008-11-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Do not urlencode Request::url in setUrl() because we want unmodified - URL using Request::getUrl() - * src/Request.cc - * src/Request.h - * test/RequestTest.cc - -2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated Ukrainian, Japanese, Bulgarian, Russian and French translations. - Thanks to all translators. - * po/bg.po - * po/fr.po - * po/ja.po - * po/ru.po - * po/uk.po - -2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.0.0 - * configure.ac - -2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added nosqlite3 build to build_test.sh. - Renamed noxml as expat. - * build_test.sh - -2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated INPUT FILE section. - * doc/aria2c.1.txt - -2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Excluded testLoad_compat() and testLoad_nonBt_compat() when compiled - on big endian systems because test .aria2 files are made for little - endian systems. - * test/DefaultBtProgressInfoFileTest.cc - -2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Dropped ares support. - * README - * configure.ac - * m4/libares.m4: Removed. - * src/AsyncNameResolver.cc - * src/Makefile.am - * test/Makefile.am - -2008-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten ByteArrayDiskWriter::size() using seekg() and tellg(). - Removed const qualifier from DiskWriter::size(). - * src/AbstractDiskWriter.cc - * src/AbstractDiskWriter.h - * src/ByteArrayDiskWriter.cc - * src/ByteArrayDiskWriter.h - * src/DiskWriter.h - * test/ByteArrayDiskWriterTest.cc - -2008-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that causes segmentation fault/bus error during executing - choking algorithm while seeding. This is caused by improper - implementation of compare function which returns inconsistent results - depending on the timing of last unchoke. - * src/BtSeederStateChoke.cc - * src/BtSeederStateChoke.h - * src/DefaultPeerStorage.cc - -2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed TODO - * TODO - -2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added a section that explains how to pass argument to options that - takes optional arguments with its short form. - * doc/aria2c.1.txt - -2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added -u for the short form of --max-upload-limit option. - * doc/aria2c.1.txt - * src/option_processing.cc - * src/usage_text.h - -2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added -V for the short form of --check-integrity option. - Now the argument of --check-integrity option is optional: - if it is omitted, it is evaluated as true. - * doc/aria2c.1.txt - * src/option_processing.cc - * src/usage_text.h - -2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Made the default value of --ftp-pasv option set to true and it can take - true/false values. - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/usage_text.h - * doc/aria2c.1.txt - -2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Given custom random number generator to std::random_shuffle. - * src/AnnounceList.cc - * src/BtLeecherStateChoke.cc - * src/BtSeederStateChoke.cc - * src/DefaultBtRequestFactory.cc - * src/MetalinkEntry.cc - * src/RarestPieceSelector.cc - * src/SimpleRandomizer.cc - * src/SimpleRandomizer.h - -2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Now the default value of --enable-direct-io is true. - * src/OptionHandlerFactory.cc - * doc/aria2c.1.txt - -2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Erase peer before executing onReturningPeer and onErasingPeer - because choking algorithm called from onReturningPeer doesn't - like erasing peer in the active peer list. - * src/DefaultPeerStorage.cc - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Instead of creating special filename in createDownloadResult() if - inMemoryDownload() is true, now it is done in getFilePath(). - * src/RequestGroup.cc - * test/RequestGroupTest.cc - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Print "[MEMORY]" and filename if a file is not saved in disk and just - processed in memory. This is the fix for previous comment out. - * src/MemoryBufferPreDownloadHandler.cc - * src/RequestGroup.cc - * src/RequestGroup.h - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Commented out the code which sets virtual directory path "[MEMORY]" - propagate directory to store to following RequestGroup. - * src/MemoryBufferPreDownloadHandler.cc - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.0.0b - * configure.ac - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added input_uris.txt to EXTRA_DIST - * test/Makefile.am - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed PeerObject.h from Makefile.am - * src/Makefile.am - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Avoid slow seeding - * src/PeerInteractionCommand.cc - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated usage for -i option. - * src/usage_text.h (TEXT_INPUT_FILE) - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added INPUT FILE section to man page. - Escaped fake URLs. - * doc/aria2c.1.txt - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed wrong note position for -o option. - * doc/aria2c.1.txt - -2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed compile error without SSL/XML library. - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtProgressInfoFile.h - * src/FileMetalinkParserState.cc - * src/RequestGroup.h - * src/SocketCore.cc - * src/SocketCore.h - * src/VerificationMetalinkParserState.cc - * src/download_helper.h - * src/main.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/DownloadHelperTest.cc - -2008-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Rewritten URI handling functions. They are now provided as a testable - functions. - * src/Makefile.am - * src/RequestGroup.cc - * src/RequestGroup.h - * src/download_helper.cc - * src/download_helper.h - * src/main.cc - * test/DownloadHelperTest.cc - * test/Makefile.am - * test/input_uris.txt - -2008-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Quickly terminate commands when ctrl-c is pressed. - * src/DownloadEngine.cc - -2008-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Quickly terminate idle commands when download finished. - * src/AbstractCommand.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/SleepCommand.cc - * src/SleepCommand.h - -2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added the ability to specify output filename and directory in input - file. - Additional parameters are added in the following line of URIs - with proceeding white space(s), 1 parameter in 1 line. - The parameter names are the same with the command-line option name - without proceeding "--". Not all the options are available here: - at the moment, 'dir' and 'out' options are avialable. - Please note that out option has no effect against Metalink or BitTorrent - downloads. - Example input file: - - http://host/foo-1.1.tar.bz2 - out=foo.tar.bz2 - dir=/tmp/downloads - http://host/thundermonkey-2.0.tar.bz2 - - And then invoke 'aria2c -i url.txt --dir ~/mydownloads'. - foo-1.1.tar.bz2 is saved as /tmp/downloads/foo.tar.bz2, whereas - thundermonkey-2.0.tar.bz2 is saved as - ~/mydownloads/thundermonkey-2.0.tar.bz2. - * src/BtPostDownloadHandler.cc - * src/Metalink2RequestGroup.cc - * src/Metalink2RequestGroup.h - * src/MetalinkPostDownloadHandler.cc - * src/UriListParser.cc - * src/UriListParser.h - * src/main.cc - * test/Metalink2RequestGroupTest.cc - * test/UriListParserTest.cc - * test/filelist1.txt - -2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed error when SSL library is not found. - * configure.ac - -2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Cross referenced among -s, -C and -j options. - Updated usage of -C and -s options. - * src/usage_text.h - * doc/aria2c.1.txt - -2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed bad cast in 32bit platforms. - * test/DefaultPieceStorageTest.cc - (DefaultPieceStorageTest::testGetCompletedLength) - -2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed unit test fails on 32bit platforms. - * test/CookieParserTest.cc - -2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Show an average download speed in Download results. - * src/BtFileAllocationEntry.cc - * src/DefaultPieceStorage.cc - * src/DownloadContext.cc - * src/DownloadContext.h - * src/DownloadResult.h - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/StreamFileAllocationEntry.cc - -2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that metalink file is not processed if Content-Type - field has a paramter. - * src/HttpResponse.cc - * src/HttpResponse.h - * test/HttpResponseTest.cc - -2008-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Removed unused code. - * src/DefaultBtAnnounce.cc - -2008-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that DefaultPieceStorage::getCompletedLength() returns - the value larger than DefaultPieceStorage::getTotalLength() when - in flight pieces are involved. - * src/DefaultPieceStorage.cc - * test/DefaultPieceStorageTest.cc - -2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Bump up version number to 1.0.0a. - * configure.ac - -2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated configure.ac - * configure.ac - -2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added usege for proxy. - * doc/aria2c.1.txt - -2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added usage for --ca-certificate, --certificate, --private-key and - --check-certificate options. - * doc/aria2c.1.txt - -2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Updated man page - * doc/aria2c.1.txt - -2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added --no-proxy option. It receives comman separated hostname or - domains to which proxy should not be used. - aria2 honors the environment variable no_proxy to override no-proxy - value in configuration file. The user can override the environment - variable no_proxy with --no-proxy command-line option. - * src/AbstractCommand.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added the ability to verify peer in SSL/TLS using given CA certificates. - The CA certificates are specified in --ca-certificate option. - By default, the verification is disabled. Use --check-certificate - option to enable it. - * src/HttpRequestCommand.cc - * src/LibgnutlsTLSContext.cc - * src/LibgnutlsTLSContext.h - * src/LibsslTLSContext.cc - * src/LibsslTLSContext.h - * src/MultiUrlRequestInfo.cc - * src/OptionHandlerFactory.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/a2functional.h - * src/message.h - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Added client certificate authentication for SSL/TLS. - Currently a private key must be decrypted for use with aria2. - If a user accidentally gives encrypted file to aria2 then following - thing happens: - If encrypted private key is given to aria2, it behaves differently - depending on the ssl library it uses. If aria2 built with openssl then - openssl prompts the user for password. If aria2 build with gnutls then - aria2 exists with error at start up. - * src/DownloadEngineFactory.cc - * src/MultiUrlRequestInfo.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Introduced TLSContext that holds TLS related data that can be shared - with multiple SSL connections. - * src/DownloadEngineFactory.cc - * src/LibgnutlsTLSContext.cc - * src/LibgnutlsTLSContext.h - * src/LibsslTLSContext.cc - * src/LibsslTLSContext.h - * src/Makefile.am - * src/SocketCore.cc - * src/SocketCore.h - * src/TLSContext.h - * src/message.h - -2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> - - Fixed the bug that the DiskWriter of the first FileEntry whose - `needsFileAllocation' property is false is not created - even if it shares a piece with next FileEntry which `requested' property - is true. - Fixed the bug that zero-length file is not created if pre file - allocation is not done. - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * test/MultiDiskAdaptorTest.cc - -2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to pool proxy connection. - The conneciton in FTP with proxy-method=GET is not pooled. - Proxy-Connection header will not be sent when sending CONNECT method. - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpDownloadCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpResponse.cc - * src/HttpSkipResponseCommand.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - -2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Handle date before epoch. - To create *bad* Time object, call Time::null(). - * src/CookieParser.cc - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpNegotiationCommand.cc - * src/RequestGroup.cc - * src/TimeA2.cc - * src/TimeA2.h - * test/CookieParserTest.cc - * test/FtpConnectionTest.cc - * test/TimeTest.cc - -2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added support for following envrionment variables: http_proxy, - https_proxy, ftp_proxy and all_proxy. - Each variable is equivalent to the aria2 option whose name is the - variable name with '_' replaced with '-'. - They overrides options specified in aria2.conf file. - The envrionment variables can be overrode using command-line option. - * src/option_processing.cc - -2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Renamed --http-proxy-method as --proxy-method. - * src/AbstractCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Deprecated --http-proxy-user and --http-proxy-passwd options. - Added --https-proxy, --ftp-proxy and --all-proxy options. - Above 3 options and --http-proxy option can handle proxy in URL format - like: http://user:passwd@host:port. - If a proxy requires user/password, they must be specified in a URL. - Deprecated --ftp-via-http-proxy option. Use --http-proxy-method option - instead. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/AbstractProxyRequestCommand.cc - * src/AbstractProxyRequestCommand.h - * src/AuthConfigFactory.cc - * src/AuthConfigFactory.h - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpInitiateConnectionCommand.h - * src/FtpNegotiationCommand.cc - * src/FtpTunnelRequestCommand.cc - * src/FtpTunnelRequestCommand.h - * src/HttpDownloadCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpInitiateConnectionCommand.h - * src/HttpProxyRequestCommand.cc - * src/HttpProxyRequestCommand.h - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpRequestCommand.h - * src/HttpSkipResponseCommand.cc - * src/InitiateConnectionCommand.cc - * src/InitiateConnectionCommand.h - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/Request.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - * test/AuthConfigFactoryTest.cc - * test/HttpRequestTest.cc - * test/OptionHandlerTest.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Execute choking algorithm when unchoked and interested peer is - disconected. - * src/DefaultPeerStorage.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added testcase for BtNotInterestedMessage from unchoked peer. - * test/BtNotInterestedMessageTest.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Execute choking algorithm when BtInterestedMessage arrives from - unchoked peer. - * src/BtInterestedMessage.cc - * src/BtInterestedMessage.h - * src/DefaultBtMessageFactory.cc - * test/BtInterestedMessageTest.cc - * test/MockPeerStorage.h - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - AuthConfigFactory is now part of DownloadEngine. - * src/AbstractProxyRequestCommand.cc - * src/AuthConfigFactory.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpNegotiationCommand.cc - * src/HttpConnection.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/MultiUrlRequestInfo.cc - * src/main.cc - * test/FtpConnectionTest.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Corrected catched exception type. - * src/ServerStatMan.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - DNSCache is now part of DownloadEngine. - * src/DNSCache.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/InitiateConnectionCommand.cc - * src/MultiUrlRequestInfo.cc - * test/Makefile.am - * test/Makefile.in - * test/SimpleDNSCacheTest.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed SingletonHolder of CUIDCounter. CUIDCounter is now part of - DownloadEngine. - * src/ActivePeerConnectionCommand.cc - * src/BtSetup.cc - * src/CUIDCounter.h - * src/DHTSetup.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/DownloadEngineFactory.cc - * src/FileAllocationDispatcherCommand.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/PeerInitiateConnectionCommand.cc - * src/PeerInteractionCommand.cc - * src/PeerListenCommand.cc - * src/RequestGroup.cc - * src/StreamFileAllocationEntry.cc - * src/TrackerWatcherCommand.cc - * src/main.cc - * test/RequestGroupManTest.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented commented code in BtSeederStateChoke - * src/BtSeederStateChoke.cc - * src/Peer.cc - * src/Peer.h - * src/PeerInteractionCommand.cc - * src/PeerSessionResource.cc - * src/PeerSessionResource.h - * test/MockBtMessageDispatcher.h - * test/PeerSessionResourceTest.cc - -2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made BtRegistry non-static object. Now DownloadEngine has a reference to - its object. - * src/AbstractBtMessage.cc - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - * src/BtContextAwareCommand.cc - * src/BtContextAwareCommand.h - * src/BtExtendedMessage.cc - * src/BtExtendedMessage.h - * src/BtInterestedMessage.cc - * src/BtInterestedMessage.h - * src/BtNotInterestedMessage.cc - * src/BtNotInterestedMessage.h - * src/BtRegistry.cc - * src/BtRegistry.h - * src/BtSeederStateChoke.cc - * src/BtSetup.cc - * src/DHTGetPeersCommand.cc - * src/DHTGetPeersCommand.h - * src/DHTPeerAnnounceEntry.cc - * src/DHTPeerAnnounceEntry.h - * src/DHTPeerAnnounceStorage.cc - * src/DHTPeerAnnounceStorage.h - * src/DHTPeerLookupTask.cc - * src/DHTPeerLookupTask.h - * src/DHTSetup.cc - * src/DHTSetup.h - * src/DHTTaskFactory.h - * src/DHTTaskFactoryImpl.cc - * src/DHTTaskFactoryImpl.h - * src/DefaultBtAnnounce.cc - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - * src/DefaultBtMessageFactory.cc - * src/DefaultBtMessageFactory.h - * src/DefaultBtMessageReceiver.cc - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtProgressInfoFile.h - * src/DefaultBtRequestFactory.cc - * src/DefaultBtRequestFactory.h - * src/DefaultExtensionMessageFactory.cc - * src/DefaultExtensionMessageFactory.h - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/InitiatorMSEHandshakeCommand.cc - * src/InitiatorMSEHandshakeCommand.h - * src/MSEHandshake.cc - * src/MSEHandshake.h - * src/Makefile.am - * src/Makefile.in - * src/PeerChokeCommand.cc - * src/PeerChokeCommand.h - * src/PeerInitiateConnectionCommand.cc - * src/PeerInitiateConnectionCommand.h - * src/PeerInteractionCommand.cc - * src/PeerInteractionCommand.h - * src/PeerObject.h - * src/PeerReceiveHandshakeCommand.cc - * src/PeerReceiveHandshakeCommand.h - * src/ReceiverMSEHandshakeCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/SeedCheckCommand.cc - * src/SeedCheckCommand.h - * src/ShareRatioSeedCriteria.h - * src/SimpleBtMessage.cc - * src/TrackerWatcherCommand.cc - * src/TrackerWatcherCommand.h - * src/UTPexExtensionMessage.cc - * src/UTPexExtensionMessage.h - * test/BtCancelMessageTest.cc - * test/BtChokeMessageTest.cc - * test/BtExtendedMessageTest.cc - * test/BtInterestedMessageTest.cc - * test/BtNotInterestedMessageTest.cc - * test/BtPieceMessageTest.cc - * test/BtPortMessageTest.cc - * test/BtRegistryTest.cc - * test/BtRejectMessageTest.cc - * test/BtRequestMessageTest.cc - * test/DHTPeerAnnounceEntryTest.cc - * test/DHTPeerAnnounceStorageTest.cc - * test/DefaultBtMessageDispatcherTest.cc - * test/DefaultBtMessageFactoryTest.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/DefaultBtRequestFactoryTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/MSEHandshakeTest.cc - * test/MockDHTTaskFactory.h - * test/ShareRatioSeedCriteriaTest.cc - * test/UTPexExtensionMessageTest.cc - -2008-10-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compiler warning. - * test/UtilTest.cc - -2008-10-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Treat Cookie object as session cookie if expiry = 0 is given. - With this change, you can specify session scoped cookies in an external - file setting expiry value to 0. - * src/Cookie.cc - * src/Cookie.h - * test/CookieParserTest.cc - * test/CookieStorageTest.cc - * test/CookieTest.cc - -2008-10-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed signature of DHTMessageFactory::createResponseMessage(). - Removed unused validateIDMatch. - * src/DHTMessageFactory.h - * src/DHTMessageFactoryImpl.cc - * src/DHTMessageFactoryImpl.h - * src/DHTMessageTracker.cc - * test/DHTMessageFactoryImplTest.cc - * test/MockDHTMessageFactory.h - - Dropped DHT message coming from same ID of localhost. - * src/DHTMessageReceiver.cc - - Rejected adding node whose ID is the same as localhost's. - * src/DHTRoutingTable.cc - * test/BtPortMessageTest.cc - * test/DHTRoutingTableTest.cc - -2008-10-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Pool connection when redirection occurs with Content-Length = 0. - * src/HttpSkipResponseCommand.cc - * src/HttpSkipResponseCommand.h - -2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that causes time out when redirection occurs with - content-length 0. - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/HttpSkipResponseCommand.h - -2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now each status legends is shown only when it appears in Download - Result. If Download Result has no item, then status legend will not - be printed. - * src/RequestGroupMan.cc - -2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed duplicate creation of OptionHandlers. - * src/option_processing.cc - -2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that causes segmentation fault when accessing files which - don't exist or are not included in --select-file option while - validating chunk checksum. - * src/MultiDiskAdaptor.cc - -2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compiler warning. - * test/UtilTest.cc - -2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included cstdlib. This fixed the compile error with g++-4.3.2. - * src/IteratableChecksumValidator.cc - * src/IteratableChunkChecksumValidator.cc - -2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.16.2 - -2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Serbian translation. Updated Ukrainian translation. - Thanks to all translators. - * po/sr.po - * po/uk.po - * po/LINGUAS - -2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.16.2 - * configure.ac - -2008-10-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added length equality test to operator== to drop a piece message - whose length does not match to the requested one. - * src/RequestSlot.cc - * test/DefaultBtMessageDispatcherTest.cc - -2008-10-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that aria2 aborts when a request larger than 16KiB is - recieved. - In this fix, if a request larger than 16KiB length is received, aria2 - disconnects the peer. - * src/BtConstants.h - * src/PeerMessageUtil.cc - * src/PeerMessageUtil.h - * test/BtRequestMessageTest.cc - -2008-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.16.1 - -2008-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Replaced '@' with 'at' in AUTHOR and REPORT BUG. - * doc/aria2c.1.txt - -2008-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Ukrainian, Vietnamese, Traditional Chinese translations. - Updated French, Simplified Chinese and Japanese translations. - Thanks to all translators. - en@quot and en@boldquot are also added. - * po/LINGUAS - * po/fr.po - * po/ja.po - * po/uk.po - * po/vi.po - * po/zh_CN.po - * po/zh_TW.po - -2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.16.1. - * configure.ac - -2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated README. - * README - -2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated man page. Changed doctype of aria2c.1.html to manpage in order - not to replace '--' with em dash character. - * doc/aria2c.1.txt - * doc/makeman - -2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --auto-save-interval=SEC option. A control file(*.aria2) is saved - every SEC seconds. - * src/DownloadEngineFactory.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/usage_text.h - -2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile warning on linux-amd64 - * src/FtpConnection.cc - * src/IteratableChunkChecksumValidator.cc - * src/MultiDiskAdaptor.cc - - Fixed the bug that unit test fails on linux-amd64 - * test/UtilTest.cc - -2008-10-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --dht-file-path option to change the path to dht.dat, which is a - serialized DHT routing table. - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/usage_text.h - -2008-10-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed possible underflow. - * src/BitfieldMan.cc (BitfieldMan::getNthBitIndex) - -2008-10-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that last character in URI is not encoded. - * src/Request.cc - * test/RequestTest.cc - -2008-10-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that referer header field contains fragment. - Now Request class removes fragment part of URI and encodes it - in Request::setUri() and setReferer(). - * src/Request.h - * src/Request.cc - * test/RequestTest.cc - -2008-10-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added missing m4 macros. - * m4/cppunit.m4 - * m4/libgcrypt.m4 - * m4/libgnutls-extra.m4 - * m4/libgnutls.m4 - * m4/libxml2.m4 - -2008-10-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error with gcc-4.4(snapshot) - * src/File.cc - * src/FtpConnection.cc - * src/OptionHandlerImpl.h - * src/Util.cc - -2008-10-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed assert() - * src/SocketBuffer.cc (SocketBuffer::send) - -2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed the type of _numNewConnection to unsigned int. - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - -2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.16.0 - -2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated doc - * README - -2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated French, Simplified Chinese, German, Bulgarian and Japanese - translations. Thanks to all translators. - * po/bg.po - * po/de.po - * po/fr.po - * po/ja.po - * po/zh_CN.po - -2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.16.0. - * configure.ac - -2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Casted entry->maxConnections to int32_t for std::min<T> with T = - int32_t. - Changed the type of count to int32_t. - * src/Metalink2RequestGroup.cc - -2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added test for Time::elapsed(time_t). - * test/TimeTest.cc - -2008-10-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug in Time::elapsed(): Util::difftvsec() is used where - Util::difftv() should be used instead. - * src/TimeA2.cc - * src/TimeA2.h - -2008-10-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made socket for dht connections non-blocking - * src/DHTAbstractMessage.cc - * src/DHTAbstractMessage.h - * src/DHTConnection.h - * src/DHTConnectionImpl.cc - * src/DHTConnectionImpl.h - * src/DHTMessage.h - * src/DHTMessageDispatcherImpl.cc - * src/DHTMessageDispatcherImpl.h - * src/DHTUnknownMessage.cc - * src/DHTUnknownMessage.h - * src/SocketCore.cc - * src/SocketCore.h - * test/MockDHTMessage.h - -2008-10-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed the type of offset to int. - * src/ParameterizedStringParser.cc - -2008-10-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made getAsInt() return int32_t - * src/Option.h - -2008-10-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Check the availability of winsock2.h and ws2tcpip.h only for mingw32 - build. - * configure.ac - -2008-10-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use sqlite3_open if sqlite3_open_v2 is not available. - * src/Sqlite3MozCookieParser.cc - * src/Sqlite3MozCookieParser.h - * m4/sqlite3.m4 - * test/Sqlite3MozCookieParserTest.cc - -2008-10-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Replaced '%zu' with '%lu' since mingw32 doesn't recognize '%zu'. - * src/BtPieceMessage.cc - * src/DHTPeerAnnounceStorage.cc - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/FtpConnection.cc - * src/PeerConnection.cc - * src/PeerMessageUtil.cc - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/SimpleBtMessage.cc - -2008-10-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use seek() and SetEndOfFile() for mingw32 build instead of ftruncate(), - because mingw32's ftruncate() cannot handle more than 2GB-size file. - * src/AbstractDiskWriter.cc - -2008-10-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Don't set Request::supportsPersistentConnection() in HttpConnection - since this code is also used in AbstractProxyResponseCommand. - Moved those code to HttpResponse. - * src/HttpResponse.cc - * src/HttpResponse.h - * src/HttpConnection.cc - * src/HttpConnection.h - * src/HttpResponseCommand.cc - * test/HttpResponseTest.cc - -2008-09-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error with debian mingw32 cross compiler(4.2.1). - The configuration is minimum: no torrent, no metalink, so there may be - other compile error on their code. - * src/a2netcompat.h - * src/File.cc - * src/File.h - * src/SocketCore.cc - * src/SocketCore.h - -2008-09-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made a socket of incoming peer non-blocking. - * src/PeerListenCommand.cc - -2008-09-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that aria2 may send duplicate data to BitTorrent peer if - whole message data is not sent in one send() call. - * src/BtPieceMessage.cc - * src/BtPieceMessage.h - * src/PeerConnection.cc - * src/PeerConnection.h - * src/SimpleBtMessage.cc - * src/SimpleBtMessage.h - -2008-09-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that aria2 downloads faster than max-download-limit when - downloading file using both HTTP(or FTP) and BitTorrent, because aria2 - evaluates speed separatly(HTTP and BiTorrent) against max-download-limit - , instead of sum of them. - * src/ActivePeerConnectionCommand.cc - * src/DefaultBtInteractive.cc - * src/DownloadCommand.cc - * src/PeerInteractionCommand.cc - * src/PeerReceiveHandshakeCommand.cc - -2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that HTTPS download fails. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/DownloadCommand.cc - * src/FtpConnection.cc - * src/HttpConnection.cc - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/MSEHandshake.cc - * src/PeerConnection.cc - * src/SocketCore.cc - * src/SocketCore.h - - Fixed the bug that aria2 doesn't download whole content body and cannot - reuse connection if chunked transfer encoding and gzip content encoding - are set. - * src/DownloadCommand.cc - * src/HttpSkipResponseCommand.cc - -2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated man page. - * doc/aria2c.1.txt - -2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - When error occurred while aria2 was parsing an .aria2.conf file, print - the usage of the option that caused error. - * src/option_processing.cc - -2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error on OptionHandlerException - * src/Makefile.am - * src/OptionHandlerException.cc - * src/OptionHandlerException.h - -2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Moved message of the error to OptionHandlerException.h - * src/NameMatchOptionHandler.h - * src/OptionHandlerException.h - -2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - When error occurs while aria2 is parsing an command-line option, print - the usage of the option. - * src/Makefile.am - * src/NameMatchOptionHandler.h - * src/OptionHandlerException.h - * src/option_processing.cc - -2008-09-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reverted previous change. - Insert username+'@' to URI(after ftp://) when URI is FTP scheme and - username is not in URI. - * src/HttpRequest.cc - * src/Request.cc - * test/HttpRequestTest.cc - * test/RequestTest.cc - -2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now colon is required for username and password in FTP URL, like: - ftp://username:password@host. - If colon is not there, aria2 don't parse it as a username. For example, - aria2 don't retrieve username from ftp://username@host. - This fix was made in order to login FTP server via non-transparent ftp - proxy. - * src/Request.cc - * test/RequestTest.cc - -2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use netrc for HTTP. - Now FTP user/password is sent in Authorization header when - --ftp-via-http-proxy=get is given. - * src/AuthConfigFactory.cc - * src/HttpRequest.cc - * src/HttpRequest.h - * src/NetrcAuthResolver.cc - * src/NetrcAuthResolver.h - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * test/AuthConfigFactoryTest.cc - * test/HttpRequestTest.cc - * test/NetrcAuthResolverTest.cc - -2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Issue PWD command first and get working directory and use it as a prefix - for CWD command. - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpFinishDownloadCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * test/FtpConnectionTest.cc - -2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed default user/pass for FTP user/pass, since it should not have - precedence over netrc configuration by default. - * src/OptionHandlerFactory.cc - -2008-09-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added debug log for socket event. - * src/AbstractCommand.cc - * src/PeerAbstractCommand.cc - -2008-09-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Log microseconds. - * src/SimpleLogger.cc (SimpleLogger::writeLog) - -2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Replaced HelpItem.cc with OptionHandler.cc. - * po/POTFILES.in - - Updated po files with 'make update-po' - * po/aria2c.pot - * po/*.po - -2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed possible values from the text. - * src/usage_text.h (TEXT_METALINK_PREFERRED_PROTOCOL) - -2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed unused preferences: - PREF_NO_PREALLOCATION - PREF_STDOUT_LOG - PREF_TRACKER_MAX_TRIES - PREF_DIRECT_DOWNLOAD_TIMEOUT - PREF_MIN_SEGMENT_SIZE - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - -2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Integrated HelpItem into OptionParser to ease the workload for adding - new options. Removed default value from usage text. - * src/HelpItem.cc: Removed. - * src/HelpItem.h: Removed. - * src/HelpItemFactory.cc: Removed. - * src/HelpItemFactory.h: Removed. - * src/Makefile.am - * src/Makefile.in - * src/NameMatchOptionHandler.h - * src/OptionHandler.cc - * src/OptionHandler.h - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/OptionParser.cc - * src/OptionParser.h - * src/TagContainer.cc: Removed. - * src/TagContainer.h: Removed. - * src/TaggedItem.cc: Removed. - * src/TaggedItem.h: Removed. - * src/main.cc - * src/option_processing.cc - * src/usage_text.h - * src/version_usage.cc - * test/HelpItemTest.cc: Removed. - * test/Makefile.am - * test/Makefile.in - * test/OptionHandlerTest.cc - * test/OptionParserTest.cc - * test/TagContainerTest.cc: Removed. - -2008-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Moved `TransferStat stat = ...' to inside the `if' clause. - * src/RequestGroup.cc (RequestGroup::reportDownloadFinished) - -2008-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that a block in a piece is requested when same block is - already requested to the same peer in end game mode. - * src/BtRequestFactory.h - * src/DefaultBtInteractive.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultBtRequestFactory.h - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/DefaultBtRequestFactoryTest.cc - * test/DefaultPieceStorageTest.cc - * test/MockBtRequestFactory.h - * test/MockPieceStorage.h - -2008-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed _uploadLength and _downloadLength from PeerSessionResource - and use PeerStat::_sessionUploadLength and - PeerStat::_sessionDownloadLength. - * src/PeerSessionResource.cc - * src/PeerSessionResource.h - -2008-09-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that prefixLength of split bucket which doesn't include - local node ID is incremented. - * src/DHTBucket.cc - * src/DHTBucket.h - * test/DHTBucketTest.cc - -2008-09-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added cookies.sqlite to EXTRA_DIST - * test/Makefile.am - -2008-09-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Turkish translation. Updated French, German, Russian and - Simplified Chinese translations. Thanks to all translators. - * po/LINGUAS - * po/de.po - * po/fr.po - * po/ru.po - * po/tr.po - * po/zh_CN.po - -2008-09-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added deliminating text to the beginning of the log so that one can find - where the log starts easily. - * src/main.cc - -2008-09-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Moved isProxyGETRequest function outside #ifdef ENABLE_ASYNC_DNS clause - to fix compile error when async DNS is not enabled by configuration. - * src/AbstractCommand.cc - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - If establishing conneciton to a server is failed, then mark error on - its ServerStat. - Added the cause of error to log when error event occurred. - Moved message string to message.h for translation. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/FtpNegotiationCommand.cc - * src/HttpRequestCommand.cc - * src/PeerAbstractCommand.cc - * src/message.h - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the function to get error message from socket. - * src/SocketCore.cc - * src/SocketCore.h - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added convenient method RequestGroupMan::getOrCreateServerStat() - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - If error event is received in epoll, then abort download immediately. - * src/AbstractCommand.cc - * src/Command.cc - * src/Command.h - * src/DownloadEngine.cc - * src/PeerAbstractCommand.cc - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added usage message for --uri-selector, --server-stat-of, - --server-stat-in, --server-stat-timeout options. - * src/HelpItemFactory.cc - * src/usage_text.h - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added upper limit of FTP response buffer. The current implementation - uses 4096bytes as a limit. - * src/FtpConnection.cc - * src/FtpConnection.h - * test/FtpConnectionTest.cc - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use non-blocking socket for TCP communication to avoid possible - blocking due to buffer full. - * src/AbstractProxyRequestCommand.cc - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/HttpConnection.cc - * src/HttpConnection.h - * src/HttpRequestCommand.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/InitiatorMSEHandshakeCommand.h - * src/MSEHandshake.cc - * src/MSEHandshake.h - * src/Makefile.am - * src/PeerConnection.cc - * src/PeerConnection.h - * src/PeerInteractionCommand.cc - * src/PeerListenCommand.cc - * src/ReceiverMSEHandshakeCommand.cc - * src/ReceiverMSEHandshakeCommand.h - * src/SocketBuffer.cc - * src/SocketBuffer.h - * src/SocketCore.cc - * src/SocketCore.h - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Call setStatusRealtime() in constructor. - * src/RealtimeCommand.cc - * src/RealtimeCommand.h - -2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Call Download::setNoWait(true) to execute newly created command without - a pause. - * src/AbstractCommand.cc - -2008-09-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --max-file-not-found=NUM option. If aria2 receives `file not - found' error from HTTP/FTP server NUM times without getting single - bytes of data, then force the download to fail. - Basically aria2 tris all URIs available. So if long list of URIs are - specified in Metalink, then aria2 will take a long time to fail - eventually if all URIs are outdated. This option eases this situation - to limit the number of servers to try. - * src/FtpNegotiationCommand.cc - * src/HelpItemFactory.cc - * src/HttpResponseCommand.cc - * src/OptionHandlerFactory.cc - * src/PeerStat.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/SegmentMan.cc - * src/SegmentMan.h - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-09-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that bulkReceiveResponse() reads all received data as a - response even if more than one response is in it. - * src/FtpConnection.cc - * src/FtpConnection.h - * test/FtpConnectionTest.cc - -2008-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Merged from stable-0.15 - * m4/libcares.m4 - - Use pkg-config - * m4/sqlite3.m4 - -2008-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed unnecessary if statement. - * src/DefaultPieceStorage.cc (initPieceStorage) - -2008-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --connect-timeout option to specify connect timeout in seconds. - This option is in effect for HTTP/FTP/proxy server. The timeout for - connecting to BitTorrent peer is not controlled by this option. - * src/AbstractProxyRequestCommand.cc - * src/FtpNegotiationCommand.cc - * src/HelpItemFactory.cc - * src/HttpRequestCommand.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-09-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added help message for -R option. - * src/HelpItemFactory.cc - * src/usage_text.h - -2008-09-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the message that the time is in local time zone. - * src/RequestGroup.cc - -2008-09-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented the ability to get timestamp from remote FTP server using - MDTM command described in RFC3659. - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * test/FtpConnectionTest.cc - * test/Makefile.am - -2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented the ability to get timestamp from remote HTTP server and - apply it to local file. To enable this feature, --remote-time option - is added. No usage text has been written yet. - If several servers returns difference timestamp, then aria2 uses latest - one. - * src/CopyDiskAdaptor.cc - * src/CopyDiskAdaptor.h - * src/DirectDiskAdaptor.cc - * src/DirectDiskAdaptor.h - * src/DiskAdaptor.h - * src/File.cc - * src/File.h - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpResponse.cc - * src/HttpResponse.h - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * test/CopyDiskAdaptorTest.cc - * test/FileTest.cc - * test/Makefile.am - * test/Makefile.in - * test/MultiDiskAdaptorTest.cc - * test/TestUtil.cc - -2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that DiskWriterEntry is not created when its - FileEntry.isRequested() is false and it doesn't share a piece with - other FileEntries that are requested. This bug causes segmentation fault - in the end. - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/MultiFileAllocationIterator.cc - * test/MultiDiskAdaptorTest.cc - * test/MultiFileAllocationIteratorTest.cc - -2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that exception is thrown when MultiDiskAdaptor::size() is - called if the number of file entries are greater than max open files. - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/DiskAdaptor.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * test/MultiDiskAdaptorTest.cc - -2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added a constuctor that receives struct timeval. - Added operator<. - * src/TimeA2.cc - * src/TimeA2.h - * test/TimeTest.cc - -2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Parse `expires' of Set-Cookie using Time::parseHTTPDate() - * src/CookieParser.cc - * test/CookieParserTest.cc - * test/HttpResponseTest.cc - -2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implmented the functions to parse date. - * src/TimeA2.cc - * src/TimeA2.h - * test/TimeTest.cc - -2008-09-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added "Firefox3 Cookie" feature to FeatureConfig - * src/FeatureConfig.cc - * src/FeatureConfig.h - * test/FeatureConfigTest.cc - -2008-09-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.16.0b - * configure.ac - -2008-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use pkg-config if is is available. - * m4/openssl.m4 - -2008-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - DEFAULT_ANNOUNCE_INTERVAL: unsigned int -> time_t - * src/BtAnnounce.h - -2008-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - If an error occurred with a URI, remove identical URI from remaining - URI list because it is likely that same error occurred in the end and it - is waste of time. - * src/AbstractCommand.cc - * src/RequestGroup.cc - * src/RequestGroup.h - -2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed wrong comment. - * src/DefaultPeerStorage.cc - -2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Moved implementation to SimpleRandomizer.cc from SimpleRandomizer.h. - Added return value of getpid() to argument of srand() to achieve more - randomized value. - * src/SimpleRandomizer.cc - * src/SimpleRandomizer.h - -2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Contact tracker frequently when the number of connections are 0 and - download is not finished yet. - * src/ActivePeerConnectionCommand.cc - * src/BtAnnounce.h - * src/DefaultBtAnnounce.cc - * src/DefaultBtAnnounce.h - * test/MockBtAnnounce.h - -2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Moved threshold values to UTPexExtensionMessage. - * src/DefaultBtInteractive.cc - * src/Peer.cc - * src/Peer.h - * src/UTPexExtensionMessage.cc - * src/UTPexExtensionMessage.h - * test/UTPexExtensionMessageTest.cc - -2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added _incoming member to Peer class and made it true if the peer - initiated connection. Don't add those peer to UTPex message. - If extended handshake is received, assign _incoming to false. - * src/DefaultBtInteractive.cc - * src/HandshakeExtensionMessage.cc - * src/Peer.cc - * src/Peer.h - * src/PeerListenCommand.cc - -2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made files whose name ends with ".gz", ".tgz" not inflated by Content - Encoding Decoder. Removed size threshold for turning off on the fly - inflation because resulting file may or may not be inflated depending - on the file size and I think it is not expected by users. - This change fixes segmentation fault when Metalink file contains gzipped - file and its filesize is provided. - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - -2008-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made Cookie immutable. - * src/Cookie.cc - * src/Cookie.h - * src/CookieParser.cc - * src/CookieParser.h - * src/CookieStorage.cc - * test/CookieParserTest.cc - * test/CookieStorageTest.cc - * test/NsCookieParserTest.cc - * test/Sqlite3MozCookieParserTest.cc - -2008-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed CookieBox, CookieBoxFactory. - * src/CookieBox.cc - * src/CookieBox.h - * src/CookieBoxFactory.cc - * src/CookieBoxFactory.h - * src/Makefile.am - -2008-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use CookieStorage class instead of CookieBox class. - Now CookieStorage accepts cookies from numeric host such as 192.168.1.1. - * src/AbstractProxyRequestCommand.cc - * src/CookieStorage.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/HttpConnection.cc - * src/HttpConnection.h - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/Makefile.am - * src/MultiUrlRequestInfo.cc - * src/Request.cc - * src/Request.h - * src/main.cc - * test/AllTest.cc - * test/CookieStorageTest.cc - * test/CookieTest.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - * test/Makefile.am - * test/NsCookieParserTest.cc - * test/Sqlite3MozCookieParserTest.cc - * test/nscookietest.txt - -2008-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated - * test/Cookies.sqlite - * test/nscookietest.txt - -2008-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added tests for CookieStorage::load() - * test/CookieStorageTest.cc - -2008-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added CookieStorage class which is based on RFC2109 and manages cookies - more strictly than CookieBox and CookieBoxFactory class. - * src/CookieStorage.cc - * src/CookieStorage.h - * src/Cookie.cc - * src/Cookie.h - * test/CookieStorageTest.cc - * test/CookieTest.cc - -2008-08-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that commands are created more than the number of pieces. - * src/RequestGroup.cc - -2008-08-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed infinite loop bug in FTP when SIZE command failed. - * src/FtpNegotiationCommand.cc - -2008-08-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed DirectDiskAdaptorTest.h - * test/Makefile.am - -2008-08-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed chunk checksum validation cannot detect trailing garbage data. - BUG#2074141 - * src/AbstractSingleDiskAdaptor.cc - * src/AbstractSingleDiskAdaptor.h - * src/CheckIntegrityEntry.cc - * src/CheckIntegrityEntry.h - * src/DiskAdaptor.h - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/RequestGroup.cc - * test/DirectDiskAdaptorTest.cc - * test/MultiDiskAdaptorTest.cc - * test/TestUtil.cc - * test/TestUtil.h - -2008-08-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number of dht.dat file to 3. In version 3 format, time - is stored in 64bit, network byte order. - New build can load old format(version 2) but it saves the file in new - format. It means once you used new build, your dht.dat becomes - incompatible with older build. - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * test/DHTRoutingTableSerializerTest.cc - -2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added load-v0001.aria2 and load-nonBt-v0001.aria2 to EXTRA_DIST. - * test/Makefile.am - -2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number of .aria2 control file to 0001. - New aria2 can still load version 0000 file but it saves the file in - version 0001 format. It means that new aria2 can resume download - started by old aria2 but the opposite is not true. - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtProgressInfoFile.h - * test/DefaultBtProgressInfoFileTest.cc - -2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added ntoh64 and hton64 as inline functions. - * src/Util.cc - * test/UtilTest.cc - -2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added sqlite3 depenency and Firefox3 cookie support. - * README - -2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - State that firefox3 cookie is supported explicitly in the usage. - * src/usage_text.h - -2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Externalized message. - * src/RequestGroupMan.cc - * src/message.h - -2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Save temporary file first and rename to the destination on success. - Added test cases. - * src/RequestGroupMan.cc - * test/RequestGroupManTest.cc - -2008-08-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that the number of connected peer is exceeding the limit - (55 by default) in seeding mode. - Multiplied 0.8 to _maxUploadSpeedLimit. - * src/ActivePeerConnectionCommand.cc - -2008-08-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Clear table item. - * src/Dictionary.cc - -2008-08-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed error handling of lseek. - * src/AbstractDiskWriter.cc - -2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed "(1.x/2.x)" from TEXT_LOAD_COOKIES since aria2 can load Firefox3 - style cookie file. - * src/usage_text.h - -2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - If a cookie whose expire date is later than 2038-01-19 03:14:07 GMT is - sent from server, its expire date is assumed to 2038-01-19 03:14:07 GMT. - If Util::httpGMT is failed, then Cookie::onetime is set to true. - * src/Util.cc - * src/Util.h - * src/CookieParser.cc - * test/UtilTest.cc - * test/CookieParserTest.cc - -2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Separate the implementation to load old mozilla format of cookie to - NsCookieParser class. - * src/CookieBoxFactory.cc - * src/CookieBoxFactory.h - * src/NsCookieParser.cc - * src/NsCookieParser.h - * test/NsCookieParserTest.cc - -2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made parse() const - * src/Sqlite3MozCookieParser.cc - * src/Sqlite3MozCookieParser.h - -2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added firefox3 cookie support based on the patch submitted by - tizianomueller. - firefox3 cookie is SQLite3 database. libsqlite3 is required to enable - this functionality. - * configure.ac - * m4/sqlite3.m4 - * src/CookieBoxFactory.cc - * src/CookieBoxFactory.h - * src/Makefile.am - * src/Makefile.in - * src/Sqlite3MozCookieParser.cc - * src/Sqlite3MozCookieParser.h - * src/main.cc - * test/CookieBoxFactoryTest.cc - * test/Makefile.am - * test/Makefile.in - * test/Sqlite3MozCookieParserTest.cc - * test/badcookies.sqlite - * test/cookies.sqlite - -2008-08-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Danish and Greek translations. - Updated Spanish, Catalan, Norwegian Nynorsk translations. - Great thanks to all translators. - * po/LINGUAS - * po/el.po - * po/da.po - * po/es.po - * po/ca.po - * po/nn.po - -2008-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed man page: --follow-bittorrent should be --follow-torrent - * doc/aria2c.1.txt - -2008-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed: numCommand is less than the value specified in -C option. - * src/RequestGroup.cc - -2008-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed occasional assertion failure in PieceSegment. - Calling PieceStorage::getMissingPiece(size_t) was missing after - canceling segments in SegmentMan::getSegment(int32_t). This resulted in - creation of duplicate segments and one of the segment was finished then - assertion failure was caused. - * src/SegmentMan.cc - * test/SegmentManTest.cc - -2008-08-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added options to load/save the server's performance/status to a file - and the timeout to drop their data. - --server-stat-of=FILE specifies the file to which performance data - is saved. - --server-stat-if=FILE specifies the file to read previously saved - by --server-stat-of option. Might be used with --uri-selector=feedback. - --server-stat-timeout=TIMEOUT specifies timeout to invalidate the data. - TIMEOUT is specified in seconds and the default value is 24hours. - * src/MultiUrlRequestInfo.cc - * src/OptionHandlerFactory.cc - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/ServerStatMan.cc - * src/ServerStatMan.h - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * test/ServerStatManTest.cc - -2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented ServerStatMan::removeStaleServerStat() and its test case. - * src/ServerStatMan.cc - * src/ServerStatMan.h - * test/ServerStatManTest.cc - -2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented ServerStatMan::load(...) function and its test case. - * src/ServerStat.cc - * src/ServerStat.h - * src/ServerStatMan.cc - * test/ServerStatManTest.cc - * test/ServerStatTest.cc - -2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use time_t instead of int32_t. Use int64_t where milli second is - expected. - * src/TimeA2.cc - * src/TimeA2.h - -2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented ServerStatMan::save(...) function and its test case. - * src/ServerStat.cc - * src/ServerStat.h - * src/ServerStatMan.cc - * src/ServerStatMan.h - * test/ServerStatManTest.cc - -2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now aria2 uses name attribute in Metalink as local filename in - BitTorrent downloads. BUG#2033999 - * src/BtContext.h - * src/BtDependency.cc - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/SingleFileDownloadContext.cc - * src/SingleFileDownloadContext.h - * test/BtDependencyTest.cc - * test/DefaultBtContextTest.cc - * test/MockBtContext.h - -2008-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added AC_C_BIGENDIAN - * src/configure.ac - -2008-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Limited numCommand less than or equal to the number of piece. - * src/RequestGroup.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Eliminated randomness from the test case. Removed #ifdef __MINGW32 - directive. - * test/DefaultPieceStorageTest.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed memory leak in test code - * test/AnnounceListTest.cc - * test/DefaultPeerListProcessorTest.cc - * test/DefaultPeerStorageTest.cc - * test/MetaFileUtilTest.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed wrong argument passing to BitfieldMan::isBitSet() - * src/DefaultPieceStorage.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Initialized _directIOAllowed - * src/MultiDiskAdaptor.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed memory leak - * src/GZipDecoder.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed memory leak - * src/MetalinkParserStateMachine.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed memory leak - * src/Dictionary.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed memory leak - * src/IteratableChunkChecksumValidator.h - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed unmatched malloc/free. - * src/IteratableChunkChecksumValidator.cc - * src/IteratableChecksumValidator.cc - -2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed max chunk size check. This change fixes BUG#2040169 - * src/ChunkedDecoder.cc - * src/ChunkedDecoder.h - * test/ChunkedDecoderTest.cc - -2008-08-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented download speed based URI selection algorithm. - Introduced new option --uri-selector. - If --uri-selector=feedback is given, aria2 uses download speed observed - in the previous downloads and chooses fastest server in the URI list. - Currently at most 10 URIs are considered to introduce randomeness for - finding better servers. The speed is average download speed in the - downloads. - On the other hand, if --uri-selector=inorder is given, which is default, - URI is tried in order in URI list. - The usage text for the new option has not been written yet. - * src/AbstractCommand.cc - * src/DownloadCommand.cc - * src/DownloadEngine.cc - * src/DownloadEngineFactory.cc - * src/InOrderURISelector.cc - * src/InOrderURISelector.h - * src/OptionHandlerFactory.cc - * src/PeerStat.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/SegmentMan.cc - * src/SegmentMan.h - * src/ServerStat.cc - * src/ServerStat.h - * src/ServerStatMan.cc - * src/ServerStatMan.h - * src/ServerStatURISelector.cc - * src/ServerStatURISelector.h - * src/URISelector.h - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * test/InOrderURISelectorTest.cc - * test/RequestGroupManTest.cc - * test/ServerStatManTest.cc - * test/ServerStatURISelectorTest.cc - -2008-08-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.15.1+2 - -2008-08-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.15.1+2 - * configure.ac - -2008-08-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that configure --enable-FEATURE actually disables FEATURE. - * m4/aria2_arg.m4 - -2008-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.15.1+1 - -2008-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.15.1+1 - * configure.ac - -2008-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that causes segmentaion fault when resuming download - using metalink without size tag. Reproducible only using HTTP URI. - * src/HttpResponseCommand.cc - * src/FtpNegotiationCommand.cc - -2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.15.1 - -2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated Bulgarian and French translations, thanks to all translators. - * po/bg.po - * po/fr.po - -2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.15.1 - * configure.ac - -2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Avoid repeated call of gettimeofday() when calculating speed. - * src/SpeedCalc.cc - * src/SpeedCalc.h - -2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed writable check when socket's send buffer is full in BitTorrent - downloads to lower CPU usage. - * src/PeerInteractionCommand.cc - -2008-07-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed broken gzip inflation. - Turn off segmented downloading if gzip content is smaller than or equal - to 1MiB and inflate the data on the fly, because HTTP response header - doesn't contain the length of inflated file we can't determin where - the chunk of data should be written. - On the other hand, if gzip content is larger than 1MB, then turn off - on the fly inflation, because some servers returns "content-type: gzip" - for *.tgz, *.gz files. - * src/DownloadCommand.cc - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - -2008-07-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied tizianomueller's patch to fix compile error. - * test/BitfieldManTest.cc - * test/BtRequestMessageTest.cc - * test/DefaultBtContextTest.cc - * test/DefaultDiskWriterTest.cc - * test/DefaultPieceStorageTest.cc - * test/HttpHeaderProcessorTest.cc - * test/HttpResponseTest.cc - * test/Metalink2RequestGroupTest.cc - * test/MetalinkParserControllerTest.cc - * test/MetalinkProcessorTest.cc - * test/PeerSessionResourceTest.cc - * test/UtilTest.cc - -2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.15.0 - -2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reordered src files in POTFILES.in so that usage text appears first. - * po/POTFILES.in - -2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.15.0 - * configure.ac - -2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Bulgarian translation. - Updated Catalan, Spanish, French and Japanese translations. - Thanks to all translators. - * po/LINGUAS - * po/bg.po - * po/ca.po - * po/es.po - * po/fr.po - * po/ja.po - -2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated feature list. Added libz for dependency section. - Added a description about unit testing using CppUnit. - * README - -2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added a test for libz. Quoted where it is necessary. - * build_test.sh - -2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added GZip to `Enabled Features' list. - * src/FeatureConfig.cc - * src/FeatureConfig.h - * test/FeatureConfigTest.cc - -2008-07-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now SegmentMan::findSlowerSegmentEntry() picks up the segment for which - the transfer has not yet started. - Rewritten SegmentMan::registerPeerStat() and SegmentMan::getPeerStat(). - * src/SegmentMan.cc - * src/SegmentMan.h - * test/SegmentManTest.cc - -2008-07-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Cache last calculated average download/upload speed. - PeerStat::getAvgDownloadSpeed(), PeerStat::getAvgUploadSpeed() return - cached value. - Now SpeedCalc::changeSw() is called from SpeedCalc::calculateSpeed() - * src/PeerStat.h - * src/SpeedCalc.cc - * src/SpeedCalc.h - -2008-07-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Call parseUrl directly. - * src/Request.cc (resetUrl) - -2008-07-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Supported absolute/relative path in Location header field. - * src/AbstractCommand.cc: Call resetUrl() when DlRetryEx is caught. - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpResponse.cc - * src/HttpSkipResponseCommand.cc - * src/Request.cc - * test/HttpHeaderTest.cc - * test/HttpResponseTest.cc - * test/RequestTest.cc - -2008-07-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed help text for --load-cookie option. - * doc/aria2c.1.txt - * src/usage_text.h - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Regenerated test/Makefile.in to remove stale ChangeLog. - * test/Makefile.in - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated po files. - * po/aria2c.pot - * po/*.po - * po/*.gmo - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.15.0b - * configure.ac - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Externalize messages. - * src/RequestGroupMan.cc - * src/message.h: Added MSG_SIGNATURE_SAVED, MSG_SIGNATURE_NOT_SAVED. - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use File::exists() instead of File::isFile() to allow non-regular file - such as block special files. - * src/AbstractDiskWriter.cc - * src/MultiDiskWriter.cc - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Supplied missing EAI_SYSTEM. Thanks ggknauf for the patch. - * src/gai_strerror.h - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error. Thanks gknauf for the patch. - * src/asctime_r.c - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included asctime_r.h from a2time.h. - * src/a2time.h - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added a message "aria2 doesn't verify signature" to log message when - signature file is saved. - * src/RequestGroupMan.cc - -2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to save signature when download is completed if - signature is available. The filename of signature file is the path to - download file followed by ".sig". If it already exists, then signature - will not be saved. - * src/RequestGroupMan.cc - * src/Signature.cc - * test/SignatureTest.cc - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated the descriptions for --bt-seed-unverified. - * doc/aria2c.1 - * doc/aria2c.1.html - * doc/aria2c.1.txt - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Renamed --bt-seed option as --bt-seed-unverified so that it makes clear - that this is not going to verify files using piece hashes. - * src/HelpItemFactory.cc - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to retrieve signature from Metalink file. - A retrieved signature is stored in Signature class and it is held by - DownloadContext class. Note that aria2 doesn't verify signature. - * src/DownloadContext.cc - * src/DownloadContext.h - * src/Makefile.am - * src/Makefile.in - * src/Metalink2RequestGroup.cc - * src/MetalinkEntry.cc - * src/MetalinkEntry.h - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/Signature.cc - * src/Signature.h - * src/SignatureMetalinkParserState.cc - * src/SignatureMetalinkParserState.h - * src/VerificationMetalinkParserState.cc - * src/VerificationMetalinkParserState.h - * test/Metalink2RequestGroupTest.cc - * test/MetalinkParserControllerTest.cc - * test/MetalinkProcessorTest.cc - * test/test.xml - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Close DiskAdaptor after renaming file. - * src/RequestGroup.cc - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Corrected indentation - * src/DefaultBtProgressInfoFile.cc - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Moved the calls of std::ios::exceptions() inside of try-catch block - because if an error occurred in constructor of std::fstream, then - exception is thrown immediately when std::ios::exceptions() is called - which results unhandled exception and aria2c aborts. - * src/DefaultBtProgressInfoFile.cc - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the test for the previous change in DefaultBtContext.cc - * test/DefaultBtContextTest.cc - -2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that causes infinite loop when the number of pieces are - fewer than allowed fast set size which is 10 by default. - * src/DefaultBtContext.cc - -2008-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated the descriptions for -j, -s. Added --bt-seed. - * doc/aria2c.1 - * doc/aria2c.1.html - * doc/aria2c.1.txt - -2008-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --bt-seed option. If --bt-seed=true is given at the command-line, - aria2 seeds previously downloaded files without validating piece hashs. - * src/HelpItemFactory.cc - * src/OptionHandlerFactory.cc - * src/RequestGroup.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated DESCRIPTION of man page. - * doc/aria2c.1 - * doc/aria2c.1.html - * doc/aria2c.1.txt - -2008-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the compile error on Nexenta OS(GNU/Solaris OS). - Don't define `struct addrinfo' when __sun is defined. - * src/getaddrinfo.h - -2008-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Introduced a2_struct_stat. It is defined as `struct _stati64' if - __MINGW32__ is defined, because under MinGW32, _stati64 is used and its - second argument is of type `struct _stati64'. Otherwise it is defined as - `struct stat'. - * src/AbstractDiskWriter.cc - * src/File.cc - * src/File.h - * src/a2io.h - -2008-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the compile error in hurd-i386 - See the original bug report: - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488602 - * src/a2io.h - -2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Code cleanup. - * src/PeerAbstractCommand.cc - * src/PeerAbstractCommand.h - -2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed TransferEncoding. - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/HttpResponseCommand.cc - -2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated po files. - * po/aria2c.pot - * po/*.po - * po/*.gmo - -2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten ChunkedEncoding class as ChunkedDecoder class. - * src/A2STR.cc - * src/A2STR.h - * src/ChunkedDecoder.cc - * src/ChunkedDecoder.h - * src/ChunkedEncoding.cc: Removed - * src/ChunkedEncoding.h: Removed - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/HttpDownloadCommand.cc - * src/HttpResponse.cc - * src/HttpResponse.h - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/HttpSkipResponseCommand.h - * src/Makefile.am - * src/TransferEncoding.h: Removed - * test/ChunkedDecoderTest.cc - * test/ChunkedEncodingTest.cc: Removed - * test/HttpResponseTest.cc - * test/Makefile.am - -2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use append instead of insert. - * src/GZipDecoder.cc - -2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated doc - * src/Decoder.h - -2008-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated usage text for -s option. - * src/usage_text.h - -2008-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that UTF-8 encoded URL is not URL-encoded properly. - * src/Request.cc - -2008-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Cleaned up configure.ac. - * configure.ac - -2008-06-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use ARIA2_ARG_WITH and ARIA2_ARG_ENABLE instead of AC_ARG_WITH and - AC_ARG_ENABLE. - * configure.ac - -2008-06-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added gzip, deflate decoding support in HTTP using libz. If compiled - with this feature, aria2 sends "Accept-Encoding: deflate, gzip" header - to a HTTP server. If a server returns "Content-Encoding: gzip" or - "Content-Encoding: deflate" then, aria2 decodes the response body on the - fly and writes decoded data to a local disk. - * README - * README.html - * configure.ac - * m4/aria2_arg.m4: Added ARIA2_ARG_WITH and ARIA2_ARG_ENABLE, they are - wrapper function for AC_ARG_WITH and AC_ARG_ENABLE respectively. - * m4/libz.m4 - * src/Decoder.h - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/Exception.h - * src/GZipDecoder.cc - * src/GZipDecoder.h - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpResponse.cc - * src/HttpResponse.h - * src/HttpResponseCommand.cc - * src/Makefile.am - * test/GZipDecoderTest.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - * test/Makefile.am - * test/Makefile.in - * test/gzip_decode_test.gz - -2008-06-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Clarified usage of -j option. - * src/usage_text.h - -2008-06-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Disabled getting size from the response of RETR. - If SIZE command failed, then disable resuming and segmented downloading. - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - -2008-06-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use digits to find first byte of file size, which makes the intention - of the code clearer. - * src/FtpConnection.cc - - Don't call validateTotalLength() when size is 0. - * src/FtpNegotiationCommand.cc - -2008-06-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated po files. - * po/aria2c.pot - * po/*.gmo - * po/*.po - -2008-06-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Clarified usage text for --split option. - * src/usage_text.h - -2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.15.0dev. "dev" means "development" - version, which means I started the development of the next release! - * src/configure.ac - -2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - If FTP server returns negative response with REST raw command and - requested range is not 0, throw exception. If requested range is 0, - continue download a file from 0 byte. - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - -2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Supported FTP server which don't recognize SIZE raw command. - If SIZE raw command is failed, aria2 will try to get file size - from the response of RETR raw command. If both attempts are failed, - then resuming and segmented downloading are disabled. - * src/FtpConnection.cc - * src/FtpConnection.h - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - -2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.14.0+1 - -2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.14.0+1 - * src/configure.ac - -2008-06-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the code that refers static member variable from non-static - context. - * src/DefaultPeerStorage.cc - -2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.14.0 - -2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added build test script - * build_test.sh - -2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated ja.po - * src/ja.po - -2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.14.0 - * src/configure.ac - -2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated ja.po and fr.po. Great thanks for french translators and - Sebastien WILLEMIJNS. - * po/fr.po - * po/ja.po - -2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added configure option to enable/disable epoll support. - * configure.ac - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated man page. - * doc/aria2c.1.txt - * doc/aria2c.1 - * doc/aria2c.1.html - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added missing default value '5' to the usage of --split option. - * src/HelpItemFactory.cc - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Filled up pieces based on the number of missing blocks, rather than - simplay the number of piece * block length. - * src/BtRequestFactory.h - * src/DefaultBtInteractive.cc - * src/DefaultBtInteractive.h - * src/DefaultBtRequestFactory.cc - * src/DefaultBtRequestFactory.h - * src/Piece.cc - * src/Piece.h - * test/BitfieldManTest.cc - * test/DefaultBtRequestFactoryTest.cc - * test/MockBtRequestFactory.h - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made _epEvents a member variable. - * src/DownloadEngine.cc - * src/DownloadEngine.h - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Cancel download if http redirect is bounded more than 20 times. - * src/AbstractCommand.cc - * src/HttpSkipResponseCommand.cc - * src/Request.cc - * src/Request.h - * test/RequestTest.cc - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed unhandled exception(removed keyword `new'). - * src/SocketCore.cc (initEPOLL) - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed visit(const MetaEntry*) - * src/MetaEntryVisitor.h: - Added visit(const Data*),visit(const Dictionary*),visit(const List*) - and made them virtual. - * src/BencodeVisitor.h - * src/BencodeVisitor.cc - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated po files. - * po/aria2c.pot - * po/*.po - * po/*.gmo - -2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Moved the call setWriteCheckSocket inside the previous clause to reduce - the number of socket to watch out. - * src/PeerInteractionCommand.cc - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - When there is not enough space in disk when writing a chunk of data, - aria2 now prints the message to the console to warn user and aborts - its download. Not all downloads are canceled because some downloads - may use another disk or partition. BUG#1640332 - * src/AbstractDiskWriter.cc - * src/PeerAbstractCommand.cc - * src/PeerAbstractCommand.h: Added onFailure() function for override. - * src/PeerInteractionCommand.cc: In onFailure(), call RequestGroup:: - setHaltRequested(true) to cancel download. - * src/PeerInteractionCommand.h - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw-5.patch, which changes the type of - socket from int to sock_t as sockets are unsigned in Windows. - For AsyncNameResolver, DownloadEngine, I did additional modification - for the portion of the code changed according to epoll support. - I defined sock_t in a2netcompat.h to use sock_t without including - SocketCore.h. - * src/AsyncNameResolver.cc - * src/AsyncNameResolver.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/SocketCore.cc - * src/SocketCore.h - * src/a2netcompat.h - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw-4.patch. With this change, all - changes in the patch were applied. - * test/DHTConnectionImplTest.cc: Fixed unit test error in MinGW. - * test/DefaultPieceStorageTest.cc: Fixed unit test error in MinGW. - * test/PeerMessageUtilTest.cc: Fixed unit test error in MinGW. - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this change, - a2io.h and common.h were modified. - * src/a2io.h: Changed seek/stat/tell calls to use 64 bit versions in - MinGW. - * src/common.h: Changed off_t to 64 bit in MinGW. - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit, - only a2netcompat.h is modified. - * src/a2netcompat.h: Removed unused getaddrinfo related #define - directives. - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit, - only gai_strerror.h is modified. - * src/gai_strerror.h: Fixed gai_strerror() function to report all - winsock errors in MinGW. - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit, only the - follow sources are applied. - * src/Platform.h: I removed HAVE_WINSOCK2_H directive from Platform.h. - * src/Platform.cc: Moved common setup/teardown code to Platform class. - I moved #endif // HAVE_WINSOCK2_H to the front of #include "DlAbortEx.h" - I included locale.h from Platform.cc. - * src/main.cc: Moved common setup/teardown code to Platform class. - * test/AllTest.cc: Use Platform class. - Set locale to C in AllTest.cc to prevent the messages to be localized. - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw-3.patch. - * test/HttpHeaderTest.cc: Casted to off_t where it should. - * test/HttpRequestTest.cc: Casted to off_t where it should. - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's aria2-0.13.2+1-mingw.patch and - aria2-0.13.2+1-mingw-2.patch. - * src/ConsoleStatCalc.cc: Added HAVE_TERMIOUS_H directive for the - systems which don't have termious.h. I moved the directive inside of - if(isTTY) { ... clause so that line is wiped out without termious.h. - I also removed HAVE_ASCTIME_R clause because asctime_r is provided - anyway. - * src/asctime_r.h - * src/asctime_r.c: Added for the systems don't have asctime_r function. - I added 2nd argument to the prototype declaration. - * src/StringFormat.cc: Get rid of vasprintf. - * src/getaddrinfo.h: Fixed constants. - * configure.ac: Added the check for asctime_r function. - * src/Makefile.am: Added conditional based on HAVE_ASCTIME_R - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added writable test for Socket when the sending message is in progress. - Usually the sending message is piece message. Without wriable check, - upload latency is dropped to more than 1sec. - * src/PeerInteractionCommand.cc - -2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Create only requested files and files which shares a piece with - requested file in multi-torrent downloads. Directory structures are - also created in the same rule. - MultiDiskAdaptor::fileExists() now uses FileEntry instead of - DiskWriterEntry as in the previous implementation. - * src/MultiDiskWriter.cc - * src/MultiFileAllocationIterator.cc - * src/MultiFileAllocationIterator.h - * test/MultiFileAllocationIteratorTest.cc - -2008-06-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Commented out -lprofiler - * src/Makefile.am - -2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.14.0b. - * src/configure.ac - -2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Actively establish connection to peers in seeding, when peer cache - is not full and max upload speed limit is not reached. - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - -2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Always remove a peer from cache in DefaultPeerStorage::returnPeer(), - to make room more fleshy, recently found peers. - Peer::_badConditionStartTime is not used anymore. Consider to remove - it. - * src/DefaultPeerStorage.cc - * test/DefaultPeerStorageTest.cc - -2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Returns cached data only when the previous receiveHandshake() is called - with peek = true. - * src/PeerConnection.cc (receiveHandshake) - * src/PeerConnection.h (receiveHandshake) - -2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed default value of -s option from 1 to 5. - Also max value of -s option is changed from 5 to 16. - * src/HelpItemFactory.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/usage_text.h - -2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed -s options behavior. Now it means the number of connections - made simultaneously in each http/ftp download. - If 1 URL is specified, the behavior is the same with old implementation. - If -s N is given and more than N URLs are specified, first N URLs are - used and remaining URLs are used for backup. If less than N URLs are - specified, some of URLs are used more than once so that totally N - connections are made simultaneously. - * src/main.cc - -2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included missing iosfwd or ostream header. - * src/RequestGroupMan.cc - * src/TaggedItem.cc - * src/TaggedItem.h - * src/Util.cc - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/HttpHeaderProcessor.cc: Rewritten using std::string as a buffer. - * src/HttpHeaderProcessor.h: Rewritten using std::string as a buffer. - * src/HttpConnection.cc: Included missing sstream. - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --bt-max-open-files option. - * src/DefaultPieceStorage.cc - * src/HelpItemFactory.cc - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that aria2 aborts when a path to a directory is given - in command-line. - * src/ProtocolDetector.cc - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Limited the number files opened in each BitTorrent download. The default - value is 100. The option to change this value will be added. - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - * src/MultiFileAllocationIterator.cc - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that HTTP downloads don't start with old libraries. - * src/HttpHeaderProcessor.cc - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use empty() instead of size() > 0. - * src/HttpConnection.cc - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Drop connection if the incoming peer ID is the same with localhost's - one. The previous implementation drops connection when incoming peer's - IP address is the same with localhost's one. - * src/PeerListenCommand.cc - * src/DefaultBtInteractive.cc - -2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Returns cached data without checking whether socket is readable - if the cache is available. - * src/PeerConnection.cc (receiveHandshake) - -2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included stdint.h - * src/common.h - -2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed duplicate HAVE_GETTIMEOFDAY - * src/Makefile.am - * src/Makefile.in - -2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use interval as a minInterval when minInterval is not supplied. - * src/DefaultBtAnnounce.cc - -2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made DEFAULT_ANNOUNCE_INTERVAL 120, so that if first tracker request - attempt is failed, then 2nd attempt get kicked out more quickly. - And it is now static const member of DefaultBtAnnounce. - * src/DefaultBtAnnounce.h - -2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Renamed BtRuntime::lessThanMinPeers() and BtRuntime::lessThanEqMinPeers. - Made MAX_PEERS and MIN_PEERS static const members of BtRuntime. - * src/ActivePeerConnectionCommand.cc - * src/BtConstants.h - * src/BtRuntime.h - * src/DHTGetPeersCommand.cc - * src/DefaultBtAnnounce.cc - * src/DefaultPeerStorage.cc: Calculate maxPeerListSize based on - BtRuntime::MAX_PEERS. - * src/DefaultPeerStorage.h - * src/InitiatorMSEHandshakeCommand.cc - * src/PeerInitiateConnectionCommand.cc - * src/PeerInteractionCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * src/TrackerWatcherCommand.cc - -2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Always Connect to _numNewConnection - * src/ActivePeerConnectionCommand.cc - -2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made `begin' unsigned int. - * src/GrowSegment.h - * src/Piece.cc - * src/Piece.h - * src/PiecedSegment.cc - * src/PiecedSegment.h - * src/Segment.h - -2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Calculate piece hash when data is arrived if the data is arrived in - order. This removes additional read operation for hash calculation. - If the data is arrived in out of order, the hash is calucated when the - piece is completed. This is the same behavior as the old implementation. - * src/BtPieceMessage.cc - * src/DefaultBtProgressInfoFile.cc - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/DownloadCommand.h - * src/DownloadEngine.cc - * src/GrowSegment.cc - * src/GrowSegment.h - * src/Piece.cc - * src/Piece.h - * src/PiecedSegment.cc - * src/PiecedSegment.h - * src/Segment.h - * test/PieceTest.cc - -2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Try to keep the ordering of outgoing piece message. - * src/DefaultBtMessageDispatcher.cc - (DefaultBtMessageDispatcher::sendMessages) - -2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed busy loop when error/hup epoll events occur. - * src/AbstractCommand.cc - * src/PeerAbstractCommand.cc - -2008-06-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --bt-request-peer-speed-limit option, which was a constant - SLOW_SPEED_THRESHOLD. - * src/ActivePeerConnectionCommand.cc - * src/ActivePeerConnectionCommand.h - * src/BtConstants.h - * src/HelpItemFactory.cc - * src/OptionHandlerFactory.cc - * src/PeerReceiveHandshakeCommand.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - * src/usage_text.h - -2008-06-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed repeated call of getTopDirPath(). Instead, call it once and - cache the result. - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - (mkdir, openFile, initAndOpenFile, openExistingFile) - -2008-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error on debian etch. - The libc6 shipped with debian etch doesn't define ULLONG_MAX properly - even if _GNU_SOURCE is defined. So define ULLONG_MAX in case when - it is undefined. - * src/Util.cc (ULLONG_MAX) - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added epoll support. Use epoll if it is available. If not, use select. - When async dns is enabled in compile time, epoll support is enabled - only when aria2 is built with c-ares. This condition statement is - defined in a2io.h. - Currently aria2 supports both c-ares and ares, but ares is maintained - for quite a while and debian already has c-ares package, ares support - will be dropped in the future version. - * configure.ac - * src/AbstractCommand.cc - * src/AsyncNameResolver.cc - * src/AsyncNameResolver.h - * src/Command.cc - * src/Command.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/PeerAbstractCommand.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/a2io.h - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * test/MetalinkEntryTest.cc: Added missing `defined' keyword to #if - directive. - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Do not do write operation to /dev/null file. - * src/LogFactory.cc - * src/SimpleLogger.cc - - Replaced vasprintf with vsnprintf - * src/SimpleLogger.cc (SimpleLogger::writeLog) - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/BtRequestMessage.cc - (BtRequestMessage::onQueue): Given piece to RequestSlot. This is a fix - for segmentation fault caused by previous commit. - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reduced the usage of gettimeofday(). - * src/DefaultBtMessageDispatcher.cc - (DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing) - (class FindStaleRequestSlot, class ProcessStaleRequestSlot) - * src/RequestSlot.cc - * src/RequestSlot.h - (RequestSlot::isTimeout) - - Made RequestSlot have a reference to Piece object to avoid find - Piece repeatedly. - * src/DefaultBtMessageDispatcher.cc - (class FindStaleRequestSlot, class ProcessStaleRequestSlot) - * src/RequestSlot.cc - * src/RequestSlot.h - (RequestSlot::getPiece) - * test/DefaultBtMessageDispatcherTest.cc - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/TimeA2.cc - * src/TimeA2.h - (Time::difference): New function. - (Time::elapsed): Done optimization. - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/HelpItemFactory.cc: Added missing `defined' keyword to #if - directive. - -2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/option_processing.cc: Added missing `defined' keyword to #if - directive. - -2008-05-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.2+1 - * src/configure.ac - -2008-05-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Refactored broken outstanding piece handling. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/Piece.cc - * src/Piece.h - -2008-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error on Mac OS X 10.3.9. This error was caused by the - name collision of static variable and predefined macro. - * src/BtContext.cc - * src/BtContext.h - * src/CookieBoxFactory.cc - * src/CookieBoxFactory.h - * src/CookieParser.cc - * src/CookieParser.h - * src/DefaultBtContext.cc - -2008-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/RequestGroup.cc - (RequestGroup::createInitialCommand): Use empty() instead of size(). - -2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.13.2 - -2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated fr.po(thanks to Sebastien) and ja.po. ThanksDone make update-po - * po/fr.po - * po/ja.po - * po/aria2c.pot - * po/*.po - * po/*.gmo - -2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.2 - * src/configure.ac - -2008-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Refactord. - * src/RequestGroupMan.cc - (removeStoppedGroup) - (fillRequestGroupFromReserver) - -2008-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error on Ubuntu. - * src/BtPieceMessage.cc - * src/MessageDigestHelper.cc - * src/Util.cc - -2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error when configured with --disable-bittorrent - * test/DownloadHandlerFactoryTest.cc - -2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Done make update-po - * po/aria2c.pot - * po/*.po - * po/*.gmo - -2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.2rc. - * src/configure.ac - -2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made option name bold. Updated SYNOPSIS to make it more readable. - * doc/aria2c.1.txt - * doc/aria2c.1 - * doc/aria2c.1.html - * src/version_usage.cc - -2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Refactored. Use std::string instead of size and char*. - * Data.cc - * Data.h - * test/Data.cc - -2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added trimSelf(). Rewritten trim() to use trimSelf(). - * Util.cc - * Util.h - -2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/ChunkChecksum.h (getChecksum): Return const reference. - -2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error when configured with --disable-metalink. - Also moved test/DownloadHandlerFactoryTest.cc to SRC in Makefile.am. - * test/FeatureConfigTest.cc - * test/DownloadHandlerFactoryTest.cc - -2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error when configured with --without-gnutls - --without-openssl - * src/main.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/SegmentManTest.cc - -2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error with OpenSSL. - * src/IteratableChunkChecksumValidator.cc - * src/LibsslDHKeyExchange.h - * src/MessageDigestHelper.cc - -2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Revert the default value of --max-concurrent-downloads to 5. - Revert the default value of --metalink-servers to 5. - Man pages was also updated. - * src/option_processing.cc - * doc/aria2c.1.txt - * doc/aria2c.1.html - * doc/aria2c.1 - -2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Returns const reference: - DownloadContext::getPieceHash, DownloadContext::getName, - DownloadContext::getPieceHashAlgo, DownloadContext::getDir, - BtContext::getInfoHashAsString, - * src/BtContext.h - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/DownloadContext.h - * src/SingleFileDownloadContext.h - * test/MockBtContext.h - -2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/RequestGroup.h (getDir): Removed. - -2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Returns const reference. The internal urlencode function was optimized - a little bit. - * src/Request.cc - * src/Request.h - * src/HttpRequest.cc - * src/HttpRequest.h - -2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined option name and possible values as std::string to reduce - temporary string object creation in runtime. - * src/HelpItemFactory.cc - * src/LogFactory.cc - * src/Option.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.cc - * src/prefs.h - -2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Return const reference. - * src/DownloadHandlerConstants.cc - * src/DownloadHandlerConstants.h - (getMetalinkExtensions) - (getMetalinkContentTypes) - (getBtExtensions) - (getBtContentTypes) - -2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/HttpHeader.cc (get): Rewritten. - -2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Make HttpHeader::getFirst(...) return const reference. - * src/HttpHeader.cc - * src/HttpHeader.h - -2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use Option::getAsBool(...) instead of Option::get(...) and compare - it with V_TRUE. - * src/DefaultPieceStorage.cc - * src/DownloadCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpRequest.cc - * src/InitiateConnectionCommand.cc - * src/RequestGroup.cc - -2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made Option::get(...) return const reference of std::string. - * src/Option.cc - * src/Option.h - -2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Replaced std:copy with insert. - * src/DefaultBtMessageDispatcher.cc - * src/DefaultPieceStorage.cc - * src/DownloadEngineFactory.cc - * src/RequestGroup.cc - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included SocketCore.h to fix compiler warning. - * src/InitiateConnectionCommand.cc - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Put piece selection strategy algorithm to RarestPieceSelector class, - Added a switch to choose whether randomized selection so that unit - tests emit same results in, possibly, win32. - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/RarestPieceSelector.cc - * src/RarestPieceSelector.h - * test/DefaultPieceStorageTest.cc - * test/RarestPieceSelectorTest.cc - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Don't pool connection if HTTP proxy is enabled. - * src/FtpFinishDownloadCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpSkipResponseCommand.cc - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Don't add closed socket to DownloadEngine::addSocketForReadCheck() - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/ActivePeerConnectionCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/InitiateConnectionCommandFactory.cc - * src/PeerAbstractCommand.cc - * src/PeerAbstractCommand.h - * src/PeerInitiateConnectionCommand.cc - * src/TrackerWatcherCommand.cc - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Sort RequestSlot in ascending order and manipulate them using - lower_bound. - * src/DefaultBtMessageDispatcher.cc - * src/DefaultBtMessageDispatcher.h - (getMessageQueue): Added const qualifier. - (getRequestSlots): Added const qualifier. - (sendMessages): Use empty() instead of size(). - (doCancelSendingPieceAction): Use HandleEvent object. - (doAbortOutstandingRequestAction): Rewritten. - (doChokedAction): Rewritten. - (checkRequestSlotAndDoNecessaryThing): Rewritten. - (isOutstandingRequest): Rewritten. - (getOutstandingRequest): Rewritten. - (removeOutstandingRequest): Rewritten. - (addOutstandingRequest): Rewritten. - * src/RequestSlot.cc - * src/RequestSlot.h - (operator=): Rewritten. - (operator!=): New function. - (operator<): New function. - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/DefaultBtRequestFactory.cc - (doChokedAction): Rewritten. - (removeCompletedPiece): Rewritten. - (removeTargetPiece): Rewritten. - (createRequestMessages): Added the debug log. - (createRequestMessagesOnEndGame: Added the debug log. - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the debug log message. - * src/BtPieceMessage.cc (doReceivedAction) - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Sorted DHTPeerAnnounceEntry in a ascending order of info hash and - used lower_bound to process them rather than linear search. - * src/DHTPeerAnnounceStorage.cc - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Call subtractPieceStats from ~PeerInteractionCommand only when the - peer has at least one completed piece. - * src/Peer.cc - * src/Peer.h - * src/PeerInteractionCommand.cc - * src/PeerSessionResource.cc - * src/PeerSessionResource.h - -2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed unnecessary sorting - * src/DefaultPieceStorage (DefaultPieceStorage) - -2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten the portion of the code that mangaes allowed fast indexes. - * src/PeerSessionResource.cc - * src/PeerSessionResource.h - -2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed the invalid string including '\r' from ru.po and - did make update-po. - -2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --log-level and --summary-interval to man page. - * doc/aria2c.1.txt - * doc/aria2c.1.html - * doc/aria2c.1 - -2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --log-level option to specify log level. Log messages under - the specified level are not output. Default value is `debug'. - * src/HelpItemFactory.cc - * src/LogFactory.cc - * src/LogFactory.h - * src/Logger.h - * src/OptionHandlerFactory.cc - * src/SimpleLogger.cc - * src/SimpleLogger.h - * src/main.cc - * src/option_processing.cc - * src/prefs.h - * src/usage_text.h - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Print download progress summary of all parallel downloads in specified - interval, default 60 secs. While aria2 could download several files - in parallel (see -j option), it displayed just first download progress, - and the other downloads are hidden from the users. This new feature - prints all downloads currently in-progress to the console so that you - can check the status of all downloads. The interval can be adjusted - by --summary-interval option. - - The progress readout is now cut so that all fits in the one line of - console. - * src/ConsoleStatCalc.cc - * src/ConsoleStatCalc.h - * src/HelpItemFactory.cc - * src/OptionHandlerFactory.cc - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/main.cc - * src/option_processing.cc - * src/prefs.h - * src/usage_text.h - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Call updateFdSet() to initialize rfdset, wfdset fdmax. - * src/DownloadEngine.cc (DownloadEngine) - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use free() to deallocate memory for _buffer if HAVE_POSIX_MEMALIGN is - defined. - * src/SingleFileAllocationIterator.cc (~SingleFileAllocationIterator) - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use erase+lower_bound+insert instead of sort. - * src/DefaultPieceStorage.cc (addPieceStats) - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use A2STR::SHARP_C and A2STR::EQUAL_C. - * src/A2STR.cc - * src/A2STR.h - * src/OptionParser.cc (parse) - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined fake filename `[tracker.announce]' as static const std::string. - * src/TrackerWatcherCommand.cc (createRequestGroup) - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined default filename `index.html' as static const std::string - * src/SingleFileDownloadContext.cc - * src/SingleFileDownloadContext.h - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined "[MEMORY]" as static const std::string. - * src/MemoryBufferPreDownloadHandler.cc (execute) - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined control file's version number as static const std::string. - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtProgressInfoFile.h - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use Request::METHOD_GET - * src/RequestGroup.cc (createNextCommandWithAdj) - -2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined "OK", "ERR", "INPR" as static const std::string - * src/RequestGroupMan.cc (showDownloadResults) - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined default client used in extended handshake as static const - std::string - * src/DefaultBtInteractive.cc (addHandshakeExtendedMessageToQueue) - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined AUTH_HEADER, PROXY_AUTH_HEADER as static const std::string - * src/HttpConnection.cc (eraseConfidentialInfo) - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined default ftp user and password as static const std::string - * src/AuthConfigFactory.cc - * src/AuthConfigFactory.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined strings used in netrc as static const std::string - * src/Netrc.cc - * src/Netrc.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined HTTP status as static const std::string - * src/AbstractProxyResponseCommand.cc - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpResponse.cc - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined "\r\n", "A", "I" as static const std::string - * src/A2STR.cc - * src/A2STR.h - * src/FtpConnection.cc - * src/FtpConnection.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added COLON_C(".") and used it in Request::parseUrl() - * src/A2STR.cc - * src/A2STR.h - * src/Request.cc (parseUrl) - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed the type of padName from `const std::string&' to `const char*'. - * src/MSEHandshake.cc (verifyPadLength) - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined "sha1" as static const std::string. - * src/MetalinkParserController.cc - * src/MetalinkParserController.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined message digest algorithm name as static const std::string - * src/DHTTokenTracker.cc - * src/DHTUtil.cc - * src/DefaultBtContext.cc - * src/MSEHandshake.cc - * src/MessageDigestHelper.cc - * src/Peer.cc - * src/messageDigest.cc - * src/messageDigest.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string literals used in SAX parser static const std::string. - * src/FileMetalinkParserState.cc - * src/FileMetalinkParserState.h - * src/FilesMetalinkParserState.cc - * src/FilesMetalinkParserState.h - * src/InitialMetalinkParserState.cc - * src/InitialMetalinkParserState.h - * src/MetalinkMetalinkParserState.cc - * src/MetalinkMetalinkParserState.h - * src/PiecesMetalinkParserState.cc - * src/PiecesMetalinkParserState.h - * src/ResourcesMetalinkParserState.cc - * src/ResourcesMetalinkParserState.h - * src/VerificationMetalinkParserState.cc - * src/VerificationMetalinkParserState.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use A2STR::SLASH_C, A2STR::DOT_C instead of "/", "." respectively. - * src/A2STR.cc - * src/A2STR.h - * src/File.cc - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Defined static const std::string IP("ip"), PORT("port") and use them - instead of string literals. - * src/DefaultPeerListProcessor.cc - * src/DefaultPeerListProcessor.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string literals for torrent file processing static const - std::string. - * src/BtContext.cc - * src/BtContext.h - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string literal for tracker response static const std::string - * src/BtAnnounce.cc - * src/BtAnnounce.h - * src/DefaultBtAnnounce.cc - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use DHTMessage::T instead of "t". - * src/DHTMessageTracker.cc (messageArrived) - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made keyName static const. Made trimmed charset static const - std::string. - * src/Util.cc (getContentDispositionFilename) - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made USER_AGENT const. Made "/" static const std::string. - * src/A2STR.cc - * src/A2STR.h - * src/HttpRequest.cc - * src/HttpRequest.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string listeral to static const std::string: - "Content-Range", "Content-Length" - * src/HttpHeader.cc - * src/HttpHeader.h - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string listeral to static const std::string. - * src/HttpConnection.cc - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpResponse.cc - -2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string listeral to static const std::string. - * src/A2STR.cc - * src/A2STR.h - * src/SimpleLogger.cc - * src/SimpleLogger.h - -2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string literal to static const std::string. - Rewritten CookieParser::setField. - * src/A2STR.cc - * src/A2STR.h - * src/CookieBoxFactory.cc - * src/CookieBoxFactory.h - * src/CookieParser.cc - * src/CookieParser.h - -2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string literal to static const std::string - * src/DHTAbstractMessage.cc - * src/DHTAnnouncePeerMessage.cc - * src/DHTAnnouncePeerMessage.h - * src/DHTAnnouncePeerReplyMessage.cc - * src/DHTAnnouncePeerReplyMessage.h - * src/DHTFindNodeMessage.cc - * src/DHTFindNodeMessage.h - * src/DHTFindNodeReplyMessage.cc - * src/DHTFindNodeReplyMessage.h - * src/DHTGetPeersMessage.cc - * src/DHTGetPeersMessage.h - * src/DHTGetPeersReplyMessage.cc - * src/DHTGetPeersReplyMessage.h - * src/DHTMessage.cc - * src/DHTMessage.h - * src/DHTMessageFactoryImpl.cc - * src/DHTMessageReceiver.cc - * src/DHTPingMessage.cc - * src/DHTPingMessage.h - * src/DHTPingReplyMessage.cc - * src/DHTPingReplyMessage.h - * src/DHTQueryMessage.cc - * src/DHTQueryMessage.h - * src/DHTResponseMessage.cc - * src/DHTResponseMessage.h - * src/DHTUnknownMessage.cc - * src/DHTUnknownMessage.h - -2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made string literal to static const std::string - * src/BtChokeMessage.cc (toString) - * src/BtHaveAllMessage.cc (toString) - * src/BtHaveNoneMessage.cc (toString) - * src/BtInterestedMessage.cc (toString) - * src/BtNotInterestedMessage.cc (toString) - * src/BtUnchokeMessage.cc (toString) - -2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Replaced "" with static const variable A2STR::NIL. - Replaced string comparison against "" with std::string::empty(). - Added PROTO_* to Request class and use them as a protocol string - constant. - Made "started", "stopped", "completed" static const variable in - AnnounceList class. - -2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated translations. Great thanks to translators. - * po/ca.po - * po/de.po - * po/fr.po - * po/it.po - * po/ja.po - * po/ru.po - * po/zh_CN.po - -2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated man page; categorized options and fixed typo. - * doc/aria2c.1.txt - * doc/aria2c.1.html - * doc/aria2c.1 - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed const ref - * src/MetalinkEntry.cc (AddProtocolPreference) - * src/RequestGroup.cc (FindServerHostByHostname) - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten Accept-Features handling. - * src/HttpRequestCommand.cc (createHttpRequest) - * src/a2functional.h - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - DHTAbstractNodeLookupTask::toEntries - * src/DHTAbstractNodeLookupTask.cc - * src/DHTAbstractNodeLookupTask.h - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - BtContext::computeFastSet, DefaultBtContext::extractUrlList - * src/BtContext.h - * src/DefaultBtContext.cc - * src/DefaultBtContext.h - * src/DefaultBtInteractive.cc - * test/DefaultBtContextTest.cc - * test/MockBtContext.h - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - MultiFileAllocationIterator::makeDiskWriterEntries - * src/MultiFileAllocationIterator.cc - * src/MultiFileAllocationIterator.h - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method sinature: - MetalinkEntry::toFileEntry, - MetalinkHelper::query, MetalinkHelper::parseAndQuery, - Metalinker::queryEntry - * src/Metalink2RequestGroup.cc - * src/MetalinkEntry.cc - * src/MetalinkEntry.h - * src/MetalinkHelper.cc - * src/MetalinkHelper.h - * src/Metalinker.cc - * src/Metalinker.h - * src/main.cc - * test/MetalinkHelperTest.cc - * test/MetalinkerTest.cc - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method sinature: - RequestGroup::getURIs - * src/RequestGroup.cc - * src/RequestGroup.h - * test/Metalink2RequestGroupTest.cc - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - PeerListProcessor::extractPeer - * src/CompactPeerListProcessor.cc - * src/CompactPeerListProcessor.h - * src/DefaultBtAnnounce.cc - * src/DefaultPeerListProcessor.cc - * src/DefaultPeerListProcessor.h - * src/DelegatingPeerListProcessor.cc - * src/DelegatingPeerListProcessor.h - * src/PeerListProcessor.h - * src/UTPexExtensionMessage.cc - * test/DefaultPeerListProcessorTest.cc - -2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - BtRequestFactory::createRequestMessages, - BtRequestFactory::createRequestMessagesOnEndGame - * src/BtRequestFactory.h - * src/DefaultBtInteractive.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultBtRequestFactory.h - * test/DefaultBtRequestFactoryTest.cc - * test/MockBtRequestFactory.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - PieceStorage::getInFlightPieces - * src/DefaultBtProgressInfoFile.cc - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.cc - * src/UnknownLengthPieceStorage.h - * test/DefaultBtProgressInfoFileTest.cc - * test/MockPieceStorage.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - PostDownloadHandler::getNextRequestGroups - Metalink2RequestGroup::generate - RequestGroup::postDownloadProcessing - * src/BtPostDownloadHandler.cc - * src/BtPostDownloadHandler.h - * src/Metalink2RequestGroup.cc - * src/Metalink2RequestGroup.h - * src/MetalinkPostDownloadHandler.cc - * src/MetalinkPostDownloadHandler.h - * src/PostDownloadHandler.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/main.cc - * test/BtPostDownloadHandlerTest.cc - * test/Metalink2RequestGroupTest.cc - * test/MetalinkPostDownloadHandlerTest.cc - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten AccRequestGroup - * src/main.cc - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten. - * src/TaggedItem.cc (toTagString) - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten Accept-Features handling. - * src/HttpRequestCommand.cc (createHttpRequest) - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten accept types handling. - * HttpRequest.cc (createRequest) - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten - * src/FeatureConfig.cc (featureSummary) - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - PeerStorage::getActivePeers - * src/DHTPeerAnnounceEntry.cc - * src/DefaultPeerStorage.cc - * src/DefaultPeerStorage.h - * src/PeerStorage.h - * test/DefaultPeerStorageTest.cc - * test/MockPeerStorage.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - DHTPeerAnnounceStorage::getPeers, - DHTPeerAnnounceEntry::getPeers - * src/DHTGetPeersMessage.cc - * src/DHTPeerAnnounceEntry.cc - * src/DHTPeerAnnounceEntry.h - * src/DHTPeerAnnounceStorage.cc - * src/DHTPeerAnnounceStorage.h - * test/DHTAnnouncePeerMessageTest.cc - * test/DHTPeerAnnounceEntryTest.cc - * test/DHTPeerAnnounceStorageTest.cc - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - NameResolver::resolve - * src/DHTEntryPointNameResolveCommand.cc - * src/InitiateConnectionCommand.cc - * src/NameResolver.cc - * src/NameResolver.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - PieceStorage::getAdvertisedPieceIndexes - * src/DefaultBtInteractive.cc - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.h - * test/MockPieceStorage.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - SegmentMan::getInFlightSegment - * src/AbstractCommand.cc - * src/SegmentMan.cc - * src/SegmentMan.h - * test/SegmentManTest.cc - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - DHTAbstractNodeLookupTask::getNodesFromMessage - * src/DHTAbstractNodeLookupTask.cc - * src/DHTAbstractNodeLookupTask.h - * src/DHTNodeLookupTask.cc - * src/DHTNodeLookupTask.h - * src/DHTPeerLookupTask.cc - * src/DHTPeerLookupTask.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Pass std::deque<Command*> by reference to avoid unnecessary coping. - * src/AbstractCommand.cc - * src/BtCheckIntegrityEntry.cc - * src/BtCheckIntegrityEntry.h - * src/BtFileAllocationEntry.cc - * src/BtFileAllocationEntry.h - * src/BtSetup.cc - * src/BtSetup.h - * src/CheckIntegrityCommand.cc - * src/CheckIntegrityEntry.h - * src/ChecksumCheckIntegrityEntry.cc - * src/ChecksumCheckIntegrityEntry.h - * src/DHTSetup.cc - * src/DHTSetup.h - * src/DownloadEngine.cc - * src/FileAllocationCommand.cc - * src/FileAllocationEntry.h - * src/RequestGroup.cc - * src/RequestGroup.h - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - * src/StreamCheckIntegrityEntry.cc - * src/StreamCheckIntegrityEntry.h - * src/StreamFileAllocationEntry.cc - * src/StreamFileAllocationEntry.h - * src/TrackerWatcherCommand.cc - * src/a2functional.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed method signature: - BNode::findClosestKNodes, BNode:: enumerateBucket, - DHTBucket::getGoodNodes, - DHTRoutingTable::getClosestKNodes, DHTRoutingTable::getBuckets - * src/BNode.cc - * src/BNode.h - * src/DHTAbstractNodeLookupTask.cc - * src/DHTAutoSaveCommand.cc - * src/DHTBucket.cc - * src/DHTBucket.h - * src/DHTBucketRefreshTask.cc - * src/DHTFindNodeMessage.cc - * src/DHTGetPeersMessage.cc - * src/DHTRoutingTable.cc - * src/DHTRoutingTable.h - * test/BNodeTest.cc - * test/DHTBucketTest.cc - * test/DHTRoutingTableTest.cc - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - In piece selection functions, Pass std::deque<...> by reference rather - than returning it. - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/DefaultBtRequestFactory.cc - * src/DefaultPieceStorage.cc - * src/Piece.cc - * src/Piece.h - * test/BitfieldManTest.cc - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented rarest piece first piece selection strategy. - * src/AbstractBtMessage.cc - * src/AbstractBtMessage.h - * src/BitfieldMan.cc - * src/BitfieldMan.h - * src/BtBitfieldMessage.cc - * src/BtHaveAllMessage.cc - * src/BtHaveMessage.cc - * src/DefaultPieceStorage.cc - * src/DefaultPieceStorage.h - * src/PeerInteractionCommand.cc - * src/PieceStorage.h - * src/UnknownLengthPieceStorage.h - -2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten readData and writeData. - * src/MultiDiskAdaptor.cc - * src/MultiDiskAdaptor.h - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Move \n out of the message "Usage: ...". - * src/version_usage.cc - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.2b. - * configure.ac - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added const qualifier to argument Exception& e. - * src/Logger.h - * src/SimpleLogger.cc - * src/SimpleLogger.h - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Pool connection when CWD, SIZE command fails. - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Renamed HttpNullDownloadCommand as HttpSkipResponseCommand - * src/HttpResponseCommand.cc - * src/HttpSkipResponseCommand.cc - * src/HttpSkipResponseCommand.h - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Pool connection when a server returns 4xx, 5xx responses. - * src/HttpNullDownloadCommand.cc - * src/HttpNullDownloadCommand.h - * src/HttpResponse.cc - * src/HttpResponse.h - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - * test/HttpResponseTest.cc - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Print usage when no URL is specifed or bad command-line option is - specified. - * src/HelpItemFactory.cc - * src/help_tags.h - * src/option_processing.cc - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed duplicate log message. - * src/AbstractCommand.cc (asyncResolveHostname) - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated man page: --async-dns and --ftp-reuse-connection were added. - Changed -j option's default value from 5 to 1. - Added new examples using protocol auto detection feature. - Removed -T, -M usage where it can be omitted. - * doc/aria2c.1.txt - * doc/aria2c.1.html - * doc/aria2c.1.txt - -2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated command-line usage text, so that it tells users that they - can specify any number of torrent files and metalink files in - command-line. - * src/version_usage.cc - -2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed the default value of -j option to 1. - * src/HelpItemFactory.cc - * src/option_processing.cc - * src/usage_text.h - -2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to reuse connection in FTP and it is enabled by - default. It can be disabled by --ftp-reuse-connection=false option. - * src/Command.cc - * src/DownloadCommand.cc - * src/FtpDownloadCommand.cc - * src/FtpDownloadCommand.h - * src/FtpFinishDownloadCommand.cc - * src/FtpFinishDownloadCommand.h - * src/FtpInitiateConnectionCommand.cc - * src/FtpNegotiationCommand.cc - * src/FtpNegotiationCommand.h - * src/HelpItemFactory.cc - * src/Makefile.am - * src/Makefile.in - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.h - * src/usage_text.h - -2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Call Command::transitStatus() before calling Command::execute(), - so that the status change made in execute() is not cleared. - * src/DownloadEngine.cc - -2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed forward declaration of SocketCore class. - * src/HttpDownloadCommand.h - -2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Set Request::setKeepAliveHint() and Request::setPipeliningHint() - in InitiateConnectionCommandFactory. They should be set only when - the protocol is HTTP or HTTPS. - * src/InitiateConnectionCommandFactory.cc - * src/RequestGroup.cc - -2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed infinite loop in checksum checking. - * src/IteratableChecksumValidator.cc - -2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Set _supportsPersistentConnection to true by default. - * src/Request.cc - * src/RequestGroup.cc - * test/HttpRequestTest.cc - * test/RequestTest.cc - -2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added timeout to socket pool. The default timeout is 15 seconds, - which is the same value Apache uses. - * src/DownloadEngine.cc - * src/DownloadEngine.h - -2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed misuse of multimap::find() - * src/HttpHeader.cc - * test/HttpHeaderTest.cc - -2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten name resolver. Now async DNS can be disabled by --async-dns - option. - The asynchronous DNS is not capable of IPv6 yet. - By disabling asynchronous DNS, aria2 is IPv6 enabled application, at - least for HTTP download. - * src/AbstractCommand.cc - * src/AbstractCommand.h - * src/AsyncNameResolver.cc - * src/AsyncNameResolver.h - * src/DHTEntryPointNameResolveCommand.cc - * src/DHTEntryPointNameResolveCommand.h - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/FtpInitiateConnectionCommand.cc - * src/FtpInitiateConnectionCommand.h - * src/HelpItemFactory.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpInitiateConnectionCommand.h - * src/InitiateConnectionCommand.cc - * src/InitiateConnectionCommand.h - * src/Makefile.am - * src/Makefile.in - * src/NameResolver.cc - * src/NameResolver.h - * src/OptionHandlerFactory.cc - * src/SocketCore.cc - * src/SocketCore.h - * src/Util.cc - * src/Util.h - * src/option_processing.cc - * src/prefs.h - * src/usage_text.h - -2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated man page: --quiet, --header were added. - --metalink-servers and --enable-http-keep-alive option were updated. - * doc/aria2c.1 - * doc/aria2c.1.html - * doc/aria2c.1.txt - -2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Enable HTTP keep-alive by default. - * src/HelpItemFactory.cc - * src/option_processing.cc - * src/usage_text.h - -2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Disable http keep-alive if the remote server is not HTTP/1.1. - * src/HttpConnection.cc - -2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Receive content body of 302 response so that the connection can be - reused later when http keep-alive is enabled. - * src/HttpNullDownloadCommand.cc - * src/HttpNullDownloadCommand.h - * src/HttpResponseCommand.cc - * src/HttpResponseCommand.h - -2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - const SharedHandle<Request> -> const SharedHandle<Request>& - * src/FtpDowndloadCommand.cc - * src/FtpDowndloadCommand.h - * src/HttpDownloadCommand.cc - * src/HttpDownloadCommand.h - -2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that the control file(.aria2 file) is not renamed - according to tryAutoFileRenaming(). - tryAutoFileRenaming() was rewritten so that if both renamed file and - its control file exist, use them and continue download. - The old implementation didn't take into account of control file's - existence, so basically you couldn't continue download of renamed file. - * src/BtProgressInfoFile.h - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtProgressInfoFile.h - * src/NullProgressInfoFile.h - * src/RequestGroup.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/MockBtProgressInfoFile.h - -2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Change the default value of --metalink-servers option from `5' to `1'. - * src/HelpItemFactory.cc - * src/option_processing.cc - * src/usage_text.h - -2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reimplemented transparent metalink using Accept request header. - * src/HttpRequest.cc - * src/HttpRequest.h - * src/HttpRequestCommand.cc - * src/Metalink2RequestGroup.cc - * src/RequestGroup.cc - * src/RequestGroup.h - * test/HttpRequestTest.cc - -2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.2a - * configure.ac - -2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated configure.ac using the result of autoscan. - * configure.ac - -2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compilation error without gcrypt/openssl. - * src/DownloadCommand.cc - * src/DownloadCommand.h - -2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reorganized version information so that it can be displayed in a - standard terminal screen without scrolling. - Removed http, ftp from Configuration section, because they are always - enabled. - * src/FeatureConfig.cc - * src/FeatureConfig.h - * src/main.cc - * src/messageDigest.cc - * src/messageDigest.h - * src/version_usage.cc - * test/FeatureConfigTest.cc - -2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Masked user ID in log. - * src/FtpConnection.cc (sendUser) - -2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed query part from filename in HTTP download. The query part means - the substring after "?" in URL. Firefox seems do the same thing. - A query part is sometimes very long and not suitable to filename, - so I think it is better to remove it from filename. - * src/HttpRequest.cc - * src/HttpRequest.h - * src/Request.cc - * src/Request.h - * test/HttpRequestTest.cc - * test/RequestTest.cc - -2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten Exception class. Throw exception object, not its pointer and - catch by reference, so that remove problematic delete operator for - catched exception. - * src/Exception.cc - * src/Exception.h - * test/ExceptionTest.cc - * src/*: All files throwing/catching exception. - * test/*: All files throwing/catching exception. - -2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now auto protocol detection is enabled without -Z option. - But there is a important difference between with/without -Z optoin. - - For example, if you type: - aria2c http://host/file file1.torrent file2.metalink http://mirror/file - then, aria2 interprets there are 3 request groups: - (1) http://host/file, http://mirror/file <-- multi-source download - (2) file1.torrent - (3) file2.metalink - - On the other hand, if you invoke above command with -Z option, it is - interpreted as 4 request groups: - (1) http://host/file - (2) file1.torrent - (3) file2.metalink - (4) http://mirror/file - - I think usually user don't mix multi-source URLs and torrent files, so - there is no big problem here. - * src/main.cc - -2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that causes segmentaion fault when reading XML containing - unescapsed character like '&'. - Also a modification was made which avoids adding unnecessary - characters stack and appending unused string. - * src/ExpatMetalinkProcessor.cc - * src/FileMetalinkParserState.h - * src/FilesMetalinkParserState.h - * src/FinMetalinkParserState.h - * src/HashMetalinkParserState.h - * src/InitialMetalinkParserState.h - * src/LanguageMetalinkParserState.h - * src/MetalinkMetalinkParserState.h - * src/MetalinkParserState.h - * src/MetalinkParserStateMachine.cc - * src/MetalinkParserStateMachine.h - * src/OSMetalinkParserState.h - * src/PieceHashMetalinkParserState.h - * src/PiecesMetalinkParserState.h - * src/ResourcesMetalinkParserState.h - * src/SizeMetalinkParserState.h - * src/SkipTagMetalinkParserState.h - * src/URLMetalinkParserState.h - * src/VerificationMetalinkParserState.h - * src/VersionMetalinkParserState.h - * src/XML2SAXMetalinkProcessor.cc - -2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added StringFormat class, which internally calls vasprintf. - operator<< is defined for this class, so it can be used with iostream - classes nicely. SimpleLogger and following functions are rewritten - using StringFormat class. - Besides, now Logger class's methods are non-const, many classes - that has a const Logger* as a member variable are modified to remove - const qualifier from the variable declaration. - * src/HelpItemFactory.cc - * src/Request.cc - * src/SimpleLogger.cc - * src/StringFormat.cc - * src/StringFormat.h - * src/Util.cc - * src/option_processing.cc - * src/version_usage.cc - * test/StringFormatTest.cc - * src/*.h: The classes that has const Logger* as a member variable. - -2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Log error in AccRequestGroup when reading BitTorrent/Metalink file is - failed. Also fixed memory link when exception is thrown there. - * src/main.cc (AccRequestGroup) - -2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added build-in "Accept-Features" support. For now only "metalink" is - used in this header field. - This "metalink" value is removed from the list when connecting URLs - fed by metalink file to avoid loop in "transparent" metlaink. - * src/HttpRequest.cc - * src/HttpRequest.h: Renamed _userHeaders as _headers. Accept-Features - header is also held in this variable. Also renamed setUserHeaders as - addHeader and it was rewritten to add header not just to clear the old - value. - * src/HttpRequestCommand.cc - * src/Metalink2RequestGroup.cc: Added the code to remove "metalink" - from "Accept-Features" list. - * src/RequestGroup.cc: Added "metalink" to "Accept-Features" by - default. - * src/RequestGroup.h - * src/TaggedItem.cc: Moved Concat class to a2functional.h. - * src/a2functional.h: Included <string> because Concat class depends on - it. - * test/HttpRequestTest.cc - -2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added comment - * src/RequestGroup.cc (createNextCommand) - -2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Capitalized METHOD_GET and METHOD_HEAD - * src/Request.cc - -2008-04-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added getDownloadResults() method - * src/RequestGroupMan.cc - * src/RequestGroupMan.h - -2008-04-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that aria2 exits when commands is empty() but - _routineCommands are not. - * src/DownloadEngine.cc - -2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use the default value pulled from Option object in HelpItemFactory. - except options whose defualt value is embedded in a usage text. - * src/HelpItemFactory.cc - * src/HelpItemFactory.h - * src/option_processing.cc - * src/version_usage.cc - -2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --quiet option to make aria2 quiet (no console output). - --quiet option is tagged with ADVANCED. - * src/HelpItemFactory.cc - * src/LogFactory.cc - * src/LogFactory.h - * src/MultiUrlRequestInfo.cc - * src/MultiUrlRequestInfo.h - * src/NullStatCalc.h: New class. This class prints nothing. - * src/OptionHandlerFactory.cc - * src/main.cc - * src/option_processing.cc - * src/prefs.h - * src/usage_text.h - -2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Add HTTP tag to --header option. Removed ADVANCED tag instead. - * src/HelpItemFactory.cc (createHelpItems): - -2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compilation error in ExpatMetalinkProcessor.cc - * src/ExpatMetalinkProcessor.cc - -2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reuse socket if the origin server supports HTTP keep-alive and - --enable-http-keep-alive or --enable-http-pipelining is given. - The current implementation doesn't reuse the connections established - against proxy server. - - * src/AbstractCommand.cc - * src/DownloadEngine.cc - * src/DownloadEngine.h - * src/HttpDownloadCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpResponseCommand.cc - -2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten HTTP keep-alive and pipelining routine. - * src/AbstractCommand.cc - * src/HttpConnection.cc - * src/HttpDownloadCommand.cc - * src/HttpRequest.cc - * src/HttpRequestCommand.cc - * src/HttpResponseCommand.cc - * src/Request.cc - * src/Request.h - * src/RequestGroup.cc - * test/HttpRequestTest.cc - * test/HttpResponseTest.cc - * test/RequestTest.cc - -2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added missing setUserHeaders call - * src/HttpRequestCommand.cc - -2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Call FileAllocationMan::nextFileAllocationEntryExists() first. - Calling FileAllocationMan::isFileAllocationBeingExecuted() is somwhat - waste of time because it is more likey false. - * src/FileAllocationDispatcherCommand.cc (execute) - -2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now HTTP status and version are a member variable of HttpHeader. - HTTP status is processed as a string, not integer. - * src/AbstractProxyResponseCommand.cc - * src/HttpConnection.cc - * src/HttpHeader.cc - * src/HttpHeader.h - * src/HttpHeaderProcessor.cc - * src/HttpHeaderProcessor.h - * src/HttpResponse.cc - * src/HttpResponse.h - * test/HttpHeaderProcessorTest.cc - * test/HttpResponseTest.cc - -2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --header option. You can specify any number of additional HTTP headers - like: - aria2 --header="X-A: 300" --header="X-B: 900" http://host/file - Unlike other commad-line option, you can use --header option multiple times. - * src/HelpItemFactory.cc - * src/HttpRequest.{cc, h} - * src/HttpRequestCommand.cc - * src/OptionHandlerFactory.cc - * src/OptionHandlerImpl.h - * src/option_processing.cc - * src/prefs.h - * src/usage_text.h - * test/HttpRequestTest.cc (testUserHeaders) - -2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Eliminates the time lag between sequential downloads and commands in - the same RequestGroup. - In old implementation, aria2 occasionally waits 1 seconds before - executing next command or RequestGroup. - This is really a waste of time, and new implementation eliminates - this unnecessary time lag. - * src/AbstractCommand.cc - * src/AutoSaveCommand.cc - * src/CheckIntegrityCommand.cc - * src/Command.{cc, h} - * src/DownloadEngine.{cc, h} - * src/DownloadEngineFactory.cc - * src/FileAllocationCommand.cc - * src/FileAllocationDispatcherCommand.cc - * src/FillRequestGroupCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/HaveEraseCommand.cc - * src/HttpInitiateConnectionCommand.cc - * src/HttpResponseCommand.cc - * src/RealtimeCommand.cc - * src/RequestGroup.cc - * src/RequestGroupMan.cc - * src/StreamFileAllocationEntry.cc - * src/TimeBasedCommand.{cc, h} - * src/TimedHaltCommand.cc - -2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten SharedHandle. Now copy constructor taking raw pointer has - keyword explicit and SharedHandle's default constructor initializes - its internal obj to null, old implementation initializes it using - obj's default constructor. - To assign null, write SharedHandle<T> x(...); x.reset(); - TODO: test/SharedHandleTest.cc needs more tests. - * src/SharedHandle.h - -2008-04-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed type in man page. - * doc/aria2c.1.txt - -2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Merged Ross's 0.13.1+1 Cygwin compile fix patch. - * src/SimpleLogger.{cc, h} - -2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented auto protocol detection. - Now you can do: - aria2c -Z http://host/file file1.torrent file2.metalink - (Note: -Z option is required for auto protcol detection.) - Then aria2c downloads 3 files simultaneously: - 1. http://host/file - 2. file1.torrent <-- read local torrent file - 3. file2.metalink <-- read local Metalink file. - - Same thing goes with -i option. Assume your uris.txt contans: - http://host/file - file1.torrent - file2.metalink - Then you can do: aria2c -i uris.txt - (Note: -Z option is not needed if -i option is given.) - - * src/main.cc - * src/ProtocolDetector.{cc, h} - * test/ProtocolDetectorTest.cc - -2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error without gnutls/libgcrypt/libgpg-error and openSSL - installed - * src/ARC4Encryptor.h - * src/ARC4Decryptor.h - -2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Renamed argument from 'errno' to 'err', since errno is confused with - errno defined in errno.h. - * src/LibgcryptARC4Decryptor.h - * src/LibgcryptARC4Context.h - * src/LibgcryptDHKeyExchange.h - * src/LibgcryptARC4Encryptor.h - -2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten choking algorithm. - * src/PeerChokeCommand.{cc, h} - * src/BtInterestedMessage.cc - * src/PeerSessionResource.{cc, h} - * src/DefaultPeerStorage.{cc, h} - * src/BtNotInterestedMessage.cc - * src/DefaultBtMessageDispatcher.{cc, h} - * src/BtMessageDispatcher.h - * src/Peer.{cc, h} - * src/BtLeecherStateChoke.{cc, h} - * src/BtSetup.cc - * src/BtSeederStateChoke.{cc, h} - * src/PeerStorage.h - * test/MockPeerStorage.h - * test/MockBtMessageDispatcher.h - -2008-04-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compilation error on x84-64 platform. - * src/AuthConfig.cc: Included ostream. - -2008-03-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten getBasename() and getDirname(), without standard library - basename(), dirname(). - * src/File.cc - * test/FileTest.cc - -2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Simplified Chinese translation. Also updated the following - translations: Polish, Dutch, German. Great thanks to all translators. - -2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Suppress content-range error when 'Content-Range' response header - doesn't contains bytes-unit specifier 'bytes' - * src/HttpHeader.cc (getRange) - * test/HttpHeaderTest.cc - -2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compilation error with g++-4.3 - -2008-03-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added missing include files for MinGW - * test/HttpHeaderProcessorTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/DHTRoutingTableDeserializerTest.cc - * test/UriListParserTest.cc - -2008-03-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now download line is printed nicely with no garbage at the end of - line. I use ioctl to get the columns of terminal. - If stdout is redirected to another device, instead of carriage return, - end of line '\n' character is used. This is feature request#1909659 - * src/ConsoleStatCalc.cc (calculateStat) - -2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included a2time.h - * src/DHTMessageDispatcher.h - * src/DHTMessageEntry.h - * src/DHTReplaceNodeTask.h - * src/DHTMessageTracker.h - * src/Util.h - * src/CookieBox.h - * src/SocketCore.h - * src/DefaultBtMessageDispatcher.h - * src/SocketCore.cc - * src/Util.cc - * src/DHTPingTask.h - -2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed high memory footprint when DHT is enabled. - This is not a memory leak, but DHTReplaceNodeTask is more frequently - queued than it is processed and the queue is getting longer. As a - consequence, momory usage is increased. - As for a fix, instead of issuing DHTReplaceNodeTask, I've implemented - replacement cache in DHTBucket which is described in Kademlia paper. - * src/DHTRoutingTable.cc (addNode): Removed the issuing of - DHTReplaceNodeTask. - * src/DHTBucket.{h, cc} - (cacheNode): New function. - (getCachedNodes): New function. - (dropNode): Push back cached node to _nodes. - * test/DHTBucketTest.cc - (testCacheNode): New test - (testDropNode): New test - -2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Allocate memory for peekBuf in initiateSecureConnection() to avoid - the unused 4KB memory when ssl is not used. - * src/SocketCore.cc - -2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added summary log for peer announce storage. - * src/DHTPeerAnnounceStorage.cc (handleTimeout) - - Removed cast - * src/DefaultPeerStorage.cc (addPeer) - - Log exception message - * src/DHTMessageTracker.cc (handleTimeout) - - Fixed casting - * test/HttpRequestTest.cc - * test/MetalinkProcessorTest.cc - * test/PieceTest.cc - * test/MetalinkEntryTest.cc - * test/SequenceTest.cc - -2008-03-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/ParameterizedStringParser.cc (createLoop): - Removed unused variable sstep. - - * src/AlphaNumberDecorator.h (decode): Rewritten. - -2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/Util.{h, cc} - (parseUInt): New function. - (alphaToNum): Now returns unsigned int and 0 when overflow detected. - The actual range is uint32_t. - * test/UtilTest.cc - - * src/ParameterizedStringParser.cc: - Use Util::parseUInt() for loop variables. - * test/ParameterizedStringParserTest.cc - - * src/PStringNumLoop.h: Make _startValue and _endValue unsigned int. - -2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten the functions for binding port. - * src/DHTConnectionImpl.{h, cc} - * src/PeerListenCommand.{h, cc} - * src/DHTSetup.cc - * src/BtSetup.cc - * test/DHTConnectionImplTest.cc - -2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - type cleanup for allmost all remaining files. - -2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Type clarification - * src/PeerSessionResource.{h, cc} - * src/DefaultPieceStorage.{h, cc} - * src/Peer.{h, cc} - * test/PeerSessionResourceTest.cc - - Use div function - * src/BtPieceMessage.cc (erasePieceOnDisk) - -2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Type clarification - * src/DefaultPeerStorage.{h, cc} - * test/DefaultPeerStorageTest.cc - -2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Type clarification: size_t for length or size, uint64_t for file - length, off_t for file offset. - * src/DefaultBtProgressInfoFile.cc - * src/DefaultBtContext.{h, cc} - * src/DefaultBtInteractive.cc - * src/DownloadCommand.{h, cc} - * src/IteratableChunkChecksumValidator.{h, cc} - * src/SegmentMan.{h, cc} - * src/SingleFileDownloadContext.{h, cc} - * src/IteratableChecksumValidator.{h, cc} - * src/BtContext.h - * src/IteratableValidator.h - * src/DownloadContext.h - * test/SingleFileDownloadContextTest.cc - * test/DefaultBtContextTest.cc - * test/MockBtContext.h - * test/Metalink2RequestGroupTest.cc - -2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Type clarification: size_t for length or size, uint64_t for file - length, off_t for file offset. - - * src/PiecedSegment.cc - * src/GrowSegment.h - * src/DefaultBtRequestFactory.h - * src/DefaultBtProgressInfoFile.cc - * src/UnknownLengthPieceStorage.h - * src/DefaultPieceStorage.cc - * src/UnknownLengthPieceStorage.cc - * src/DefaultBtInteractive.cc - * src/GrowSegment.cc - * src/BitfieldMan.h - * src/DownloadCommand.cc - * src/BtRequestFactory.h - * src/PiecedSegment.h - * src/DefaultPieceStorage.h - * src/Piece.cc - * src/DefaultBtRequestFactory.cc - * src/PieceStorage.h - * src/Segment.h - * src/Piece.h - * src/BitfieldMan.cc - * src/Util.cc - * test/DefaultBtProgressInfoFileTest.cc - * test/DefaultPieceStorageTest.cc - * test/MockPieceStorage.h - * test/BtRequestMessageTest.cc - * test/DefaultBtMessageDispatcherTest.cc - * test/BitfieldManTest.cc - * test/GrowSegmentTest.cc - * test/PieceTest.cc - * test/SegmentTest.cc - * test/SegmentManTest.cc - * test/DefaultBtRequestFactoryTest.cc - * test/MockBtRequestFactory.h - -2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compilation error with --disable-nls - It seems that defining gettext(Msgid) to ((const char *) (Msgid)) - in gettext.h causes the problem. - * src/common.h - -2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed subPiece related functions. - * src/Piece.{h, cc} : Also rewritten getCompletedLength(). - * src/DefaultPieceStorage.{h, cc} - * test/PieceTest.cc - * test/DefaultPieceStorageTest.cc - -2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use unsigned char for data store. - -2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.0+1 - * configure.ac - - * Release 0.13.0+1 - -2008-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed inactive connection timeout to 120. - To accept more mulually interested peers, disconnect peer when there - is no interest between us after certain time passed. - * src/DefaultBtInteractive.cc (checkActiveInteraction) - -2008-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that aria2 only uses first dns server in resolv.conf - when compiled with async DNS support. - * src/DownloadEngine.cc - * src/option_processing.cc: Lengthened DNS timeout to 30. I think old - value '10' will be a little bit short when some DNS servers are - offline and several DNS servers are tried. It should be configured - by command-line option. - -2008-03-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Merged Ross's mingw patch. - * src/DHTRoutingTableDeserializer.cc - * src/DHTRoutingTableSerializer.cc - * src/Platform.{h, cc} - * src/timegm.h - * src/gettimeofday.h - * src/getaddrinfo.h - * src/SocketCore.h - * src/common.h - * src/inet_aton.h - * src/DownloadEngine.h - * src/gai_strerror.h - * src/a2netcompat.h - * configure.ac - * configure - * aclocal.m4 - -2008-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included missing iostream. - * test/AllTest.cc - * test/BtDependencyTest.cc - * test/BtExtendedMessageTest.cc - * test/DHTConnectionImplTest.cc - * test/DHTMessageFactoryImplTest.cc - * test/DHTMessageTrackerEntryTest.cc - * test/DHTNodeTest.cc - * test/DHTRoutingTableSerializerTest.cc - * test/DefaultBtAnnounceTest.cc - * test/DefaultBtContextTest.cc - * test/DefaultBtMessageFactoryTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/HandshakeExtensionMessageTest.cc - * test/HttpResponseTest.cc - * test/MetalinkProcessorTest.cc - * test/MultiFileAllocationIteratorTest.cc - * test/SocketCoreTest.cc - * test/UTPexExtensionMessageTest.cc - -2008-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reorganized includes. - * src/NameResolver.cc - -2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compilation error without ares/c-ares - * src/NameResolver.h: - -2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added a test for large file. - * test/MetalinkProcessorTest.cc (testLargeFileSize): - -2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that file size is ignored if size > INT32_MAX - * src/SizeMetalinkParserState.cc (endElement): - -2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.0 - * configure.ac - - * Release 0.13.0 - -2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated Makfefile.am to make 'make dist' work. - Now packaged filename is aria2c-VERSION.tar.bz2. - Added README, README.html, and aria2c.1.html to dist_doc_DATA. - Added LICENSE.OpenSSL to dist_noinst_DATA. - - Large file support is now configured by configure script. - * configure.ac - - Removed unsused source files - * src/ - * test/ - - Removed PeerDecl.h and BtContextDecl.h. typedefs are removed to - Peer.h and BtContext.h respectively. - * src/Peer.h - * src/BtContext.h - - Updated translations. - Added Polish, Thai, Indonesian, Norwegian Nynorsk, Hungarian - translations. Great thanks to all translators!;) - * po/*.{po, gmo} - -2008-02-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Create MessageDigestHelper::staticSHA1DigestInit() which uses - statically declared sha1 MessageDigestContext. - * src/BtPieceMessage.cc: Use staticSHA1DigestInit() to avoid - initialization of short-lived MessageDigestContext. - * src/MessageDigestHelper.{h, cc} - * src/main.cc - - Now DownloadCommand has a reference to MessageDigestContext to avoid - the initialization of MessageDigestContext every time in validating - chunk checksum. - * src/DownloadCommand.{h, cc} - -2008-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Add a file descriptor which connected to fast peer(latency<1500) to - select(). This change reduced CPU load. - * src/PeerInteractionCommand.cc - * src/DefaultBtInteractive.{h, cc} - * src/BtInteractive.h - -2008-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the previous insufficient fix for possible busy loop. - * src/MSEHandshake.cc (identifyHandshakeType) - - Removed unused functions. - * src/MSEHandshake.{h, cc} (readDataAndDecrypt) - -2008-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed possible busy loop if first 20 bytes are not received for a few - minutes. - * src/MSEHandshake.{h, cc} (identifyHandshakeType) - * src/ReceiverMSEHandshakeCommand.cc - -2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compilation error - * src/ExpatMetalinkProcessor.cc - -2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error on Mac OS X, on 64Bit OS maybe. - * src/DHTBucket.cc - - Removed unnecessary cast. - * src/HandshakeExtensionMessage.cc - -2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that option handler for PREF_METALINK_ENABLE_UNIQUE_PROTOCOL. - is missing. - * src/OptionHandlerFactory.cc - -2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that HAVE message is not sent for a piece they are - downloaded fom http/ftp server before any BitTorrent handshake is done - with peers. - * src/DefaultBtInteractive.cc - -2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed RequestInfo.h and FileAllocator.h since they have been removed. - * src/Makefile.am - * src/Makefile.in - -2008-02-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated README. Added html version of README and man page. - * README - * README.html - * readme2html: Shell script to generate README.html from README using - asciidoc. - * doc/aria2c.1.html - * doc/makeman: Added the line to generate aria2c.1.html - -2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed offset calculation. - * src/LibgcryptDHKeyExchange.h (computeSecret) - -2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten itos and uitos using template. llitos and ullitos are - replaced with itos and uitos respectively. - * src/Util.{h, cc} - * test/UtilTest.cc - -2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that DH key exchange sometimes fails due to bad handling - of the number of bytes required for storing public key and shared - secret. - * src/LibgcryptDHKeyExchange.h - * src/LibsslDHKeyExchange.h: Also added function name to handleError. - * src/MSEHandshake.cc - * test/DHKeyExchangeTest.cc - -2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed since they are not used. - * src/Xml2MetalinkProcessor.{h, cc} - * src/Socket.cc - * src/SegmentSplitter.{h, cc} - * test/Xml2MetalinkProcessorTest.cc - -2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that prevents aria2 from stopping other than by pressing - Ctrl-C in BitTorrent download. It is reproducible using --seed-time - option. aria2 doesn't stop even after --seed-time is satisfied and - continues to output blank lines in the console. - * src/ReceiverMSEHandshakeCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * src/PeerListenCommand.cc - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump up version number to 0.13.0rc - * configure.ac - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated man page and some usage text. - * doc/aria2c.1.txt - * src/usage_text.h - * po/*.{po, gmo} - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated translations. Added Finnish and Hebrew translations. - Great thanks to all translators! - * po/*.{po, gmo} - * po/LINGUAS - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Log more detailed information about each message. - * src/DHTQueryMessage.{h, cc} - * src/DHTGetPeersMessage.{h, cc} - * src/DHTFindNodeReplyMessage.{h, cc} - * src/DHTGetPeersReplyMessage.{h, cc} - * src/DHTAnnouncePeerMessage.{h, cc} - * src/DHTResponseMessage.{h, cc} - * src/DHTFindNodeMessage.{h, cc} - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use constants defined in prefs.h - * src/option_processing.cc - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * test/AllTest.cc: Added OpenSSL, GNUTLS initialization code. - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Make room for future enchancements for IPv6 addresses. - Bump up version number of dht.dat file format to 2. - Not compatible with previous version. - * src/DHTRoutingTableSerializer.cc - * src/DHTRoutingTableDeserializer.cc - * test/DHTRoutingTableSerializerTest.cc - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added handling for the return values from - PeerMessageUtil::createcompact(). - * src/DefaultBtContext.cc (computeFastSet): - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed abort when peer's ip address is IPv4-mapped address. - * src/DefaultBtContext.cc (computeFastSet) - - Removed number-and-dots criteria, since Util::isNumberAndDotsNotation() - cannot handle IPv4-mapped addresses. - * src/DefaultBtInteractive.cc (addPeerExchangeMessage) - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Proper return value handling for OpenSSL functions. - * src/LibsslDHKeyExchange.h - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Random bytes generation using libgcrypt and OpenSSL. - * src/DHTUtil.{h, cc} - * test/DHTUtilTest.cc - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed segmentation fault when a DHT message which doesn't have 'y' key - received. - * src/DHTMessageReceiver.cc (receiveMessage) - -2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that a return code is always 0. BUG#1897704 - If error occurred during the download or there exist unfinished - downloads, aria2 returns with code 1. - * src/RequestGroupMan.{h, cc} - * src/MultiUrlRequestInfo.{h, cc} - * src/main.cc - -2008-02-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - IPv6 support for SocketCore class. - TODO: In SocketCore::establishConnection(), this is insufficient to - determin the failure of connect() here because the socket is - non-blocking state. The next addresses should be tried after select(). - TODO: NameResolver still uses c-ares(<= 1.4) ares_gethostbyname(). - If c-ares 1.5 or newer is installed, ares_getaddrinfo() should be used - instead which address family independent. - TODO: DHTRoutingTable{Deserializer,Serializer} currently saves peer - information in a compact peer format which is for IPv4 only. - - Some BitTorrent functions in PeerMessageUtil still depends on IPv4 but - this is a spec of BitTorrent protocol. - * src/SocketCore.{h, cc} - * src/PeerMessageUtil.cc - * test/SocketCoreTest.cc - * test/PeerMessageUtilTest.cc - * test/DHTConnectionImplTest.cc - - Handle IPv4-mapped addresses. - * src/DHTNode.cc: Now identity is determined by node id. - * src/DHTMessageTrackerEntry.cc - - Because now PeerMessageUtil::unpackcompact() could fail, the caller - should handle it. - * src/DHTRoutingTableDeserializer.cc - * src/DHTMessageFactoryImpl.cc - -2008-02-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Change the unit of --stop option from a minute to a second. - * src/usage_text.h - * src/DownloadEngineFactory.cc - * src/OptionHandlerFactory.cc - * src/message.h - * src/TimedHaltCommand.cc - -2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Make listening socket non-block mode. - * src/FtpConnection.cc - * src/FtpNegotiationCommand.{h, cc} - * src/PeerListenCommand.cc - - Fixed the bug that cause slow ftp negotiation. - * src/FtpNegotiationCommand.{h, cc} - -2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added basic tag to --enable-dht, --dht-listen-port option. - * src/HelpItemFactory.cc (createHelpItems) - -2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated text. - * src/usage_text.h - -2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/MSEHandshake.cc (encryptAndSendData): Use std::min(). - -2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Determin _threadtholdSpeed in each constructor for - ActivePeerConnectionCommand and PeerReceiveHandshakeCommand. - * src/ActivePeerConnectionCommand.{h, cc} - * src/PeerReceiveHandshakeCommand.{h, cc} - * src/BtSetup.cc - * src/BtConstants.h - -2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --bt-min-crypto-level and --bt-require-crypto options. - * src/OptionHandlerFactory.cc - * src/MSEHandshake.cc - * src/HelpItemFactory.cc - * src/option_processing.cc - * src/ReceiverMSEHandshakeCommand.cc - * src/prefs.h - * src/DefaultBtAnnounce.cc - * src/InitiatorMSEHandshakeCommand.cc - * src/usage_text.h - * test/MSEHandshakeTest.cc - -2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bump version number to 0.13.0b - * configure.ac - -2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated doc. - * src/MessageDigestHelper.h: - -2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use raw message digest as a token instead of its hexadecimal - representation. - * src/DHTTokenTracker.cc (generateToken) - -2008-02-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Message Stream Encryption(MSE) support. - Currently, aria2 accepts incoming connections with Obfuscation Header - and legacy BitTorrent Header and establishes connections with - Obfuscation Header first and if failed then retry with legacy - BitTorrent header. If plain text and ARC4 is provided, aria2 always - choose ARC4. The new option to change the default behavior is planned. - For tracker extension, "supportcrypto=1" is added statically. - * src/PeerInitiateConnectionCommand.{h, cc} - * src/PeerConnection.{h, cc} - * src/HandleRegistry.h - * src/SocketCore.h - * src/PeerReceiveHandshakeCommand.{h, cc} - * src/BtRegistry.{h, cc} - * src/PeerListenCommand.cc - * src/InitiatorMSEHandshakeCommand.{h, cc} - * src/ReceiverMSEHandshakeCommand.{h, cc} - * src/MSEHandshake.{h, cc} - * src/ARC4Encryptor.h - * src/ARC4Decryptor.h - * src/LibgcryptARC4Encryptor.h - * src/LibgcryptARC4Decryptor.h - * src/LibgcryptARC4Context.h - * src/LibsslARC4Encryptor.h - * src/LibsslARC4Decryptor.h - * src/LibsslARC4Context.h - * src/DHKeyExchange.h - * src/LibgcryptDHKeyExchange.h - * src/LibsslDHKeyExchange.h - * src/DefaultBtAnnounce.cc: Just added "supportcrypto=1" parameter. - * test/DefaultBtAnnounceTest.cc - * test/ARC4Test.cc - * test/DHKeyExchangeTest.cc - - Removed prepareForRetry() because it is not used. - * src/PeerAbstractCommand.{h, cc} - * src/PeerInteractionCommand.{h, cc} - * src/PeerInitiateConnectionCommand.{h, cc} - -2008-02-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to load nodes from torrent file. These nodes are - added to the routing table when downloading that torrent. - * src/BtContext.h - * src/DefaultBtContext.{h, cc} - * src/DHTSetup.cc - * src/DHTEntryPointNameResolveCommand.{h, cc}: Now accepts list of - hostname and port pair, and resolves all of them. - * src/NameResolver.{h, cc}: Added reset(). - * src/RequestGroup.cc - * test/DefaultBtContextTest.cc - * test/MockBtContext.h - - Removed assert() from DefaultBtContext and throw exception instead. - * src/DefaultBtContext.cc - -2008-02-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed segmentation fault bug when exiting if dht is disabled. - * src/RequestGroup.cc - -2008-02-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed typo in log message and define the message in message.h - * src/TimedHaltCommand.cc - * src/message.h - -2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Included RecoverableException.h to fix compilation error. - * test/DHTMessageFactoryImplTest.cc - -2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added test 'testDoReceivedAction' for DHTQueryMessage subclasses. - * test/DHTPingMessageTest.cc - * test/DHTGetPeersMessageTest.cc - * test/DHTFindNodeMessageTest.cc - * test/DHTAnnouncePeerMessageTest.cc - * test/MockDHTMessage.h - * test/MockDHTMessageFactory.h - * test/MockDHTMessageDispatcher.h: New class. - -2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added DHTMessageDispatcherImpl. Now DHTMessageDispatcher is pure - virtual. - * src/DHTMessageDispatcher.h - * src/DHTMessageDispatcherImpl.{h, cc} - * src/DHTSetup.cc - -2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Adding handling of DHT error message. Just log error message and - throw exception. - * src/DHTMessageFactoryImpl.cc - * test/DHTMessageFactoryImplTest.cc - -2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added handling of dynamic cast failure. - * src/DHTNodeLookupTask.cc - * src/DHTPeerLookupTask.cc - -2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to stop aria2 itself when given time has passed - from start. Use --stop option to specify time in minutes. - When 0 is given, this feature is disabled. - * src/OptionHandlerFactory.cc - * src/TimeBasedCommand.h: Make _interval protected scope. - * src/HelpItemFactory.cc - * src/option_processing.cc - * src/prefs.h - * src/FillRequestGroupCommand.cc: Evaluate _e->isHaltRequested() - before calling RequestGroupMan::fillRequestGroupFromReserver(). - Without this modification, the result list shows "ERR" when aria2 is - stopped by --stop option. It should be "INPR". - * src/DownloadEngine.{h, cc} - * src/DownloadEngineFactory.cc - * src/usage_text.h - * src/TimedHaltCommand.{h, cc}: New class. - -2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Bootstrap through node added by port message. - Currently bootstrap is executed if the number of buckets in routing - table is 1. - * src/BtPortMessage.{h, cc} - * src/DefaultBtMessageFactory.{h, cc} - * src/PeerInteractionCommand.cc - * test/BtPortMessageTest.cc - * test/MockDHTTask.h - -2008-02-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Extract the Peer class's member variables, which are only needed after - PeerInteractionCommand, into PeerSessionResource class. - This class is instantiated in PeerInteractionCommand class's ctor and - released in its dtor. - This will make Peer class lightweight and uses less memory for peers - which are not connected and wait in the queue. - * src/PeerChokeCommand.cc - * src/PeerSessionResource.{h, cc} - * src/PeerInteractionCommand.cc - * src/PeerAbstractCommand.cc: Note: 0 is given to onAbort() function. - * src/DefaultBtInteractive.cc - * src/BtPieceMessage.cc - * src/BtInterestedMessage.cc - * src/BtUnchokeMessage.cc - * src/DefaultPeerStorage.{h, cc} - * src/PeerInitiateConnectionCommand.cc - * src/ActivePeerConnectionCommand.cc - * src/BtNotInterestedMessage.cc - * src/DefaultBtMessageDispatcher.cc - * src/BtChokeMessage.cc - * src/BtRequestMessage.cc - * src/Peer.{h, cc} - * src/BtRegistry.h - * src/TrackerWatcherCommand.cc - * src/PeerReceiveHandshakeCommand.cc - * test/BtExtendedMessageTest.cc - * test/BtAllowedFastMessageTest.cc - * test/BtCancelMessageTest.cc - * test/DefaultPieceStorageTest.cc - * test/BtBitfieldMessageTest.cc - * test/BtHaveMessageTest.cc - * test/BtNotInterestedMessageTest.cc - * test/BtRequestMessageTest.cc - * test/PeerSessionResourceTest.cc - * test/DefaultBtMessageDispatcherTest.cc - * test/PeerTest.cc - * test/BtInterestedMessageTest.cc - * test/BtRejectMessageTest.cc - * test/BtChokeMessageTest.cc - * test/DefaultPeerStorageTest.cc - * test/BtHaveNoneMessageTest.cc - * test/BtHaveAllMessageTest.cc - * test/DefaultExtensionMessageFactoryTest.cc - * test/BtUnchokeMessageTest.cc - * test/DefaultBtMessageFactoryTest.cc - * test/HandshakeExtensionMessageTest.cc - * test/UTPexExtensionMessageTest.cc - * test/DefaultBtRequestFactoryTest.cc - * test/BtPieceMessageTest.cc - - Removed typedef PeerStats. - * src/PeerStat.h - * src/SegmentMan.cc - -2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added std namespace to copy, remove_copy, back_inserter, - front_inserter. - * src/RequestGroupMan.cc - * src/DefaultPieceStorage.cc - * src/StreamFileAllocationEntry.cc - * src/BtFileAllocationEntry.cc - * src/RequestGroup.cc - * src/MetalinkEntry.cc - * src/DelegatingPeerListProcessor.cc - * src/DefaultBtRequestFactory.cc - * src/DefaultBtMessageDispatcher.cc - * src/version_usage.cc: Included <algorithm> - * src/main.cc - * src/MetalinkParserController.cc - * src/DefaultBtContext.cc - * src/DownloadEngineFactory.cc - * src/a2algo.h - - Removed. - * test/StreamUriListParserTest.cc - -2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use PREF_MAX_DOWNLOAD_LIMIT as a threshold for - ActivePeerConnectionCommand when it is given and - PREF_MAX_DOWNLOAD_LIMIT < default threshold. - * src/ActivePeerConnectionCommand.{h, cc} - * src/BtSetup.cc - -2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Only add socket to DownloadEngine's select routine when peer or - localhost is unchoked and interested. This lowers CPU usage a - little bit. - * src/PeerInteractionCommand.cc - * src/PeerAbstractCommand.{h, cc} - * src/BtInteractive.h - * src/DefaultBtInteractive.{h, cc} - -2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Revert previous change because get_peers message is needed for - announce_peer anyway. - * src/DHTGetPeersCommand.cc - -2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Request peers thought DHT only when download hasn't finished. - * src/DHTGetPeersCommand.cc - -2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Force refresh bucket when startup if certain time has passed(currently 15 minutes). - * src/DHTBucketRefreshTask.{h, cc} - * src/DHTSetup.cc - -2008-02-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed "using namespace std;" from all sources. Appended std:: prefix to c++ - standard classes. - Included string.h where mem* function are used. - Added namespace aria2. - -2008-02-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Create directory before saving DHT routing table. - Now ios::failure is now handled properly. - * src/DHTAutoSaveCommand.cc - -2008-02-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed unnecessary cerr. - * src/DownloadEngine.cc - -2008-02-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Catch exception inside DHTMessageReceiver::receiveMessage(). - Log unknown message. - * src/DHTMessageReceiver.{h, cc} - * src/DHTMessageFactory.h - * src/DHTMessageFactoryImpl.{h, cc} - * src/DHTMessageTracker.cc (handleTimeout): Catch and handle exception. - * src/DHTInteractionCommand.cc - * src/DHTUnknownMessage.{h, cc} - * test/DHTUnknownMessageTest.cc - * test/MockDHTMessageFactory.h - -2008-02-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Commented out ip address comparison because a host can have multiple - ip addresses and it is hard to predict the hostname is resolved into - which one. - * test/SocketCoreTest.cc (testWriteAndReadDatagram) - -2008-02-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * po/Makefile.in: Removed since this is generated by configure. - -2008-02-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compiler warning about redefinition of SIZE_MAX. - Use common.h instead of config.h directly here. - * src/Platform.{h, cc} - - The check of ENABLE_NLS is made in gettext.h, so it is not required - here. - * common.h - -2008-02-02 gettextize <bug-gnu-gettext@gnu.org> - - Updated gettext related files. - * configure.ac (AC_CONFIG_FILES): Add intl/Makefile. - * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.17. - -2008-02-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added DHT functionality, compatible with mainline. - DHT is disabled by default. To enable it, give --enable-dht to aria2c. - You may need to specify entry point to DHT network using - --dht-entry-point. DHT uses UDP port to listen incoming message. - Use --dht-listen-port to specify port number. Make sure that your - firewall configuration can pass through UDP traffic to the port. - The routing table is saved in $HOME/.aria2/dht.dat. - * src/DHT* - * src/BNode.{h, cc} - * src/PeerInteractionCommand.cc: enable DHT functionality for a - particular torrent. - * src/Data.cc: Rewritten ctor. - * src/OptionHandlerFactory.cc: Added --enable-dht, --dht-listen-port, - --dht-entry-point. - * src/DefaultBtInteractive.cc: Send port message if dht is enabled. - * src/RequestGroup.cc: Initialize DHT functionality. When download - ends, remove BtContext from DHTPeerAnnounceStorage. - * src/BtPortMessage.{h, cc}: Rewritten. - * src/message.h - * src/OptionHandlerImpl.cc - * src/option_processing.cc: Added --enable-dht, --dht-listen-port, - --dht-entry-point. - * src/Dictionary.{h, cc} (remove): New function. - * src/prefs.h - * src/DefaultBtMessageFactory.h - * src/BtHandshakeMessage.cc - * src/ActivePeerConnectionCommand.cc - * src/SocketCore.{h, cc}: Added datagram socket support. - * src/DefaultBtMessageFactory.cc - * src/BtSetup.cc: Add BtContext to DHTPeerAnnounceStorage here. - Create DHT commands. - * src/BtMessageFactory.h - * src/PeerMessageUtil.{h, cc} - -2008-01-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that log file is not written when configuration file doesn't exist. - This is caused by using Logger class before LogFactory is not configured. - BUG #1875079 - * src/option_processing.cc - - Warning message "configuration doesn't exist" is only printed when --conf is - given. - * src/option_processing.cc - -2008-01-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use BencodeVisitor and MessageDigestHelper instead of ShaVisitor. - ShaVisitor is now deprecated and slated to be removed. - * src/DefaultBtContext.cc - -2008-01-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Externalize message to message.h - * src/Platform.cc - * src/message.h - -2008-01-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Set default domain and default path to cookie. - * src/HttpResponse.cc - * src/CookieBox.{h, cc} - * src/CookieParser.{h, cc} - * test/CookieParserTest.cc - -2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --no-conf and --conf-path command-line option. - --no-conf option disables loading aria2.conf file. - --conf-path option changes the configuration file path. The default - file path is $HOME/.aria2/aria2.conf - Added a warning message when the configuration file is not found. - * src/HelpItemFactory.cc - * src/option_processing.cc - * src/prefs.h - * src/usage_text.h - -2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the message to inform users that other help categories are - available in -h option. - * src/version_usage.cc - * src/TagContainer.{h, cc} - * test/TagContainerTest.cc - * src/TaggedItem.{h, cc} - * test/TaggedItemTest.cc - * src/HelpItem.h - -2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added Piece::getFirstMissingBlockIndexWithoutLock() and it is called - from PiecedSegment's ctor. - Previously Piece::getAllMissingBlockIndexes() is called from - PiecedSegment() but it is rather expensive since only first element is - used. - * src/PiecedSegment.cc - * src/Piece.{h, cc} - -2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten get*Missing*Index functions. Now no need to allocate memory - each time these functions are called. - * src/BitfieldMan.{h, cc} - * test/BitfieldManTest.cc - * src/array_fun.h - * test/array_funTest.cc - - Now BitfieldMan::countBlock() returns BitfieldMan::blocks. - Added new BitfieldMan::countFilteredBlock() to get the number of blocks - filtered. Removed unnecessary cast to int32_t. - * src/BitfieldMan.{h, cc} - -2008-01-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that EX_TOO_LONG_PAYLOAD exception is thrown if just - payload length(4bytes) are received. This happens because lenbufLength - is not updated in this particular case and successive call of - receiveMessage() overwrites payload length with bytes recieved which - are payload body. - * src/PeerConnection.{h, cc} - * src/message.h - -2008-01-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that DefaultPeerStorage::returnPeer() may delete wrong - peer if there are peers that have same ipaddr and port. - I've experiened segmentation fault and "pure virtual function was - called" error. - * src/Peer.h - * test/PeerTest.cc - * src/DefaultPeerStorage.cc - * test/DefaultPeerStorageTest.cc - -2008-01-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed a call to isPowerOf() because it is no longer necessary here - and a request block is not always power of 2. - BUG#1866924 - * src/PeerMessageUtil.cc (checkLength) - -2008-01-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that always first found Segment is removed from - usedSegmentEntries. Removed unused functions. - * src/SegmentMan.{h, cc} - * test/SegmentManTest.cc - - Fixed the bug that ServerHost is not removed. - * src/RequestGroup.cc - -2008-01-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that SegmentMan::completeSegment() is not called - even if Segment is complete when --lowest-speed-limit is enabled. - BUG#1864525 - * src/DownloadCommand.{h, cc} - -2008-01-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed: hash algorithm 'sha1' is always used. - * src/DownloadCommand.cc (validatePieceHash) - -2008-01-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --enable-peer-exchange command-line option. - * src/OptionHandlerFactory.cc - * src/HelpItemFactory.cc - * src/option_processing.cc - * src/usage_text.h - -2008-01-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Move extension from BtRuntime to ExtensionMessageFactory, because - extension can be specified per peer, not per torrent. - * src/DefaultBtInteractive.cc - * src/BtRuntime.h - * src/ExtendedMessagingAware.h - * src/ExtensionMessageFactory.h - * src/DefaultExtensionMessageFactory.cc - * test/DefaultExtensionMessageFactoryTest.cc - -2008-01-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added categorized option help. Specify category using --help option. - Also added the ability to search options in forward match. - * src/HelpItem.{h, cc} - * test/HelpItemTest.cc - * src/HelpItemFactory.{h, cc} - * src/TagContainer.{h, cc} - * test/TagContainerTest.cc - * src/option_processing.cc - * src/prefs.h - * src/TaggedItem.{h, cc} - * test/TaggedItemTest.cc - * src/version_usage.cc - * src/help_tags.h - * src/usage_text.h - -2008-01-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed segmentation fault when bad torrent metainfo is parsed. - Added dynamic_cast properly to detect the misconfiguration of metainfo - and then throw exception or skip it. - * src/DefaultBtContext.{h, cc} - * test/DefaultBtContextTest.cc - * src/AnnounceList.cc - * src/CompactPeerListProcessor.cc - * src/message.h - * src/DefaultBtAnnounce.{h, cc} - * test/DefaultBtAnnounceTest.cc - * src/BencodeVisitor.cc - -2007-12-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added missing "B"(=Byte). So now the message looks like this: - Your share ratio was 1.0, uploaded/downloaded=12MiB/12MiB - * src/message.h (MSG_SHARE_RATIO_REPORT) - -2007-12-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Show the seed ratio after torrent downloads. - For example, after torrent download completed and --seed-time and - --seed-ratio conditions are fulfilled, following message is printed - right after "Download complete: .....": - Your share ratio was 1.0, uploaded/downloaded=12M/12M - * src/RequestGroupMan.cc - * src/RequestGroup.{h, cc} - * src/message.h - -2007-12-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Remove a defunct control file. A defunct control file means that while - it exists, but the corresponding download file is missing. - After its removal, a download restarts from the beginning. - * src/RequestGroup.cc - * src/message.h - -2007-12-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Allocate bitfield in Peer when it is really used. More specifically, - bitfield in Peer is allocated after the connection is established and - deallocated when the connection is dropped. - Since 2 parameters(piece length and total length) was removed from the - constructor of Peer class, many test classes were modified accordingly. - See svn log for more detailed information. - * src/PeerInteractionCommand.cc - * src/CompactPeerListProcessor.cc - * src/Peer.cc - * src/DefaultPeerListProcessor.cc - * src/PeerListenCommand.cc - * src/PeerReceiveHandshakeCommand.cc - - Fixed memory leak - * src/Piece.cc - -2007-12-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed the default value of PREF_PEER_CONNECTION_TIMEOUT and - lowestSpeedLimit in ActivePeerConnectionCommand. TODO: Make them - command-line options. - * src/option_processing.cc - * src/ActivePeerConnectionCommand.cc - -2007-12-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Send have message to peer if it already has the piece. - * src/BtHaveMessage.{h, cc} - -2007-12-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed incomingPeer. Set 0 to peer's port if it is not a listening - port. - * src/DefaultPeerStorage.{h, cc} - * test/DefaultPeerStorageTest.cc - * src/HandshakeExtensionMessage.cc - * test/HandshakeExtensionMessageTest.cc - * src/Peer.{h, cc}: Added ipaddr and port to identity comparison. - * src/PeerStorage.h - * test/MockPeerStorage.h - * src/PeerListenCommand.cc - * src/PeerReceiveHandshakeCommand.cc - -2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --metalink-enable-unique-protocol option. - * src/Metalink2RequestGroup.cc - * src/option_processing.cc - * src/prefs.h - * src/version_usage.cc - * doc/aria2c.1.txt - * doc/aria2c.1 - -2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Allow a peer in incomingPeer to be added peers. - * src/DefaultPeerStorage.cc - * test/DefaultPeerStorageTest.cc - -2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that causes aria2 not to finish download. BUG#1855875. - I could reproduce this bug in following procedure: - 1. Stop the download at the very beginning(1% or 100KB downloaded). - 2. Restart aria2. - 3. You see the download stopped around 99%. - * src/HttpResponseCommand.cc (handleDefaultEncoding) - * src/StreamFileAllocationEntry.cc: Removed the timeout handling. - If timeout is reached, then _nextCommand is unused and it may contains - segments and they won't be canceled. Actually, timeout is not needed - here because if the server dropped connection, then retry is made. - -2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added uTorrent compatible Peer Exchange. - * src/BencodeVisitor.{h, cc} - * test/BencodeVisitorTest.cc - * src/BtConstants.h - * src/BtContext.h: Added 'private' flag. - * src/BtExtendedMessage.{h, cc} - * test/BtExtendedMessageTest.cc - * src/BtHandshakeMessage.{h, cc}: Set extended messaging bit in - reserved field. - * test/BtHandshakeMessageTest.cc - * src/BtMessageFactory.h - * src/BtRegistry.h - * src/BtRuntime.h: This class holds default extension message IDs for - aria2. By default, aria2 uses ID 8 for ut_pex. - * src/DefaultBtContext.cc - * src/DefaultBtInteractive.{h, cc}: This class holds _utPexEnabled. - When it is true, aria2 enables ut_pex. This value is set by - PeerInteractionCommand. - * src/DefaultBtMessageFactory.{h, cc} - * test/DefaultBtMessageFactoryTest.cc - * src/DefaultBtMessageReceiver.cc: Moved the code of fast extension - handling to DefaultBtInteractive class. - * src/DefaultExtensionMessageFactory.{h, cc} - * test/DefaultExtensionMessageFactoryTest.cc - * src/DefaultPeerStorage.cc: Returns false if a peer is already in - the container(peers and incomingPeers. The equality is determined by - Peer::id). - * test/DefaultPeerStorageTest.cc - * src/ExtensionMessage.h - * test/MockExtensionMessage.h - * src/ExtensionMessageFactory.h - * test/MockExtensionMessageFactory.h - * src/HandshakeExtensionMessage.{h, cc} - * test/HandshakeExtensionMessageTest.cc - * src/MetaEntry.h - * src/Peer.{h, cc} - * src/PeerInteractionCommand.cc - * src/PeerReceiveHandshakeCommand.cc: Evaluate the return value of - addIncomingPeer. - * src/PeerMessageUtil.{h, cc} - * src/PeerObject.h - * src/UTPexExtensionMessage.{h, cc} - * test/UTPexExtensionMessageTest.cc - * src/message.h - * src/prefs.h - - Fixed the bug that returns incomplete data when it contains null - character. A convenient constructor was also added. - * src/Data.{h, cc} - - Rewritten. - * src/CompactPeerListProcessor.cc - - Fixed typos. - * src/message.h - * src/MetaFileUtil.cc - -2007-12-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added "Status Legend" label to the explanation text of 'stat' in - download result and moved it to the last. BUG#1848214 - * src/RequestGroupMan.cc - -2007-12-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that -lexpat is always added to aria2c_LDADD. - * src/Makefie.am - * test/Makefile.am - -2007-12-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that prevents aria2 from loading cookie file when expire - value is greater than 2^31-1. BUG#1851066 - * src/CookieBoxFactory.cc - * test/CookieBoxFactoryTest.cc - -2007-12-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed possible memory leak when an exception is thrown. - * src/XML2SAXMetalinkProcessor.cc - - Added Expat support. If both libxml2 and Expat are installed, then - libxml2 is used by default. - MetalinkProcessorFactory chooses from XML2SAXMetalinkProcessor and - ExpatMetalinkProcessor according to the configuration. - * src/ExpatMetalinkProcessor.{h, cc} - * src/main.cc: Removed libxml2 specific header and init/free function. - * src/MetalinkProcessorFactory.{h, cc} - * src/MetalinkHelper.cc - * src/Metalinker.h: Removed unnecessary libxml2 header. - * src/MetalinkProcessor.h - * test/XML2SAXMetalinkProcessorTest.cc: Removed because - MetalinkProcessorTest is used instead. - * test/MetalinkProcessorTest.cc: Added. It is actually the same with - XML2SAXMetalinkProcessor, replaced XML2SAXMetalinkProcessor with - MetalinkProcessorFactory::newInstance(). - * m4/libexpat.m4 - * configure.ac: Added configuration options for libexpat. - -2007-12-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Disabled -s option in metalink download. - * src/Metalink2RequestGroup.cc - -2007-12-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - If several protocols are available for a mirror in metalink file, - aria2 now use one of them. --metalink-preferred-protocol option was - added to specify the preference of protocol. - * src/AbstractCommand.cc - * src/OptionHandlerFactory.cc - * src/ServerHost.{h, cc} - * src/Metalink2RequestGroup.cc - * src/RequestGroup.{h, cc} - * test/RequestGroupTest.cc - * src/option_processing.cc - * src/prefs.h - * src/HttpResponseCommand.cc - * src/MetalinkResource.{h, cc} - * src/FtpNegotiationCommand.cc - * src/MetalinkEntry.{h, cc} - * src/MetalinkEntryTest.cc - -2007-12-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Code cleanup and added debug log. - * src/PeerConnection.cc - -2007-12-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Compiler error fix: applied the patch by Tiziano Mueller - * src/RequestGroup.cc - -2007-12-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug: only first announce URL is tried in AnnounceTier, - in stopped and completed event. - * src/AnnounceList.{h, cc} - * test/AnnounceListTest.cc - * src/DefaultBtAnnounce.cc - * test/DefaultBtAnnounceTest.cc - - Sorted URLs. - * test/Metalink2RequestGroupTest.cc - -2007-12-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed unnecessary string copy. Updated doc and corrected indentation. - * src/Base64.cc - - Fixed compilation warnings - * test/DataTest.cc - * test/HttpRequestTest.cc - * test/MetaFileUtilTest.cc - * test/RequestTest.cc - - * Release 0.12.0 - -2007-12-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated translations - * po/{de,fr,ja,nl,ru}.po - - Added Brazilian Portuguese, Catalan, Italian, Spanish, Swedish - translations. Many thanks to translators. - * po/{ca,es,it,pt_BR,sv}.po - * po/LINGUAS - -2007-12-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added a notice about URL - * src/version_usage.cc - -2007-12-07 Tatsuhiro Tsujikawa <tujikawa at rednoah com> - - Fixed the bug#1845750; CTRL+C does not stop torrent. - aria2 repeatedly sends stopped request when tracker returns error code. - * src/AnnounceList.cc - * test/AnnounceListTest.cc - * src/AnnounceTier.h - - Added a message when ctrl-c is hit. - Now second ctrl-c is also handled in signal handler. - * src/RequestGroupMan.{h, cc} - * src/RequestGroup.{h, cc} - * src/MultiUrlRequestInfo.cc - * src/DownloadEngine.cc - * src/TrackerWatcherCommand.cc - -2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Code cleanup - * src/Base64.cc (encode) - -2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed Direct/IO enable/disable procesure in file allocation routine. - * src/SingleFileAllocationIterator.cc - (SingleFileAllocationIterator): - Disable directIO if offset is not multiple of 512. - (~SingleFileAllocationIterator): Removed a call to disableDirectIO. - * src/MultiFileAllocationIterator.cc (allocateChunk): - Enable created SingleFileAllocationIterator's directIO. - * src/FileAllocationEntry.cc - (FileAllocationEntry): Enable directIO here. - (~FileAllocationEntry): Disable directIO here. - -2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug: aria2 doesn't utilize fast set index offered by peer. - * src/Peer.{h, cc} - * src/DefaultPieceStorage.cc - * test/DefaultPieceStorageTest.cc - -2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten direct I/O support routine - * src/SingleFileAllocationIterator.cc - * src/MultiDiskAdaptor.{h, cc} - * src/ByteArrayDiskWriter.h - * src/AbstractSingleDiskAdaptor.h - * src/AbstractDiskWriter.cc - * src/DefaultPieceStorage.cc - * src/DiskWriter.h - * src/BinaryStream.h - * src/IteratableChunkChecksumValidator.cc - * src/IteratableChecksumValidator.cc - * src/CheckIntegrityEntry.cc - * src/FileAllocationEntry.cc - -2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed typo - * src/version_usage.cc - - Updated doc - * doc/aria2c.1.txt - * doc/aria2c.1 - -2007-12-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed compile error without message digest support. - * src/FileMetalinkParserState.cc - * src/MetalinkParserController.{h, cc} - * test/XML2SAXMetalinkProcessorTest.cc - * test/MetalinkParserControllerTest.cc - -2007-12-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Enable direct I/O support in checksum checking. - * src/IteratableChunkChecksumValidator.{h, cc} - * test/IteratableChunkChecksumValidatorTest.cc - * src/CheckIntegrityEntry.cc - * src/PieceHashCheckIntegrityEntry.cc - * src/IteratableChecksumValidator.{h, cc} - * src/BtCheckIntegrityEntry.cc: Added doc. - -2007-12-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added --allow-piece-length-change option. - * src/DefaultBtProgressInfoFile.cc - * test/DefaultBtProgressInfoFileTest.cc - * src/OptionHandlerFactory.cc - * src/option_processing.cc - * src/prefs.h - * src/version_usage.cc - * doc/aria2c.1.txt - * doc/aria2c.1 - - Fixed: duplicated result entry appears when exception is thrown in - RequestGroup::createInitiateConnectionCommand(). - * src/RequestGroupMan.cc (fillRequestGroupFromReserver): - Add RequestGroup to _requestGroup after RequetGroup:: - createInitiateConnectionCommand() succeeds. - - Externalized message - * src/XML2SAXMetalinkProcessor.cc - * src/message.h - -2007-12-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Forced download abort when received negative response from http/ftp - server. - * src/HttpResponseCommand.cc - * src/FtpNegotiationCommand.cc - * src/HttpResponse.cc - * src/FtpConnection.cc - -2007-12-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added XML2SAXMetalinkProcessor class, which is a lot faster than - the predecessor, Xml2MetalinkParser class. - I tested them against 94KB metalink file with 1234 chunk checksums. - The new one parsed it in 22msec, while it took 6000msec with old one. - * src/XML2SAXMetalinkProcessor.{h, cc} - * test/XML2SAXMetalinkProcessorTest.cc - * src/MetalinkParserController.{h, cc} - * test/MetalinkParserControllerTest.cc - * src/MetalinkParserState.h: Also added 16 subclasses. - * src/main.cc - * src/Metalink2RequestGroup.cc - * src/MetalinkHelper.cc - * src/MetalinkEntry.cc - * src/ChunkChecksum.h - - Rewritten Base64 class for better performance. - * src/Base64.{h, cc} - * test/Base64Test.cc - * src/HttpRequest.cc - -2007-12-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug#1841757: aria2 will connect to server to only get - file size. - * src/StreamFileAllocationEntry.cc - * src/option_processing.cc - * src/HttpResponseCommand.cc: Now reuse connection in segmented - downloads. - * src/FtpNegotiationCommand.cc - - Suppressed wrong message when finding PreDownloadHandler - * src/RequestGroup.cc - -2007-11-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated usage - * src/version_usage.cc - - Updated man page - * doc/aria2c.1.txt - * doc/aria2c.1 - - Updated po files - * po/aria2c.pot - * po/*.po - * po/*.gmo - -2007-11-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Eliminated g++-4.2 warning - * src/DownloadHandlerConstants.{h, cc} - * src/Util.cc - * test/MetaFileUtilTest.cc - * test/PStringBuildVisitorTest.cc - - Fixed bug: --check-integrity doesn't work for multi file torrent. - * src/RequestGroup.cc - * src/BtCheckIntegrityEntry.cc - -2007-11-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed a2io.h - * src/a2io.h - -2007-11-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added direct I/O support. The current implementation uses O_DIRECT, - which is not posix standard and is tested on linux 2.6.21. - Currently only file allocation uses direct I/O. - * src/SingleFileAllocationIterator.{h, cc} - * test/SingleFileAllocationIteratorTest.cc - * src/MultiFileAllocationIterator.{h, cc} - * test/MultiFileAllocationIteratorTest.cc - * src/BinaryStream.h - * src/DiskWriter.h - * src/AbstractDiskWriter.{h, cc} - * src/ByteArrayDiskWriter.h - * src/DiskAdaptor.h - * src/AbstractSingleDiskAdaptor.{h, cc} - * src/MultiDiskAdaptor.{h, cc} - * src/FileAllocationEntry.cc - * src/Util.{h, cc} - * src/OptionHandlerFactory.cc - * src/prefs.h - * src/version_usage.cc - * src/option_processing.cc - - Moved FileAllocationMan::markCurrentFileAllocationEntryDone() to - handleException. - * src/MultiFileAllocationIterator.cc - - Added EINTR handling - * src/SocketCore.cc - -2007-11-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated usage - * src/version_usage.cc - -2007-11-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Applied Ross's patch for MinGW port. - * src/DownloadEngine.h - -2007-11-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Set Content-Type to SingleFileDownloadContext when http response is - received. - * src/HttpResponseCommand.cc - * src/HttpResponse.{h, cc} - * test/HttpResponseTest.cc - -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-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed syntax error - * test/SequenceTest.cc - -2007-11-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Return false if RequestGroup::isPreLocalFileCheckEnabled() == true - * src/RequestGroupMan.cc (isSameFileBeingDownloaded) - - Return false if RequestGroup::isPreLocalFileCheckEnabled() == true - * src/RequestGroup.cc (downloadFinishedByFileLength) - -2007-11-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the check to see whether ares_host_callback accepts timeouts - with c-ares; only c-ares 1.5.0 or newer accepts it. - * src/NameResolver.{h, cc} - * m4/libcares.m4 - * configure.ac: Set C++ for language choice. - -2007-11-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed: compilation fails without c-ares/ares - * src/DownloadEngine.cc (addCommand): Moved outside #ifdef - - Generate http/ftp commands only when download is incomplete. - * src/BtFileAllocationEntry.cc (prepareForNextAction) - -2007-11-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Corrected typo. Examples are removed since they are available in man - page. - * src/version_usage.cc - - Updated man page. - * doc/aria2c.1 - * doc/aria2c.1.txt - * doc/makeman: Commented out sed command. - -2007-11-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Throw DlAbortEx when a remote file is not found. - * src/HttpResponse.cc - * src/FtpNegotiationCommand.cc - * src/message.h - - Overwrite an existing file if --allow-overwrite=true is given. - * src/RequestGroup.cc - - Removed unused functions - * src/AbstractCommand.h - -2007-11-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed 'extern' from 'extern typedef ...' in src/*.h - -2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated usage - * src/version_usage.cc - -2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Trim announce URL - * src/DefaultBtContext.cc - * test/ShaVisitorTest.cc - - Trim argument s. Give trimed s to exception constructor. - * src/Util.cc (parseInt)(parseLLInt) - * test/UtilTest.cc - -2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Set precision back to 1. - * src/ConsoleStatCalc.cc (calculateStat) - -2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Replaced strtol with Util::parseInt - * src/ChunkedEncoding.cc - * src/HttpConnection.cc - * src/CookieBoxFactory.cc - * src/ParameterizedStringParser.cc - * src/Util.cc - * test/UtilTest.cc - * test/OptionHandlerTest.cc - * src/Request.cc - - Throw exception when empty string is given. The message for exception - changed. - * src/Util.cc (parseInt)(parseLLInt) - * src/message.h - -2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Set precision to 2 because share ratio is rounded into 1.0 if precision - set to 1. - * src/ConsoleStatCalc.cc (calculateStat) - -2007-11-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Preallocate non-requested file which is adjacent forward to requested - file('requested' files means the files given in --select-file option) - if they share a same piece. - This fixes long pause in the file system which doesn't support sparse - files like FAT32 while downloading. - * src/MultiFileAllocationIterator.{h, cc} - * test/MultiFileAllocationIteratorTest.cc - * src/FileEntry.{h, cc} - - Removed unused _option. - * src/MultiDiskAdaptor.h - * test/MultiDiskAdaptorTest.cc - * src/DefaultPieceStorage.cc - - Set the default value of --seed-ratio to 1.0. - If 0.0 is given, then seeding continues regardless of share ratio. - * src/version_usage.cc - * src/option_processing.cc - * src/BtSetup.cc - * doc/aria2c.1.txt - * doc/aria2c.1 - - Fixed: Selective download is not working in BitTorrent - * src/RequestGroup.cc - - Introduced Sequence class. Use this instead of Util::unfoldRange() - * src/PieceStorage.h - * test/MockPieceStorage.h - * src/UnknownLengthPieceStorage.h - * src/DefaultPieceStorage.{h, cc} - * src/Metalink2RequestGroup.cc - * src/RequestGroup.cc - * src/Sequence.h - * test/SequenceTest.cc - * src/IntSequence.h - * src/message.h - * src/Util.{h, cc} - * test/UtilTest.cc - - Added new function 'parse' to catch exception thrown by subclass's - parseArg - * src/OptionHandler.h - * src/OptionParser.cc - * src/NameMatchOptionHandler.h - * src/OptionHandlerImpl.h - * test/OptionHandlerTest.cc - - Added IntegerRangeOptionHandler. Used for --listen-port and - --select-file. Now --listen-port accepts range of port. - * src/OptionHandlerFactory.cc - * src/version_usage.cc - * src/OptionHandlerImpl.h - * src/option_processing.cc - * src/BtSetup.cc - * src/PeerListenCommand.{h, cc} - * doc/aria2c.1.txt - * doc/aria2c.1 - - Implemented operator< for Exception class to provide easy way to print - exception stack trace. - * src/Exception.{h, cc} - * src/main.cc - * src/option_processing.cc - -2007-11-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/version_usage.cc - (showVersion): Reworked. - (showUsage): Added examples. - - Removed Hint for total length and file name. - * src/Metalink2RequestGroup.cc - * src/RequestGroup.{h, cc} - * src/HttpResponseCommand.cc - * src/FtpNegotiationCommand.cc - - Now --follow-torrent and --follow-metalink option work properly. - * src/RequestGroup.cc - - Updated man page - * doc/aria2c.1.txt - * doc/aria2c.1 - -2007-11-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Removed. - * src/PiecedSegment.{h, cc} (operator==)(operator!=) - - Use Segment::operator==() - * src/HttpConnection.cc - * src/Segment.h - - Updated usage - * src/version_usage.cc - - Added EINTR treatment. - * src/SocketCore.cc - * src/AbstractDiskWriter.cc - - Rewritten. - * src/Util.cc (rangedFileCopy) - -2007-11-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed typo. - * src/version_usage.cc - -2007-11-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented. Now -c option works fine. - * src/DefaultPieceStorage.cc (markPiecesDone) - * test/DefaultPieceStorageTest.cc - - Removed. - * src/SegmentMan.{h, cc} - (markAllPiecesDone) - (markPieceDone) - - Synchronized po files with - https://translations.launchpad.net/aria2/trunk/+pots/aria2c - * src/fr.po - * src/ru.po - * src/de.po - * src/ja.po - -2007-11-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added ifdef and some modifications to compile without BitTorrent, - Metalink, MessageDigest - support. - * src/PieceHashCheckIntegrityEntry.cc - * src/MetalinkEntry.h - * src/version_usage.cc - * src/main.cc - * src/DownloadEngine.{h, cc} - * src/Metalink2RequestGroup.cc - * src/Peer.cc - * src/RequestGroup.cc - * src/MetalinkHelper.cc - * test/DefaultPieceStorageTest.cc - * test/MetalinkPostDownloadHandlerTest.cc - * test/Metalink2RequestGroupTest.cc - - Hide TOTAL SPD when all downloads complete. - * src/ConsoleStatCalc.cc - - Log target system information. - * src/main.cc - -2007-11-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now --metalink-location accepts a comma-deliminated list of locations. - * src/MetalinkEntry.{h, cc} - * test/MetalinkEntryTest.cc - * src/version_usage.cc - * src/Metalink2RequestGroup.cc - * src/Xml2MetalinkProcessor.cc - * test/Xml2MetalinkProcessorTest.cc - * doc/aria2c.1.txt - * doc/aria2c.1 - - * src/Util.cc (toUpper)(toLower): Rewritten. - -2007-11-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to detect duplicate download entry which is about to - download the same file other RequestGroup is downloading. - * src/RequestGroup.cc - * src/HttpResponseCommand.cc - * src/FtpNegotiationCommand.cc - -2007-11-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Recalculates download progress when loading a control file, - if the piece length of DownloadContext is different from the one saved - in the control file. Currently in-flight pieces are ignored. - * src/DefaultBtProgressInfoFile.cc - * test/DefaultBtProgressInfoFileTest.cc - * src/Util.{h, cc} - * test/UtilTest.cc - -2007-11-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Do not rotate tiers in announce-list. - * src/DefaultBtAnnounce.{h, cc}: Removed trackerNumTry. - AnnounceList::allTiersFailed() used instead to detect whether all - tiers are tried and failed. - * test/DefaultBtAnnounceTest.cc - * src/AnnounceList.{h, cc}: If all tiers are tried and failed then - allTiersFailed() returns true. To reset tier pointer, call resetTier(); - * test/AnnounceListTest.cc - * src/TrackerWatcherCommand.cc (execute): Removed DlAbortEx catch - clause. Catch RecoverableException instead of DlRetryEx instead. - -2007-11-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented checksum validation feature(1 checksum for each file) - The validation takes place after the download. - * src/PieceHashCheckIntegrityEntry.{h, cc}: New class. - * src/IteratableChecksumValidator.{h, cc}: Rewritten. - * src/CheckIntegrityCommand.cc: Changed log message. - * src/Metalink2RequestGroup.cc: Set checksum to - SingleFileDownloadContext. - * src/StreamCheckIntegrityEntry.{h, cc}: Now derived from - PieceHashCheckIntegrity class. - * src/BtCheckIntegrityEntry.{h, cc}: Now derived from - PieceHashCheckIntegrity class. - * src/ChecksumCheckIntegrityEntry.{h, cc}: New class. - * src/IteratableValidator.h: New class. - * src/message.h - * src/CheckIntegrityEntry.{h, cc} - * src/IteratableChunkChecksumValidator.{h, cc} - * src/SingleFileDownloadContext.h - * src/DownloadCommand.cc - - --allow-overwrite=true is no longer needed to check file integrity - before download in BitTorrent download. - * src/RequestGroup.cc (getInitialCommand) - - Removed RequestGroup from queue when RequestGroup::getInitialCommand() - throws exception. - * src/RequestGroupMan.cc (getInitialCommands) - -2007-11-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - urlencode the given url inside Request::parseUrl(...) - * src/Request.{h, cc} - * src/Util.{h, cc} - * test/RequestTest.cc - - Removed #!metalink3! notation support because it is deleted from - the metalink specification. - * src/Request.{h, cc} - * test/RequestTest.cc - -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-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed CheckIntegrityEntry interface so that it can define - the action when all the chunk checksums are valid. - * src/CheckIntegrityEntry.h - * src/StreamCheckIntegrityEntry.{h, cc} - * src/BtCheckIntegrityEntry.{h, cc}: Currently,when all the checksums - are valid, then aira2 goes to seeding mode. Sometimes it is better - to exit rather than doing seeding. So, it would be good to toggle this - behavior. - * src/CheckIntegrityCommand.cc - * src/AbstractCommand.cc - * src/RequestGroup.cc - -2007-11-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reflect the download length of in-flight pieces. - It makes the download length readout more precise. - * src/DefaultPieceStorage.{h, cc} - * test/DefaultPieceStorageTest.cc - * src/a2functional.h - * test/a2functionalTest.cc - - Lower CPU load when --max-download-limit is used. - There is up and down in speed indicator when enabling - http-pipelining but a download goes well. I think the problem is that - because http-pipelining is enabled, DownloadCommand is created for - each segment and in its constructor, PeerStat::downloadStart() is - called. In PeerStat::downloadStart(), speed calculation object is - reseted, which makes download speed zero. - * src/DownloadCommand.cc - - Rewritten using accumulate. - * src/RequestGroupMan.cc (calculateStat) - - Code clearnup. - * src/FtpNegotiationCommand.cc - * src/HttpResponseCommand.cc - -2007-11-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed: Can not resume: aria2 reports download already finished. - * src/AbstractCommand.{h, cc} - * src/HttpResponseCommand.cc - * src/FtpNegotiateCommand.cc - -2007-11-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now a file is stored in the directory specified in .metalnk file - (file[@name]). - * src/Metalink2RequestGroup.cc - - Create the directory structure when opening the file if it doesn't - exist. - * src/AbstractDiskWriter.cc - * src/Util.{h, cc} - * src/File.h - * test/UtilTest.cc - - Removed file name comparison - * src/Metalink2RequestGroup.cc - * src/HttpResponseCommand.cc - - Rewritten using Util::mkdirs() - * src/FileEntry.cc (setupDir) - * test/FileEntryTest.cc - - Updated doc - * src/SingleFileDownloadContext.h - -2007-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now SleepCommand dispatches nextCommand when halt is requested. - It avoids a possible long wait after hitting CTRL-C. - * src/SleepCommand.{h, cc} - * src/RequestGroupAware.{h, cc} - -2007-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed: the listen port sent to the tracker is wrong. If aria2 fails - to open listen port, then remove the port number from the tracker - request. - * src/DefaultBtAnnounce.cc - * test/DefaultBtAnnounceTest.cc - * test/MockPieceStorage.h - - Inject randomizer to DefaultBtAnnounce and DefaultBtContext to make - them more testable. - * src/DefaultBtAnnounce.{h, cc} - * src/DefaultBtContext.{h, cc} - * src/Util.{h, cc} - * test/DefaultBtAnnounceTest.cc - * test/DefaultBtContextTest.cc - * test/UtilTest.cc - - Added 'B' to upload bytes readout. - * src/ConsoleStatCalc.cc - - Now the listen port for BitTorrent download is opened when it is - needed. - * src/DownloadEngineFactory.cc - * src/BtSetup.{h, cc} - * src/PeerListenCommand.{h, cc} - - Now an exception thrown while parsing tracker response is now logged. - If DlAbortEx is catched, then btAnnounce->resetAnnounce() immediately - called, which means no retry is made in this case, assuming a tracker - has a problem. - * src/TrackerWatcherCommand.cc - - Fixed: downloading a file whose length is unkown fails. - * src/DownloadCommand.cc - - Simplified prepareForNextSegment() - * src/DownloadCommand.cc - - Updated - * po/POTFILES.in - -2007-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Re-implemented a file listing for Metalink, which was dropped while - http/ftp/torrent integration was being implemented. - * src/MetalinkHelper.{h, cc}: New class. - * test/MetalinkHelperTest.cc - * src/main.cc - * src/Metalink2RequestGroup.cc - -2007-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to display the detailed torrent file information. - Now -S option gives not only a file listing, but also total download - length, info hash, announce URI, piece length, the number of pieces, - and mode(single or multi-torrent). - * src/DefaultBtContext.{h, cc} (operator<<): New function. - * src/Util.cc (toStream): Show file length in a abbreviated form(like - KiB) - * test/UtilTest.cc - * src/main.cc - -2007-10-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added ftp://USER:PASSWD@Servername automatic parsing. - * src/Request.{h, cc}: Removed AuthResolvers. Added _username and - _password. Recognize username and password in URI. - * src/main.cc: Use AuthConfigFactory instead of RequestFactory. - * src/RequestGroup.cc: Use AuthConfigFactory instead of RequestFactory. - * src/RequestFactory.{h, cc}: Removed. - * src/AuthConfigFactory.{h, cc}: New class. - * src/FtpConnection.cc: Use AuthConfigFactory. - * src/HttpRequest.cc: Use AuthConfigFactory. - * test/HttpRequestTest.cc: Updated. - * test/RequestTest.cc: Updated. - * test/AuthConfigFactoryTest.cc: New class. - * test/RequestFactoryTest.cc: Removed. - -2007-10-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use RequestGroup::allDownloadFinished() to decide whether the control - file should be removed or saved. - * src/RequestGroup.{h, cc} (allDownloadFinished): New function. - * src/RequestGroupMan.cc (removeStoppedGroup) (save) - -2007-10-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use File::renameTo() - * src/DefaultBtProgressInfoFile.cc - - Added --no-file-allocation-limit command-line option. - * src/version_usage.cc - * src/option_processing.cc - * src/OptionHandlerFactory.cc - * src/RequestGroup.{h, cc} - * src/BtCheckIntegrityEntry.cc - * src/StreamCheckIntegrityEntry.cc - * src/prefs.h - * doc/aria2c.1.txt - * doc/aria2c.1 - - Now prealloc is the default value for --file-allocation option. - * src/version_usage.cc - * src/option_processing.cc - * doc/aria2c.1.txt - * doc/aria2c.1 - - Don't URL-encode user-agent. - * src/HttpRequest.cc - - Updated translations - * po/LINGUAS: Added nl for Dutch translation. - * po/nl.po: Added Dutch translation, thanks to A. Bram Neijt. - * po/de.po: Updated German translation, thanks to Patrick Ruckstuhl. - * po/POTFILES.in: Updated. - -2007-10-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to recognize url-list in a torrent file. - The retrieved URLs are attached to the corresponding FileEntry. - * src/DefaultBtContext.{h, cc} - * src/FileEntry.{h, cc} - * test/DefaultBtContextTest.cc - -2007-10-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/ConsoleStatCalc.cc: Let the user know that aria2 is now seeding - after the download finishes. - -2007-10-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/Piece.{h, cc}: Added SubPiece infrastructure to track down - the data smaller than block length. - A block length can be specified by constructor's argument. - * src/DefaultPieceStorage.{h, cc} (getMissingPiece): - Get a missing piece in the range of given FileEntry. This function is - not used in the program yet. - * src/Util.h: Added some macros. - -2007-10-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added HTTP/1.1 keep alive and pipelining support. - See --enable-http-keep-alive and --enable-http-pipelining option. - * src/AbstractCommand.{h, cc}: Now it has one-to-many relation to - Segment. - * src/HttpDownloadCommand.{h, cc} - * src/OptionHandlerFactory.cc - * src/HttpConnection.{h, cc} - * src/version_usage.cc - * src/HttpInitiateConnectionCommand.cc - * src/FtpInitiateConnectionCommand.cc - * src/Segment.h - * src/HttpRequestCommand.{h, cc} - * src/option_processing.cc - * src/prefs.h - * src/HttpResponseCommand.cc - * src/SegmentMan.{h, cc} - * src/FtpNegotiateCommand.cc - * src/HttpProxyResponseCommand.cc - * src/Request.cc - * src/HttpRequest.cc - * src/DownloadCommand.cc - * test/HttpRequestTest.cc - * test/RequestTest.cc - -2007-10-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/ConsoleCalc.cc (calculateStat): Hide SPD after the download - finished. - -2007-10-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/Metalink2RequestGroup.cc (generate): Throw exception instead of - catching it inside the method. - When no file entry is found in a metalink without querying user - preferences, throw the exception with the error message that suggests - metalink file is probably broken. - * src/RequestGroup.cc (postDownloadProcessing): Catch exception here. - -2007-10-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that prevents remote Metalink/Torrent file from begin - processed. - * src/RequestGroupMan.cc (removeStoppedGroup) - - Added debug message. - * src/BtPostDownloadHandler.cc - * src/MetalinkPostDownloadHandler.cc - * src/PostDownloadHandler.{h, cc} - * src/RequestGroup.cc - -2007-10-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/Request.cc (parseUrl): Removed unnecessary slashes around dir. - -2007-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/MultiUrlRequestInfo.h: Updated the message shown when program - stops and there are any unfinished or in-progress downloads. - Added the legend of "stat". - -2007-10-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Throw exception when chunck checksum verification fails. - * src/DownloadCommand.cc (validatePieceHash): New function. - * src/PiecedSegment.{h, cc} (clear): New function. - * src/GrowSegment.{h, cc} (clear): New function. - * src/Segment.h (clear): New function. - * src/SegmentMan.{h, cc} (validatePieceHash): Removed. - * test/SegmentTest.cc - * test/GrowSegmentTest.cc - -2007-10-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Do not send referer when redirected. - * src/Request.cc (redirectUrl) - * test/RequestTest.cc - * test/HttpRequestTest.cc - -2007-10-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Implemented BitTorrent/http/ftp integrated download. - I've rewritten lots of files and now some headers have forward - class declarations to reduce compile time. - The implementation is extremely alpha stage, I recommend to use this - for testing purpose only. - -2007-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the compilation error on 64bit platform. - * test/HttpHeaderProcessorTest.cc - -2007-09-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Merged Ross's patch that fixes compilation problem in MinGW - * test/DefaultBtProgressInfoFileTest.cc - -2007-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Updated fr.po by sebone - * po/fr.po - - Updated man page. - * doc/aria2c.1.txt - - * Release 0.11.3 - -2007-09-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/MetalinkRequestInfo.cc (execute): Fixed BitTorrent download - failure in Metalink. - -2007-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Automatically save *.aria2 control file of http/ftp download in every - 60 seconds. - * src/AutoSaveCommand.{h, cc}: New class. - * src/TimeBasedCommand.{h, cc}: New class. - * src/DownloadEngineFactory.cc (newConsoleEngine) - - Disable parameterized URI support by default. Added -P option to - enable the feature. - * src/prefs.h: Added PREF_PARAMETERIZED_URI - * src/OptionHandlerFactory.cc - * src/main.cc: Also updated usages for -Z and --auto-file-renaming - - Updated Japanese translation. - * po/ja.po - - Updated man page. - * doc/aria2c.1.txt - - * Release 0.11.3-rc - -2007-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Now *.aria2 contorol file is first saved to *.aria2__temp and if - it is successful, then renamed to *.aria2. - This prevents *.aria2 file from being truncated or corrupted when - file system becomes out of space. - * src/DefaultBtProgressInfoFile.cc (save) - * src/SegmentMan.cc (save) - * test/DefaultBtProgressInfoFileTest.cc (testSave): Implemented. - -2007-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reduced the fragmentation of bitfield in http/ftp download. - * src/BitfieldMan.cc (getSparseMissingUnusedIndex) - * test/BitfieldManTest.cc - -2007-08-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the ability to disable segmented download in .metalink. - aria2 can now recognize 'maxconnections' attribute in 'resources' and - 'url' tag. - * src/MetalinkEntry.{h, cc} - * src/RequestResource.{h, cc} - * src/MetalinkRequestInfo.cc - * src/Xml2MetalinkProcessor.cc - * test/Xml2MetalinkProcessorTest.cc - -2007-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added parameterized URI support. - * src/main.cc: -Z option added. - * src/OptionHandlerFactory.cc - * src/prefs.h: Added PREF_FORCE_SEQUENTIAL. - * src/PStringDatum.h: New class. - * src/PStringSegment.{h,cc}: New class. - * src/PStringNumLoop.h: New class. - * src/PStringSelect.h: New class. - * src/NumberDecorator.h: New class. - * src/FixedWidthNumberDecorator.h: New class. - * src/AlphaNumberDecorator.h: New class. - * src/PStringVisitor.h: New class. - * src/PStringBuildVisitor.{h,cc}: New class. - * src/ParameterizedStringParser.{h,cc}: New class. - * src/Util.{h,cc} - (isNumber): New function. - (isLowercase): New function. - (isUppercase): New function. - (alphaToNum): New function. - * test/ParameterizedStringParserTest.cc: New class. - * test/AlphaNumberDecoratorTest.cc: New class. - * test/PStringBuildVisitorTest.cc: New class. - * test/UtilTest.cc - (testIsNumber): New function. - (testIsLowercase): New function. - (testIsUppercase): New function. - (testAlphaToNum): New function. - - Added '\n' after the error message - * src/RequestInfo.h (printDownloadAbortMessage) - - Added auto file renaming feature in http(s)/ftp download. - * src/main.cc: Added --auto-file-renaming command-line option. - * src/OptionHandlerFactory.cc - * src/prefs.h: Added PREF_AUTO_FILE_RENAMING - * src/RequestGroup.{h, cc} - (shouldCancelDownloadForSafety): Rewritten - (tryAutoFileRenaming): New function. - * src/SegmentMan.{h, cc} (shouldCancelDownloadForSafety): Removed. - * src/HttpResponseCommand.cc - (executeInternal): Removed the call to RequestGroupMan:: - isSameFileBeingDownloaded() - * src/FtpNegotiateCommand.cc - (recvSize): Removed the call to RequestGroupMan:: - isSameFileBeingDownloaded() - * test/RequestGroupTest.cc: New class. - -2007-08-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Merged Ross's patch: Removed setmode(). Use _CRT_fmode to enable binary - IO. - * src/DefaultBtProgressInfoFile.cc - * src/MetaFileUtil.cc - * src/SimpleLogger.cc - * src/SegmentMan.cc - * src/Util.cc - * src/Platform.cc - -2007-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/Xml2MetalinkProcessor.cc (getPieceHash): Added missing .c_str(). - -2007-08-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Avoid sparse files if possible, because VFAT32 doesn't support it. - * src/DefaultDiskWriter.cc (initAndOpenFile) - - Fixed the bug that prevents file allocation is not done when - dowloading multi-torrent file. - * src/AbstractDiskWriter.cc (openFile) - - Increase the maximum number of -j option from 15 to 45. - * src/OptionHandlerFactory.cc (createOptionHandlers) - - Added fr.po, thanks to Charles Landemaine. - * po/fr.po - * po/LINGUAS - - -2007-08-10 Ross Smith II <aria2spam at smithii dot com> - - gcc 3.4.4 support: - * src/DefaultBtContext.cc: int32_t -> int - * src/main.cc: int -> int32_t, int32_t -> int - * src/messageDigest.h: uint32_t -> unsigned int - * src/NameResolver.h: int32_t -> int - * src/PeerConnection.cc: int -> int32_t - * src/SpeedCalc.cc: int32_t -> int - * src/TrackerUpdateCommand.h: int -> int32_t - * src/Util.cc: int32_t -> int - * src/Util.h: int32_t -> int - * src/Xml2MetalinkProcessor.cc: int -> uint32_t, int64_t -> uint64_t - * test/AnnounceListTest.cc: int -> int32_t - * test/ChunkedEncodingTest.cc: int -> int32_t - * test/DataTest.cc: int -> int32_t - * test/DefaultBtRequestFactoryTest.cc: int -> int32_t - * test/DefaultPeerListProcessorTest.cc: int -> int32_t - * test/DefaultPieceStorageTest.cc: int -> int32_t - * test/FeatureConfigTest.cc: int -> int32_t - * test/MetalinkEntryTest.cc: int -> int32_t - * test/MockBtRequestFactory.h: int -> int32_t - * test/MockPieceStorage.h: int -> int32_t - * test/OptionTest.cc: int -> int32_t - * test/RequestTest.cc: int -> int32_t - * test/SegmentManTest.cc: int -> int32_t - * test/Xml2MetalinkProcessorTest.cc: int -> int32_t - -2007-08-10 Ross Smith II <aria2spam at smithii dot com> - - Move sleep functions to Util class: - * src/Util.cc - (sleep): New function. - (usleep): New function. - * src/DownloadCommand.cc: sleep -> Util::sleep - * test/TimeSeedCriteriaTest.cc: sleep -> Util::sleep - - MinGW build enhancements. The following files are added: - * src/timegm.{c,h} - - Changes to support the above new files: - * configure.ac - * src/Makefile.am - * src/a2time.h - * src/Util.cc: - * src/strptime.c: Added support for %Z option. - - Fixed MinGW non-blocking bug. - * src/SocketCore.cc - * src/HttpRequestCommand.cc - - Miscellenous build fixes/enhancements. - * configure.ac: Added summary report. - * src/Platform.h: Tweaked #include's. - * src/a2netcompat.h: Tweaked #include's. - * src/strptime.h: Tweaked #include's. - * src/gai_strerror.c: Tweaked #include's. - * src/gai_strerror.h: _D_GETADDRINFO_H -> _D_GAI_STRERROR_H - * src/getaddrinfo.h: Moved #ifndef __MINGW32__ - * src/gettimeofday.h: Added HAVE_CONFIG_H - -2007-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Increased the initial connection size in BitTorrent download to 40. - * src/BtRuntime.h - - Added the usage message of --peer-id-prefix option. - * src/main.cc - - * Release 0.11.2 - -2007-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - MessageDigestHelper is introduced in order to simplify the use - of message digest. Removed repeated code. - The message digest algorithm is now specified by string, like "sha1", - "md5". - * src/messageDigest.{h, cc} - * src/MessageDigestHelper.{h, cc}: New class. - * src/DefaultPieceStorage.cc - * src/DefaultBtContext.{h, cc} - (computeFastSet): New function. - (setInfoHash): Added for unit testing. - (setNumPieces): Added for unit testing. - * src/DefaultBtInteractive.cc - * src/BtPieceMessage.cc - * src/Peer.cc - * src/Checksum.h - * src/message.h - * src/IteratableChecksumValidator.h - * src/ChunkChecksumValidator.{h, cc}: Use IteratableChecksumValidator - inside it. - * src/SegmentMan.{h, cc} - (checkIntegrity): Removed. - * src/IteratableChunkChecksumValidator.{h, cc} - * src/Util.h - (sha1Sum): Removed. - (simpleMessageDigest): Removed. - (fileChecksum): Removed. - (computeFastSet): Removed. - * src/ShaVisitor.cc - * src/ChunkChecksum.h - * src/DownloadCommand.cc - - Removed messageDigest virtual functions. - * src/MultiDiskAdaptor.{h, cc} - * src/DiskAdaptor.h - * src/ByteArrayDiskWriter.h - * src/DiskWriter.h - * src/DiskAdaptorWriter.h - * src/AbstractSingleDiskAdaptor.{h, cc} - * src/AbstractDiskWriter.{h, cc} - - Fixed comilation error when message digest is disabled. - * src/MetalinkEntry.{h, cc} - * src/MetalinkRequestInfo.cc - - Removed srandom and random. - * src/SimpleRandomizer.h - - Added size() virtual function to DiskAdaptor - * src/MultiDiskAdaptor.h - - Fixed the bug that causes that files are not opened correctly in - multi-file torrent. - * src/TorrentRequestInfo.cc - * src/MultiDiskAdaptor.cc - - Added SHA256 support - * src/messageDigest.cc - * src/Xml2MetalinkProcessor.cc - - Show supported message digest algorithms - * src/main.cc - - Updated contact info. - * src/main.cc - - Applied Ross's patch - * src/a2netcompat.h - * src/main.cc - - Fixed the bug that prevents a remote metalink from not being processed - even if '-o foo.metalink' is specified. - * src/MetalinkRequestInfo.cc - -2007-08-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Merged Dan's patch: - * src/ByteArrayDiskWriter.cc: ios_base -> ios - - Use va_copy to avoid core dump on amd64: - * src/SimpleLogger.cc - - Updated contact info. - * src/main.cc - - Added #ifdef ENABLE_MESSAGE_DIGEST to fix test errors when message - digest is not available. - * src/MetalinkEntry.h - -2007-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Make a2netcompat.h include a2io.h to fix compilation error: - * src/a2netcompat.h - * src/SocketCore.cc: Removed include of a2io.h - * src/Util.cc: Removed include of a2io.h - - Gather time related functions to a2time.h: - * src/a2time.h: New file. - * src/DefaultPeerStorage.cc - * src/SimpleLogger.cc - * src/Util.{h, cc} - * src/SimpleRandomizer.h - * src/TimeA2.{h,cc} - * src/DownloadCommand.cc - * src/main.cc - - Removed #ifdef __MINGW32__ since gai_strerror is included in - a2netcompat.h: - * src/NameResolver.cc - - Fixed compilation error without openssl: - * src/SocketCore.{h,cc}: Moved include of openssl/err.h to SocketCore.h - - Added default block to suppress compiler warnings: - * src/MetalinkRequestInfo.cc (AccumulateNonP2PUrl::operator()) - -2007-07-26 Ross Smith II <aria2spam at smithii dot com> - - MinGW build enhancements. The following files are added: - * src/gai_strerror.{c,h} - * src/gettimeofday.{c,h} - - Changes to support the above new files: - * configure.ac - * src/Makefile.am - * src/a2netcompat.h - * src/TimeA2.cc - * src/DefaultPeerStorage.cc - * src/NameResolver.cc: removed mingw_strerror() function. - * src/SocketCore.cc: removed mingw_strerror() function. - - Miscellaneous MinGW build fixes. - * src/a2io.h: Use _lseeki64() instead of lseek() - * src/common.h - * src/DefaultFileAllocator.cc - * src/GlowFileAllocator.cc - * src/main.cc: Moved #include "prefs.h" to quiet compile error. - * src/NameResolver.cc - (callback): Changed int32_t to int. - (resolve): Changed int32_t to int. - * src/Platform.cc - * src/Platform.h - * test/MultiDiskWriterTest.cc - * test/PeerMessageUtilTest.cc - * src/localtime_r.c: Add DeleteCriticalSection() and at exit(). - - Other enhancements and fixes. - * src/HttpRequestCommand.cc - (executeInternal) Use non-blocking socket for HTTPS (MinGW only). - * src/SocketCore.cc: - (error): New function to abstract errno/WSAGetLastError(). - (errorMsg): New function to abstract errno/WSAGetLastError(). - (initiateSecureConnection): Added more detailed error reporting. - * src/SocketCore.h: Added private variable blocking, to allow - proper handling of OpenSSL psuedo-errors. - * src/message.h - (EX_SSL_INIT_FAILURE) - (EX_SSL_IO_ERROR) - (EX_SSL_PROTOCOL_ERROR) - (EX_SSL_UNKNOWN_ERROR) - (EX_SSL_CONNECT_ERROR) - (EX_SOCKET_BLOCKING) - (EX_SOCKET_NONBLOCKING) - (EX_SOCKET_UNKNOWN_ERROR) - * src/Util.cc - (setGlobalSignalHandler): Renamed signal to sig as signal is a - reserved name. - (httpGMT): Fixed typo. - -2007-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Merged Ross's win32 patch(manually) - In the course of merging, following files are added. - * src/strptime.{h,c} - * src/libgen.{h,c} - * src/inet_aton.{h,c} - * src/Platform.{h,cc} - * src/localtime_r.{h,c} - * src/getaddrinfo.{h,c} - I've gethered network related things, and put them to following file: - * src/a2netcompat.h - Also io related things are put to following file: - * src/a2io.h - - Changed %lld to %s because mingw32 doesn't recognize %lld. - * src/message.h - (MSG_ALLOCATION_COMPLETED) - (EX_TOO_LARGE_FILE) - (EX_SIZE_MISMATCH) - (EX_FILE_OFFSET_OUT_OF_RANGE) - (EX_INVALID_CHUNK_CHECKSUM) - (EX_INVALID_RANGE_HEADER) - * src/FileAllocationCommand.cc - * src/HttpResponse.cc - * src/RequestGroup.cc - * src/MultiDiskAdaptor.cc - * src/OptionHandlerImpl.h - * src/HttpResponseCommand.cc - * src/FtpNegotiateCommand.cc - * src/IteratableChecksumValidator.cc - * src/SegmentMan.cc - * src/ChunkChecksumValidator.cc - - Added Randomizer::getRandomNumber(long int) - * src/Randomizer.h (getRandomNumber) - * src/SimpleRandomizer.h (getRandomNumber) - * src/BitfieldMan.cc (getMissingIndexRandomly): Use this new function. - * src/Util.cc (randomAlpha): Use this new function. - -2007-07-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Converted int's to in32_t. long long int's are also converted to - int64_t - -2007-07-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that prevents cookies from being sent to the server - if the domain of cookie is FQDN and starts with ".". - * src/Cookie.cc (match) - - To add the ability to change peer id. - * src/DefaultBtContext.h - (_peerIdPrefix): New variable - (setPeerIdPrefix): New function. - * src/torrentRequestInfo.cc - (execute): Set the option value of PREF_PEER_ID_PREFIX to - DefaultBtContext. - * src/main.cc (main): Added peer-id-prefix command-line option. - The usage message is not added yet. - * src/DefaultBtContext.cc - (generatePeerId): Use _peerIdPrefix. - * src/prefs.h (PREF_PEER_ID_PREFIX): New definition. - -2007-07-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that prevents filename in content-disposition from - being retrieved when filename is not quoted. - * src/Util.cc (getContentDispositionFilename) - - Fixed the bug that causes infinate loop and memory leak when file open - operation failed. - * src/HttpResponseCommand.cc (handleDefaultEncoding) - -2007-07-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fixed the bug that causes segfault when all URIs specified are - unsupported. - * src/RequestGroupMan.cc (getInitialCommands) - Check if RequestGroup::createNextCommand() returns empty list of - commands. - * src/RequestGroup.cc (createNextCommand) - Change log level from info to error so that users can notice that - an error occurred. - - Fixed the bug that causes segfault when a zero-sized file is - downloaded. - * src/BitfieldMan.cc (isAllBitSet) - Return true if bitfieldLength is 0. - -2007-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/main.cc - (showUsage): Added 3 usage examples for metalink download. - - Replace MetalinkChunkChecksum with ChunkChecksum. - * src/MetalinkChunkChecksum.h: Removed. - * src/MetalinkEntry.h: MetalinkChunkChecksum -> ChunkChecksum. - * src/Xml2MetalinkProcessor.h: MetalinkChunkChecksum -> ChunkChecksum. - * src/Xml2MetalinkProcessor.cc - (getPieceHash): Use ChunkChecksum instead of MetalinkChunkChecksum. - * src/MetalinkRequestInfo.cc (execute) - - * Release 0.11.1 - -2007-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reads URIs from stdin when "-i -" is specified. - * src/UriFileListParser.h, src/UriFileListParser.cc: Removed. - * src/UriListParser.h, src/UriListParser.cc: New class. - * src/StreamUriListParser.h: New class. - * src/FileUriListParser.h: New class. - * src/main.cc (main): Use StreamUriListParser and FileUriListParser - instead of UriFileListParser. - -2007-07-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made console readout more readable. - * src/ConsoleDownloadEngine.cc (sendStatistics) - -2007-07-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Fix the bug that causes -s option not to work. - * src/main.cc (main) - * src/a2algo.h: New file. - -2007-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Create directory structure specified in metalink file. - * src/RequestGroup.h, src/RequestGroup.cc - (initAndOpenFile): Create a directory to store files if it does not - exist. - (getDir): New function. - - Added ETA and download speed for an individual file to readout. - * src/ConsoleDownloadEngine.cc (sendStatistics) - * src/RequestGroup.h - (calculateDownloadSpeed): New function. - -2007-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Made -S option work with metalink file and provided selective download - to metalink. - * src/MetalinkEntry.h, src/MetalinkEntry.cc - (filename): Removed. - (file): New variable. - (size): Removed. - (operator=): Updated. - (getPath): New function. - (getLength): New function. - (toFileEntry): New function. - * src/TorrentRequestInfo.h, src/TorrentRequestInfo.cc - (execute): Use toStream. - (showFileEntry): Removed. - * src/MetalinkRequestInfo.h - (targetFiles): New variable. - (setTargetFiles): New variable. - * src/MetalinkRequestInfo.cc - (execute): Added the ability to print file information included in - a metalink file. - Added selective download mode to metalink. - * src/main.cc - (showUsage): Updated to denote that -S and --select-file options are - applicable to metalink. - * src/FileEntry.h - (operator=): New function. - (getBasename): New function. - (getDirname): New function. - * src/Util.h, src/Util.cc - (toStream): New function. - * src/Xml2MetalinkProcessor.cc: Updated. - - Made aria2 work with metalink with directory structure. - * src/File.h, src/File.cc - (getBasename): New function. - (getDirname): New function. - * src/RequestGroup.h, src/RequestGroup.cc - (_topDir): New variable. - (setTopDir): New function. - (initSegmentMan): A directory structure is added to _segmentMan->dir. - - Rewrote HTTP header parsing with stringstream. - * src/HttpConnection.h, src/HttpConnection.cc - (HttpRequestEntry): New class. - (headerBuf): Removed. - (headerBufLength): Removed. - (outstandingHttpRequests): Now its element type is - HttpRequestEntryHandle. - (findEndOfHeader): Removed. - (receiveResponse): Rewritten. - * src/HttpHeaderProcessor.h, src/HttpHeaderProcessor.cc: New class. - - Updated doc for -j option to notice that it should be used with -i - option. - * src/main.cc (showUsage) - - Removed unused classes. - * src/RequestInfo.h - (FileInfo): Removed. - (checksum): Removed. - (fileInfo): Removed. - (setChecksum): Removed. - (getChecksum): Removed. - (getFileInfo): Removed. - - Use ISO units. - * src/ConsoleDownloadEngine.cc - * src/TorrentConsoleDownloadEngine.cc - * src/Util.cc (abbrevSize) - -2007-06-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added the default listening ports to the help message. - * src/main.cc (showUsage) - -2007-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Reduce the number of calls to gettimeofday to lower CPU load. - * src/TimeA2.h, src/TimeA2.cc (differenceInMillis): New function. - * src/SpeedCalc.h, src/SpeedCalc.cc (calculateSpeed): New function. - * src/Peer.h (calculateUploadSpeed): New function. - (calculateDownloadSpeed): New function. - * src/DefaultPeerStorage.cc - (CalculateStat): Added _now variable. - In operator(), call Peer::calculateDownloadSpeed(const struct timeval&) - and Peer::calculateUploadSpeed(const struct timeval&) - - Drop connection if no request or piece message is exchanged in - a certain interval. - * src/DefaultBtInteractive.h - (btRuntime): New variable. - (inactiveCheckPoint): New variable. - (checkActiveInteraction): New function. - * src/DefaultBtInteractive.cc (receiveMessages): Reset timer when - request or piece message is received. - (checkActiveInteraction): New function. - (doInteractionProcessing): Call checkActiveInteraction. - - Fixed the bug that causes remote Metalink and Torrent files are not - processed. - * src/MultiUrlRequestInfo.cc (createNextRequestInfo): Fixed the bug. - -2007-06-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Changed format of log file. - * src/SimpleLogger.cc - - * Release 0.11.0 - -2007-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/AbstractCommand.cc - (execute): Changed log level of MSG_RESTARTING_DOWNLOAD and - MSG_MAX_TRY from error to info. - Added MSG_DOWNLOAD_ABORTED after MSG_MAX_TRY. - - * src/message.h - (MSG_TORRENT_DOWNLOAD_ABORTED): New definition. - (MSG_DOWNLOAD_ABORTED): Added %s. - (MSG_RESTARTING_DOWNLOAD): Added %s. - (MSG_DOWNLOAD_ALREADY_COMPLETED): Updated. - - * src/PeerAbstractCommand.cc - (execute): MSG_DOWNLOAD_ABORTED -> MSG_TORRENT_DOWNLOAD_ABORTED - - * src/Request.h - (cookieBox): Made ShardHandle. - - * src/RequestGroup.h, src/RequestGroup.cc - (createNextCommandWithAdj): New function. - * src/FileAllocationCommand.cc - (executeInternal): Use createNextCommandWithAdj(). - * src/CheckIntegrityCommand.cc - (executeInternal): Use createNextCommandWithAdj(). - - Added --load-cookies command-option. - * src/OptionHandlerFactory.cc - (createOptionHandlers): Added PREF_LOAD_COOKIES. - * src/CookieBox.h, src/CookieBox.cc: Rwritten using CookieParser. - Now aria2 can handle cookie's expiration date. - * src/Cookie.h (expires): Changed its type to time_t. - * src/main.cc: Added --load-cookies command-line option. - * src/prefs.h (PREF_LOAD_COOKIES): New definition. - * src/Util.h, src/Util.cc (httpGMT): New function. - * src/Request.cc (Request): Initialize cookieBox using - CookieBoxFactory. - * src/CookieBoxFactory.h, src/CookieBoxFactory.cc: New class. - * src/CookieParser.h, src/CookieParser.cc: New class. - - * src/main.cc: Chagned the default value of --metalink-servers to 5. - - * src/HttpResponseCommand.cc - (handleOtherEncoding): Call RequestGroup::shouldCancelDownloadForSafety - - * src/MetalinkRequestInfo.cc: Now -s option is ignored in Metalink - download. - -2007-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Added -j command-line option. - * src/OptionHandlerFactory.cc (createOptionHandlers) - * src/main.cc - - * src/ByteArrayDiskWriter.h, src/ByteArrayDiskWriter.cc - Rewritten using stringstream. - * src/TrackerUpdateCommand.h, src/TrackerUpdateCommand.cc - Rewritten using stringstream. - -2007-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Make download size shown in MB, KB. - * src/ConsoleDownloadEngine.h (sendStatistics) - * src/Util.h, srcUtil.cc (abbrevSize): New function. - -2007-06-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Accept incoming connections if download rate is low. - * src/PeerListenCommand.h, src/PeerListenCommand.cc: - (_lowestSpeedLimit): New variable. - (setLowestSpeedLimit): New function. - (execute): Accept incoming connections if download rate is low. - MAX_PEERS is ignored in this case. - - Disable PREF_OUT in multiple concurrent download: - * src/RequestGroup.h, src/RequestGroup.cc - (setUserDefinedFilename): New function. - * src/DownloadEngineFactory.cc - (newConsoleEngine): Do not set PREF_OUT to requestGroup in multiple - concurrent download. - * src/DefaultSegmentManFactory.cc - (createNewInstance): Comment out the line: segmentMan->ufilename = ... - -2007-06-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - RequestGroup::getNextCommand() was renamed to createNextCommand(). - Added its overloaded method. - * src/RequestGroup.h - (_numConcurrentCommand): New variable. - (setNumConcurrentCommand): New function. - * src/RequestGroup.cc - - Abort download if same file is being downloaded concurrently. - * src/RequestGroup.h, src/RequestGroupMan.cc - (isSameFileBeingDownloaded): New function. - * src/HttpResponseCommand.cc (executeInternal) - * src/FtpNegotiateCommand.cc (recvSize) - * src/message.h (EX_DUPLICATE_FILE_DOWNLOAD): New definition. - - * main.cc: Added help message for -i option. - -2007-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/FileAllocationCommand.cc: Derived from RealtimeCommand. - * src/CheckIntegrityCommand.cc: Derived from RealtimeCommand. - - * src/MetalinkEntry.h - (checksum): Changed to ChecksumHandle - * src/MetalinkRequestInfo.cc - (checksum): Changed to ChecksumHandle - - * src/File.cc - (mkdirs): OPEN_MODE -> DIR_OPEN_MODE - * src/common.h - (DIR_OPEN_MODE): New definition - - * src/RequestGroup.cc - (prepareForNextAction): Added an argument. - - * src/message.h - (MSG_GOOD_CHECKSUM): New definition - (MSG_BAD_CHECKSUM): New definition - - * src/HttpResponseCommand.cc - (handleDefaultEncoding): Continue download sequence in new - non-segmented download. - - * src/FileAllocationEntry.h - (_nextDownloadCommand): New variable. - - * src/DownloadCommand.cc - (prepareForNextSegment): Create ChecksumCommand if checksum is - available. - - * src/RealtimeCommand.h, src/RealtimeCommand.cc: New class. - - * src/IteratableChecksumValidator.h, - src/IteratableChecksumValidator.cc: New class. - - * src/ChecksumCommand.h, src/ChecksumCommand.cc: New class. - -2007-05-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Change file mode to 666: - * src/common.h (OPEN_MODE): New definition. - * src/File.cc - * src/Util.cc - * src/Directry.cc - * src/AbstractDiskWriter.cc - - Change the level of log message "download aborted" to debug: - * src/PeerAbstractCommand.cc (execute) - - * src/RequestGroup.h (RequestGroup): Initialized _hintTotalLength to 0. - - * src/TrackerWatcherCommand.cc - (createCommand): Sleep some seconds after request failed. - If tracker request fails more than value of PREF_TRACKER_MAX_TRIES, - then abort tracker request. - -2007-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Added the simultaneous download feature. - * src/main.cc: Print "Exception caught: " when exception is caught. - - Use CUIDCounter instead of BtRuntime::getNewCuid(): - * src/ActivePeerConnectionCommand.cc - * src/PeerInteractionCommand.cc - * src/BtRuntime.h - (cuidCounter): Removed. - (getNewCuid): Removed. - * src/DownloadEngineFactory.cc - * src/PeerListenCommand.cc - * src/TrackerUpdateCommand.cc - * src/PeerInitiateConnectionCommand.cc - -2007-04-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/PeerAbstractCommand.cc - (onAbort): Call PeerStorage::returnPeer() - * src/DefaultPeerStorage.h, src/DefaultPeerStorage.cc - (incomingPeers): New variable. - (addIncomingPeer): New function. - (returnPeer): New function. - (onErasingPeer): New function. - (addPeer): push_back -> push_front - (getActivePeers): Rewritten. - (calculateStat): Rewritten. - * src/PeerStorage.h - (TransferStat::copy): New function. - (TransferStat::TransferStat): New function. - (TransferStat::operator=): New function. - (addIncomingPeer): New function. - (returnPeer): New function. - * src/PeerListenCommand.cc - (execute): Use PeerStorage::addIncomingPeer() instead of - Peer::addPeer(). - -2007-04-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Connect to a peer actively when download speed is lower than specified - speed in torrent download: - * src/ActivePeerConnectionCommand.h: New class. - -2007-03-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/HttpRequest.cc (createRequest): url-encode user-agent - - * src/main.cc: Fixed the bug that prevents download if .netrc - doesn't exist. - -2007-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To cache resolved hostname: - * src/AbstractCommand.h, src/AbstractCommand.cc - (resolveHostname): Put outside #ifdef ENABLE_ASYNC_DNS clause. - Added dns cache. - * src/FtpInitiateConnectionCommand.cc - (executeInternal): Removed #ifdef ENABLE_ASYNC_DNS. - * src/NameResolver.h, src/NameResolver.cc: Added synchronized - NameResolver working without ares. - * src/TorrentRequestInfo.cc - (execute): Don't cache dns in torrent download. - * src/HttpInitiateConnectionCommand.cc - (executeInternal): Removed #ifdef ENABLE_ASYNC_DNS - * src/DNSCache.h: New class. - * src/UrlRequestInfo.cc - (execute): Use dns cache. - - In http request, suppress port number in http request header if port - is 80 or 443: - * src/HttpRequest.cc (getHostText): Suppress port number in http - request header if port is 80 or 443. - (createProxyRequest): Allways send port number. - -2007-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add the command-line option which disables netrc support: - * src/OptionHandlerFactory.cc - (createOptionHandlers): Added PREF_NO_NETRC. - * src/main.cc: Added -n option. - * src/prefs.h (PREF_NO_NETRC): New definition. - * src/RequestFactory.cc: Do not use netrc in ftp if PREF_NO_NETRC is - V_TRUE. - Note that netrc is not used in http, http proxy even if PREF_NO_NETRC - is V_FALSE. This may get configurable in the future release. - - To clear peer's error status by time basis: - * src/PeerAbstractCommand.cc - (onAbort): Call Peer::startBadCondition(). - * src/Peer.h, src/Peer.cc - (error): Removed. - (_badConditionStartTime): New variable. - (_badConditionInterval): New variable. Initialized to 10 seconds. - (startBadCondition): New function. - (isGood): New function. - * src/DefaultPeerStorage.cc - (addPeer): Use Peer::isGood(). - (FindFinePeer): Use Peer::isGood(). - - Always include port number in http request header: - * src/HttpRequest.cc (getHostText): Always include port number in - http request header. - -2007-03-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To the ability to read options from a config file: - * src/main.cc: Command-line parameter validation is delegated to - OptionHandler class. - * src/OptionHandlerFactory.h, src/OptionHandlerFactory.cc: New class. - * src/Option.h, src/Option.cc (clear): New function. - * src/OptionParser.h, src/OptionParser.cc: New class. - * src/OptionHandler.h: New class. - * src/NameMatchOptionHandler.h: New class. - * src/OptionHandlerImpl.h: New classes. - * src/prefs.h: '_' -> '-' - (FTP_PASV_ENABLED): Renamed to FTP_PASV. - (FTP_PASV): New definition. - * src/Util.h, src/Util.cc (getRealSize): New function. - - To disable netrc support if .netrc file does not have correct - permissions: - * src/File.h, src/File.cc (mode): New function. - - To prevent confidential information to be logged: - * src/HttpConnection.h, src/HttpConnection.cc - (eraseConfidentialInfo): New function. - (sendRequest): Call eraseConfidentialInfo(). - (sendProxyRequest): Call eraseConfidentialInfo(). - * src/main.cc: Validate permissions of .netrc file. - - To add --user-agent command-line option: - * src/main.cc: Added new command line option: --user-agent - * src/prefs.h (PREF_USER_AGENT): New definition. - * src/HttpRequestCommand.cc (executeInternal): Set user-agent option - parameter to HttpRequest object. - * src/AbstractProxyRequestCommand.cc - (executeInternal): Set user-agent option parameter to HttpRequest - object. - - Marged the patches from Dan Fandrich. - -2007-03-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Use filename and size from Metalink file instead of sending HEAD - request: - * src/UrlRequestInfo.h - (_filename): New variable. - (_totalLength): New variable. - (setTotalLength): New variable. - (setFilename): New variable. - * src/MetalinkRequestInfo.cc - (execute): Set filename and size to UrlRequestInfo - * src/UrlRequestInfo.cc - (execute): Use filename and size from Metalink instead of seding - HEAD request to servers. - -2007-03-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add the ability to resume downloading a partially downloaded file - which is downloaded from the beginning: - * src/FileAllocator.h: Made abstract class. New DefaultFileAllocator - takes this role. - * src/main.cc: Added -c option. - * src/BitfieldMan.h, src/BitfieldMan.cc (setBitRange): New function. - * src/DiskWriter.h (openExistingFile): Added totalLength argument. - * src/prefs.h (PREF_CONTINUE): New definition. - * src/SegmentMan.h, src/SegmentMan.cc (markPieceDone): New function. - * src/DefaultDiskWriter.cc - (createNewDiskWriter): Add GlowFileAllocator to the new object. - * src/AbstractDiskWriter.h - (glowFileAllocator): New variable. - * src/AbstractDiskWriter.cc - (openExistingFile): Now preallocate file space from the end of the - existing file if totalLength argument is specified and grater than 0. - * src/UrlRequestInfo.cc: If -c option is specified and the file - to download exists in local, continue the download of the file. - --allow-overwrite=true is assumed in this context. - * src/DefaultFileAllocator.h, src/DefaultFileAllocator.cc: New class. - * src/GlowFileAllocator.h, src/GlowFileAllocator.cc: New class. - - Throw exception if --check-integrity=true is specified but chunk - checksums are not provided: - * src/UrlRequestInfo.cc - - Do not print URLs to stdout: - * src/UrlRequestInfo.cc - -2007-03-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/Request.h: Use AuthResolver to get authentication information. - * src/main.cc: Made RequestFactory a singleton object. Netrc is now - set to RequestFactory object. - * src/AuthConfigItem.h, src/AuthConfigItem.cc: Removed. - * src/AuthConfig.h, src/AuthConfig.cc: Rewritten. - * src/TrackerWatcherComand.cc: Use RequestFactorySingletonHolder to - create Request object. - -2007-03-19 Tatsuhiro Tsujikawa <tujikawa at valkyrie dot rednoah com> - - To integrate Netrc into exsiting classes: - * src/Request.h - (_userDefinedAuthConfig): New variable. - (findNetrcAuthenticator): New function. - (segment): Removed. - (setUserDefinedAuthConfig): New function. - (resolveHttpAuthConfigItem): New function. - (resolveFtpAuthConfigItem): New function. - (resolveHttpProxyAuthConfigItem): New function. - * src/HttpRequest.h - (authConfig): Removed. - (proxyAuthConfig): Removed. - (setAuthConfig): Removed. - (setProxyAuthConfig): Removed. - * src/UrlRequest.h - (getHeadResult): Added a parameter: authConfigHandle - * src/common.h - (SingletonHolder.h): New include. - * src/main.cc - (Netrc.h): New include. - (main): Removed initial values of PREF_FTP_USER, PREF_FTP_PASSWD. - Added initial value of PREF_NETRC_PATH. - Added the initialization of netrc. - * src/AuthConfig.h: New class. - * src/prefs.h - (PREF_NETRC_PATH): New definition. - * src/HttpAuthConfig.h: Removed. - * src/Netrc.cc - (getRequiredNextToken): New function. - (skipMacdef): New function. - (parse): Rewritten. - * src/Netrc.h - (getRequiredNextToken): New function. - (skipMacdef): New function. - * src/Util.h, src/Util.cc - (getHomeDir): New function. - * src/TrackerWatcherComand.cc - (createRequestCommand): Use AuthConfig. - * src/FtpConnection.cc - (sendUser): Use Request::resolveFtpAuthConfigItem(). - (sendPass): Use Request::resolveFtpAuthConfigItem(). - * src/Request.cc - (findNetrcAuthenticator): New function. - (resolveHttpAuthConfigItem): New function. - (resolveFtpAuthConfigItem): New function. - (resolveHttpProxyAuthConfigItem): New function. - * src/UrlRequestInfo.cc: Use AuthConfig. - * src/HttpRequest.cc - (createRequest): Use authConfig. - (getProxyAuthString): Use authConfig. - (configure): Removed PREF_HTTP_USER, PREF_HTTP_PASSWD, - PREF_HTTP_PROXY_USER, PREF_HTTP_PROXY_PASSWD. - -2007-03-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To reduce overhead to find commands whose socket is either - readable or writable in the download engine loop: - * src/Command.h, src/Command.cc - (STATUS): New enum. - (status): New variable. - (statusMatch): New function. - (setStatusActive): New function. - (setStatusInactive): New function. - * src/DownloadEngine.h, src/DownloadEngine.cc - (executeCommand): New function. - (run): Simplified. - (waitData): Call Command::setStatusActive() when command's socket is - readable or writable. - -2007-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To handle Segment as SegmentHandle: - * src/AbstractCommand.cc (execute): Rewritten. - * src/SegmentMan.h: Segment -> SegmentHandle - - Introducded HttpResponse class, HttpRequest class to improve code - extensiveness and make it clear: - * src/HttpDownloadCommand.cc: transfer encoders are now managed by - HttpResponse class. - * src/HttpRequest.h, src/HttpRequest.cc: New class. - * src/HttpResponse.h, src/HttpResponse.cc: New class. - * src/HttpConnection.cc: Contruction of http request were moved to - HttpRequest class. - * src/HttpResponseCommand.h, src/HttpResponseCommand.cc: Refactored. - * src/HttpRequestCommand.cc (executeInternal): Rewritten. - * src/HttpAuthConfig.h: New class. - * src/Range.h: New class. - - To make FtpTunnel{Request, Response}Command and - HttpProxy{Request, Response}Command derived from - AbstractProxy{Request, Response}Command: - * src/FtpTunnelResponseCommand.h, src/FtpTunnelResponseCommand.cc: - Derived from AbstractProxyRequestCommand class. - * src/FtpTunnelRequestCommand.h, src/FtpTunnelRequestCommand.cc: - Derived from AbstractProxyResponseCommand class. - * src/HttpProxyRequestCommand.h, src/HttpProxyRequestCommand.cc: - Derived from AbstractProxyRequestCommand class. - * src/HttpProxyResponseCommand.h, src/HttpProxyResponseCommand.cc: - Derived from AbstractProxyResponseCommand class. - * src/AbstractProxyRequestCommand.h, src/AbstractProxyRequestCommand.cc - : New class. - * src/AbstractProxyResponseCommand.h, - src/AbstractProxyResponseCommand.cc: New class. - - To add netrc support: - * src/Netrc.h, src/Netrc.cc: New class. - * src/Util.h, src/Util.cc (split): New function. - - * src/HttpHeader.cc (getRange): Fixed so that it inspects - "Content-Range" header instead of "Range" header. - * src/HttpHeader.h - (getStatus): Removed. - (setStatus): Removed. - - * src/Segment.h - (getPositionToWrite): New function. - -2007-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/HttpHeader.h - (Range.h): New include. - (status): New variable. - (HttpHeader): Initialized status with 0. - (getStatus): New function. - (setStatus): New function. - (getRange): New function. - (HttpHeaderHandle): New function. - * src/HttpHeader.cc - (getRange): New function. - - * src/Request.h - (RequestWeakHandle): New definition. - - * src/HttpConnection.h - (HttpConnectionHandle): New type definition. - * src/HttpConnection.cc - (receiveResponse): Set HTTP status to headers. - - * src/main.cc - (showUsage): Fixed typo. - - * src/Segment.h - (SegmentHandle): New type definition. - - * src/BitfieldMan.h - (getMissingUnusedLength): New function. - * src/BitfieldMan.cc - (getMissingUnusedLength): New function. - -2007-02-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To fix static initialization order problem: - - * src/BitfieldManFactory.h - (defaultRandomizer): Removed. - (factory): New variable. - (getNewFactory): Removed. - (getFactoryInstance): New function. - (setDefaultRandomizer): Rewritten. - (getDefaultRandomizer): Rewritten. - * src/BitfieldManFactory.cc - (defaultRandomizer): Removed. - (factory): Initialized to 0. - (BitfieldManFactory): Initialized randomizer to 0. - * src/DefaultPieceStorage.cc - (DefaultPieceStorage): getNewFactory() -> getFactoryInstance() - * src/Peer.cc - (Peer): getNewFactory() -> getFactoryInstance() - * src/SegmentMan.cc - (initBitfield): getNewFactory() -> getFactoryInstance() - * src/Piece.cc - (Piece): getNewFactory() -> getFactoryInstance() - -2007-02-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To fix the bug that causes crash on Max OS X: - - * src/SimpleRandomizer.h - (getInstance): Create new instance if the static variable is null. - * src/SimpleRandomizer.cc - (randomizer): Initialized to 0. - * src/BitfieldManFactory.h - (getNewFactory): Removed the call to setRandomizer(). - - To fix the miscalculation of the range of checksum: - - * src/BitfieldMan.h - (isBitSetOffsetRange): New function. - * src/BitfieldMan.cc - (isBitSetOffsetRange): New function. - * src/SegmentMan.cc - (tryChunkChecksumValidation): Use BitfieldMan::isBitSetOffsetRange(). - Use bitfield->getBlockLength() instead of segment.segmentLength. - - * Release 0.10.1 - -2007-02-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To lower CPU usage in BitTorrent download when --max-upload-limit - command-line option specified: - - * src/DefaultBtMessageDispatcher.cc - (sendMessages): Calculate uploading speed only when current message - is uploading data and is not sent yet. - - * src/DefaultPeerStorage.h - (MAX_PEER_LIST_SIZE): 100 -> 60, because 60 is well enough. - - * src/HttpResponseCommand.cc - (handleDefaultEncoding): Added the cast to int32_t to itos. - This fixes compile error in Soralis 10. - -2007-01-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To fix segfault in Metalink download: - - * src/UrlRequestInfo.h - (filename): Removed. - (totalLength): Removed. - (setTotalLength): Removed. - (setFilename): Removed. - * src/MetalinkRequestInfo.cc - (execute): Do not set filename and totalLength to reqInfo. - Set chunk checksum to reqInfo if it is not null. - - * src/HttpResponseCommand.cc - (executeInternal): Fixed filename in log. - (handleDefaultEncoding): Removed the call to initBitfield() and - markAllPiecesDone(). - (handleOtherEncoding): Added HEAD method handling. - - * src/FtpNegotiateCommand.cc - (executeInternal): Added SEQ_HEAD_OK handling. - (recvSize): In HEAD handling, set sequence to SEQ_HEAD_OK and - return false. - - * src/FtpNegotiateCommand.h - (SEQ_HEAD_OK): New definition. - - * src/SegmentMan.cc - (initBitfield): Delete bitfield. - (isChunkChecksumValidationReady): Fixed the condition. - - * src/UrlRequestInfo.cc: Fixed so that Metalink and Torrent download - works fine. - -2007-01-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/Xml2MetalinkProcessor.h - (xpathExists): New function. - * src/Xml2MetalinkProcessor.cc - (xpathExists): New function. - - Not to send HEAD request if filename and size are available in Metalink - file: - * src/UrlRequestInfo.h - (filename): New variable. - (totalLength): New variable. - (setTotalLength): New function. - (setFilename): New function. - * src/MetalinkRequestInfo.cc - (execute): Set filename and size to UrlRequestInfo. - * src/MetalinkEntry.cc - (MetalinkEntry): Initialize size with 0. - * src/UrlRequestInfo.cc - (execute): Set filename and size to SegmentMan. - - Not to download rest of the files after selected files are downloaded - in BitTorrent: - * src/PieceStorage.h - (allDownloadFinished): New function. - * src/DefaultBtAnnounce.cc - (isCompleteAnnounceReady): Use allDownloadFinished instead of - downloadFinished. - (getAnnounceUrl): Use allDownloadFinished instead of downloadFinished. - * src/DefaultPieceStorage.cc - (completePiece): Use allDownloadFinished instead of downloadFinished. - Commented out the call to finishSelectiveDownloadingMode(). - (downloadFinished): Call isFilteredAllBitSet() instead of - isAllBitSet(). - (allDownloadFinished): New function. - * src/DefaultBtInteractive.cc - (addBitfieldMessageToQueue): Call allDownloadFinished() instead of - downloadFinished(). - (checkHave): Call allDownloadFinished() instead of downloadFinished(). - * src/TorrentDownloadEngine.cc - (onEndOfRun): Call allDownloadFinished() instead of downloadFinished(). - * src/BitfieldMan.h - (isFilteredAllBitSet): New function. - * src/ShareRatioSeedCriteria.h - (PieceStorage.h): New include. - (pieceStorage): New variable. - (evaluate): - btContext->getTotalLength() -> pieceStorage->getCompletedLength() - * src/BitfieldMan.cc - (isFilteredAllBitSet): New function. - (isAllBitSet): Filter is not took into account. - - Rename --force-truncate as --allow-overwrite: - * src/TorrentRequestInfo.cc - (execute): PREF_FORCE_TRUNCATE -> PREF_ALLOW_OVERWRITE - * src/main.cc - (showUsage): --force-truncate -> --allow-overwrite - * src/message.h - (EX_FILE_ALREADY_EXISTS): --force-truncate -> --allow-overwrite - * src/prefs.h - (PREF_FORCE_TRUNCATE): Removed. - (PREF_ALLOW_OVERWRITE): New definition. - * src/SegmentMan.cc - (shouldCancelDownloadForSafety): --force-truncate -> --allow-overwrite - - * src/MetalinkRequestInfo.cc - (execute): Queueing message are now logged in info level. - - * src/common.h - (LONG_LONG_MAX): Removed. - (LONG_LONG_MIN): Removed. - * src/HttpResponseCommand.cc - (handleDefaultEncoding): LONG_LONG_MAX -> INT64_MAX - * src/FtpNegotiateCommand.cc - (recvSize): LONG_LONG_MAX -> INT64_MAX - - * src/main.cc - (showUsage): Added --check-integriy and --realtime-chunk-checksum - command-line option. - (main): Added --check-integriy and --realtime-chunk-checksum - command-line option. - --force-truncate -> --allow-overwrite - Set initial value of --check-integrity option to false. - Don't show usage when error occurs while persing command-line options. - Removed deprecated --upload-limit option. - -2007-01-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/message.h: Added EX_INVALID_PAYLOAD_SIZE and - EX_INVALID_BT_MESSAGE_ID. Following source files affected. - * src/BtAllowedFastMessage.cc: - * src/BtBitfieldMessage.cc - * src/BtCancelMessage.cc - * src/BtChokeMessage.cc - * src/BtHaveAllMessage.cc - * src/BtHaveMessage.cc - * src/BtHaveNoneMessage.cc - * src/BtInterestedMessage.cc - * src/BtNotInterestedMessage.cc - * src/BtPieceMessage.cc - * src/BtPortMessage.cc - * src/BtRejectMessage.cc - * src/BtRequestMessage.cc - * src/BtSuggestPieceMessage.cc - * src/BtUnchokeMessage.cc - - * src/message.h: Added EX_INVALID_CHUNK_CHECKSUM. Following source - files are affected. - * src/ChunkChecksumValidator.cc - * src/SegmentMan.cc - -2007-01-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add chunk checksum validation: - * src/MetalinkEntry.h - (MetalinkChunkChecksum.h): New include. - (chunkChecksum): New variable. - * src/Request.h - (method): New variable. - (setMethod): New function. - (getMethod): New function. - (METHOD_GET): New static constant. - (METHOD_HEAD): New static constant. - * src/Xml2MetalinkProcessor.h - (getPieceHash): New function. - * src/PieceStorage.h - (markAllPiecesDone): New function. - (checkIntegrity): New function. - * src/FileAllocator.h - (NullFileAllocationMonitor.h): New include. - (FileAllocator): Initialize fileAllocationMonitor with new - NullFileAllocationMonitor(). - * src/MultiDiskAdaptor.h - (messageDigest.h): Remove include. - (ctx): Removed. - (hashUpdate): Added ctx. - (MultiDiskAdaptor): Removed ctx. - (sha1Sum): Renamed as messageDigest. - (messageDigest): New function. - * src/UrlRequestInfo.h - (HeadResult): New class. - (digestAlgo): New variable. - (chunkChecksumLength): New variable. - (chunkChecksums): New variable. - (getHeadResult): New function. - (UrlRequestInfo): Added digestAlgo, chunkChecksumLength. - (setDigestAlgo): New function. - (setChunkChecksumLength): New function. - (setChunkChecksums): New function. - * src/DefaultPieceStorage.cc - (DiskAdaptorWriter.h): New include. - (ChunkChecksumValidator.h): New include. - (markAllPiecesDone): New function. - (checkIntegrity): New function. - * src/DefaultBtContext.h - (getPieceHashes): New function. - * src/TorrentRequestInfo.cc - (execute): Try to validate chunk checksum if file already exists and - .aria2 file doesn't there and user allows aria2 to overwrite it. - * src/messageDigest.h - (~MessageDigestContext): Added digestFree(). - * src/MetalinkRequestInfo.cc - (execute): Set digestAlgo, chunkChecksum, chunkChecksums to reqInfo. - * src/DiskAdaptor.h - (messageDigest.h): New include. - (sha1Sum): Renamed as messageDigest. - (messageDigest): New function. - * src/DownloadCommand.h - (PeerStat.h): New include. - (maxDownloadSpeedLimit): New variable. - (startupIdleTime): New variable. - (lowestDownloadSpeedLimit): New variable. - (peerStat): New variable. - (setMaxDownloadSpeedLimit): New function. - (setStartupIdleTime): New function. - (setLowestDownloadSPeedLimit): New function. - * src/BtContext.h - (getPieceHashes): New function. - * src/main.cc - (main): Set PREF_REALTIME_CHUNK_CHECKSUM and PREF_CHECK_INTEGRITY - option to true for testing purpose. - * src/BtPieceMessage.cc - (checkPieceHash): Use messageDigest - * src/DownloadEngine.cc - (SetDescriptor): Removed. - (AccumulateActiveCommand): Removed. - (waitData): Rewritten. - (updateFdSet): Rewritten. - * src/MultiDiskAdaptor.cc - (hashUpdate): Added ctx. - (sha1Sum): Renamed as messageDigest. - (messageDigest): New function. - * src/BitfieldMan.h - (isBitRangeSet): New function. - (unsetBitRange): New function. - * src/ByteArrayDiskWriter.h - (sha1Sum): Renamed as messageDigest. - (messageDigest): New function. - * src/ConsoleDownloadEngine.cc - (calculateStatistics): If nspeed < 0 then set nspeed to 0. - * src/DiskWriter.h - (messageDigest.h): New include. - (sha1Sum): Renamed as messageDigest. - (messageDigest): New function. - * src/ChunkChecksumValidator.h: New class. - * src/DiskAdaptorWriter.h: New class. - * src/prefs.h - (PREF_REALTIME_CHUNK_CHECKSUM): New definition. - (PREF_CHECK_INTEGRITY): New definition. - * src/HttpResponseCommand.cc - (handleDefaultEncoding): Added method "HEAD" handling. - Removed the call to e->segmentMan->shouldCancelDownloadForSafety(). - (handleOtherEncoding): - Added the call to e->segmentMan->shouldCancelDownloadForSafety(). - (createHttpDownloadCommand): Set maxDownloadSpeedLimit, - startupIdleTime, lowestDownloadSpeedLimit to command. - * src/SegmentMan.h - (getSegmentEntryByIndex): New function. - (getSegmentEntryByCuid): New function. - (getSegmentEntryIteratorByCuid): New function. - (diskWriter): DiskWriter -> DiskWriterHandle - (pieceHashes): New variable. - (chunkHashLength): New variable. - (digestAlgo): New variable. - (FindPeerStat): Removed. - (getPeerStat): Rewritten. - (markAllPiecesDone): New function. - (checkIntegrity): New function. - (tryChunkChecksumValidation): New function. - (isChunkChecksumValidationReady): New function. - * src/BitfieldMan.cc - (BitfieldMan): Initialized bitfieldLength, blocks to 0. - (BitfieldMan): Initialized blockLength, totalLength, bitfieldLength, - blocks to 0. - (isBitRangeSet): New function. - (unsetBitRange): New function. - * src/FtpNegotiateCommand.cc - (executeInternal): Set maxDownloadSpeedLimit, - startupIdleTime, lowestDownloadSpeedLimit to command. - (recvSize): Added method "HEAD" handling. - Removed the call to e->segmentMan->shouldCancelDownloadForSafety(). - * src/AbstractSingleDiskAdaptor.cc - (sha1Sum): Renamed as messageDigest. - (messageDigest): New function. - * src/AbstractSingleDiskAdaptor.h - (sha1Sum): Renamed as messageDigest. - (messageDigest): New function. - * src/Util.h - (indexRange): New function. - * src/MetalinkEntry.cc - (MetalinkEntry): Initialized chunkChecksum to 0. - * src/ShaVisitor.cc - (~ShaVisitor): Removed the call to ctx.digestFree(). - * src/SegmentMan.cc - (ChunkChecksumValidator.h): New include. - (SegmentMan): Initialized chunkHashLength to 0. Initialized digestAlgo - to DIGEST_ALGO_SHA1. - (~SegmentMan): Removed diskWriter. - (FindSegmentEntryByIndex): Removed. - (FindSegmentEntryByCuid): Removed. - (checkoutSegment): Rewritten. - (findSlowerSegmentEntry): Rewritten. - (getSegment): Rewritten. - (updateSegment): Rewritten. - (completeSegment): Rewritten. - (markAllPiecesDone): New function. - (checkIntegrity): New function. - (isChunkChecksumValidationReady): New function. - (tryChunkChecksumValidation): New function. - * src/Xml2MetalinkProcessor.cc - (getEntry): Get size and set it to entry. - Get chunk checksum and set it to entry. - (getPieceHash): New function. - * src/Util.cc - (sha1Sum): Removed ctx.digestFree() - (fileChecksum): Removed ctx.digestFree() - (indexRange): New function. - * src/Request.cc - (METHOD_GET): New variable. - (METHOD_HEAD): New variable. - (Request): Added method. - * src/UrlRequestInfo.cc - (FatalException.h): New include. - (message.h): New include. - (operator<<): Added operator<< for class HeadResult. - (getHeadResult): New function. - (execute): Get filename and size in separate download engine. - * src/ChunkChecksumValidator.cc: New class. - * src/DownloadCommand.cc: - (DownloadCommand): Added peerStat. - (executeInternal): Use maxDownloadSpeedLimit member instead of getting - the value from Option. - The buffer size is now 16KB. - Use peerStat member instead of getting it from SegmentMan. - Use startupIdleTime member instead of gettingit from Option. - Added chunk checksum validation. - * src/AbstractDiskWriter.cc - (AbstractDiskWriter): Removed ctx. - (~AbstractDiskWriter): Removed ctx.digestFree() - (writeDataInternal): Returns the return value of write. - (readDataInternal): Returns the return value of read. - (sha1Sum): Renamed as messageDigest - (messageDigest): New function. - * src/AbstractDiwkWriter.h - (messageDigest.h): Removed include. - (ctx): Removed. - (sha1Sum): Renamed as messageDigest - (messageDigest): New function. - * src/DefaultPieceStorage.h - (markAllPiecesDone): New function. - (checkIntegrity): New function. - * src/NullFileAllocationMonitor.h: New class. - * src/MetalinkChunkChecksum.h: New class. - -2007-01-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To decrease CPU usage in bittorrent download, calculation results in - BitfieldMan were cached and realtime fetching PeerObject was removed - with WeakHandle introduced. Option values are set to the objects - by setter before download begins. - - * src/DefaultBtRequestFactory.cc: Use messageFactory member. - * src/DefaultBtRequestFactory.h - (dispatcher): BtMessageDispatcherHandle -> - BtMessageDispatcherWeakHandle. - (messageFactory): New variable. - (setBtMessageDispatcher): BtMessageDispatcherHandle -> - BtMessageDispatcherWeakHandle. - (setBtMessageFactory): New function. - * src/DefaultBtMessageDispatcher.cc: - (sendMessages): Use maxUploadSpeedLimit instead of fetching the value - from Option. - (checkRequestSlotAndDoNecessaryThing): Use requestTimeout instead of - feating the value from Option. - Use messageFactory member. - * src/PeerInteractionCommand.cc - (PeerInteractionCommand): Added maxDownloadSpeedLimit. - Add reverse dependencies to factory object. - Set maxUploadSpeedLimit and requestTimeout and messageFactory to - dispatcher. - Set messageFactory to receiver. - Set keepAliveInterval and maxDownloadSpeedLimit and messageFactory to - btInteractive. - Set receiver to peerObject. - Set maxDownloadSpeedLimit to this. - (executeInternal): Use maxDownloadSpeedLimit member. - * src/BtChokeMessage.cc - (doReceivedAction): Use dispatcher, requestFactory member. - (onSendComplete): Use dispatcher member. - * src/PeerInteractionCommand.h - (maxDownloadSpeedLimit): New variable. - * src/DefaultBtMessageReceiver.h - (peerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle - (dispatcher): - BtMessageDispatcherHandle -> BtMessageDispatcherWeakHandle - (messageFactory): New variable. - (setPeerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle - (getPeerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle - (setDispatcher): - BtMessageDispatcherHandle -> BtMessageDispatcherWeakHandle - (setBtMessageFactory): New function. - * src/DefaultBtInteractive.cc - (initiateHandshake): Use messageFactory member. - (addBitfieldMessageToQueue): Use messageFactory member. - (addAllowedFastMessageToQueue): Use messageFactory member. - (decideChoking): Use messageFactory member. - (checkHave): Use messageFactory member. - (sendKeepAlive): Use keepAliveInterval, messageFactory member. - (receiveMessages): Use maxDownloadSpeedLimit member. - (decideInterest): Use messageFactory member. - * src/BtRequestMessage.cc - (doReceivedAction): Use messageFactory, dispatcher member. - (onQueued): Use dispatcher member. - * src/BtPieceMessage.cc - (doReceivedAction): Use dispatcher member. - (send): Use peerConnection member. - (onWrongPiece): Use requestFactory member. - (handleChokingEvent): Use messageFactory, dispatcher member. - (handleCancelSendingPieceEvent): Use messageFactory, dispatcher member. - * src/BtMessageDispatcher.h - (BtMessageDispatcherWeakHandle): New type definition. - * src/SimpleBtMessage.cc - (send): Use peerConnection member. - * src/BtRejectMessage.cc - (doReceivedAction): Use dispatcher member. - * src/DefaultBtMessageDispatcher.h - (Option.h): Removed include. - (messageFactory): New variable. - (option): Removed. - (maxUploadSpeedLimit): New variable. - (requestTimeout): New variable. - (DefaultBtMessageDispatcher): Removed option. - Added maxUploadSpeedLimit, requestTimeout. - (setOption): Removed. - (getOption): Removed. - (setMaxUploadSpeedLimit): New function. - (setRequestTimeout): New function. - (setBtMessageFactory): New function. - * src/DefaultBtInteractive.h - (btMessageReceiver): - BtMessageReceiverHandle -> BtMessageReceiverWeakHandle - (dispatcher): - BtMessageDispatcherHandle -> BtMessageReceiverWeakHandle - (btRequestFactory): - BtRequestFactoryHandle -> BtRequestFactoryWeakHandle - (peerConnection): - PeerConnectionHandle -> PeerConnectionWeakHandle - (messageFactory): New variable. - (option): Removed. - (keepAliveInterval): New variable. - (maxDownloadSpeedLimit): New variable. - (DefaultBtInteractive): Added keepAliveInterval, maxDownloadSpeedLimit. - (setBtMessageReceiver): - BtMessageReceiverHandle -> BtMessageReceiverWeakHandle - (setDispatcher): - BtMessageDispatcherHandle -> BtMessageReceiverWeakHandle - (setBtRequestFactory): - BtRequestFactoryHandle -> BtRequestFactoryWeakHandle - (setPeerConnection): - PeerConnectionHandle -> PeerConnectionWeakHandle - (setOption): Removed. - (setKeepAliveInterval): New function. - (setMaxDownloadSpeedLimit): New function. - (setBtMessageFactory): New function. - * src/BitfieldMan.h - (cachedNumMissingBlock): New variable. - (cachedNumFilteredBlock): New variable. - (cachedCompletedLength): New variable. - (cachedFilteredComletedLength): New variable. - (cachedFilteredTotalLength): New variable. - (countMissingBlockNow): New function. - (countFilteredBlockNow): New function. - (getFilteredTotalLengthNow): New function. - (getCompletedLengthNow): New function. - (getFilteredCompletedLengthNow): New function. - (updateCache): New function. - * src/AbstractBtMessage.h - (BtMessageDispatcher.h): New include. - (PeerConnection.h): New include. - (BtRequestFactory.h): New include - (BtMessageFactory.h): New include. - (dispatcher): New variable. - (messageFactory): New variable. - (peerConnection: New variable. - (setBtMessageDispatcher): New function. - (setPeerConnection): New function. - (setBtMessageFactory): New function. - (setBtRequestFactory): New function. - * src/DefaultBtMessageFactory.cc - (setCommonProperty): Set dispatcher, requestFactory, this, - peerConnection to msg. - * src/BtRegistry.h - (BT_MESSAGE_RECEIVER): New macro. - * src/PeerConnection.h - (PeerConnectionWeakHandle): New type definition. - * src/BtMessageFactory.h - (BtMessageFactoryWeakHandle): New type definition. - * src/BitfieldMan.cc - (BitfieldMan): Added cachedNumMissingBlock, cachedNumFilteredBlock, - cachedCompletedLength, cachedFilteredComletedLength, - cachedFilteredTotalLength. - Call updateCache(). - (countMissingBlock): Return cachedNumMissingBlock. - (countMissingBlockNow): New function. - (countBlock): Return cachedNumFilteredBlock if filterEnabled is true. - (countFilteredBlockNow): New function. - (setBit): Call updateCache(). - (unsetBit): Call updateCache(). - (setBitfield): Call updateCache(). - (clearAllBit): Call updateCache(). - (setAllBit): Use setBitInternal instead of setBit. - Call updateCache(). - (addFilter): Call updateCache(). - (enableFilter): Call updateCache(). - (disableFilter): Call updateCache(). - (clearFilter): Call updateCache(). - (getFilteredTotalLength): Return cachedFilteredTotalLength. - (getFilteredTotalLengthNow): New function. - (getCompletedLength): Return cachedCompletedLength. - (getCompletedLengthNow): New function. - (getFilteredCompletedLength): Return cachedFilteredComletedLength. - (getFilteredCompletedLengthNow): New function. - (updateCache): New function. - * src/BtMessageReceiver.h - (BtMessageReceiverWeakHandle): New type definition. - * src/DefaultBtMessageReceiver.cc - (receiveHandshake): Use messageFactory member. - (sendHandshake): Use messageFactory member. - (receiveMessage): Use messageFactory member. - * src/DefaultBtMessageFactory.h - (dispatcher): New variable. - (requestFactory): New variable. - (peerConnection): New variablle. - (setBtMessageDispatcher): New function. - (setBtRequestFactory): New function. - (setPeerConnection): New function. - * src/SharedHandle.h - (RefCount): New class. - (WeakHandle): New class. - * src/PeerObject.h - (BtMessageReceiver.h): New include. - (PeerObject): Added btMessageReceiver. - (btMessageReceiver): New variable. - * src/Util.cc - (countBit): Simplified. - * src/BtCancelMessage.cc - (doReceivedAction): Use dispatcher member. - * src/BtRequestFactory.h - (BtRequestFactoryWeakHandle): New type definition. - - * src/PeerStorage.h - (downloadSpeed): int -> uint32_t - (uploadSpeed): int -> uint32_t - (sessionDownloadLength): long long int -> uint64_t - (sessionUploadLength): long long int -> uint64_t - -2007-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add RecoverableException, FatalException: - - * src/AbstractCommand.cc - (onAbort): Exception -> RecoverableException - * src/PeerAbstractCommand.h - (RecoverableException.h): New include. - (onAbort): Exception -> RecoverableException. - * src/PeerInteractionCommand.cc - (onAbort): Exception -> RecoverableException. - * src/PeerAbstractCommand.cc - (execute): Exception -> RecoverableException. - (onAbort): Exception -> RecoverableException. - * src/TorrentRequestInfo.cc - (execute): Exception -> RecoverableException. - * src/MetalinkRequestInfo.cc - (execute): Exception -> RecoverableException. - * src/MetaFileUtil.cc: RecoverableException. - * src/AbstractCommand.h - (onAbort): Exception -> RecoverableException. - * src/DlRetryEx.h: Exception -> RecoverableException. - * src/DlAbortEx.h: Exception -> RecoverableException. - * src/PeerListenCommand.cc: Exception -> RecoverableException. - * src/Util.cc: Exception -> RecoverableException. - * src/DefauldDiskWriter.cc: Exception -> RecoverableException. - * src/TrackerUpdateCommand.cc: Exception -> RecoverableException. - * src/UrlRequestInfo.cc: Exception -> RecoverableException. - - To make ID static const int - - * src/BtInterestedMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtPieceMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtChokeMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtHaveAllMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtKeepAliveMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtHandshakeMessage.h - (ID): New variable. - (getId): Made non-const. - * src/BtSuggestPieceMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtPortMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/AbstractBtMessage.h - (id): Removed. - (AbstractBtMessage): Removed id. - (getId): Removed. - * src/BtHaveMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtAllowedFastMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtCancelMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtNotInterestedMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtChokeMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtRejectMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtBitfieldMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtUnchokeMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtRequestMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - * src/BtHaveMessage.h - (ID_t): Removed. - (ID): New variable. - (getId): Made non-const. - - To add --force-truncate command-line option and a check whether - the file already exists: - - * src/DirectDiskAdaptor.h - (getFilePath): Made virtual public. - * src/MultiDiskAdaptor.h - (File.h): New include. - (DiskWriterEntry::fileEntry): Made private. - (DiskWriterEntry::fileExists): New function. - (DiskWriterEntry::getFileEntry): New function. - (fileExists): New function. - (getFilePath): New function. - * src/TorrentRequestInfo.cc - (FatalException.h): New include. - (message.h): New include. - (RecoverableException.h): New include. - (execute): Added a check whether file is already exists or not. - * src/DiskAdaptor.h - (fileExists): New function. - (getFilePath): New function. - * src/main.cc - (showUsage): Added an explanation of --force-truncate command-line - option. - (main): Added --force-truncate command-line option. - * src/Exception.h - (setMsg): buf[256] -> buf[1024] - * src/CopyDiskWriter.h - (getFilePath): Made public virtual. - * src/MultiDiskAdaptor.cc: fileEntry -> getFileEntry() - (fileExists): New function. - * src/DownloadEngineFactory.cc - (newTorrentConsoleEngine): Don't open file here. - * src/message.h - (EX_FILE_ALREADY_EXISTS): New definition. - * src/prefs.h - (PREF_FOECE_TRUNCATE): New definition. - * src/HttpResponseCommand.cc - (handleDefaultEncoding): Added a check whether the file already exists. - * src/SegmentMan.h - (fileExists): New function. - (shouldCancelDownloadForSafety): New function. - * src/FtpNegotiateCommand.cc - (recvSize): Added a check whether the file already exists. - * src/AbstractSingleDiskAdaptor.cc - (File.h): New include. - (fileExists): New function. - * src/AbstractSingleDiskAdaptor.h - (getFilePath): Removed. - (fileExists): New function. - * src/SegmentMan.cc - (fileExists): New function. - (shouldCancelDownloadForSafety): New function. - - To fix regression bug in torrent downloading: - - * src/DefaultBtRequestFactory.cc - (doChokedAction): New function. - * src/DefaultBtRequestFactory.h - (doChokedAction): New function. - * src/DefaultBtMessageDispatcher.cc - (doChokedAction): Do not delete request if its target is in allowed - fast set. - * src/DefaultBtInteractive.cc - (doPostHandshakeProcessing): Added a call to sendPendingMessage(). - (sendKeepAlive): Send keep alive message even if the outgoing message - queue is not empty. - (decideInterest): Simplified the code. - (fillPiece): Remove a call to dispatcher->doChokedAction() because - it is already called when BtChokeMessage is received from a peer. - * src/BtRequestFactory.h - (doChokedAction): New function. - - To clean up code: - - * src/PeerInteractionCommand.h - (executeInternal): Added virtual keyword explicitly. - (prepareForRetry): Added virtual keyword explicitly. - (prepareForNextPeer): Added virtual keyword explicitly. - (onAbort): Added virtual keyword explicitly. - - * src/RequestSlot.cc - (isTimeout): Use Time::elapsed() instead of differenceInMillis(). - - * src/BtPieceMessage.cc - (doReceivedAction): Added a debug log of piece's bitfield. - * src/Piece.h - (getBitfieldLength): New function. - - * src/ByteArrayDiskWriter.cc - (clear): Added buf = 0 to avoid double free corruption. - - * src/FileAllocator.cc - (allocate): Fixed an assignment of fileAllocationMonitor->currentValue. - Added cp.reset(). - - * src/BitfieldMan.h - (operator=): Rewritten. - * src/BitfieldMan.cc - (BitfieldMan): Initialized bitfield, useBitfield. - - * src/PeerConnection.cc - (receiveMessage): Added a call to socket->readable() after getting - message length to avoid possible EOF. - - * src/Util.cc - (torrentUrlencode): Fixed an encodeing bug. BUG#1629912 - -2007-01-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add an ability to pre-allocate file space: - - * src/DirectDiskAdaptor.h: Rewritten. - * src/PieceStorage.h: DiskAdaptor -> DiskAdaptorHandle - * src/MultiDiskAdaptor.h: Rewritten. - * src/DefaultPieceStorage.cc - (MultiDiskWriter.h): Removed include. - (PreAllocationDiskWriter.h): Removed include. - (FileAllocationMonitor.h): New include. - (~DefaultPieceStorage): Removed deletion of diskAdaptor. - (initStorage): Rewritten. - (getDiskAdaptor): DiskAdaptor -> DiskAdaptorHandle - * src/FileAllocator.h: New class. - * src/FileAllocator.cc: New class. - * src/FileAllocationMonitor.h: New class. - * src/FileAllocationMonitor.cc: New class. - * src/ConsoleFileAllocationMonitor.h: New class. - * src/ConsoleFileAllocationMonitor.cc: New class. - * src/AbstractSingleDiskAdaptor.h: New class. - * src/AbstractSingleDiskAdaptor.cc: New class. - * src/DiskAdaptor.h - (Directory.h): Removed include. - (DiskWriter.h): Removed include. - (FileEntry.h): Removed include. - (diskWriter): Removed. - (DiskAdaptor): Removed diskWriter. - (openFile): Made pure virtual. - (closeFile): Made pure virtual. - (openExistingFile): Made pure virtual. - (initAndOpenFile): Made pure virtual. - (writeData): Made pure virtual. - (readData): Made pure virtual. - (sha1Sum): Made pure virtual. - (getStoreDir): Returns const reference of storeDir. - (DiskAdaptorHandle): New type definition. - * src/main.cc - (ConsoleFileAllocationMonitor.h): New include. - (showUsage): Added default value description of -s option. - Added the description of --file-allocation option. - (main): Set default value of --file-allocation option to 'none'. - Added --file-allocation command-line option. - Setup FileAllocationMonitorFactory. - * src/FtpInitiateConnectionCommand.cc - (executeInternal): Removed diskWriter related processing, which was - moved to FtpNegotiationCommand.cc. - * src/DirectDiskAdaptor.cc - (getFilePath): Made non-const. - * src/CopyDiskAdaptor.h - (DiskAdaptor.h): Removed include. - (DiskWriter.h): Removed include. - (AbstractSingleDiskAdaptor.h): New include. - (getFilePath): Made non-const. Added virtual keyword. - (CopyDiskAdaptor): Removed diskWriter. - (getTempFile): Returns const reference. - (CopyDiskAdaptorHandle): New type definition. - * src/ByteArrayDiskWriter.cc - (clear): Simplified. - (initAndOpenFile): Rewritten. - (openFile): Call initAndOpenFile() - * src/MultiDiskAdaptor.cc: Rewritten. - * src/DownloadEngineFactory.cc - (FileAllocator.h): New include. - (FileAllocationMonitor.h): New include. - (newConsoleEngine): Call DefaultDiskWriter::createNewDiskWriter() to - create DefaultDiskWriter with file allocator. - * src/DiskWriter.h - (initAndOpenFile): Added totalLength argument. - (openFile): Added totalLength argument. - * src/prefs.h - (PREF_FILE_ALLOCATION): New definition. - (V_PREALLOC): New definition. - (V_NONE): New definition. - * src/HttpResponseCommand.cc - (handleDefaultEncoding): Call DefaultDiskWriter::initAndOpenFile with - size. - * src/FtpNegotiateCommand.cc - (Util.h): New include. - (recvSize): Open file here. - * src/Util.h - (ullitos): New function. - * src/CopyDiskWriter.h - (getFilePath): Made non-const. - * src/DefaultDiskWriter.h - (Option.h): New include. - (totalLength): Removed. - (DefaultDiskWriter): Removed totalLength. - (initAndOpenFile): Added totalLength argument. - (DefaultDiskWriterHandle): New type definition. - (createNewDiskWriter): New function. - * src/Util.cc - (ullitos): New function. - * src/DefaultDiskWriter.cc - (message.h): New include. - (FileAllocator.h): New include. - (prefs.h): New include. - (Util.h): New include. - (DefaultDiskWriter): Removed totalLength. - (initAndOpenFile): Added file allocation. - (createNewDiskWriter): New function. Just for temporary solution. - It will be rewritten later. - * src/DiskAdaptor.cc - (DiskAdaptor): Removed diskWriter. - * src/AbstractDiskWriter.cc - (LogFactory.h): New include. - (AbstractDiskWriter): Added fileAllocator, logger. - (openFile): Added totalLength argument. - * src/AbstractDiskWriter.h - (FileAllocator.h): New include. - (Logger.h): New include. - (fileAllocator): New variable. - (logger): New variable. - (openFile): Added totalLength argument. Added virtual keyword - explicitly. - (openExistingFile): Added totalLength argument. Added virtual keyword - explicitly. - (closeFile): Added virtual keyword explicitly. - (sha1Sum): Added virtual keyword explicitly. - (writeData): Added virtual keyword explicitly. - (readData): Added virtual keyword explicitly. - (setFileAllocator): New function. - * src/DefaultPieceStorage.h - (FileAllocator.h): New include. - (diskAdaptor): DiskAdaptor -> DiskAdaptorHandle - (getDiskAdaptor): DiskAdaptor -> DiskAdaptorHandle - * src/FileProgressMonitor.h: New class. - - To compile aria2 on PC-BSD: - - * src/DefaultBtContext.cc - (libgen.h): New include. - - To fix memory leak: - - * src/Exception.h - (~Exception): Delete cause. Fixed memory leak. - -2006-12-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Rewritten a portion of bittorrent implementation: - - * src/BtMessageValidator.h: New class. - * src/BtBitfieldMessageValidator.h: New class. - * src/BtHandshakeMessageValidator.h: New class. - * src/BtRequestMessageValidator.h: New class. - * src/BtSuggestPieceMessageValidator.h: New class. - * src/BtAllowedFastMessageValidator.h: New class. - * src/BtRejectMessageValidator.h: New class. - * src/BtCancelMessageValidator.h: New class. - * src/BtPieceMessageValidator.h: New class. - * src/BtHaveMessageValidator.h: New class. - * src/BtEventListener.h: New class. - * src/AbstractBtEventListener.h: New class. - * src/BtEvent.h: New class. - * src/BtChokingEvent.h: New class. - * src/BtChokedEvent.h: New class. - * src/BtCancelSendingPieceEvent.h: New class. - * src/BtAbortOutstandingRequestEvent.h: New class. - * src/Randomizer.h: New class. - * src/SimpleRandomizer.h: New class. - * src/BtMessage.h: New class. - * src/AbstractBtMessage.h: New class. - * src/SimpleBtMessage.h: New class. - * src/BtHaveMessage.h: New class. - * src/BtInterestedMessage.h: New class. - * src/BtAllowedFastMessage.h: New class. - * src/BtUnchokeMessage.h: New class. - * src/BtCancelMessage.h: New class. - * src/BtNotInterestedMessage.h: New class. - * src/BtChokeMessage.h: New class. - * src/BtHaveNoneMessage.h: New class. - * src/BtHandshakeMessage.h: New class. - * src/BtSuggestPieceMessage.h: New class. - * src/BtHaveMessage.h: New class. - * src/BtPieceMessage.h: New class. - * src/BtHaveAllMessage.h: New class. - * src/BtKeepAliveMessage.h: New class. - * src/BtPortMessage.h: New class. - * src/BtRejectMessage.h: New class. - * src/BtBitfieldMessage.h: New class. - * src/BtRequestMessage.h: New class. - * src/DefaultBtRequestFactory.h: New class. - * src/DefaultBtMessageReceiver.h: New class. - * src/BtInteractive.h: New class. - * src/BtMessageDispatcher.h: New class. - * src/DefaultBtMessageDispatcher.h: New class. - * src/DefaultBtInteractive.h: New class. - * src/BitfieldManFactory.h: New class. - * src/HandleRegistry.h: New class. - * src/BtMessageFactory.h: New class. - * src/BtMessageReceiver.h: New class. - * src/DefaultBtMessageFactory.h: New class. - * src/PeerObject.h: New class. - * src/BtRequestFactory.h: New class. - * src/SuggestPieceMessage.h: Removed. - * src/PortMessage.h: Removed. - * src/SuggestPieceMessage.h: Removed. - * src/KeepAliveMessage.h: Removed. - * src/HandshakeMessage.h: Removed. - * src/PeerInteraction.h: Removed. - * src/UnchokeMessage.h: Removed. - * src/PieceMessage.h: Removed. - * src/RequestMessage.h: Removed. - * src/InterestedMessage.h: Removed. - * src/HaveMessage.h: Removed. - * src/CancelMessage.h: Removed. - * src/RejectMessage.h: Removed. - * src/AllowedFastMessage.h: Removed. - * src/HaveNoneMessage.h: Removed. - * src/SimplePeerMessage.h: Removed. - * src/HaveAllMessage.h: Removed. - * src/BitfieldMessage.h: Removed. - * src/PeerMessageFactory.h: Removed. - * src/NotInterestedMessage.h: Removed. - * src/ChokeMessage.h: Removed. - * src/PeerMessage.h: Removed. - -2006-12-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To know root cause of exception: - - * src/Exception.h - (cause): New variable. - (Exception): Added a parameter. - (getMsg): Return const reference to msg. - (getCause): New function. - * src/DlRetryEx.h - (DlRetryEx): Added a parameter 'cause'. - Added an overloaded constructor. - (DlAbortEx): Added a parameter 'cause'. - Added an overloaded constructor. - * src/SimpleLogger.cc - (writeLog): Log nested exception messages recursively. - -2006-11-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/DefaultBtProgressInfoFile.cc - (load): Fixed memory leak when the infohash doesn't match. - -2006-11-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/DefaultPeerStorage.cc - (calculateStat): Simplified the code by combining 2 loops into 1. - -2006-11-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Introduce new preference PREF_BT_TIMEOUT. This is the timeout value - for BitTorrent download: - - * src/PeerAbstractCommand.cc - (PeerAbstractCommand): PREF_TIMEOUT -> PREF_BT_TIMEOUT - * src/main.cc: - (timeoutSpecified): Removed. - (main): Set the initial value of PREF_BT_TIMEOUT to 180. - Removed timeoutSpecified. TODO: Add --bt-timeout command line option. - * src/TorrentRequestInfo.cc - (timeoutSpecified): Removed. - (torrentHandler): Removed timeoutSpecified and the adjustment of - timeout value. - * src/prefs.h - (PREF_BT_TIMEOUT): New definition. - - Delete unused variables: - - * src/TorrentRequestInfo.cc - (requestInfo): Removed. - - Move setSignalHander to Util::setGlobalSignalHandler: - - * src/TorrentRequestInfo.cc: - setSignalHander -> Util::setGlobalSignalHandler - * src/main.cc - (setSignalHander): Removed. - (main): setSignalHander -> Util::setGlobalSignalHandler - * src/Util.h - (setGlobalSignalHandler): New function. - * src/Util.cc - (setGlobalSignalHandler): New function. - * src/UrlRequestInfo.cc: - setSignalHander -> Util::setGlobalSignalHandler - - Reset peer status in order to exit gracefully: - - * src/PeerAbstractCommand.cc - (execute): Call peer->resetStatus() when btRuntime->isHalt() is true. - - To fix the bug that causes the number of bytes uploaded is not saved - to .aria2 file: - - * src/DefaultPeerStorage.h - (removedPeerSessionDownloadLength): New variable. - (removedPeerSessionUploadLength): New variable. - * src/DefaultPeerStorage.cc - (DefaultPieceStorage): Added removedPeerSessionDownloadLength(0), - removedPeerSessionUploadLength(0). - (calculateStat): Calculate the number of bytes downloaded(uploaded) - through all peers, and then add removedPeerSessionDownloadLength( - removedPeerSessionUploadLength) to it. - (deleteUnusedPeer): Add the number of bytes downloaded(uploaded) from - (to) the peer to removedPeerSessionDownloadLength - (removedPeerSessionUploadLength). - -2006-11-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add Metalink location option: - - * src/MetalinkRequestInfo.cc - (execute): Call MetalinkEntry::setLocationPreference() - * src/main.cc - (showUsage): Added the help message for --metalink-location option. - (main): Added --metalink-location option. - * src/prefs.h - (PREF_METALINK_LOCATION): New definition. - * src/MetalinkEntry.cc - (AddLocationPreference): New function object. - (setLocationPreference): New function. - * src/Xml2MetalinkProcessor.cc - (getResource): Set location attribute to MetalinkResource - - To show URLs to download - - * src/UrlRequestInfo.h - (printUrls): New function. - - To add multiple <file> Metalink support: - - * src/MetalinkEntry.h - (MetalinkResources): Removed. - (setLocationPreference): New function. - (MetalinkEntryHandle): New type definition. - (MetalinkEntries): New type definition. - * src/Xml2MetalinkProcessor.h - (getEntry): MetalinkEntry* -> MetalinkEntryHandle - (getResource): MetalinkResource* -> MetalinkResourceHandle - (parseFile): Metalinker* -> MetalinkerHandle - * src/UrlRequestInfo.h - (execute): RequestInfo* -> RequestInfos - * src/MetalinkRequestInfo.cc - (AccumulateNonP2PUrl): MetalinkResource* -> MetalinkResourceHandle - (FindBitTorrentUrl): MetalinkResource* -> MetalinkResourceHandle - (execute): RequestInfo* -> RequestInfos - Added multiple <file> support. Print filename when it is queued. - * src/MetalinkRequestInfo.h - (execute): RequestInfo* -> RequestInfos - (getDownloadEngine): Removed. - * src/RequestInfo.h - (RequestInfoHandle): New type definition. - (RequestInfos): New type definition. - (execute): RequestInfo* -> RequestInfos - (getDownloadEngine): Removed. - * src/MetalinkResource.h - (MetalinkResourceHandle): New type definition. - (MetalinkResources): New type definition. - * src/MetalinkEntry.cc - (~MetalinkEntry): Removed the deletion of the elements of resources, - because the element is now of type MetalinkResourceHandle. - (PrefOrder): MetalinkResource* -> MetalinkResourceHandle - (Supported): MetalinkResource* -> MetalinkResourceHandle - (dropUnsupportedResource): Removed the deletion of the elements of - resources because the element is now of type MetalinkResourceHandle. - * src/Xml2MetalinkProcessor.cc - (parseFile): Metalinker* -> MetalinkerHandle - MetalinkEntry* -> MetalinkEntryHandle - Removed try-catch block. - (getEntry): MetalinkEntry* -> MetalinkEntryHandle - MetalinkResource* -> MetalinkResourceHandle - Removed try-catch block. - (getResource): MetalinkResource* -> MetalinkResourceHandle - Free result by using xmlXPathFreeObject() - * src/Metalinker.cc - (~Metalinker): Removed the deletion of entries. - MetalinkEntry* -> MetalinkEntryHandle - (queryEntry): Add multiple <file> Metalink support. - * src/Metalinker.h - (MetalinkEntries): Removed. - (queryEntry): MetalinkEntry* -> MetalinkEntries - * src/MetalinkProcessor.h - (parseFile): Metalinker* -> MetalinkerHandle - - Bug fixes: - - * src/PeerChokeCommand.cc - (execute): cat01->cat02 - * src/DefaultPieceStorage.cc - (DefaultPieceStorage): Added diskAdaptor(0) - * src/TrackerWatcherComand.cc: - (execute): Use btAnnounce->noMoreAnnounce() - to determin whether the function returns true or not. - * src/TrackerUpdateCommand.cc: - (execute): Use btAnnounce->noMoreAnnounce() - to determin whether the function returns true or not. - * src/FtpConnection.cc - (bulkReceiveResponse): Throw DlRetryEx if EOF got. - This is the fix of the busy loop bug. - * src/DownloadCommand.cc - (DownloadCommand): Reuse PeerStat. segmentMan->getPeerStat() returns - cached PeerStat. - - The value of "name" entry in torrent file is now set by - *DiskAdaptor::setTopDir(...) methods. - - * src/MultiDiskAdaptor.h - (topDir): New variable. - (setTopDir): New function. - (getTopDir): New function. - * src/MultiDiskAdaptor.cc - (getFilePath): Concat storDir, "/" and topDir. - (mkdir): Use getFilePath() to get the directory path for output. - * src/DefaultPieceStorage.cc - (initStorage): Set the value of "name" entry to MultiDiskAdaptor, - CopyDiskAdaptor. - * src/CopyDiskAdaptor.h - (topDir): New variable. - (setTopDir): New function. - (getTopDir): New function. - * src/CopyDiskAdaptor.cc - (fixFilename): Updated. - - Misc - - * src/UrlRequestInfo.h - (e): Removed. - (UrlRequestInfo): Removed e. - (getDownloadEngine): Removed. - * src/UrlRequestInfo.cc - (handler): Rewritten. - (printUrls): New function. - (execute): Call printUrls(). - - * src/HandshakeMessage.cc - (check): peerinteraction->getBtContext() -> btContext - - * src/PeerInteraction.h - (getBtContext): Removed. - - * src/TorrentRequestInfo.h - (execute): RequestInfo* -> RequestInfos - (getDownloadEngine): Removed. - * src/TorrentRequestInfo.cc - (haltRequested): Removed. - (btHaltRequested): New variable. - (torrentHandler): haltRequested -> btHaltRequested - (execute): RequestInfo* -> RequestInfos - * src/TorrentConsoleDownloadEngine.cc - (afterEachIteration): haltRequested -> btHaltRequested. - - * src/ConsoleDownloadEngine.h - (initStatistics): Added virtual. - (calculateStatistics): Added virtual. - (onEndOfRun): Added virtual. - (afterEachIteration): Added virtual. - * src/ConsoleDownloadEngine.cc - (haltRequested): New variable. - (afterEachIteration): New function. - - * src/main.cc - (requestInfo): Removed. - - * src/SegmentMan.cc - (findSlowerSegmentEntry): Refactored. - - * Release 0.9.0 - -2006-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To divide TorrentMan into 6 classes: BtContext, BtRuntime, - PeerStorage, PieceStorage, BtAnnounce and BtProgressInfoFile - - * src/TorrentMan.h: Removed. - * src/TorrentMan.cc: Removed. - * src/TrackerWatcherComand.h: Made subclass of BtContextAwareCommand. - * src/SeedCheckCommand.cc: Use pieceStorage, btRuntime - * src/PeerAbstractCommand.h: Made subclass of BtContextAwareCommand. - * src/PeerAbstractCommand.cc: Use btRuntime. - * src/BtContextAwareCommand.h: New class. - * src/FileEntry.h: Added accessor methods for following variables. - (path): Made private. - (length): Made private. - (offset): Made private. - (extracted): Made private. - (requested): Made private. - (FileEntries): New definition. - (FileEntryHandle): New definition. - * src/FileEntry.cc: New file. - * src/HaveEraseCommand.h: Made subclass of BtContextAwareCommand. - * src/HaveEraseCommand.cc: Use btRuntime, pieceStorage. - * src/PeerChokeCommand.h: Made subclass of BtContextAwareCommand. - * src/PeerChokeCommand.cc: Use btRuntime, peerStorage, pieceStorage. - * src/PieceStorage.h: New file. - * src/PeerInteractionCommand.h: Use btContext. - * src/PeerInteractionCommand.cc: Use pieceStorage, peerStorage, - btRuntime. - * src/DefaultBtProgressInfoFile.h: New file. - * src/DefaultBtProgressInfoFile.cc: New file. - * src/File.cc - (Util.h): New include. - (mkdirs): New function. - * src/MultiDiskAdaptor.h - (mkdir): New function. - * src/PeerListProcessor.h - (Peers): Removed. - * src/PeerInteraction.h - (torrentMan): Removed. - (btContext): New variable. - (peerStorage): New variable. - (pieceStorage): New variable. - (btAnnounce): New variable. - (getTorrentMan): Removed. - (getBtContext): New function. - * src/PeerInteraction.cc: Use btContext, peerStorage, pieceStorage, - btAnnounce. - * src/HandshakeMessage.h - (TorrentMan.h): Removed. - * src/HandshakeMessage.cc: Use btContext. - * src/DefaultBtAnnounce.cc: New file. - * src/MultiDiskWriter.cc: Use the accessor methods of FileEntry. - * src/DefaultPieceStorage.cc: New file. - * src/DefaultBtContext.h: New file. - * src/TorrentRequestInfo.cc: Use btContext, pieceStorage. - Use the accessor methods of FileEntry. - * src/CookieBox.cc: Updated to use Util::slice(). - * src/PieceMessage.cc: Use btContext, pieceStorage. - * src/common.h (SharedHandle.h): New include. - * src/PeerMessage.cc (PeerMessage): Added btContext, peerStorage, - pieceStorage. - * src/TorrentAutoSaveCommand.h: Made subclass of BtContextAwareCommand. - * src/DiskAdaptor.h - (topDir): Removed. - (getFileEntryFromPath): Changed the return type to FileEntryHandle. - (setTopDir): Removed. - (getTopDir): Removed. - * src/BtContext.h: New file. - * src/DefaultPeerStorage.h: New file. - * src/PieceMessage.h (TorrentMan.h): Removed. - * src/RequestMessage.h (TorrentMan.h): Removed. - * src/TorrentDownloadEngine.h - (uploadLength): New variable. - (btContext): New variable. - (btRuntime): New variable. - (pieceStorage): New variable. - (peerStorage): New variable. - (btAnnounce): New variable. - (btProgressInfoFile): New variable. - (torrentMan): Removed. - (setBtContext): New function. - * src/TorrentDownloadEngine.cc: Use BtContext, BtRuntime, pieceStorage, - peerStorage, btAnnounce, btProgressInfoFile. - * src/Piece.h - (toString): New function. - (Pieces): New type definition. - * src/Peer.h - (active): New variable. - (Peer): Added active. - (activate): Set active to true. - (deactivate): Set active to false. - (isActive): New function. - (Peers): New type definition. - * src/DirectDiskAdaptor.cc - (getFilePath): Use the accessor methods of FileEntry. - * src/TorrentConsoleDownloadEngine.h - (afterEachIteration): New function. - * src/TorrentConsoleDownloadEngine.cc - (haltRequested): New variable. - (sendStatistics): Use pieceStorage, btRuntime. - (afterEachIteration): New function. - * src/AnnounceList: AnnounceTier->AnnounceTierHandle. - * src/Directry.h - (Directory): New function. - (DirectoryHandle): New type definition. - * src/BtProgressInfoFile.h: New file. - * src/RequestMessage.cc: Use pieceStorage. - * src/BtRuntime.h: New file. - * src/DefaultBtContext.cc: New file. - * src/BitfieldMan.h - (getCompletedLength): New function(private). - (getCompletedLength): New function. - (getFilteredCompletedLength): New function. - * src/BitfieldMan.h - (getCompletedLength): New function(private). - (getCompletedLength): New function. - (getFilteredCompletedLength): New function. - * src/MultiDiskAdaptor.cc - (mkdir): New function. - (openFile): Call mkdir(). - (initAndOpenFile): Call mkdir(). - * src/CancelMessage.h - (TorrentMan.h): Removed. - * src/RejectMessage.h - (TorrentMan.h): Removed. - * src/DownloadEngineFactory.cc - (DefaultPieceStorage.h): New include. - (DefaultPeerStorage.h): New include. - (DefaultBtAnnounce.h): New include. - (DefaultBtProgressInfoFile.h): New include. - (newTorrentConsoleEngine): Rewritten. - * src/ShareRatioSeedCriteria.h - (torrentMan): Removed. - (btContext): New variable. - (peerStorage): New variable. - (btRuntime): New variable. - (evaluate): Use btContext, btRuntime, peerStorage. - * src/AnnounceTier.h: New file. - * src/BtAnnounce.h: New file. - * src/BtRegistry.h: New file. - * src/PeerInitiateConnectionCommand.h: Added btContext. - * src/PeerConnection.h (TorrentMan.h): Removed. - * src/PeerMessageFactory.cc: Use btContext, pieceStorage. - * src/Util.h - (slice): Added an argument. - * src/Util.cc - (slice): Added an argument to control whether trim is made or not. - * src/PeerStorage.h: New file. - * src/BtRegistry.cc: New file. - * src/TrackerUpdateCommand.h: Made subclass of BtContextAwareCommand. - * src/CopyDiskAdaptor.cc: Use the accessor methods of FileEntry. - * src/MultiDiskWriter.h: FileEntry -> FileEntryHandle - * src/PeerListenCommand.cc: Use btRuntime, peerStorage, btContext. - * src/TorrentRequestInfo.h - (e): Removed. - (showFileEntry): Added an argument. - (getDownloadEngine): Return 0. - * src/DefaultBtAnnounce.h: New file. - * src/TorrentAutoSaveCommand.cc: Use btRuntime, btProgressInfoFile. - * src/TrackerWatcherComand.cc: Use btRuntime, btAnnounce, - * src/PeerMessageFactory.h - (btContext): New variable. - (pieceStorage): New variable. - * src/TrackerUpdateCommand.cc: Use btRuntime, peerStorage, btContext, - btAnnounce. - * src/DiskAdaptor.cc - (DiskAdaptor): Removed topDir. - (~DiskAdaptor): Removed topDir. - * src/PeerListenCommand.h: Made subclass of BtContextAwareCommand. - * src/SeedCheckCommand.h: Made subclass of BtContextAwareCommand. - * src/File.h (mkdirs): New function. - * src/DefaultPeerStorage): New file. - * src/DownloadEngineFactory.h - (newTorrentConsoleEngine): Use btContext. - * src/BtContextAwareCommand.cc: New file. - * src/PeerInitiateConnectionCommand.cc: Use btRuntime, peerStorage. - * src/PeerMessage.h - (btContext): New variable. - (peerStorage): New variable. - (pieceStorage): New variable. - (setBtContext): New function. - * src/Directry.cc - (Directory): New function. - (createDir): Do nothing if name.size() == 0. - * src/AnnounceList.h - (AnnounceTier): Removed. - (AnnounceTiers): Removed. - * src/DefaultPieceStorage.h: New file. - * src/Piece.cc (toString): New function. - - To fix typo: - - * src/main.cc (showVersion): Fixed typo. - - To fix compile warning: - - * src/DelegatingPeerListProcessor.cc - (canHandle): Added "return false". - -2006-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To simplify TrackerWatherCommand, TrackerUpdateCommand and - make the process of announce request testable. - - * src/TrackerWatcherCommand.h - (TimeA2.h): Removed. - (interval): Removed. - (checkPoint): Removed. - (createRequestCommand): Added an argument 'url'. - (TrackerWatherCommand): Removed interval. - (createCommand): New function. - * src/DownloadEngineFactory.cc - (newTorrentConsoleEngine): Updated according to the changes in - TrackerWatherCommand. - * src/TorrentMan.cc - (DelegatingPeerListProcessor.h): New includes. - (TorrentMan): Added the initialization of announceInterval. - (isStoppedAnnounceReady): New function. - (isCompletedAnnounceReady): New function. - (isDefaultAnnounceReady): New function. - (isAnnounceReady): New function. - (getAnnounceUrl): New function. - (announceStart): New function. - (announceFailure): New function. - (announceSuccess): New function. - (isAllAnnounceFailed): New function. - (resetAnnounce): New function. - (processAnnounceResponse): New function. - (needMorePeerConnection): New function. - (noMoreAnnounce): New function. - * src/TrackerUpdateCommand.h - (getTrackerResponse): int->size_t - * src/TorrentMan.h - (isStoppedAnnounceReady): New function. - (isCompletedAnnounceReady): New function. - (isDefaultAnnounceReady): New function. - (announceInterval): New variable. - (isAnnounceReady): New function. - (getAnnounceUrl): New function. - (announceStart): New function. - (announceFailure): New function. - (announceSuccess): New function. - (isAllAnnounceFailed): New function. - (resetAnnounce): New function. - (processAnnounceResponse): New function. - (needMorePeerConnection): New function. - (noMoreAnnounce): New function. - * src/TrackerWatcherCommand.cc - (TrackerWatherCommand): Removed interval and checkPoint. - (execute): Rewritten. - (createCommand): New function. - (createRequestCommand): Rewritten. - * src/TrackerUpdateCommand.cc - (MetaFileUtil.h): Removed. - (DelegatingPeerListProcessor.h): Removed. - (getTrackerResponse): int->size_t. Use torrentMan's new functions. - -2006-10-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Request -> RequestHandle: - - * src/HttpResponseCommand.h: Request->RequestHandle - * src/AbstractCommand.cc: Request->RequestHandle - * src/HttpDownloadCommand.cc: Request->RequestHandle - * src/HttpRequestCommand.cc: Request->RequestHandle - * src/FtpInitiateConnectionCommand.h: Request->RequestHandle - * src/AbstractCommand.h: Request->RequestHandle - * src/HttpProxyRequestCommand.h: Request->RequestHandle - * src/HttpResponseCommand.cc: Request->RequestHandle - * src/HttpInitiateConnectionCommand.h: Request->RequestHandle - * src/FtpNegotiateCommand.cc: Request->RequestHandle - * src/FtpTunnelResponseCommand.h: Request->RequestHandle - * src/HttpConnection.h: Request->RequestHandle - * src/HttpProxyResponseCommand.cc: Request->RequestHandle - * src/InitiateConnectionCommandFactory.h: Request->RequestHandle - * src/FtpTunnelResponseCommand.cc: Request->RequestHandle - * src/DownloadCommand.h: Request->RequestHandle - * src/FtpDowndloadCommand.cc: Request->RequestHandle - * src/HttpInitiateConnectionCommand.cc: Request->RequestHandle - * src/HttpRequestCommand.h: Request->RequestHandle - * src/FtpNegotiateCommand.h: Request->RequestHandle - * src/FtpTunnelResponseCommand.cc: Request->RequestHandle - * src/FtpInitiateConnectionCommand.cc: Request->RequestHandle - * src/HttpDownloadCommand.h: Request->RequestHandle - * src/FtpConnection.cc: Request->RequestHandle - * src/InitiateConnectionCommandFactory.cc: Request->RequestHandle - * src/UrlRequestInfo.cc: Request->RequestHandle - * src/HttpProxyResponseCommand.h: Request->RequestHandle - * src/HttpConnection.h: Request->RequestHandle - * src/DownloadCommand.cc: Request->RequestHandle - * src/FtpConnection.h: Request->RequestHandle - * src/FtpDowndloadCommand.h: Request->RequestHandle - * src/HttpProxyRequestCommand.cc: Request->RequestHandle - * src/FtpTunnelRequestCommand.h: Request->RequestHandle - * src/Request.h - (SharedHandle.h): New include. - (RequestHandle): New type definition. - (Requests): Redefined. - - To add MULTITRACKER support: - - * src/TrackerWatcherCommand.h - (createRequestCommand): New function. - * src/DownloadEngineFactory.cc - (newTorrentConsoleEngine): Removed req. - * src/prefs.h - (PREF_TRACKER_MAX_TRIES): New definition. - * src/TorrentMan.cc - (TorrentMan): Removed req. Added trackerNumTry. - (~TorrentMan): Removed req. - (setupInternal1): Added announceList. - * src/TorrentRequestInfo.cc - (execute): Set PREF_MAX_TIRES to 1. The max number of tries for - announces is now specified by PREF_TRACKER_MAX_TRIES. - * src/main.cc - (main): Added PREF_TRACKER_MAX_TRIES. - * src/TorrentMan.h - (Request.h): Removed. - (AnnounceList.h): New include. - (trackerNumTry): New variable. - (req): Removed. - (announceList): New variable. - * src/TrackerWatcherCommand.cc - (execute): Rewritten. - (createRequestCommand): New function. - * src/TrackerUpdateCommand.cc - (execute): Updated with the use of AnnounceList. - * src/AnnounceList.cc: New class. - * src/AnnounceList.h: New class. - - To fix typo: - - * src/prefs.h - (PREF_MAX_TRIES): max_try->max_tries - - To not to decode "+" as space in URL decode: - - * src/Util.cc - (urldecode): Removed "+"->space decoding rule. Test case was updated. - -2006-10-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add timeout to async name resolution: - - * src/AbstractCommand.h - (nameResolveFinished): New function. This is not elegant way. It needs - to be more refined. - (nameResolverCheck): New variable. - * src/AbstractCommand.cc - (AbstractCommand): Added nameResolverCheck. - (execute): Added the check whether the name resolution has finished. - (setNameResolverCheck): Set nameResolverCheck to true. - (disableNameResolverCheck): Set nameResolverCheck to false. - (nameResolverFinished): New function. - * src/FtpInitiateConnectionCommand.h - (nameResolverFinished): New function. - * src/FtpInitiateConnectionCommand.cc - (FtpInitiateConnectionCommand): Set timeout to PREF_DNS_TIMEOUT. - * src/HttpInitiateConnectionCommand.h - (nameResolverFinished): New function. - * src/HttpInitiateConnectionCommand.cc - (HttpInitiateConnectionCommand): Set timeout to PREF_DNS_TIMEOUT. - * src/prefs.h - (PREF_DNS_TIMEOUT): New definition. - * src/main.cc - (main): Added PREF_DNS_TIMEOUT. - - To add the support for a non-compact response from a tracker: - - * src/PeerListProcessor.h: New class. - * src/DefaultPeerListProcessor.h: New class. - * src/DefaultPeerListProcessor.cc: New class. - * src/CompactPeerListProcessor.h: New class. - * src/CompactPeerListProcessor.cc: New class. - * src/DelegatingPeerListProcessor.h: New class. - * src/DelegatingPeerListProcessor.cc: New class. - * src/TorrentMan.cc - (addPeer): New function(overload). - (addPeer): Delete unused peers only when new peer is added. - * src/TorrentMan.h - (PeerListProcessor.h): Included. - (Peers): Removed. - (addPeer): New function(overload). - * src/TrackerUpdateCommand.cc - (netinet/in.h): Removed. - (DelegatingPeerListProcessor.h): Included. - (execute): Updated to use DelegatingPeerListProcessor. - - To fix the memory leak in TorrentMan::peers: - - * src/PeerAbstractCommand.cc - (onAbort): Added peer->resetStatus(). - * src/Peer.h - (resetStatus): Made public. - - To improve the precision of the speed calculation: - - * src/SpeedCalc.h - (nextInterval): New variable. - * src/SpeedCalc.cc - (reset): Added nextInterval. - (isIntervalOver): Use nextInterval instead of CHANGE_INTERVAL_SEC. - (changeSw): Set nextInterval to 15 seconds relative to the current - instant time. - - * src/main.cc - (showVersion): Updated. - (showUsage): Updated. - - * Release 0.8.1 - -2006-09-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/main.cc - (showUsage): Commented out --min-segment-size option. - (main): Commented out --min-segment-size option. - - * Release 0.8.0 - -2006-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/*.{h,cc}: - Added an exception to the license which allows linking with OpenSSL. - -2006-09-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/AbstractCommand.cc - (execute): Check whether the download has finished before checking - socket status. - Return true if peerStat->getStatus() == REQUEST_IDLE. - Do not exit even if no segment is available. - - * src/prefs.h - (PREF_STARTUP_IDLE_TIME): New definition. - - * src/PeerInteractionCommand.cc - (executeInternal): Removed max speed limit. Because it performs bad. - (receiveMessages): Added max speed limit. This was better than above, - but still a little bit to be desired. Sometimes the download speed - became much faster than I specified. - - * src/SpeedCalc.h - (start): New variable. - (accumulatedLength): New variable. - (getAvgSpeed): New function. - * src/SpeedCalc.cc - (reset): Added start, accumulatedLength. - (update): Added calculation of an average speed. - (getAvgSpeed): New function. - - * src/DownloadCommand.h - (sw): Removed. - - * src/main.cc - (main): Added PREF_STARTUP_IDLE_TIME. - - * src/PeerStat.h - (STATUS): Added REQUEST_IDLE. - (getMaxSpeed): Renamed as getMaxDownloadSpeed(). - (getAvgDownloadSpeed): New function - (requestIdle): New function. - - * src/SegmentMan.h - (SegmentEntryHandle): New type definition. - (SegmentEntries): Now holds SegmentEntryHandle. - (findSlowerSegmentEntry): New funtion. - * src/SegmentMan.cc - (save): Updated according to the changes in SegmentEntries. - (read): Updated according to the changes in SegmentEntries. - (FindSegmentEntryByIndex): Updated according to the changes in - SegmentEntries. - (FindSegmentEntryByCuid): Updated according to the changes in - SegmentEntries. - (checkoutSegment): Updated according to the changes in SegmentEntries. - (onNullBitfield): Updated according to the changes in SegmentEntries. - Renamed uitr as itr. - (findSlowerSegmentEntry): New function. - (getSegment): Updated according to the changes in SegmentEntries. - Added the feature that cancels the segment with slow server and fast - one takes it over. - (cancelSegment): Updated according to the changes in SegmentEntries. - (getDownloadLength): Updated according to the changes in - SegmentEntries. - (init): Assigned 0 to bitfield after deleting it. - - * src/DownloadCommand.cc - (STARTUP_IDLE_TIME): Removed. - (executeInternal): Use PREF_STARTUP_IDLE_TIME. - - * src/PeerChokeCommand.cc - (optUnchokingPeer): Updated according to the changes in Peer. - (ResetDelta): Removed. - (UploadFaster): Updated according to the changes in Peer. - (DownloadFaster): Updated according to the changes in Peer. - (execute): I clarify the meaning of "upload" and "download" here. - "upload" means the transfer from localhost to remote host. - "download" means the transfer from remote host to localhost. - Based on this rule, I swapped orderByUploadRate and - orderByDownloadRate. - - * src/PeerInteractionCommand.cc - (PeerInteraction): Removed peerInteraction->setUploadLImit(). - (executeInternal): Removed the argument of - peerInteraction->sendMessages(). - (receiveMessages): Rewritten download speed limit. - (sendKeepAlive): Removed peerInteraction->sendMessages(). - - * src/HttpResponseCommand.cc - (handleDefaultEncoding): If file size is unknown in torrent request, - do not call segmentMan->initBitfield() here. - Disabled persistent connection feature in torrent request. - - * src/UrlRequestInfo.h - (UrlRequestInfo): Removed const qualifier from option. - - * src/TorrentMan.h - (TransferStat): New class. - (deltaDownloadLength): Removed. - (deltaUploadLength): Removed. - (addDeltaDownloadLength): Removed. - (getDeltaDownloadLength): Removed. - (resetDeltaDownloadLength): Removed. - (addDeltaUploadLength): Removed. - (getDeltaUploadLength): Removed. - (resetDeltaUploadLength): Removed. - (addActivePeer): Added peer->activate(). - (deleteActivePeer): Added peer->deactivate(). - (calculateStat): New function. - * src/TorrentMan.cc - (TorrentMan): Removed deltaDownloadLength and deltaUploadLength. - (calculateStat): New function. - - * src/PeerInteraction.h - (uploadLimit): Removed. - (option): New variable. - (setUploadLimit): Removed. - (getUploadSpeed): Removed. - (sendMessages): Removed the argument "currentUploadSpeed". - * src/PeerInteraction.cc - (prefs.h): Included. - (PeerInteraction): Removed uploadLimit. Added option. - (sendMessages): Rewritten upload speed limit. - (sendHandshake): Removed the argument from sendMessages(). - (sendBitfield): Removed the argument from sendMessages(). - - * src/PeerAbstractCommand.cc - (execute): Commented out the portion of upload limit. - (onAbort): Removed peer->resetStatus(). - - * src/TorrentRequestInfo.cc - (timeoutSpecified): Declared extern. - (execute): Set timeout to 180 if timeout is not specified by. - command-line. - - * src/PieceMessage.cc - (receivedAction): Added peer->updateDownloadLength(). - Removed peer->addPeerUpload(). - Removed torrentMan->addDeltaDownloadLength(). - (send): Added peer->updateUploadLength(). - Removed peer->addPeerDownload(). - Removed torrentMan->addDeltaUploadLength(). - - * src/main.cc - (timeoutSpecified): New variable. - (main): Set timeoutSpecified to false. - If the command-line option "--upload-limit" is specified, then - timeoutSpecified is set to true. This option will remain in the next - release, but be deprecated in the future release. - - * src/TorrentRequestInfo.h - (TorrentRequestInfo): Removed const qualifier from op. - - * src/PeerStat.h - (uploadSpeed): New variable. - (PeerStat): Added default value to cuid. - (calculateUploadSpeed): New function. - (updateUploadLength): New function. - (getMaxUploadSpeed): New function. - (getAvgUploadSpeed): New function. - (reset): Added uploadSpeed. Set status to IDLE. - - * src/TorrentDownloadEngine.h - (cp): Declared as Time. - (sessionDownloadLengthArray): Removed. - (sessionUploadLengthArray): Removed. - (currentCp): Removed. - (lastCalcStat): New variable - (lastElapsed): Removed. - (sessionDownloadLength): Removed. - (calculateStat): New function. - * src/TorrentDownloadEngine.cc - (initStatistics): Removed lastElapsed, cp[], - sessionDownloadLengthArray[], sessionUploadLengthArray[], - currentCp, sessionDownloadLength. - Added cp.reset() and lastCalcStat.reset(). - (calculateSpeed): Changed the name of the argument. - (calculateStatistics): Rewritten. - (calculateStat): New function. - - * src/Peer.h - (PeerStat.h): Included. - (peerUpload): Removed. - (peerDownload): Removed. - (peerStat): New variable. - (sessionUploadLength): New variable. - (sessionDownloadLength): New variable. - (deltaUpload): Removed. - (deltaDownload): Removed. - (resetStatus): Made private. - (Peer): Added sessionUploadLength, sessionDownloadLength. - Removed peerUpload, peerDownload. - (updateUploadLength): New function. - (addDeltaUpload): Removed. - (updateDownloadLength): New function. - (resetDeltaUpload): Removed. - (getDeltaUpload): Removed. - (addDeltaDownload): Removed. - (calculateUploadSpeed): New function. - (resetDeltaDownload): Removed. - (getDeltaDownload): Removed. - (calculateDownloadSpeed): New function. - (getSessionUploadLength): New function. - (getSessionDownloadLength): New function. - (activate): New function. - (deactivate): New function. - (addPeerUpload): Removed. - (setPeerUpload): Removed. - (getPeerUpload): Removed. - (addPeerDownload): Removed. - (setPeerDownload): Removed. - (getPeerDownload): Removed. - - * src/Peer.cc - (resetStatus): Removed resetDeltaUpload() and resetDeltaDownload(). - - * src/MetalinkRequestInfo.h - (MetalinkRequestInfo): Removed const qualifier from op. - - * src/RequestInfo.h - (op): Removed const qualifier. - (RequestInfo): Removed const qualifier from op. - - * src/prefs.h - (PREF_MAX_SPEED_LIMIT): Renamed as PREF_MAX_DOWNLOAD_LIMIT. - (PREF_UPLOAD_LIMIT): Renamed as PREF_MAX_UPLOAD_LIMIT. - - * src/PeerInteractionCommand.cc - (PeerInteractionCommand): Use PREF_MAX_UPLOAD_LIMIT. - (receiveMessages): Use PREF_MAX_DOWNLOAD_LIMIT. - - * src/PeerInteraction.cc - (sendMessages): Use PREF_MAX_UPLOAD_LIMIT. - - * src/main.cc - (showUsage): Updated the description of "--lowest-speed-limit" option. - Added the description of "--max-download-limit" option. - Removed the description of "--upload-limit" option. - Added the description of "--max-upload-limit" option. - (main): Use PREF_MAX_UPLOAD_LIMIT, PREF_MAX_DOWNLOAD_LIMIT. - Added "--max-download-limit" option and "--max-upload-limit" option. - Added the warning message if "--upload-limit" option is used. - - * src/DownloadCommand.cc - (executeInternal): Use PREF_MAX_DOWNLOAD_LIMIT. - -2006-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To rewrite segment download mechanism for HTTP/FTP download. - Use BitfieldMan to manage segment download. - * src/HttpResponseCommand.h - (executeInternal): Pass the reference of segment. - * src/AbstractCommand.cc - (prepareForRetry): Call segmentMan->cancelSegment here. - (onAbort): Call segmentMan->cancelSegment here. - * src/HttpDownloadCommand.cc - (prepareForNextSegment): New function. - * src/DownloadEngineFactory.cc - (newConsoleEngine): Removed splitter. - (newTorrentConsoleEngine): Removed splitter. - * src/Request.h - (segment): Renamed from seg. - * src/FtpInitiateConnectionCommand.h - (executeInternal): Pass the reference of segment. - * src/AbstractCommand.h - (executeInternal): Pass the reference of segment. - * src/pref.h - (PREF_SEGMENT_SIZE): New definition. - * src/HttpProxyRequestCommand.h - (executeInternal): Pass the reference of segment. - * src/HttpResponseCommand.cc - (checkResponse): Allowed status 206 when a request range starts 0. - (handleDefaultEncoding): Rewritten the code related to Segment. - (handleOtherEncoding): Rewritten the code related to Segment. - * src/SegmentMan.h - (SegmentEntry): New class. - (SegmentEntries): New type definition. - (bitfield): New variable. - (usedSegmentEntries): New variable. - (onNullBitfield): New function. - (checkoutSegment): New function. - (segments): Removed. - (splitter): Removed. - (unregisterId): Removed. - (getSegment): New function(overload) - (getDownloadedSize): Removed. - (cancelSegment): New function. - (completeSegment): New function. - (initBitfield): New function. - (hasSegment): New function. - (getDownloadLength): New function. - * src/BitfieldMan.h - (getStartIndex): New function. - (getEndIndex): New function. - (getMissingUnusedIndex): New function(overload). - (getSparseMissingUnusedIndex): New function. - * src/BitfieldMan.cc - (getMissingIndexRandomly): Handle the last byte of bitfield properly. - (getMissingUnusedIndex): New function(overload). - (Range): New class. - (getStartIndex): New function. - (getEndIndex): New function. - (getSparseMissingUnusedIndex): New function. - (isBitSetInternal): Return false if the given index is less than 0. - * src/HttpInitiateConnectionCommand.h - (executeInternal): Pass the reference of segment. - * src/FtpNegotiateCommand.h - (executeInternal): Pass the reference of segment. - * src/FtpNegotiateCommand.cc - (recvSize): Initialize bitfield here. - * src/FtpTunnelResponseCommand.h - (executeInternal): Pass the reference of segment. - * src/HttpConnection.cc - (createRequest): Rewritten range header processing. - * src/DownloadCommand.h - (executeInternal): Pass the reference of segment. - (prepareForRetry): Removed. - (prepareForNextSegment): Added an argument segment. Made it a virtual - function. - * src/main.cc - (main): Set the initial value of PREF_SEGMENT_SIZE to 1MB. - * src/SegmentMan.cc - (SegmentMan): Added bitfield. Removed splitter. - (~SegmentMan): Added bitfield. Removed splitter. - (unregisterId): Removed. - (getSegment): Rewritten. - (updateSegment): Rewritten. - (save): Rewritten. - (read): Rewritten. - (finished): Rewritten. - (getDownloadedSize): Removed. - (initBitfield): New function. - (FindSegmentEntryByIndex): New function object. - (FindSegmentEntryByCuid): New function object. - (checkoutSegment): New function. - (onNullBitfield): New function. - (getSegment): New function(overload). - (CancelSegment): New function object. - (cancelSegment): New function. - (completeSegment): New function. - (hasSegment): New function. - (getDownloadLength): New function. - * src/FtpInitiateConnectionCommand.cc - (executeInternal): Load .aria2 file after hostname resolution finishes. - * src/Segment.h: Rewritten. - * src/Segment.cc (operator<<): New function. - * src/HttpDownloadCommand.h - (prepareForNextSegment): New function. - * src/Request.cc - (resetUrl): Made segment null. - * src/DownloadEngine.cc - (~DownloadEngine): Call cleanQueue before deleting segmentMan. - * src/HttpProxyRequestCommand.h - (executeInternal): Pass the reference of segment. - * src/DownloadCommand.cc - (executeInternal): Rewritten the code related to Segment. - (prepareForRetry): Removed. - (prepareForNextSegment): Rewritten. - * src/FtpTunnelResponseCommand.h - (executeInternal): Pass the reference of segment. - - To add HTTP 1.1 persistent connection support(experimental) - * src/HttpRequestCommand.cc - (executeInternal): Disable keep alive if it is disabled by - configuration. - * src/Request.h - (keepAlive): New variable. - (isKeepAlive): New function. - (setKeepAlive): New function. - * src/pref.h - (PREF_HTTP_KEEP_ALIVE): New definition. - * src/HttpResponseCommand.cc - (executeInternal): Check the remote server supports keep alive. - * src/HttpConnection.cc - (createRequest): Send "Connection: close" only if keep alive is - disabled. - * src/main.cc - (main): - Set the initial value(false) of PREF_KEEP_ALIVE to false. - - To add max download speed limit: - * src/pref.h - (PREF_MAX_SPEED_LIMIT): New definition. - * src/PeerInteractionCommand.cc - (executeInternal): Added max download speed limit. Not tested yet. - * src/SegmentMan.h - (PeerStats): New type definition. - (peerStats): New variable. - (registerPeerStat): New function. - (FindPeerStat): New function object. - (getPeerStat): New function. - (calculateDownloadSpeed): New function. - * src/SpeedCalc.h: New class. - * src/SpeedCalc.cc: New class. - * src/main.cc - (main): - Set the initial value of PREF_MAX_SPEED_LIMIT to 0(which means the - download speed is not restricted). - * src/PeerStat.h: New class. - * src/SegmentMan.cc - (registerPeerStat): New function. - (calculateDownloadSpeed): New function. - * src/DownloadCommand.cc - (STARTUP_IDLE_TIME): New definition. - (DownloadCommand): Register peerStat to segmentMan. Call peerStat-> - downloadStart. - (~DownloadCommand): Call peerStat->downloadStop. - (executeInternal): Added download speed limitter. Rewritten lowest - speed limitter. - - * src/HttpConnection.cc - (receiveResponse): Fixed: eohIndex[headerBuf] -> headerBuf[eohIndex]. - - * src/AbstractCommand.cc - (resolveHostname): Throw DlAbortEx if a name resolution failes. - Added hostname to the error message. - - * src/ConsoleDownloadEngine.cc - (calculateStatistics): Initialize psize with dlSize. - - * src/PieceMessage.cc - (receivedAction): Do not call peerInteraction->abortPiece here. - (onGotWrongPiece): Call peerInteraction->abortPiece here. - - * src/BitfieldMan.h - (clearAllUseBit): New function. - (setAllUseBit): New function. - * src/BitfieldMan.cc - (clearAllBit): Do not clear useBitfield here. - (clearAllUseBit): New function. - (setAllUseBit): New function. - * src/Piece.cc - (clearAllBlock): Call bitfield->clearAllUseBit(). - -2006-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To make filename URL-decoded: - * src/HttpResponseCommand.h: Updated doc. - * src/HttpResponseCommand.cc - (determinFilename): Made filename URL-decoded. - * src/FtpInitiateConnectionCommand.cc - (executeInternal): Made filename URL-decoded. - * src/Util.h (urldecode): New function. - * src/Util.cc (urldecode): New function. - - To fix a bug that caused assertion failure in ares_strerror: - * src/NameResolver.cc (callback): Fixed the bug. - - * Release 0.7.3 - -2006-08-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add --seed-time and --seed-ratio command-line option: - * src/Option.h (getAsDouble): New function. - * src/Option.cc (getAsDouble): New function. - * src/SeedCheckCommand.h: New class. - * src/SeedCheckCommand.cc: New class. - * src/DownloadEngineFactory.cc - (SeedCheckCommand.h): Included. - (UnionSeedCriteria.h): Included. - (TimeSeedCriteria.h): Included. - (ShareRatioSeedCriteria.h): Included. - (newTorrentConsoleEngine): Added the processing of seed option. - * src/SeedCriteria.h: New class. - * src/ShareRatioSeedCriteria.h: New class. - * src/TimeSeedCriteria.h: New class. - * src/UnionSeedCriteria.h: New class. - * src/prefs.h - (PREF_SEED_TIME): New definition. - (PREF_SEED_RATIO): New definition. - * src/main.cc - (showUsage): Added --seed-time and --seed-ratio option. - (main): Added --seed-time and --seed-ratio option. - Made default log file name "/dev/null". - * src/SharedHandle.h - (SharedHandle): Copy constructor. Made it assignable from the - SharedHandle of the subclasses. - (operator=): Made it assignable from the SharedHandle of the - subclasses. - (getRefCount): New function. - - To add notice log level and the switch to write log to stdout. This - switch is configurable per log level. - * src/Logger.h - (notice): New function. - (LEVEL): Added NOTICE. Assigned an explicit value to each log level - constant. - * src/LogFactory.cc - (getInstance): The use of NullLogger was removed. A log message with - notice log level was made written to stdout along with log file. - * src/NullLogger.h - (notice): New function. - * src/SimpleLogger.h - (writeHeader): Added the 'file' argument. - (writeLog): Added the 'file' argument. - (writeFile): New function. - (stdoutField): New variable. - (SimpleLogger): Removed the default constructor. - (SimpleLogger): Made the default value of logfile 0. - (debug): Added 'virtual' keyword. - (info): Added 'virtual' keyword. - (warn): Added 'virtual' keyword. - (error): Added 'virtual' keyword. - (notice): New function. - (setStdout): New function. - * src/SimpleLogger.cc - (WRITE_LOG): Replaced writeLog with writeFile. - (WRITE_LOG_EX): Replaced writeLog with writeFile. - (SimpleLogger): Removed the default constructor. - (setStdout): New function. - (writeLog): Added the handling of NOTICE log level. - (writeFile): New function. - (notice): New function. - - * src/TorrentMan.h: Updated doc. - - * src/BitfieldMan.h: Updated doc. - - * src/TrackerWatcherCommand.cc - (execute): Return true if error occurred in the request to the tracker - and halt is requested. - - * src/TrackerUpdateCommand.cc - (execute): Return true if error occurred in the request to the tracker - and halt is requested. - - To call onDownloadComplete from TorrentMan::completePiece(), not from - DownloadEngine: - * src/TorrentConsoleDownloadEngine.h - (onSelectiveDownloadingCompletes): Removed. - * src/TorrentConsoleDownloadEngine.cc - (onSelectiveDownloadingCompletes): Removed. - * src/TorrentDownloadEngine.h - (onEndOfRun): Added 'virtual' keyword. - (afterEachIteration): Removed. - (onSelectiveDownloadingCompletes): Removed. - * src/TorrentDownloadEngine.cc - (onEndOfRun): Removed filenameFixed. - (afterEachIteration): Removed. - * src/TorrentMan.cc - (completePiece): Call onDownloadComplete here. - (onDownloadComplete): Added 2 log messages. - -2006-08-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To fix compilation problem on gcc4.1.1(patch#1542283 by tizianomueller) - * src/NameResolver.h: Added the prototype declaration of callback(). - - To support c-ares library: - * src/AbstractCommand.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/FeatureConfig.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/FtpInitiateConnectionCommand.h: - Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/AbstractCommand.h: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/HttpInitiateConnectionCommand.h: - Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/NameResolver.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS. - Added thes upport of c-ares's ares_strerror(the idea came from patch - #1542285 by tizianomueller) - * src/HttpInitiateConnectionCommand.cc: - Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/FtpInitiateConnectionCommand.cc: - Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/DownloadEngine.h: - Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - * src/DownloadEngine.cc: - Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS - - To fix the bug that causes compilation failure with metalink-support - disabled(bug#1543587): - * src/main.cc: Fixed with the patch by tizianomueller. - - * Release 0.7.2 - -2006-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/main.cc - (main): Added a message to inform users that aria2 is starting to - verify checksum. - * src/RequestInfo.cc - (printDownloadAbortMessage): Added a message to inform users that - transfer can be resumed. - - * src/FeatureConfig.cc - (FEATURE_ASYNC_DNS): New definition. - (FeatureConfig): Added aysnc DNS entry. - - To replace CommandUuid with Command* in SocketEntry and - NameResolverEntry: - - * src/DownloadEngine.h - (CommandUuids): Removed. - (SocketEntry::commandUuid): Removed. - (SocketEntry::command): New variable. - (SocketEntry::SocketEntry): Updated. - (SocketEntry::operator==): Updated. - (NameResolverEntry::commandUuid): Removed. - (NameResolverEntry::command): New variable. - (NameResolverEntry::NameResolverEntry): Updated. - (NameResolverEntry::operator==): Updated. - (waitData): Changed the argument type. - (addSocketForReadCheck): Changed the argument type. - (deleteSocketForReadCheck): Changed the argument type. - (addSocketForWriteCheck): Changed the argument type. - (deleteSocketForWriteCheck): Changed the argument type. - (addNameResolverCheck): Changed the argument type. - (deleteNameResolverCheck): Changed the argument type. - * src/DownloadEngine.cc - (FindCommand): Removed. - (run): Removed activeUuid. Added activeCommands instead. - (AccumulateActiveUuid): Renamed as AccumulateActiveCommand. - (AccumulateActiveCommand): New function object. - (waitData): Use AccumulateActiveCommand. - (addSocketForReadCheck): Use Command instead of CommandUuid. - (deleteSocketForReadCheck): Use Command instead of CommandUuid. - (addSocketForWriteCheck): Use Command instead of CommandUuid. - (deleteSocketForWriteCheck): Use Command instead of CommandUuid. - (addNameResolverCheck): Use Command instead of CommandUuid. - (deleteNameResolverCheck): Use Command instead of CommandUuid. - * src/AbstractCommand.cc - (disableReadCheckSocket): Updated according to the changes in - DownloadEngine. - (setReadCheckSocket): Updated according to the changes in - DownloadEngine. - (disableWriteCheckSocket): Updated according to the changes in - DownloadEngine. - (setWriteCheckSocket): Updated according to the changes in - DownloadEngine. - (setNameResolverCheck): Updated according to the changes in - DownloadEngine. - (disableNameResolverCheck): Updated according to the changes in - DownloadEngine. - * src/AbstractCommand.cc - (disableReadCheckSocket): Updated according to the changes in - DownloadEngine. - (setReadCheckSocket): Updated according to the changes in - DownloadEngine. - (disableWriteCheckSocket): Updated according to the changes in - DownloadEngine. - (setWriteCheckSocket): Updated according to the changes in - DownloadEngine. - - * release 0.7.1 - -2006-08-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To handle the case where some BitTorrent tracker requires all letters - except for [A-Za-z0-9] is URL encoded. - - * src/Util.h - (torrentUrlencode): New function. - * src/Util.cc - (ctype.h): Included. - (torrentUrlencode): New function. - * src/TrackerWatcherCommand.cc - (execute): Use Util::torrentUrlencode() instead of Util::urlencode(). - -2006-08-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add asynchronous DNS support(libares): - - * src/AbstractCommand.h - (setNameResolverCheck): New function. - (disableNameResolverCheck): New function - (resolveHostname): New function. - * src/AbstractCommand.cc - (setNameResolverCheck): New function. - (disableNameResolverCheck): New function - (resolveHostname): New function. - * src/FtpInitiateConnectionCommand.h - (nameResolver): New function. - * src/FtpInitiateConnectionCommand.cc - (Util.h): Included. - (FtpInitiateConnectionCommand): Call disableReadCheckSocket, - disableWriteCheckSocket. - (~FtpInitiateConnectionCommand): Call disableNameResolverCheck. - (executeInternal): Added async DNS support. - * src/HttpInitiateConnectionCommand.h - (nameResolver): New function. - * src/HttpInitiateConnectionCommand.cc - (DlRetryEx.h): Included. - (HttpInitiateConnectionCommand): Call disableReadCheckSocket, - disableWriteCheckSocket. - (~HttpInitiateConnectionCommand): Call disableNameResolverCheck. - (executeInternal): Added async DNS support. - * src/NameResolver.h: New class. Note: #include <ares.h> is surrounded - by extern "C" declaration. - * src/NameResolver.cc: New class. - * src/Util.h: - (isNumberAndDotsNotation): New function - * src/Util.cc - (isNumberAndDotsNotation): New function. - * src/DownloadEngine.h - (NameResolver.h): Included. - (NameResolverEntry): New class. - (NameResolverEntries): New type definition. - (addNameResolverCheck): New function. - (deleteNameResolverCheck): New function. - * src/DownloadEngine.cc - (run): Initialize cp with 0. - (SetDescriptor::operator()): Added for NameResolverEntry. - (AccumulateActiveUuid::operator()): Added for NameResolverEntry. - (waitData): Check nameResolver entries. - (updateFdSet): Update fds in nameResolver entries. - (addNameResolverCheck): New function. - (deleteNameResolverCheck): new function. - - * src/PeerInteractionCommand.cc - (executeInternal): Fixed wrong socket handling. - - * src/main.cc - (main): Fixed the initial value of PREF_LOWEST_SPEED_LIMIT option to 0. - - * src/Util.cc - (fileChecksum): Removed the call to ctx.digestReset(). - -2006-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * po/ru.po: Azamat sent me Russian translation. - - * src/FtpNegotiateCommand.cc - (recvGreeting): Call disableWriteCheckSocket just after - socket->setBlockingMode(). This avoids unnecessary CPU-hog loop. - (recvRetr): Recognized status code 125 as a acceptable response code. - - Rename Time.h to TimeA2.h to avoid compilation ploblem on - case-insesitive filesystem(BUG#1531057). - - * src/Time.h: Renamed as TimeA2.h. - * src/Time.cc: Renamed as TimeA2.cc. - * src/TimeA2.h: New class. - * src/TimeA2.cc: New class. - * src/PeerChokeCommand.h: Replaced Time.h with TimeA2.h. - * src/TrackerWatcherCommand.h: Replaced Time.h with TimeA2.h. - * src/PeerAbstractCommand.h: Replaced Time.h with TimeA2.h. - * src/AbstractCommand.h: Replaced Time.h with TimeA2.h. - * src/PeerInteractionCommand.h: Replaced Time.h with TimeA2.h. - * src/ConsoleDownloadEngine.h: Replaced Time.h with TimeA2.h. - * src/TorrentAutoSaveCommand.h: Replaced Time.h with TimeA2.h. - * src/DownloadCommand.h: Replaced Time.h with TimeA2.h. - * src/TorrentMan.h: Replaced Time.h with TimeA2.h. - * src/TorrentDownloadEngine.h: Replaced Time.h with TimeA2.h. - * src/RequestSlot.h: Replaced Time.h with TimeA2.h. - * src/SleepCommand.h: Replaced Time.h with TimeA2.h. - * src/DownloadEngine.cc: Replaced Time.h with TimeA2.h. - - * release 0.7.0 - -2006-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/PeerChokeCommand.h - (PeerChokeCommand): Rearranged the arguments. - * src/PeerChokeCommand.cc - (PeerChokeCommand): Rearranged the arguments. - - * src/MetalinkEntry.h - (Checksum.h): Included. - (md5): Removed. - (sha1): Removed. - (checksum): New variable. - (operator=): Updated. - (check): Removed. - - * src/prefs.h - (PREF_LOWEST_SPEED_LIMIT): New definition. - (PREF_FOLLOW_TORRENT): New definition. - (PREF_SELECT_FILE): New definition. - (PREF_FOLLOW_METALINK): New definition. - - * src/MetalinkResource.h - (TYPE_HTTPS): Added to enum TYPE. - - * src/TorrentMan.cc - (~TorrentMan): Rewritten. - - * src/MultiDiskWriter.cc - (MultiDiskAdaptor): Updated according to the changes in - MessageDigestContext. - (~MultiDiskAdaptor): Updated according to the changes in - MessageDigestContext. - (hashUpdate): Updated according to the changes in MessageDigestContext. - (sha1Sum): Updated according to the changes in MessageDigestContext. - - * src/Util.h - (fileChecksum): Updated according to the changes in - MessageDigestContext. - * src/Util.cc - (sha1Sum): Updated according to the changes in MessageDigestContext. - (fileChecksum): Updated according to the changes in - MessageDigestContext. - - * src/messageDigest.h: Rewritten. - - * src/MetalinkEntry.cc - (check): Removed. - (Supported): Updated. - (dropUnsupportedResource): Fixed a memory leak. - - * src/ShaVisitor.cc - (ShaVisitor): Updated according to the changes in MessageDigestContext. - (~ShaVisitor): Updated according to the changes in - MessageDigestContext. - (visit): Updated according to the changes in MessageDigestContext. - - * src/main.cc - (main): Rewritten the portion of download loop. --lowest-speed-limit - command-line option added. - - * src/DownloadEngine.h - (SocketEntry): New class. - (SocketEntries): New definition. - (PairFind): Removed. - (SockCmdMap): Removed. - * src/DownloadEngine.cc - (DownloadEngine): Rewritten. - (~DownloadEngine): Rewritten. - (run): Renamed activeCommandUuids as activeUuids. - (SetDescriptor): Rewritten. - (AccumulateActiveCommandUuid): Removed. - (AccumulateActiveUuid): New function object. - (waitData): Rewritten. - (updateFdSet): Rewritten. - (addSocket): Rewritten. - (deleteSocket): Rewritten. - (addSocketForReadCheck): Rewritten. - (deleteSocketForReadCheck): Rewritten. - (addSocketForWriteCheck): Rewritten. - (deleteSocketForWriteCheck): Rewritten. - - * src/Xml2MetalinkProcessor.cc - (getEntry): Rewritten the portion of MetalinkEntry creation. - - * src/DownloadCommand.cc - (executeInternal): Added the check routine for lowest speed limit. - - * src/AbstractDiskWriter.cc - (AbstractDiskWriter): Updated according to the changes in - MessageDigestContext. - (~AbstractDiskWriter): Updated according to the changes in - MessageDigestContext. - (sha1Sum): Updated according to the changes in MessageDigestContext. - - * src/RequestInfo.h: New class. - - * src/UrlRequestInfo.h: New class. - * src/UrlRequestInfo.cc: New class. - - * src/TorrentRequestInfo.h: New class. - * src/TorrentRequestInfo.cc: New class. - - * src/MetalinkRequestInfo.h: New class. - * src/MetalinkRequestInfo.cc: New class. - - * src/Checksum.h: New class. - - * src/DownloadEngineFactory.h: New class. - * src/DownloadEngineFactory.cc: New class. - -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-07-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/TorrentMan.h: - (advertisePiece): Updated doc. - (getAdvertisedPieceIndexes): Updated doc. - (removeAdvertisedPiece); New function. - - * src/TorrentMan.cc - (FindElapsedHave): New function object. - (removeAdvertisedPiece): New function. - - * src/HaveEraseCommand.h: New class. - * src/HaveEraseCommand.cc: New class. - - * src/FeatureConfig.h: New class. - * src/FeatureConfig.cc: New class. - - * src/Request.h - (defaultPorts): Removed. - * src/Request.cc - (FeatureConfig.h): Included. - (Request): Removed the statements related to defaultPorts. - (parseUrl): Removed metalinkEnabled. Use FeatureConfig instead. - A default port number is now retrieved from FeatureConfig. - - * src/main.cc - (HaveEraseCommand.h): Included. - (showVersion): Added the output of feature list. - (main): Added HaveEraseCommand to command queue in BitTorrent - downloading. - - * src/PeerInteractionCommand.h - (chokeCheckPoint): Commented out. - (periodicExecPoint): New variable. - * src/PeerInteractionCommand.cc - (executeInternal): Following methods are now called in at least every - 0.5 seconds to reduce CPU usage: - detectMessageFlooding(), peerInteraction->checkRequestSlot(), - checkHave(), sendKeepAlive(). - (checkLongTimePeerChoking): Commented out. - - * src/BitfieldMan.h - (getNthBitIndex): Changed the method signature. - (getMissingIndexRandomly): Changed the method signature. - * src/BitfieldMan.cc - (getNthBitIndex): Rewritten - (getMissingIndexRandomly): Rewritten. - (hasMissingPiece): Rewritten. - (getMissingIndex): Refactored. - (getMissingUnusedIndex); Refactored. - (getMissingIndex): Refactored. - -2006-07-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/PeerMessage.h - (Piece.h): Included. - (SharedHandle.h): Included. - (invalidate): New variable. - (uploading): New variable. - (isInvalidate): New function. - (isUploading): New function. - (onPush): New function. - (onChoked): New function. - (onCanceled): New function. - (onAbortPiece): New function. - (PeerMessageHandle): New type definition. - - * src/PeerMessage.cc - (PeerMessage): Added the initialization for invalidate and uploading. - - * src/CancelMessage.h - (CancelMessage): Rewritten. - - * src/RejectMessage.h - (RejectMessage): Rewritten. - - * src/Metalinker.h - (operator=): Defined. - - * src/MetaEntry.h - (operator=): Defined. - - * src/MetalinkResource.h - (operator=): Defined. - - * src/AllowedFastMessage.h - (AllowedFastMessage): Rewritten. - - * src/HandshakeMessage.h - (HandshakeMessage): New function(overload). - - * src/HandshakeMessage.cc - (HandshakeMessage): Rewritten. - (init): New function. - - * src/HaveMessage.h - (HaveMessage): Rewritten. - - * src/Time.h - (operator=): Defined the function body here. - * src/Time.cc - (operator=): Removed. - - * src/SocketCore.h - (operator==): Defined here. - (operator!=): Defined here. - (operator<): Defined here. - * src/SocketCore.cc - (operator==): Removed. - (operator<): Removed. - - * src/BitfieldMan.h - (operator=): Defined the function body here. - * src/BitfieldMan.cc - (operator=): Removed. - - * src/TorrentMan.h - (deleteErrorPeer): Removed. - (deleteUnusedPeer); New function. - * src/TorrentMan.cc - (addPeer): Call deleteUnusedPeer. - (deleteErrorPeer): Removed. - (deleteUnusedPeer): New function. - - * src/PeerAbstractCommand.h - (setNoCheck): New function. - (noCheck): New variable. - * src/PeerAbstractCommand.cc - (PeerAbstractCommand): Added the initialization of noCheck. - (execute): Added a check for noCheck. - (setNoCheck): New function. - - * src/Util.h - (stdio.h): Included. - * src/Util.cc - (unistd.h): Included. - - * src/DefaultDiskWriter.cc - (unistd.h): Included. - - * src/Peer.h - (operator==): Defined the function body here. - (operator!=): Defined the function body here. - * src/Peer.cc - (operator==): Removed. - (operator!=): Removed. - - * src/Piece.h - (Piece): Defined the function body here(copy constructor). - (operator=): Defined the function body here. - (operator==): Defined the function body here. - * src/Piece.cc - (Piece): Removed(copy constructor). - (operator=): Removed. - (operator==): Removed. - - * src/PeerMessageUtil.h - (ChokeMessage.h): Removed. - (UnchokeMessage.h): Removed. - (InterestedMessage.h): Removed. - (NotInterestedMessage.h): Removed. - (HaveMessage.h): Removed. - (BitfieldMessage.h): Removed. - (RequestMessage.h): Removed. - (CancelMessage.h): Removed. - (PieceMessage.h): Removed. - (HandshakeMessage.h): Removed. - (KeepAliveMessage.h): Removed. - (PortMessage.h): Removed. - (HaveAllMessage.h): Removed. - (HaveNoneMessage.h): Removed. - (PeerConnection.h): Removed. - (HandshakeMessage.h): Included. - - * src/BitfieldMessage.h - (init): New function. - (BitfieldMessage): Rewritten. - (BitfieldMessage): New function(overload). - - * src/RequestSlot.h - (operator=): Defined the function body here. - (operator==): Defined the function body here. - * src/RequestSlot.cc - (operator=): Removed. - (operator==): Removed. - - To remove the dependency on the PeerMessage subclass from - PeerInteraction: - - * src/PeerMessageFactory.h: New class. - * src/PeerMessageFactory.cc: New class. - * src/SimplePeerMessage.cc - (send): If invalidate is true then do nothing. - * src/PeerInteractionCommand.cc - (HandshakeMessage.h): Included. - (KeepAliveMessage.h): Included. - (ChokeMessage.h): Included. - (UnchokeMessage.h): Included. - (HaveMessage.h): Included. - (executeInternal): Call setNoCheck(). - Removed setWriteCheckSocket(socket). - * src/PeerInteraction.h - (ChokeMessage.h): Removed. - (UnchokeMessage.h): Removed. - (InterestedMessage.h): Removed. - (NotInterestedMessage.h): Removed. - (HaveMessage.h): Removed. - (BitfieldMessage.h): Removed. - (RequestMessage.h): Removed. - (CancelMessage.h): Removed. - (PieceMessage.h): Removed. - (HandshakeMessage.h): Removed. - (KeepAliveMessage.h): Removed. - (PortMessage.h): Removed. - (HaveAllMessage.h): Removed. - (HaveNoneMessage.h): Removed. - (RejectMessage.h): Removed. - (AllowedFastMessage.h): Removed. - (SuggestPieceMessage.h): Removed. - (PeerMessageFactory.h): Included. - (PeerMessageHandle): Removed typedef of PeerMessageHandle. - (HandshakeMessageHandle): Removed typedef of HandshakeMessageHandle. - (PeerMessageFactory): New variable. - (createPeerMessage): Removed. - (createHandshakeMessage): Removed. - (setPeerMessageCommonProperty): Removed. - (addRequestSlot): New function. - (receiveHandshake): Changed the return value type to PeerMessageHandle. - (getPeerMessageFactory): New function. - (createRequestMessage): Removed. - (createCancelMessage): Removed. - (createPieceMessage): Removed. - (createHaveMessage): Removed. - (createChokeMessage): Removed. - (createUnchokeMessage): Removed. - (createInterestedMessage): Removed. - (createNotInterestedMessage): Removed. - (createBitfieldMessage): Removed. - (createKeepAliveMessage): Removed. - (createHaveAllMessage): Removed. - (createHaveNoneMessage): Removed. - (createRejectMessage): Removed. - (createAllowedFastMessage): Removed. - * src/PeerInteraction.cc - (PeerInteraction): Allocate PeerMessageFactory here. - (~PeerInteraction): Deallocate PeerMessageFactory here. - (sendMessages): Use msg->isUploading() instead of msg->getId() == - PieceMessage::ID. - (addMessage): Simplified by using PeerMessage::onPush(). - (addRequestSlot): New function. - (rejectAllPieceMessageInQueue): Simplified by using - PeerMessage::onChoked(). - (rejectPieceMessageInQueue): Simplified by using - PeerMessage::onCanceled(). - (abortPiece): Simplified by using PeerMessage::abortPiece(). - (receiveHandshake): Changed the return value type to PeerMessageHandle. - (createHandshakeMessage): Removed. - (createPeerMessage): Removed. - (sendHandshake): Call PeerMessageFactory::createHandshakeMessage(). - (setPeerMessageCommonProperty): Removed. - (createRequestMessage): Removed. - (createCancelMessage): Removed. - (createPieceMessage): Removed. - (createHaveMessage): Removed. - (createChokeMessage): Removed. - (createUnchokeMessage): Removed. - (createInterestedMessage): Removed. - (createNotInterestedMessage): Removed. - (createBitfieldMessage): Removed. - (createKeepAliveMessage): Removed. - (createHaveAllMessage): Removed. - (createHaveNoneMessage): Removed. - (createRejectMessage): Removed. - (createAllowedFastMessage): Removed. - * src/PieceMessage.h - (createRejectMessage): New function. - (PieceMessage): Rewritten. - (onChoked): New function. - (onCanceled): New function. - * src/PieceMessage.cc - (send): If invalidate is true then do nothing, just return. - (createRejectMessage): New function. - (onChoked): New function. - (onCanceled): New function. - * src/RequestMessage.h - (RequestMessage): Rewritten. - (onPush): New function. - (onAbortPiece): New function. - * src/RequestMessage.cc - (onPush): New function. - (onAbortPiece): New function. - - Update fd_set when a socket is added or deleted in order to improve - performance: - - * src/DownloadEngine.h - (rfdset): New variable. - (wfdset): New variable. - (updateFdSet): New function. - * src/DownloadEngine.cc - (SetDescriptor::operator()): Use SockCmdMap::value_type. - (AccumulateActiveCommandUuid::operator()): Use SockCmdMap::value_type. - (waitData): Copy rfdset and wfdset. - (updateFdSet): New function. - (addSocket): Call updateFdSet. - (deleteSocket): Call updateFdSet. - -2006-07-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add the support for Metalink3.0 backward compatible links: - - * src/Request.h - (SAFE_CHARS): Added '#'. - (METALINK_MARK): New definition. - * src/Request.cc - (parseUrl): Added the support for Metalink3.0 backward compatible - links. - - etc - - * src/PeerInteraction.cc - (MsgPushBack): Removed. - (sendMessages): Use STL copy and back_inserter. - (rejectAllPieceMessageInQueue): Use STL copy and back_inserter. - (rejectPieceMessageInQueue): Use STL copy and back_inserter. - * src/TorrentMan.h - (MAX_PEER_LIST_SIZE): Changed to 100 from 250. - -2006-07-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/SharedHandle.h: New class. - - To wrap Socket, Command, PeerMessage and Peer with SharedHandle: - - * src/HttpResponseCommand.h - (HttpResponseCommand): Wrapped Socket. - * src/SocketCore.h - (operator==): New function. - (operator!=): New function. - (operator<): New function. - (getSockfd): New function. - (isOpen): New function. - (writeData): New function. - * src/SocketCore.cc - (operator==): New function. - (operator!=): New function. - (operator<): New function. - * src/AbstractCommand.h - (socket): Changed its type to SocketHandle. - (setReadCheckSocket): Replaced Socket with SocketHandle. - (setWriteCheckSocket): Replaced Socket with SocketHandle. - (disableReadCheckSocket): New function. - (disableWriteCheckSocket): New function. - (readCheckTarget): Changed its type to SocketHandle. - (writeCheckTarget): Changed its type to SocketHandle. - (AbstractCommand): Replaced Socket with SocketHandle. - * src/AbstractCommand.cc - (AbstractCommand): Replaced Socket with SocketHandle. - (~AbstractCommand): Removed the deallocation for Socket object. - (disableReadCheckSocket): New function. - (setReadCheckSocket): Replaced Socket with SocketHandle. - (disableWriteCheckSocket): New function. - (setWriteCheckSocket): Replaced Socket with SocketHandle. - * src/HttpDownloadCommand.cc - (DownloadCommand): Replaced Socket with SocketHandle. - * src/PeerAbstractCommand.h - (socket): Changed its type to SocketHandle. - (peer): Changed its type to PeerHandle. - (setReadCheckSocket): Replaced Socket with SocketHandle. - (setWriteCheckSocket): Replaced Socket with SocketHandle. - (disableReadCheckSocket): New function. - (disableWriteCheckSocket): New function. - (readCheckTarget): Changed its type to SocketHandle. - (writeCheckTarget): Changed its type to SocketHandle. - (PeerAbstractCommand): Replaced Socket with SocketHandle. - Replaced Peer with PeerHandle. - * src/HttpRequestCommand.cc - (HttpRequestCommand): Replaced Socket with SocketHandle. - Use disableReadCheckSocket. - * src/PeerInitiateConnectionCommand.h - (PeerInitiateConnectionCommand): Replaced Peer with PeerHandle. - * src/PeerChokeCommand.cc - (UploadFaster::operator()): Replaced Peer with PeerHandle. - (DownloadFaster::operator()): Replaced Peer with PeerHandle. - (execute): Use PeerHandle. - * src/PeerConnection.h - (HandshakeMessage.h): Removed include of HandshakeMessage.h. - (socket): Changed its type to SocketHandle. - (PeerConnection): Replaced Socket with SocketHandle. - * src/PeerConnection.cc - (PeerConnection): Replaced Socket with SocketHandle. - * src/PeerInteractionCommand.h - (PeerInteractionCommand): Replaced socket with SocketHandle. - Replaced Peer with PeerHandle. - * src/PeerInteractionCommand.cc - (PeerInteractionCommand): Replaced Socket with SocketHandle. - Replaced Peer with PeerHandle. - (executeInternal): Use disableWriteCheckSocket. - Use HandshakeMessageHandle. - (receiveMessages): Use PeerMessageHandle. - (prepareForNextPeer): Use PeerHandle. - * src/HttpProxyRequestCommand.h - (HttpProxyRequestCommand): Replaced Socket with SocketHandle. - * src/HttpResponseCommand.cc - (HttpResponseCommand): Replaced Socket with SocketHandle. - * src/TorrentMan.cc - (nullPeer): Added external reference. - (~TorrentMan): Removed the deallocation of the elements of peers. - (addPeer): Rewritten. - (isPeerAvailable): Use nullPeer. - (deleteOldpeers): Replaced with deleteErrorPeer. - (deleteErrorPeer): New function. - (getPeer): Use PeerHandle and nullPeer. - (hasMissingPiece): Replaced Peer with PeerHandle. - (getMissingPieceIndex): Replaced Peer with PeerHandle. - (getMissingFastPieceIndex): Replaced Peer with PeerHandle. - (getMissingFastPiece): Replaced Peer with PeerHandle. - (getMissingPiece): Replaced Peer with PeerHandle. - * src/FtpNegotiateCommand.cc - (FtpNegotiationCommand): Replaced Peer with PeerHandle. - (~FtpNegotiationCommand): Removed the deallocation of Sockets. - (recvGreeting): Use disableWriteCheckSocket. - (recvPasv): Removed the allocation of Socket. - Use disableReadCheckSocket. - (sendRestPasv): Use disableWriteCheckSocket. - (recvRetr): Changed assertion. - * src/PeerInteraction.h - (SharedHandle.h): Included SharedHandle.h. - (PeerMessageHandle): New type definition. - (HandshakeMessageHandle): New type definition. - (MessageQueue): Changed. Now its element is of type PeerMessageHandle. - (peer): Changed its type to PeerHandle. - (createHandshakeMessage): Replaced HandshakeMessage with - HandshakeMessageHandle. - (createPeerMessage): Replaced PeerMessageHandle with PeerMessage. - (PeerInteraction): Replaced Peer with PeerHandle. - Replaced Socket with SocketHandle. - (addMessage): Replaced PeerMessage with PeerMessageHandle. - (receiveMessage): Replaced PeerMessage with PeerMessageHandle. - (receiveHandshake): Replaced HandshakeMessage with - HandshakeMessageHandle. - * src/PeerInteraction.cc - (PeerInteraction): Replaced Peer with PeerHandle. - Replaced Socket with SocketHandle. - (~PeerInteraction): Removed the deallocation of the elements of - messageQueue. - (MsgPushBack::operator()): Replaced PeerMessage with PeerMessageHandle. - (isSendingMessageInProgress): Replaced PeerMessage with - PeerMessageHandle. - (sendMessages): Use PeerMessageHandle. Removed try-catch block. - (addMessage): Replaced PeerMessage with PeerMessageHandle. - (rejectAllPieceMessageInQueue): Use PeerMessageHandle. - (rejectPieceMessageInQueue): Use PeerMessageHandle. - (abortPiece): Use PeerMessageHandle. - (receiveHandshake): Replaced HandshakeMessage with - HandshakeMessageHandle. Removed try-catch block. - (createHandshakeMessage): Replaced HandshakeMessage with - HandshakeMessageHandle. - (receiveMessage): Replaced PeerMessage with PeerMessageHandle. - Removed try-catch block. - (createPeerMessage): Replaced PeerMessage with PeerMessageHandle. - * src/HttpProxyResponseCommand.cc - (HttpProxyRequestCommand): Replaced Socket with SocketHandle. - * src/FtpTunnelResponseCommand.h - (FtpTunnelResponseCommand): Replaced Socket with SocketHandle. - * src/HttpConnection.cc - (HttpConnection): Replaced Socket with SocketHandle. - * src/PeerAbstractCommand.cc - (PeerAbstractCommand): Replaced Socket with SocketHandle. - (~PeerAbstractCommand): Removed the deallocation of socket. - Use disableReadCheckSocket, disableWriteCheckSocket. - (disableReadCheckSocket): New function. - (setReadCheckSocket): Replaced Socket with SocketHandle. - (disableWriteCheckSocket): New function. - (setWriteCheckSocket): Replaced Socket with SocketHandle. - * src/InitiateConnectionCommandFactory.h: Corrected indentation. - * src/FtpTunnelRequestCommand.cc - (FtpTunnelRequestCommand): Replaced Socket with SocketHandle. - (~FtpTunnelRequestCommand): Corrected indentation. - * src/DownloadCommand.h - (DownloadCommand): Replaced Socket with SocketHandle. - * src/PeerListenCommand.cc - (PeerListenCommand): Removed the initialization of socket. - (~PeerListenCommand): Removed the deallocation of socket. - (bindPort): Use SocketHandle. - (execute): Use SocketHandle and PeerHandle. - * src/FtpDowndloadCommand.cc - (FtpDownloadCommand): Replaced Socket with SocketHandle. - (~FtpDownloadCommand): Removed the deallocation of ctrlSocket. - * src/main.cc - (main): Corrected indentation. - * src/HttpInitiateConnectionCommand.cc - (HttpInitiateConnectionCommand): Replaced Socket with SocketHandle. - (executeInternal): Removed the allocation of socket. - * src/HttpRequestCommand.h - (HttpRequestCommand): Replaced Socket with SocketHandle. - * src/FtpNegotiationCommand.h - (dataSocket): Changed its type to SocketHandle. - (serverSocket): Changed its type to SocketHandle. - (FtpNegotiationCommand): Replaced Socket with SocketHandle. - * src/TorrentMan.h - (MAX_PEER_UPDATE): Removed. - (MAX_PEERS): New definition. - (Peers): The element is now of type PeerHandle. - (addPeer): Replaced Peer with PeerHandle. Removed 'duplicate' argument. - (getPeer): Replaced Peer with PeerHandle. - (deleteOldErrorPeers): Removed. - (deleteErrorPeer): New function. - (hasMissingPiece): Replaced Peer with PeerHandle. - (getMissingPieceIndex): Replaced Peer with PeerHandle. - (getMissingPiece): Replaced Peer with PeerHandle. - (getMissingFastPieceIndex): Replaced Peer with PeerHandle. - (getMissingFastPiece): Replaced Peer with PeerHandle. - (addActivePeer): Replaced Peer with PeerHandle. - (deleteActivePeer): Replaced Peer with PeerHandle. - Added a check for the return value of find. - * src/FtpTunnelResponseCommand.cc - (FtpTunnelResponseCommand): Replaced Socket with SocketHandle. - * src/FtpInitiateConnectionCommand.cc - (executeInternal): Removed the allocation of socket. - * src/DownloadEngine.h - (Sockets): An element is now of type SocketHandle. - (SockCmdMap): A key is of type SocketHandle, a value is of type int. - (CommandUuids): New type definition. - (rsockets): Changed its type to SockCmdMap. - (wsockets): Changed its type to SockCmdMap. - (addSocket): Rewritten. - (deleteSocket): Rewritten. - (addSocketForReadCheck): Rewritten. - (deleteSocketForReadCheck): Rewritten. - (addSocketForWriteCheck): Rewritten. - (deleteSocketForWriteCheck): Rewritten. - (PairFind): New template class. - * src/HttpDownloadCommand.h - (HttpDownloadCommand): Replaced Socket with SocketHandle. - * src/FtpConnection.cc - (FtpConnection): Replaced Socket with SocketHandle. - (sendPort): Removed the allocation of serverSocket. Removed try-catch - block. - * src/InitiateConnectionCommandFactory.cc - (DlAbortEx.h): Included DlAbortEx.h. - (createInitiateConnectionCommand): Throw exception if the protocol of - requested URI is not supported. - * src/Peer.cc - (nullPeer): Changed its type to PeerHandle. - (operator==): New function. - (operator!=): New function. - * src/Peer.h - (SharedHandle.h): Included SharedHandle.h. - (operator==): New function. - (operator!=): New function. - (Peer): Added the default constructor. - Use resetStatus() to initialize member variables. - (nullPeer): Removed. - * src/TrackerUpdateCommand.cc - (execute): Brushed up using SharedHandle. Replaced MAX_PEER_UPDATE - with MIN_PEERS. - * src/PeerListenCommand.h - (socket): Changed its type to SocketHandle. - * src/Command.h - (CommandUuid): New type definition. - (uuid): New variable. - (uuidGen): New variable. - (Command): Added the initialization of uuid. - (getUuid): New function. - * src/Socket.h - (Socket): Removed. - (SocketHandle): New type definition. - * src/DownloadEngine.h - (FindCommand): New function object. - (run): The portion of socket check was rewritten. - (SetDescriptor): New function object. - (AccumulateActiveCommandUuid): New function object. - (waitData): Rewritten. - (addSocket): Rewritten. - (deleteSocket): Rewritten. - (addSocketForReadCheck): Rewritten. - (addSocketForWriteCheck): Rewritten. - (deleteSocketForReadCheck): Rewritten. - (deleteSocketForWriteCheck): Rewritten. - * src/HttpProxyResponseCommand.h - (HttpProxyResponseCommand): Replaced Socket with SocketHandle. - * src/HttpConnection.h - (socket): Changed its type to SocketHandle. - (HttpConnection): Replaced Socket with SocketHandle. - * src/PeerInitiateConnectionCommand.cc - (PeerInitiateConnectionCommand): Replaced Peer with PeerHandle. - (executeInternal): Removed the allocation of socket. - (prepareForNextPeer): Use PeerHandle. - * src/PeerMessage.h - (peer): Changed its type to PeerHandle. - (getPeer): Replaced Peer with PeerHandle. - (setPeer): Replaced Peer with PeerHandle. - * src/DownloadCommand.cc - (DownloadCommand): Replaced Socket with SocketHandle. - * src/FtpConnection.h - (socket): Changed its type to SocketHandle. - (FtpConnection): Replaced Socket with SocketHandle. - (sendPort); Replaced Socket with SocketHandle. - * src/FtpDowndloadCommand.h - (ctrlSocket): Changed its type to SocketHandle. - (FtpDownloadCommand): Replaced Socket with SocketHandle. - * src/HttpProxyRequestCommand.cc - (HttpProxyRequestCommand): Replaced Socket with SocketHandle. - * src/FtpTunnelRequestCommand.h - (FtpTunnelRequestCommand): Replaced Socket with SocketHandle. - - etc - - * src/PeerChokeCommand.h - (setAllPeerChoked): Removed. - (setAllPeerResetDelta): Removed. - * src/PeerChokeCommand.cc - (setAllPeerChoked): Removed. - (ChokePeer): New function object. - (setAllPeerResetDelta): Removed. - (ResetDelta): New function object. - (orderByDownloadRate): Fixed a bug: use DowloadFaster, not UploadFaster - (execute): Show download speed when the local node is a seeder. - setAllPeerChoked and setAllPeerResetDelta were rewritten - using STL. - * src/TrackerWatcherCommand.h - (MIN_PEERS): Removed. - * src/TorrentMan.cc - (getPeer): Replaced MAX_PEER_UPDATE with MIN_PEERS. - -2006-07-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To fix the bug that .aria2 file is not saved if downloading is stopped - by the errors:it results that aria2 can not resume downloading: - - * src/main.cc - (normalDownload): Added the call to save(). - (main): Added the deletion of the elements in 'reserved'. - - To fix log: - - * src/PeerInteraction.cc - (receiveHandshake): Fixed log. - -2006-07-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To improve download performance in BitTorrent: - - * src/TorrentMan.cc - (getPeer): Check the number of connections. Return nullPeer if - it is greater than MAX_PEER_UPDATE. - This code was originally here, but was removed in 0.5.1. - -2006-07-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To improve the conditional compilation: - - * src/MultiDiskWriter.h: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - * src/MultiDiskWriter.cc: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - * src/Util.h: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - Added ENABLE_BITTORRENT around computeFastSet(). - * src/Util.cc: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - Added ENABLE_BITTORRENT around computeFastSet(). - * src/messageDigest.h: - Replaced ENABLE_BITTORRENT with ENABLE_SSL. - * src/ShaVisitor.h: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - * src/ShaVisitor.cc: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - * src/main.cc: - Added ENABLE_BITTORRENT around includes and blocks related to - BitTorrent. - Added ENABLE_MESSAGE_DIGEST to skip checksum checking when the message - digest support is not available. - * src/AbstractDiskWriter.h: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - * src/AbstractDiskWriter.cc: - Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST. - * src/MetalinkEntry.cc - (check): Added ENABLE_MESSAGE_DIGEST. Return true if the message digest - support is not available. - - To add command-line options for Metalink: - - * src/main.cc: - Added metalink-version, metalink-language, metalink-os, - follow-metalink. - - To use EXIT_SUCCESS and EXIT_FAILURE with exit(): - - * src/main.cc: Use these definition. - - * Release 0.6.0 - -2006-07-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add Metalink support(http/ftp only): - - * src/AbstractCommand.h - (tryReserved): New function. - * src/AbstractCommand.cc - (execute): Call tryReserved(). - (tryReserved): New function. - * src/Request.h - (Requests): New type definition. - * src/SegmentMan.h - (reserved): New variable. - * src/Util.h - (fileChecksum): New function. - (toUpper): New function. - (toLower): New function. - * src/Util.cc - (messageDigest.h): Included. - (trim): Trim \r\n\t. - (fileChecksum): New function. - (toUpper): New function. - (toLower): New function. - * src/main.cc - (normalDownload): New function. - (main): Added 2 command-line options: metalink-file, - metalink-connection. Their usage has not been written yet. - * src/MetalinkProcessor.h: New class. - * src/Xml2MetalinkProcessor.h: New class. - * src/Xml2MetalinkProcessor.cc: New class. - * src/MetalinkEntry.h: New class. - * src/MetalinkEntry.cc: New class. - * src/MetalinkResource.h: New class. - * src/MetalinkResource.cc: New class. - - To add md5 message digest checking: - - * src/messageDigest.h: Rewritten. - * src/MultiDiskWriter.cc: Updated according to the changes in - messageDigest.h. - * src/ShaVisitor.cc: Updated according to the changes in - messageDigest.h. - * src/Util.cc: Updated according to the changes in messageDigest.h. - * src/AbstractDiskWriter.cc: Updated according to the changes in - messageDigest.h. - - To fix a bug that causes segfault when the payload length in peer - message is less than 0: - - * src/PeerConnection.cc: - (receiveMessage): Fixed the bug. - * src/PeerMessageUtil.cc - (checkLength): Throw an exception if length is less than or equals to - 0. - - To add new interfaces to Base64 encoding/decoding: - - * src/Base64.h - (part_encode): Changed the method signature. - (encode): New function(overload). - (decode): New function(overload). - * src/Base64.cc - (part_encode): Rewritten. - (encode): Rewritten. - (encode): New function(overload). - - To prevent a peer to download same piece if there is an error in - checksum: - - * src/PieceMessage.cc - (receivedAction): Call peerInteraction->abortPiece(). - -2006-06-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To fix the bug that causes same have message is sent many times to - a single peer. - - * src/Time.cc - (isNewer): Use Util::difftv(). - * src/Util.cc - (difftv): Added a cast to (long long int). - * src/TorrentMan.cc - (advertisePiece): Use push_front. - (getAdvertisedPieceIndexes): A performance improvement was made. - - To fix the bug that sends tracker requests without a sleep interval - when the number of connections is less than 15. - - * src/TrackerWatcherCommand.cc - (execute): Now the number of connections is not a factor to decide - whether or not a tracker request should be sent or not. - * src/Time.h - (setTimeInSec): New function. - * src/Time.cc - (setTimeInSec): New function. - - etc. - - * src/ChokeMessage.cc - (receivedAction): Removed peer->snubbing = false - - * src/PeerConnection.h - (receiveHandshake): Updated doc. - - * src/TorrentMan.h - (getAdvertisedPieceIndexes): Updated the method signature. - * src/TorrentMan.cc - (getAdvertisedPieceIndexes): Updated the method signature. - - * src/Time.h - (getTimeInMicros): Added a cast to (long long int). - (getTimeInMillis): Added a cast to (long long int). - - * Release 0.5.2 - -2006-06-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To make a listening socket non-block: - - * src/SocketCore.h - (setNonBlockingMode): New function. - * src/SocketCore.cc - (setNonBlockingMode): New function. - (beginListen): Added a call to setNonBlockingMode(). - (acceptConnection): Call setNonBlockingMode(). - (setBlockingMode): Updated. - - To handle tracker's NAT-checking: - - * src/PeerConnection.cc - (receiveHandshake): 'msg' param is filled with received data and - its length is assigned to 'length' param, even if all handshake - message is not yet received. - * src/PeerInteractionCommand.cc - (executeInternal): Use peerInteraction->receiveHandshake(true) when - a new peer connects to localhost. - A call to peerInteraction->sendHandshake() was removed because - it is called from peerInteraction->receiveHandshake(true). - * src/PeerInteraction.h - (quickReplied): New variable. - (receiveHandshake): Added an argument. - * src/PeerInteraction.cc - (PeerInteraction): Added the initialization of quickReplied. - (receiveHandshake): Send handshake message as soon as the info hash - in a handshake message from a peer is correct. - - - To change the random part of peer id and key parameter: - - * src/TorrentMan.h - (key): New variable. - * src/TorrentMan.cc - (setupInternal1): Use Util::randomAlpha() to generate random part - of peer id, which is now "-aria2-"+13 alphabet characters([A-Za-z]). - key is also generated by Util::randomAlpha() and it is now 8 character - long. - * src/Util.h - (randomAlpha): New function. - * src/Util.cc - (randomAlpha): New function. - * src/TrackerWatcherCommand.cc - (execute): In a tracker request: Use torrentMan->key as key parameter. - Added no_peer_id=1. - - Set snubbing flag to false when a choke message is received from a - snubbed peer. - - * src/ChokeMessage.cc - (receivedAction): Set snubbing flag to false. - -2006-06-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/TorrentMan.cc (setupInternal1): Fixed peerId generation bug. - - * src/SimpleLogger.h (writeHeader): New function. - * src/SimpleLogger.cc (writeHeader): New function. - (writeLog): Fixed the bug that causes segfaults if exception message - contains an unescaped "%" character. - - * src/TrackerWatcherCommand.cc (execute): Added a short sleep - when a tracker request fails. - - * src/Request.cc (parseUrl): Query string is now handled properly. - - * Release 0.5.1 - -2006-06-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add Time class which represents a specific instant in time and - its precision is microseconds. Time checking procedures were rewritten - using this object. - - * src/Time.h: New class. - * src/Time.cc: New class. - * src/AbstractCommand.h - (updateCheckPoint): Removed. - (isTimeoutDetected): Removed. - (checkPoint): Changed the type to Time. - (timeout): New variable. - (setTimeout): New function. - * src/AbstractCommand.cc - (AbstractCommand): Removed the initialization of checkPoint. - Added the initialization of timeout. - (updateCheckPoint): Removed. - (isTimeoutDetected): Removed. - (execute): Use checkPoint.reset() and checkPoint.elapsed(). - * src/PeerChokeCommand.h - (checkPoint): Changed the type to Time. - * src/PeerChokeCommand.cc - (PeerChokeCommand): Removed the initialization of checkPoint. - (execute): Rewritten using Time object. - * src/TrackerWatcherCommand.h - (checkPoint): Changed the type to Time. - * src/TrackerWatcherCommand.cc - (TrackerWatcherCommand): Removed the initialization of checkPoint. - (execute): Rewritten. - * src/ConsoleDownloadEngine.h - (cp): Changed the type to Time. - (startup): Changed the type to Time. - * src/ConsoleDownloadEngine.cc - (initStatistics): Use cp.reset(), startup.reset(). - (calculateStatistics): Rewritten using Time object. - * src/PeerAbstractCommand.h - (updateCheckPoint): Removed. - (isTimeoutDetected): Removed. - (checkPoint): Changed the type to Time. - * src/PeerAbstractCommand.cc - (PeerAbstractCommand): Removed the initialization of checkPoint. - (updateCheckPoint): Removed. - (isTimeoutDetected): Removed. - (execute): Use checkPoint.reset() and checkPoint.elapsed(). - * src/PeerInteractionCommand.cc - (PeerInteractionCommand): Removed the initializations of struct - timeval variables. - * src/PeerInteractionCommand.h - (keepAliveCheckPoint): Changed the type to Time. - (chokeCheckPoint): Changed the type to Time. - (freqCheckPoint): Changed the type to Time. - (haveCheckTime): Changed the type to Time. - * src/PeerInteractionCommand.cc - (executeInternal): Rewritten using Time object. - (detectMessageFlooding): Rewritten using Time object. - (checkLongTimePeerChoking): Rewritten using Time object. - (sendKeepAlive): Rewritten using Time object. - (checkHave): Rewritten using Time object. - * src/SleepCommand.h - (checkPoint): Changed the type to Time. - * src/SleepCommand.cc - (SleepCommand): Removed the initialization of checkPoint. - (execute): Rewritten using Time object. - * src/TorrentAutoSaveCommand.h - (checkPoint): Changed the type to Time. - * src/TorrentAutoSaveCommand.cc - (TorrentAutoSaveCommand): Removed the initialization of checkPoint. - (execute): Rewritten. - * src/DownloadCommand.h - (sw): Changed the type to Time. - * src/DownloadCommand.cc - (DownloadCommand): Removed the initialization of sw. - (executeInternal): Rewritten. - * src/RequestSlot.h - (dispatchedTime): Changed the type to Time. - * src/RequestSlot.cc - (RequestSlot): Removed the call to setDispatchedTime(). - (setDispatchedTime): Rewirtten. - (isTimeout): Rewritten. - (getLatencyInMillis): Rewritten. - * src/TorrentDownloadEngine.h - (cp): Changed the type to Time[2]. - (startup): Changed the type to Time. - * src/TorrentDownloadEngine.cc - (initStatistics): Rewritten. - (calculateStatistics): Rewritten. - * src/DownloadEngine.cc - (run): Rewritten. - - To detect all attempts to connect to the tracker are failed: - - * src/AbstractCommand.cc - (execute): Increment e->segmentMan->errors if a command aborted. - * src/SegmentMan.h - (errors): New variable. - * src/SegmentMan.cc - (SegmentMan): Added the initialization of errors. - (init): Added the initialization of errors. - * src/TrackerWatcherCommand.cc - (execute): If e->segmentMan->errors > 0 then assume that the tracker - request was failed. - - To handle snubbed peers: - - * src/PeerChokeCommand.cc - (optUnchokingPeer): Snubbed peers don't get unchoked. - (execute): Snubbed peers don't get unchoked. - * src/PeerInteraction.h - (REQUEST_TIME_OUT): Changed the value from 120 to 60. - * src/PeerInteraction.cc - (checkRequestSlot): A peer get marked as "snubbed" if it doesn't send - back the requested 16k block in 60 seconds. - * src/PieceMessage.cc - (receivedAction): A peer's snubbed state is cleard if it sends - the requested 16k block in 60 seconds. - * src/Peer.h - (snubbing): New variable. - * src/Peer.cc - (resetStatus): Added snubbed = false. - - To fix the bug that causes have message is not sent: - - * src/PeerInteractionCommand.cc - (~PeerInteractionCommand): Removed e->torrentMan->unadvertisePiece(). - (FLOODING_CHECK_INTERVAL): New definition(temporal). - (detectMessageFlooding): Use FLOODING_CHECK_INTERVAL. - * src/TorrentMan.h - (HaveEntry): New class. - (advertisePiece): Rewritten. - (getAdvertisedPieceIndexes): Rewritten. - (Haves): Changed the type. - (getAdvertisedPieceIndexes): Added an argument. - - Others: - - * src/TorrentMan.h - (DEFAULT_ANNOUNCE_INTERVAL): Changed the value to 1800. - (DEFAULT_ANNOUNCE_MIN_INTERVAL): Changed the value to 1800. - * src/TorrentMan.cc - (getPeer): Don't check the number of connections here. - (setupInternal1): Changed peerId. - - * src/PeerInteractionCommand.h - (KEEP_ALIVE_INTERVAL): New definition. - (sendKeepAlive): Use KEEP_ALIVE_INTERVAL. - - * src/main.cc - (main): SA_ONESHOT was replaced with SA_RESETHAND. - - * src/DownloadEngine.h: Removed unnecessary header includes. - -2006-05-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To fix the bug that causes segfaults if a tracker returns a zero-length - list as "peers": - - * src/TrackerUpdateCommand.cc - (execute): Added a check to see wether the type of peers is Data*. - -2006-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.5.0 - - To fix compile issue with gcc3: - - * src/CancelMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/RejectMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/SuggestPieceMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/AllowedFastMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/PortMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/HaveNoneMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/KeepAliveMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/HaveAllMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/UnchokeMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/BitfieldMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/PieceMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/RequestMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/NotInterestedMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/ChokeMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/InterestedMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - * src/HaveMessage.h - (ID): Renamed as ID_t - (ID_t): New enum. - -2006-05-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/PeerAbstractCommand.h - (beforeSocketCheck): Removed. - * src/PeerAbstractCommand.cc - Modified in order to call executeInternal() even if socket check - and upload limit check fail. - * src/PeerInteractionCommand.h - (keepAlive): Removed. - (sendKeepAlive): New function. - (checkHave): New function. - (beforeSocketCheck): Removed. - * src/PeerInteractionCommand.cc - (executeInternal): Use peerInteraction->checkRequestSlot(). Added - calls to checkHave() and sendKeepAlive(). - (keepAlive): Renamed to sendKeepAlive(). - (sendKeepAlive): New function. - (beforeSocketCheck): Removed. - (checkHave): New function. - * src/BitfieldMan.cc - (getMissingIndex): Don't call getMissingIndexRandomly() if max is 0. - (getMissingUnusedIndex): Don't call getMissingIndexRandomly() if max is - 0. - (getMissingIndex): Dont't call getMissingIndexRandomly() if max is 0. - * src/TorrentMan.h - (UsedPieces): Removed. - (Pieces): New type definition. - * src/Piece.h: Updated doc. - * src/Peer.h - (totalLength): Removed. - * src/Peer.cc - (updateLatency): Fixed the latency calculation. - * src/TorrentMan.cc - (addPeer): Call deleteOldErrorPeers() only if peers.size() is higher - than or equal to MAX_PEER_LIST_SIZE. - If duplicate is false and peer.size() >= MAX_PEER_LIST_SIZE, - then return false. - (deleteOldErrorPeers): Rewritten. - (deleteUsedPiece): Fixed the miss use of STL remove. - * src/PeerInteraction.h - (Pieces): Removed. - (deleteTimeoutRequestSlot): Removed. - (deleteCompletedRequestSlot): Removed. - (checkRequestSlot): New function. - * src/PeerInteraction.cc - (deleteTimeoutRequestSlot): Merged to checkRequestSlot(). - (deleteCompletedRequestSlot): Merged to checkRequestSlot(). - (checkRequestSlot): New function. - * src/DownloadEngine.cc - (run): Clear activeSockets before calling waitData(). - (waitData): Removed a call to activeSockets.clear(). - -2006-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To attempt to handle EINTR: - - * src/SocketCore.cc - (isReadable): Added EINTR handling. - (isWritable): Added EINTR handling. - - To improve the performance: - - * src/AbstractCommand.cc - (isTimeoutDetected): Use Util::difftvsec() instead of Util::difftv(). - * src/PeerInteractionCommand.h - (receiveMessage): Renamed as receiveMessages(). - (receiveMessages): New function. - * src/PeerInteractionCommand.cc - (executeInternal): receiveMessage loop is moved to new receiveMessages - () function. detectMessageFlooding() is moved here. - (detectMessageFlooding): Use Util::difftvsec() instead of Util::difftv - (). The flooding detection for have message is comment out. - (checkLongTimePeerChoking): Use Util::difftvsec() instead of - Util::difftv(). - (receiveMessage): Renamed as receiveMessages(). - (receiveMessages): New function. - (keepAlive): Use Util::difftvsec() instead of Util::difftv(). - (beforeSocketCheck): Commented out checkLongTimePeerChoking(). - * src/SleepCommand.cc - (execute): Use Util::difftvsec() instead of Util::difftv(). - * src/BitfieldMan.h - (getNthBitIndex): New function. - (hasMissingPiece): New function. - (getAllMissingIndexes): New function. - * src/BitfieldMan.cc - (countSetBit): Rewritten. - (getNthBitIndex): New function. - (getMissingIndexRandomly): Rewritten. - (hasMissingPiece): New function. - (getAllMissingIndexes): New function. - * src/TorrentMan.cc - (hasMissingPiece): New function. - (deleteUsedPiece): Rewritten using STL. - * src/PeerInteraction.cc - (getNewPieceAndSendInterest): Use TorrentMan::hasMissingPiece(), which - is a little bit faster then TorrentMan::getMissingPieceIndex(). - (addRequests): Updated the number of pending requests. - * src/PeerAbstractCommand.cc - (isTimeoutDetected): Use Util::difftvsec() instead of Util::difftv(). - (execute): Returns true if TorrentMan::isHalt() is true. - Corrected the condition of upload limit checking. - * src/Util.h - (countBit): New function. - * src/Util.cc - (nbits): New variable. - (countBit): New function. - * src/DownloadEngine.h - (SockCmdMap): New type definition. - (waitData): Added an argument. - (addSocket): Added an argument. - (addSocketForReadCheck): Added an argument. - (addSocketForWriteCheck): Added an argument. - * src/DownloadEngine.cc - (run): Executes only commands whose sockets are ready to read or write. - All commands are executed in every 1 second. - (waitData): Calls select() again if it returned - EINTR. - (addSocket): Saves socket and command object pair to the map. - (deleteSocket): Deletes socket and command object pair from the map. - (addSocketForReadCheck): Added an argument. - (addSocketForWriteCheck): Added an argument. - * src/DownloadCommand.cc - (executeInternal): Use Util::difftvsec() instead of Util::difftv(). - - To send "event=stopped" to the tracker when the application finishes: - - * src/PeerChokeCommand.h - (checkPoint): New variable. - * src/PeerChokeCommand.cc - (PeerChokeCommand): Added the initialization of checkPoint. - (execute): The interval check is now done by checkPoint, not - SleepCommand. Return true if TorrentMan::isHalt() is true. - * src/TorrentMan.h - (halt): New function. - (hasMissingPiece): New function. - (isHalt): New function. - (setHalt): New function. - * src/TorrentMan.cc - (TorrentMan): Added the initialization of halt. - * src/TorrentAutoSaveCommand.h - (checkPoint): New variable. - * src/PeerListenCommand.cc - (execute): Returns true if TorrentMan::isHalt() is true. - * src/main.cc - (setSignalHander): Added flags argument. - (torrentHandler): Just calls TorrentMan::setHalt(true) and returns. - (main): Set SA_ONESHOT flag of the signal hander of SIGINT and SIGTERM. - Removed printDownloadAbortMessage() after torrent downloading loop. - * src/TorrentAutoSaveCommand.cc - (TorrentAutoSaveCommand): Added the initialization of checkPoint. - (execute): Returns true if TorrentMan::isHalt() is true. - The interval check is now done by checkPoint, not SleepCommand. - * src/TrackerWatcherCommand.cc - (execute): If TorrentMan::isHalt(), then create a tracker request with - event=stopped. - * src/TrackerUpdateCommand.cc - (prepareForRetry): Do not use SleepCommand here. - (execute): Returns true if TorrentMan::isHalt() is true. - - Others: - - * src/TorrentMan.cc - (getMissingPieceIndex): Updated log message. - * src/PeerInteraction.cc - (createPeerMessag): Updated log message. - -2006-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add the ability to download several pieces in mix in a command and - increase the number of request slots according to request-cancel - latency: - - * src/PeerInteractionCommand.cc - (executeInternal): The number of messages to be received at a time - is increased from 10 to 50. - * src/LogFactory - (getInstance): Added NullLogger. - * src/NullLogger.h: New class. - * src/BitfieldMan.h - (getMissingIndex): New function. - * src/BitfieldMan.cc - (getMissingIndex): New function. - * src/TorrentMan.h - (checkOutPiece): New function. - (getMissingPieceIndex): New function. - (getMissingFastPieceIndex): New function. - (getMissingFastPiece): New function. - * src/TorrentMan.cc - (updatePiece): Rewritten using STL. - (syncPiece): Rewritten using STL. - (getMissingPiece): Rewritten using getMissingPieceIndex() and - checkOutPiece(). - (getMissingPieceIndex): New function. - (getMissingFastPieceIndex): New function. - (getMissingFastPiece): New function. - (checkOutPiece): New function. - * src/PeerInteraction.h - (Pieces): New type definition. - (piece): Removed. - (pieces): New variable. - (getNewPieceAndSendInterest): Added the "piece" argument. - (abortPiece): Added the "piece" argument. - (abortAllPieces): New function. - (isInRequestSlot): New function. - (hasDownloadPiece): Added the "index" argument. - (setDownloadPiece): Removed. - (getDownloadPiece): Added the "index" argument. - (updatePiece): New function. - (createRequestMessage): Added the "index" argument. - * src/PeerInteraction.cc - (onChoked): Rewritten. - (abortPiece): Rewirtten. - (abortAllPieces): New function. - (deleteTimeoutRequestSlot): Rewritten. - Clarified code a little bit. - (deleteCompletedRequestSlot): Rewritten. - (isInRequestSlot): New function. - (syncPiece): Rewritten. - (updatePiece): New function. - (getNewPieceAndSendInterest): Rewritten. - (addRequests): Rewritten. - (getDownloadPiece): Rewritten. - (hasDownloadPiece): Rewritten. - (createRequestMessage): Added the "index" argument. - * src/common.h - (BITFIELD_LEN_FROM_PIECES): Enclosed the variable in parentheses. - (DIV_FLOOR): New definition. - * src/PieceMessage.cc - (receivedAction): Update request-piece latency here. - * src/RequestSlot.h - (getLatencyInMillis): New function. - * src/RequestSlot.cc - (isTimeout): Rewritten using getLatencyInMillis. - (getLatencyInMillis): New function. - * src/Piece.h - (operator==): New function. - (getMissingBlockIndex): New function. - * src/Piece.cc - (operator==): New function. - (getMissingBlockIndex): New function. - * src/Peer.h - (DEFAULT_LATENCY): New definition. - (latency): New variable. - (updateLatency): New function. - (getLatency): New function. - * src/Peer.cc - (resetStatus): Reset latecy. - (updateLatency): New function. - -2006-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/SocketCore.cc - (isReadable): Added secure to the condition. - * src/HttpConnection.cc - (receiveResponse): Fixed a bug that causes no response header - exception. - * src/Peer.h - (getFastSet): Fixed the return value type. - -2006-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To remove a wait from download loop: - - * src/DownloadEngine.cc - (run): Comment out shortSleep. - - To rewrite the message handling: - - * src/SimplePeerMessage.h: New class. - * src/SimplePeerMessage.cc: New class. - * src/CancelMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (create): New function. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/CancelMessage.cc - (create): New function. - (receivedAction): Replaced deleteRequestMessageInQueue with - rejectPieceMessageInQueue. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/BitfieldMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (msgLength): New variable. - (~BitfieldMessage): Deleted msg. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/BitfieldMessage.cc - (create): New function. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/ChokeMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (sendPredicate): New function. - (onSendComplete): New function. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - (create): New function. - * src/ChokeMessage.cc - (create): New function. - (send): Removed. - (sendPredicate): New function. - (getMessage): New function. - (getMessageLength): New function. - (onSendComplete): New function. - * src/KeepAliveMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/KeepAliveMessage.cc - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/PortMessage.h - (create): New function. - (receivedAction): Updated log message. - * src/PortMessage.cc: New file. - * src/UnchokeMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (sendPredicate): New function. - (onSendComplete): New function. - (create): New function. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/UnchokeMessage.cc - (create): New function. - (send): Removed. - (sendPredicate): New function. - (getMessage): New function. - (getMessageLength): New function. - (onSendComplete): New function. - * src/PieceMessage.h - (leftPieceDataLength): Removed. - (leftDataLength): New variable. - (headerSend): New variable. - (pendingCount): New variable. - (msgHeader): New variable. - (sendPieceData): New function. - (incrementPendingCount): New function. - (isPendingCountMax): New function. - (create): New function. - (getMessageHeader): New function. - (getMessageHeaderLength): New function. - * src/PieceMessage.cc - (create): New function. - (getMessageHeader): New function. - (getMessageHeaderLength): New function. - (send): Rewritten. - (sendPieceData): New function. - * src/HaveMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (create): New function. - (getMessage): New function. - (getMessageLength): New function. - * src/HaveMessage.cc - (create): New function. - (send): Removed. - (sendPieceData): New function. - (getMessage): New function. - (getMessageLength): New function. - * src/RequestMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (create): New function. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/RequestMessage.cc - (create): New function. - (receivedAction): Added the handling of fast extension. - Deleted torrentMan->addUploadLength, torrentMan->addDeltaUploadLength. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/InterestedMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (sendPredicate): New function. - (onSendComplete): New function. - (create): New function. - (getMessage): New function. - (getMessageLength): New function. - * src/InterestedMessage.cc - (create): New function. - (send): Removed. - (sendPieceData): New function. - (getMessage): New function. - (getMessageLength): New function. - (onSendComplete): New function. - * src/NotInterestedMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (sendPieceData): New function. - (onSendComplete): New function. - (create): New function. - (send): Removed. - (getMessage): New function. - (getMessageLength): New function. - * src/NotInterestedMessage.cc - (create): New function. - (send): Removed. - (sendPredicate): New function. - (getMessage): New function. - (getMessageLength): New function. - (onSendComplete): New function. - * src/AllowedFastMessage.h: New class. - * src/AllowedFastMessage.cc: New class. - * src/RejectMessage.h: New class. - * src/RejectMessage.cc: New class. - * src/SuggestPieceMessage.h: New class. - * src/SuggestPieceMessage.cc: New class. - * src/HaveAllMessage.h: New class. - * src/HaveAllMessage.cc: New class. - * src/HaveNoneMessage.h: New class. - * src/HaveNoneMessage.cc: New class. - * src/HandshakeMessage.h: Derived from SimplePeerMessage. - (msg): New variable. - (reserved): New variable. - (create): New function. - (getId): New function. - (receivedAction): New function. - (getMessage): New function. - (getMessageLength): New function. - (isFastExtensionSupported): New function. - * src/HandshakeMessage.cc - (HandshakeMessage): Moved here from HandshakeMessage.h. - (create): New function. - (getMessage): New function. - (getMessageLength): New function. - (toString): Added the output of reserved field. - (check): Added const qualifier. - (isFastExtensionSupported): New function. - * src/PeerMessageUtil.h - (createChokeMessage): Removed. - (createUnchokeMessage): Removed. - (createInterestedMessage): Removed. - (createNotInterestedMessage): Removed. - (createHaveMessage): Removed. - (createBitfieldMessage): Removed. - (createRequestMessage): Removed. - (createCancelMessage): Removed. - (createPieceMessage): Removed. - (createPortMessage): Removed. - (createChokeMessage): Removed. - (createUnchokeMessage): Removed. - (createInterestedMessage): Removed. - (createNotInterestedMessage): Removed. - (createHaveMessage): Removed. - (createBitfieldMessage): Removed. - (createRequestMessage): Removed. - (createCancelMessage): Removed. - (createPieceMessage): Removed. - (createKeepAliveMessage): Removed. - (createHandshakeMessage): Removed. - (setIntParam): New function. - (createPeerMessageString): New function. - * src/PeerMessageUtil.cc - (createChokeMessage): Removed. - (createUnchokeMessage): Removed. - (createInterestedMessage): Removed. - (createNotInterestedMessage): Removed. - (createHaveMessage): Removed. - (createBitfieldMessage): Removed. - (createRequestMessage): Removed. - (createCancelMessage): Removed. - (createPieceMessage): Removed. - (createPortMessage): Removed. - (createRequestMessage): Removed. - (createCancelMessage): Removed. - (createPieceMessage): Removed. - (createHaveMessage): Removed. - (createChokeMessage): Removed. - (createUnchokeMessage): Removed. - (createInterestedMessage): Removed. - (createNotInterestedMessage): Removed. - (createBitfieldMessage): Removed. - (createKeepAliveMessage): Removed. - (createHandshakeMessage): Removed. - (setIntParam): New function. - (createPeerMessageString): New function. - * src/PeerConnection.h - (peer): Removed. - (torrentMan): Removed. - (createNLengthMessage): Removed. - (setIntParam): Removed. - (writeOutgoingMessageLog): Removed all overloaded functions. - (PeerConnection): Deleted peer and torrentMan from its arguments. - (sendMessage): New function. - (sendHandshake): Removed. - (sendKeepAlive): Removed. - (sendChoke): Removed. - (sendUnchoke): Removed. - (sendInterested): Removed. - (sendNotInterested): Removed. - (sendHave): Removed. - (sendBitfield): Removed. - (sendRequest): Removed. - (sendPiece): Removed. - (sendPieceHeader): Removed. - (sendPieceData): Removed. - (sendCancel): Removed. - (getPeer): Removed. - * src/PeerConnection.cc - (PeerConnection): Deleted peer and torrentMan from its arguments. - (sendHandshake): Removed. - (sendKeepAlive): Removed. - (createNLengthMessage): Removed. - (setIntParam): Removed. - (writeOutgoingMessageLog): Removed all overloaded functions. - (sendChoke): Removed. - (sendUnchoke): Removed. - (sendInterested): Removed. - (sendNotInterested): Removed. - (sendHave): Removed. - (sendBitfield): Removed. - (sendRequest): Removed. - (sendPiece): Removed. - (sendPieceHeader): Removed. - (sendPieceData): Removed. - (sendMessage): New function. - (sendCancel): Removed. - * src/PeerInteractionCommand.cc - (PeerInteractionCommand): Call setUploadLimit. - (executeInternal): Call setUploadLimit. - Added the handling of "inProgress" state of handshake message. - Call sendBitfield() or sendAllowdFast() instead of deprecated - sendNow(). - (keepAlive): Call addMessage and sendMessage instead of deprecated - sendNow(). - (beforeSocketCheck): Call addMessage instead of deprecated trySendNow() - * src/TorrentMan.h - (PEER_ID_LENGTH): New definition. - (hasAllPieces): New function. - * src/TorrentMan.cc - (getMissingPiece): Added the handling of fast extension. - (cancelPiece): Call updatePiece(). - (hasAllPieces): New function. - * src/PeerInteraction.h - (fastSet): New variable. - (getNewPieceAndSendInterest): Changed the return type to void. - (send): Renamed as sendMessages. - (deleteAllRequestSlot): Removed. - (deleteRequestMessageInQueue): Renamed as rejectPieceMessageInQueue. - (cancelAllRequest): Removed all overloaded functions. - (deleteAllRequestSlot): Removed. - (deletePieceMessageInQueue): Renamed as rejectAllPieceMessageInQueue. - (rejectPieceMessageInQueue): New function. - (rejectAllPieceMessageInQueue): New function. - (onChoked): New function. - (isSendingMessageInProgress): New function. - (getCorrespondingRequestSlot): Changed its arguments. - (isInFastSet): New function. - (addFastSetIndex): New function. - (addRequests): New function. - (sendNow): Removed. - (trySendNow): Removed. - (sendBitfield): New function. - (sendAllowdFast): New function. - (createHaveAllMessage): New function. - (createHaveNoneMessage): New function. - (createRejectMessage): New function. - (createAllowedFastMessage): New function. - * src/PeerInteraction.cc - (send): Renamed as sendMessages. - (sendMessages): New function. - (MsgPushBack): New class. - (isSendingMessageInProgress): New function. - (deletePieceMessageInQueue): Renamed as rejectAllPieceMessageInQueue. - (rejectAllPieceMessageInQueue): New function. - Added the handling of fast extension. - (deleteRequestMessageInQueue): Renamed as rejectPieceMessageInQueue. - (rejectPieceMessageInQueue): New function. - Added the handling of fast extension. - (deleteRequestSlot): Replaced for loop with std::find. - (onChoked): New function. - (deleteAllRequestSlot): Removed. - (abortPiece): Rewirtten. - (deleteTimeoutRequestSlot): Updated log messages. - (getCorrespondingRequestSlot): Changed its arguments. - (cancelAllRequest): Removed all overloaded functions. - (receiveHandshake): Added the check to see whether an incoming peer - supports fast extension. - (createHandshakeMessage): Use HandshakeMessage::create instead of - PeerMessageUtil. - (createPeerMessage): Use create() of each message class instead of - PeerMessageUtil. - HaveAllMessage, HaveNoneMessage, RejectMessage, SuggestPieceMessage, - AllowedFastMessage were added. - (getNewPieceAndSendInterest): Changed its return value type to void. - Added the handling of fast extension. - (addRequests): New function. - (sendNow): Removed. - (sendHandshake): Rewritten. - (trySendNow): Removed. - (sendBitfield): New function. - (sendAllowdFast): New function. - (isInFastSet): New function. - (addFastSetIndex): New function. - (createRequestMessage): Use RequestMessage::create instead of - PeerMessageUtil. - (createCancelMessage): Use CancelMessage::create instead of - PeerMessageUtil. - (createPieceMessage): Use PieceMessage::create instead of - PeerMessageUtil. - (createHaveMessage): Use HaveMessage::create instead of - PeerMessageUtil. - (createChokeMessage): Use ChokeMessage::create instead of - PeerMessageUtil. - (createUnchokeMessage): Use UnchokeMessage::create instead of - PeerMessageUtil. - (createInterestedMessage): Use InterestedMessage::create instead of - PeerMessageUtil. - (createNotInterestedMessage): Use NotInterestedMessage::create instead - of PeerMessageUtil. - (createBitfieldMessage): Use BitfieldMessage::create instead of - PeerMessageUtil. - (createKeepAliveMessage): Use KeepAliveMessage::create instead of - PeerMessageUtil. - (createHaveAllMessage): New function. - (createHaveNoneMessage): New function. - (createRejectMessage): New function. - (createAllowedFastMessage: New function. - * src/Util.h - (sha1Sum): New function. - (computeFastSet): New function. - * src/Util.cc - (sha1Sum): New function. - (computeFastSet): New function. - * src/Peer.h - (fastExtensionEnabled): New variable. - (fastSet): New variable. - (setAllBitfield): New function. - (setFastExtensionEnabled): New function. - (isFastExtensionEnabled): New function. - (addFastSetIndex): New function. - (getFastSet): New function. - (isInFastSet): New function. - (countFastSet): New function. - * src/Peer.cc - (isInFastSet): New function. - (addFastSetIndex): New function. - (setAllBitfield): New function. - - * src/AbstractCommand.cc (execute): Changed the procedure of checking - sockets. - * src/PeerAbstractCommand.cc - (PeerAbstractCommand): Added the initialization for uploadLimitCheck - and uploadLimit. - (execute): Changed the procedure of checking sockets. The upload speed - checking were added. - (setUploadLimit): New function. - (setUploadLimitCheck): New function. - * src/PeerAbstractCommand.h - (setUploadLimit): New function. - (setUploadLimitCheck): New function. - (uploadLimit): New variable. - (uploadLimitCheck): New variable. - - To contact a tracker regularly: - - * src/TrackerWatcherCommand.h (interval): New variable. - (checkPoint): New variable. - (TrackerWatcherCommand): Added interval argument. - * src/TrackerWatcherCommand.cc - (TrackerWatcherCommand): Initialized checkPoint. - (execute): Now a tracker is contacted in every specified period. - If peer list is not needed, send request with numwant=0. - - * src/TrackerUpdateCommand.cc - (execute): Updated log messages. - - * src/DownloadEngine.cc - (~DownloadEngine): Removed two asserts. - (waitData): Uncommented wfds. May be a bug fix. - -2006-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/PeerInteractionCommand.h - (checkInactiveConnection): Removed. - * src/PeerInteractionCommand.cc - (executeInternal): Removed following function calls: - detectMessageFlooding(), checkLongTimePeerChoking and - checkInactiveConnection(). - (checkInactiveConnection): Removed. - (detectMessageFlooding): Removed function call to - checkInactiveConnection(). - - * src/PeerMessageUtil.h - (createChokeMessage): New function. Overload. - (createUnchokeMessage): New function. Overload. - (createInterestedMessage): New function. Overload. - (createNotInterestedMessage): New function. Overload. - (createHaveMessage): New function. Overload. - (createBitfieldMessage): New function. Overload. - (createRequestMessage): New function. Overload. - (createCancelMessage): New function. Overload. - (createPieceMessage): New function. Overload. - (createKeepAliveMessage): New function. Overload. - * src/PeerMessageUtil.cc - (createChokeMessage): New function. Overload. - (createUnchokeMessage): New function. Overload. - (createInterestedMessage): New function. Overload. - (createNotInterestedMessage): New function. Overload. - (createHaveMessage): New function. Overload. - (createBitfieldMessage): New function. Overload. - (createRequestMessage): New function. Overload. - (createCancelMessage): New function. Overload. - (createPieceMessage): New function. Overload. - (createKeepAliveMessage): New function. Overload. - - * src/SendMessageQueue.cc - (createRequestMessage): Use PeerMessageUtil. - (createCancelMessage): Use PeerMessageUtil. - (createPieceMessage): Use PeerMessageUtil. - (createHaveMessage): Use PeerMessageUtil. - (createChokeMessage): Use PeerMessageUtil. - (createUnchokeMessage): Use PeerMessageUtil. - (createInterestedMessage): Use PeerMessageUtil. - (createNotInterestedMessage): Use PeerMessageUtil. - (createBitfieldMessage): Use PeerMessageUtil. - (createKeepAliveMessage): Use PeerMessageUtil. - - * src/SendMessageQueue.h: Renamed to PeerInteraction.h - * src/SendMessageQueue.cc: Renamed to PeerInteraction.cc - * src/PeerInteraction.h: New class. - * src/PeerInteraction.cc: New class. - -2006-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Each peer message has its own class. - - * src/PendingMessages.h: Removed. - * src/PendingMessages.cc: Removed. The sending process was moved to - each message class. - * src/RequestSlotMan.h: Removed. - * src/RequestSlotMan.cc: Removed. All functionarities were moved to - SendMessageQueue. - * src/RequestMessage.h: New class. - * src/RequestMessage.cc: New class. - * src/CancelMessage.h: New class. - * src/CancelMessage.cc: New class. - * src/BitfieldMessage.h: New class. - * src/BitfieldMessage.cc: New class. - * src/ChokeMessage.h: New class. - * src/ChokeMessage.cc: New class. - * src/KeepAliveMessage.h: New class. - * src/KeepAliveMessage.cc: New class. - * src/PortMessage.h: New class. - * src/UnchokeMessage.h: New class. - * src/UnchokeMessage.cc: New class. - * src/PieceMessage.h: New class. - * src/PieceMessage.cc: New class. - * src/HaveMessage.h: New class. - * src/HaveMessage.cc: New class. - * src/BitfieldMessage.h: New class. - * src/BitfieldMessage.cc: New class. - * src/NotInterestedMessage.h: New class. - * src/NotInterestedMessage.cc: New class. - * src/InterestedMessage.h: New class. - * src/InterestedMessage.cc: New class. - * src/HandshakeMessage.h (sendMessageQueue): New variable. - (getSendMessageQueue): New function. - (setSendMessageQueue): New function. - * src/HandshakeMessage.cc: New class. - * src/PeerConnection.h (receiveMessage): Changed return value and - arguments. - (receiveHandshake): Changed return value and arguments. - * src/PeerConnection.cc (receiveMessage): Do not create message class - here. - (receiveHandshake): Do not create handshake class here. - * src/PeerInteractionCommand.h (peerConnection): Removed. - (piece): Removed. - (syncPiece): Removed. - (sendInterest): Removed. - (sendMessages): Removed. - (createRequestPendingMessage): Removed. - (checkPieceHash): Removed. - (erasePieceOnDisk): Removed. - (getNewPieceAndSendInterest): Removed. - (onGotNewPice): Removed. - (onGotWrongPiece): Removed. - * src/PeerInteractionCommand.cc (PeerInteractionCommand): - Removed peerConnection, piece. - (~PeerInteractionCommand): Removed peerConnection. - (executeInternal): Use sendMessageQueue instead of peerConnection. - (syncPiece): Moved to SendMessageQueue. - (decideChoking): Removed PendingMessage. - (receiveMessage): Use sendMessageQueue instead of peerConnection. - The action after receiving peer message was moved to each message - class. - (onGotNewPice): Moved to SendMessageQueue. - (onGotWrongPiece): Moved to SendMessageQueue. - (getNewPieceAndSendInterest): Moved to SendMessageQueue. - (sendInterest): Moved to SendMessageQueue. - (createRequestPendingMessage): Removed. - (sendMessages): Moved to SendMessageQueue. - (onAbort): Use SendMessageQueue::abortPiece() - (keepAlive): Use sendMessageQueue instead of peerConnection. - (beforeSocketCheck): Use sendMessageQueue instead of peerConnection. - (checkPieceHash): Moved to SendMessageQueue. - (erasePieceOnDisk): Moved to SendMessageQueue. - * src/PeerMessageUtil.h - (createBitfieldMessage): Removed. - (createHaveMessage): Changed return value and arguments. - (createBitfieldMessage): Changed return value and arguments. - (createRequestCancelMessage): Removed. - (createPieceMessage): Changed return value and arguments. - (getShortIntParam): New function. - (checkIndex): Changed arguments. - (checkBegin): Changed arguments. - (checkLength): Changed arguments. - (checkPieceOffset): Removed. - (checkRange): New function. - (checkBitfield): Changed arguments. - (createPeerMessage): Removed. - (checkIntegrity): Removed. - (createHandshakeMessage): Changed arguments. - (createChokeMessage): New function. - (createUnchokeMessage): New function. - (createInterestedMessage): New function. - (createNotInterestedMessage): New function. - (createRequestMessage): New function. - (createCancelMessage): New function. - (createPortMessage): New function. - * src/PeerMessageUtil.cc - (createBitfieldMessage): Removed. - (createHaveMessage): Changed return value and arguments. - (createBitfieldMessage): Changed return value and arguments. - (createRequestCancelMessage): Removed. - (createPieceMessage): Changed return value and arguments. - (getShortIntParam): New function. - (checkIndex): Changed arguments. - (checkBegin): Changed arguments. - (checkLength): Changed arguments. - (checkPieceOffset): Removed. - (checkRange): New function. - (checkBitfield): Changed arguments. - (createPeerMessage): Removed. - (checkIntegrity): Removed. - (createHandshakeMessage): Changed arguments. - (createChokeMessage): New function. - (createUnchokeMessage): New function. - (createInterestedMessage): New function. - (createNotInterestedMessage): New function. - (createRequestMessage): New function. - (createCancelMessage): New function. - (createPortMessage): New function. - * src/PeerMessage.h - (id): Removed. - (index): Removed. - (begin): Removed. - (length): Removed. - (bitfield): Removed. - (bitfieldLength): Removed. - (block): Removed. - (blockLength): Removed. - (inProgress): New variable. - (cuid): New variable. - (peer): New variable. - (sendMessageQueue): New variable. - (logger): New variable. - (setBitfield): Removed. - (getBitfield): Removed. - (setBlock): Removed. - (getBlock): Removed. - (getBitfieldLength): Removed. - (getBlockLength): Removed. - (isInProgress): New function. - (toString): Made pure virtual. - (check): New function. - (send): New function. - (receivedAction): New function. - (getId): Made pure virtual. - (setId): Removed. - (getIndex): Removed. - (setIndex): Removed. - (getBegin): Removed. - (setBegin): Removed. - (getLength): Removed. - (setLength): Removed. - (getCuid): New function. - (setCuid): New function. - (getPeer): New function. - (setPeer): New function. - (getSendMessageQueue): New function. - (setSendMessageQueue): New function. - (ID): Removed. - * src/PeerMessage.cc - (setBitfield): Removed. - (setBlock): Removed. - (toString): Removed. - * src/TorrentMan.h - (getPieceLength): New function. - (getPieceLength): New function. - * src/SendMessageQueue.h - (REQUEST_TIME_OUT): New definition. - (RequestSlots): New definition. - (MessageQueue): New definition. - (requestSlotMan): Removed. - (pendingMessages): Removed. - (requestSlots): New variable. - (messageQueue): New variable. - (torrentMan): New variable. - (peerConnection): New variable. - (peer): New variable. - (piece): New variable. - (getNewPieceAndSendInterest): New function. - (createPeerMessage): New function. - (createHandshakeMessage): New function. - (send): Made private. - (setPeerMessageCommonProperty): New function. - (deleteAllRequestSlot): New function. - (deleteRequestMessageInQueue): New function. - (cancelAllRequest): Made private. - (cancelAllRequest): Made private. - (countRequestSlot): Made private. - (addPendingMessage): Removed. - (deletePendingPieceMessage): Removed. - (deletePendingRequestMessage): Removed. - (addMessage): New function. - (deletePieceMessageInQueue): New function. - (deleteTimeoutRequestSlot): Changed argument. - (deleteCompletedRequestSlot): Changed argument. - (getCorrespoindingRequestSlot): Renamed to getCorrespondingRequestSlot. - (getCorrespondingRequestSlot): New function. - (countPendingMessage): Removed. - (countMessageInQueue): New function. - (getTorrentMan): New function. - (getPeerConnection): New function. - (hasDownloadPiece): New function. - (getDownloadPiece): New function. - (setDownloadPiece): New function. - (syncPiece): New function. - (sendMessages): New function. - (sendNow): New function. - (trySendNow): New function. - (abortPiece): New function. - (sendHandshake): New function. - (receiveMessage): New function. - (receiveHandshake): New function. - (createRequestMessage): New function. - (createCancelMessage): New function. - (createPieceMessage): New function. - (createHaveMessage): New function. - (createChokeMessage): New function. - (createUnchokeMessage): New function. - (createInterestedMessage): New function. - (createNotInterestedMessage): New function. - (createBitfieldMessage): New function. - (createKeepAliveMessage): New function. - * src/SendMessageQueue.cc - (SendMessageQueue): Removed requestSlotMan. - Instantiated peerConnection here. - (~SendMessageQueue): Removed requestSlotMan. - Added deletion of peerConnection and the contents of messageQueue. - (send): Updated according to the change of messageQueue. - (addPendingMessage): Renamed to addMessage. - (addMessage): New function. - (deletePendingPieceMessage): Renamed to deletePieceMessageInQueue. - (deletePieceMessageInQueue): New function. - (deletePendingRequestMessage): Renamed to deleteRequestMessageInQueue. - (deleteRequestMessageInQueue): New function. - (deleteRequestSlot): RequestSlotMan::deleteRequestSlot(...) was moved - here. - (deleteTimeoutRequestSlot): RequestSlotMan::deleteTimeoutRequestSlot - (...) was moved here. - (deleteAllRequestSlot): RequestSlotMan::deleteAllRequestSlot(...) was - moved here. - (deleteCompletedRequestSlot): - RequestSlotMan::deleteCompletedRequestSlot(...) was moved here. - (getCorrespondingRequestSlot): - RequestSlotMan::getCorrespoindingRequestSlot(...) was moved here. - And renamed to getCorrespondingRequestSlot, correcting a typo. - (countPendingMessage): Renamed to countMessageInQueue. - (countMessageInQueue): New function. - (countRequestSlot): RequestSlotMan::countRequestSlot() was moved here. - (receiveHandshake): New function. - (createHandshakeMessage): New function. - (receiveMessage): New function. - (createPeerMessage): New function. - (syncPiece): New function. - (getNewPieceAndSendInterest): New function. - (sendMessages): New function. - (sendNow): New function. - (trySendNow): New function. - (sendHandshake): New function. - (abortPiece): New function. - (getDownloadPiece): New function. - (getPeerMessageCommonProperty): New function. - (createRequestMessage): New function. - (createCancelMessage): New function. - (createPieceMessage): New function. - (createHaveMessage): New function. - (createChokeMessage): New function. - (createUnchokeMessage): New function. - (createInterestedMessage): New function. - (createNotInterestedMessage): New function. - (createBitfieldMessage): New function. - (createKeepAliveMessage): New function. - - - To add simple Content-Disposition support: - - * src/HttpResponseCommand.h (determinFilename): New function. - * src/HttpResponseCommand.cc (executeInternal): - Use determinFilename(headers) instead of req->getFile() when comparing - filename. - (determinFilename): New function. - (handleDefaultEncoding): Use determinFilename(headers) instead of - req->getFile(). - (handleOtherEncoding): Use determinFilename(headers) instead of - req->getFile(). - * src/Util.h (getContentDispositionFilename): New function. - * src/Util.cc (getContentDispositionFilename): New function. - - * src/LogFactory.h (release): New function. - * src/LogFactory.cc (release): New function. - - To fix a bug that causes out-of-bound exception when HTTP status - line is wrong: - - * src/HttpConnection.cc (receiveResponse): Added a check for header - size. - - * src/common.h (Deleter): New class. - - * src/SegmentMan.cc - (~SegmentMan): Added deletion of splitter and diskWriter. - * src/DownloadEngine.h - (Commands): Use deque. - (clearQueue): New function. - * src/DownloadEngine.cc - (~DownloadEngine): Added deletion of segmentMan. - (cleanQueue): New function. - * src/TorrentDownloadEngine.h - (TorrentDownloadEngine): The implementation was moved to - TorrentDownloadEngine.cc. - (~TorrentDownloadEngine): The implementation was moved to - TorrentDownloadEngine.cc. - * src/TorrentDownloadEngine.cc - (~TorrentDownloadEngine): Added deletion of torrentMan. - * src/main.cc - (clearRequest): Removed. - (handler): Added deletion of e. - (torrentHandler): Added deletion of te. - (main): Do not share splitter. - Use Deleter instead of clearRequest. - Deletion of classes were updated. - -2006-05-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/main.cc (main): Fixed typo. - * src/message.h: Fixed typo. - - * po/de.po: Added German translation, thanks to Hermann J. Beckers. - -2006-04-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add --select-file command-line option: - - * src/Util.cc - (unfoldRange): New function. - (getNum): New function. - (unfoldSubRange): New function - * src/main.cc - (showUsage): Added help message. - (main): Added --select-file command-line option. Updated the layout of - file listing. - * src/common.h - (Integers): New definition. - - * src/SocketCore.cc - (writeData): Removed timeout argument. - (readData): Removed timeout argument. - (peekData): Removed timeout argument. - * src/Socket.cc - (writeData): Removed timeout argument. - (readData): Removed timeout argument. - (peekData): Removed timeout argument. - - * Release 0.4.1 - -2006-04-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To deploy upload rate based choking algorithm: - - * src/PeerInteractionCommand.cc - (PeerInteractionCommand): Add peer to TorrentMan::activePeers to track - peer currently used. - (decideChoking): Deleted the choke/unchoke decision algorithm when - download completes. Simplified. - (receiveMessage): Updated. - * src/TorrentMan.h - (activePeers): New variable. - (addActivePeer): New function. - (getActivePeers): New function. - (deleteActivePeer): New function. - * src/TorrentMan.cc - (addPeer): deleteOldErrorPeers is moved to the begining of the function - * src/PeerAbstractCommand.cc - (onAbort): Use peer->resetStatus(). - * src/main.cc - (PeerChokeCommand.h): Included. - (main): Added the instance of ChokingCommand to the command queue. - * src/Peer.h - (amChoking): Renamed from amChocking - (chokingRequired): New variable. - (optUnchoking): New variable. - (deltaUpload): New variable. - (deltaDownload): New variable. - (addDeltaUpload): New function. - (resetDeltaUpload): New function. - (addDeltaDownload): New function. - (resetDeltaDownload): New function. - (addPeerUpload): Added a call to addDeltaUpload. - (addPeerDownload): Added a call to addDeltaDownload. - * src/Peer.cc - (shouldBeChoking): Renamed from shouldChoke. - (resetStatus): New function. - * src/PeerChokeCommand.h: New class. - * src/PeerChokeCommand.cc: New class. - - To add lazy upload speed limiter: - - * src/TorrentConsoleDownloadEngine.h: Moved the variables for - statistics calculation to TorrentDownloadEngine. - * src/TorrentConsoleDownloadEngine.cc - (sendStatistics): Renamed from printStatistics. - (initStatistics): Removed. Moved to TorrentDownloadEngine. - (calculateSpeed): Removed. Moved to TorrentDownloadEngine. - (calculateStatistics): Removed. Moved to TorrentDownloadEngine. - * src/TorrentDownloadEngine.h: Added the variables for statistics - calculation. - (sendStatistics): New function as pure virtual function. - (getUploadSpeed): New function. - * src/TorrentDownloadEngine.cc - (initStatistics): New function. - (calculateSpeed): New function. - (calculateStatistics): New function. - * src/SendMessageQueue.h - (uploadLength): New variable. - (send): Added an argument. - (setUploadLimit): New function. - (getUploadLimit): New function. - * src/SendMessageQueue.cc - (send): Added upload speed limiter. - * src/prefs.h - (PREF_UPLOAD_LIMIT): New definition. - * src/PeerInteractionCommand.cc - (PeerInteractionCommand): Set upload speed limit to sendMessageQueue. - * src/main.cc - (main): Added --upload-limit option - - For bug fixes: - - * src/main.cc - (showUsage): Corrected --listen-port help - - Other changes: - - * src/TorrentMan.cc - (getPeer): Return nullPeer if connection is grather than - MAX_PEER_UPDATE(15) in order to leave space for incoming peers. - -2006-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add some useful information to the exception message: - - * src/SocketCore.cc : Updated messages. - * src/SegmentMan.cc : - * src/TorrentMan.cc : Updated messages. - * src/MultiDiskWriter.cc : Updated messages. - * src/Util.cc : Updated messages. - * src/AbstractDiskWriter.cc : Updated messages. - * src/PreAllocationDiskWriter.cc : Updated messages. - * src/message.cc : Added new messages. Updated some messages. - - * src/TrackerWatcherCommand.h (MIN_PEERS): New definition. - * src/TrackerWatcherCommand.cc (execute): Use MIN_PEERS. - Updated threshold from 30 to 15. - - * src/AbstractDiskWriter.h (filename): New variable. - * src/AbstractDiskWriter.cc (openExistingFile): Assigned filename. - (createFile): Assigned filename. - - * src/main.cc: Updated the help message for http-auth-scheme. - - * Release 0.4.0 - -2006-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add TrackerUpdateCommand with which replaces - CompactTrackerResponseProcessor: - - * src/TrackerWatcherCommand.h (req): Removed. - * src/TrackerWatcherCommand.cc (execute): Send a request to tracker - if the number of peer connections are less than 30. - * src/ByteArrayDiskWriter.h (readData): Implemented. - * src/SegmentMan.h (diskWriter): New function. - * src/SegmentMan.cc (init): Added a call to diskWriter->closeFile() - * src/main.cc : Removed #include "CompactTrackerResponseProcessor.h" - (main): Use TrackerUpdateCommand. - * src/TorrentMan.h (CompactTrackerResponseProcessor): Removed. - (req): New variable. - (setTrackerResponseProcessor): Removed. - (getTrackerResponseProcessor): Removed. - (processTrackerResponse): Removed. - * src/DownloadEngine.h (diskWriter): Removed. - * src/TorrentDownloadEngine.cc (afterEachIteration): Removed a call - to torrentMan->processTrackerResponse(). - - To add Util::expandBuffer: - - * src/ByteArrayDiskWriter.h (expandBuffer): Removed. - * src/ByteArrayDiskWriter.cc (writeData): Use Util::expandBuffer(). - * src/Util.h (expandBuffer): New function. - - To fix the bug that causes segmentation fault when "-l ." is specified - in command-line option: - - * src/SimpleLogger.h (SimpleLogger): Removed "filename" argument. - (openFile): New function. - (closeFile): New function. - * src/SimpleLogger.cc (SimpleLogger): Removed fopen. - (~SimpleLogger): Call closeFile(); - * src/LogFactory.cc (getInstance): Added a call to slogger->openFile(). - * src/main.cc (main): Added a check to see logger is configured - properly. - - To enable HTTP authentication without specifying "--http-auth-scheme" - - * src/prefs.h (PREF_HTTP_AUTH_ENABLED): New definition. - * src/HttpConnection.cc (createRequest): Send Authorization header - if PREF_HTTP_AUTH_ENABLED == V_TRUE. - * src/main.cc (main): Preset PREF_HTTP_AUTH_SCHEME to V_TRUE - If "--http-user" is specified, set PREF_HTTP_AUTH_ENABLED to V_TRUE - - * src/Peer.cc (shouldChoke): Updated algorithm. - - * src/message.h (EX_AUTH_FAILED): New definition. - (EX_FILE_OPEN): New definition. - * src/HttpResponseCommand.cc (checkResponse): Throw DlAbortEx - if status == 401. - (handleDefaultEncoding): Added a call to diskWriter->initAndOpenFile() - if req->isTorrent == true. - - * src/main.cc (handler): Removed the check to see e->diskWriter != NULL - (torrentHandler): Removed the check to see diskAdaptor != NULL. - - * src/AbstractDiskWriter.cc (openExistingFile): Updated messsage. - (createFile): Updated message. - -2006-04-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add a readout of estimated remaining time to normal HTTP/FTP - downloads: - - * src/ConsoleDownloadEngine.h (startup): New variable. - (startupLength): New variable. - (isStartupLengthSet): New variable. - (avgSpeed): New variable. - (eta): New variable. - * src/ConsoleDownloadEngine.cc (sendStatistics): Added a readout of - estimated remaining time. - (initStatistics): Initialized newly added variables. - (calculateStatistics): Calculate average speed and estimated remaining - time. - - To decouple TorrentDownloadEngine from HttpResponseCommand: - - * src/TrackerDownloadCommand.h: Removed. - * src/TrackerDownloadCommand.cc: Removed. - * src/TrackerInitCommand.h: Removed. - * src/TrackerInitCommand.cc: Removed. - * src/TrackerUpdateCommand.h: Removed. - * src/TrackerUpdateCommand.cc: Removed. - * src/TrackerWatcherCommand.cc (execute): The construction of request - url written in TrackerInitCommand was moved here. Do not create - tracker request command if torrentMan->trackers != 0. - * src/CompactTrackerResponseProcessor.h: New class. - * src/CompactTrackerResponseProcessor.cc: New class. - * src/message.h (MSG_TRACKER_WARNING_MESSAGE): Updated. - * src/HttpResponseCommand.cc (createHttpDownloadCommand): - Decoupled TorrentDownloadEngine from this. - * src/SegmentMan.h (init): New function. - * src/SegmentMan.cc (init): New function. - * src/TorrentMan.h (responseProcessor): New variable. - (trackers): New variable. - (setTrackerResponseProcessor): New function. - (getTrackerResponseProcessor): New function. - (processTrackerResponse): New function. - * src/TorrentMan.cc (Constructor): Initialized new variable trackers. - (processTrackerResponse): New function. - * src/main.cc (main): Use ByteArrayDiskWriter and - CompactTrackerResponseProcessor. - * src/TorrentDownloadEngine.cc (afterEachIteration): Call torrentMan-> - processTrackerResponse(). - - * src/TorrentConsoleDownloadEngine.cc (printStatistics): Updated a - readout. - - * src/TorrentDownloadEngine.cc (afterEachIteration): Added log message - which indicates download has completed. - - * src/AbstractDiskWriter.cc (Destructor): fd >= 0, not fd >0 - (closeFile): fd >= 0, not fd > 0 - - * src/main.cc (main): Added short cut for show-files. - Added short cut for torrent-file. - Added new command-line option listen-port. - Updated i18n messages. - -2006-04-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add LogFactory which creates singleton logger: - - * src/LogFactory.h: New class. - * src/LogFactory.cc: New class. - * src/Command.h (logger): New variable. - (Constructor): Use LogFactory. - * src/AbstractCommand.cc: Use Command::logger - * src/PeerConnection.cc (Constructor): Deleted the argument logger. - Use LogFactory. - * src/SegmentSplitter.h : Made logger protected. - * src/SegmentSplitter.cc (Constructor): Use LogFactory. - * src/SegmentMan.cc (Constructor): Use LogFactory. - * src/DownloadEngine.h : Made logger protected. - * src/DownloadEngine.cc (Constructor): Use LogFactory. - * src/PeerInteractionCommand.cc : Use Command::logger. - * src/HttpResponseCommand.cc : Use Command::logger. - * src/SegmentMan.h : Made logger private. - * src/TorrentMan.h : Made logger private. - * src/TorrentMan.cc : Use LogFactory. - * src/FtpNegotiateCommand.cc : Use Command::logger. - * src/HttpConnection.h (Constructor): Deleted the argument logger. - * src/HttpConnection.cc (Constructor): Deleted the argument logger. - Use LogFactory. - * src/FtpConnection.h (Constructor): Deleted the argument logger. - * src/FtpConnection.cc (Constructor): Deleted the argument logger. - Use LogFactory. - * src/DownloadCommand.cc : Use Command::logger. - * src/PeerAbstractCommand.cc : Use Command::logger. - * src/PeerListenCommand.cc : Use Command::logger. - * src/PeerInitiateConnectionCommand.cc : Use Command::logger. - * src/HttpInitiateConnectionCommand.cc : Use Command::logger. - * src/FtpInitiateConnectionCommand.cc : Use Command::logger. - * src/TrackerWatcherCommand.cc : Use Command::logger. - * src/TrackerUpdateCommand.cc : Use Command::logger. - * src/TrackerDownloadCommand.cc : Use Command::logger. - * src/RequestSlotMan.cc (Constructor): Deleted the argument logger. - Use LogFactory. - * src/SendMessageQueue.h (Constructor): Deleted the argument logger. - * src/SendMessageQueue.cc (Constructor): Deleted the argument logger. - Use LogFactory. - * src/main.cc (main): Use LogFactory. - * src/DiskAdaptor.h (logger): New variable. - * src/DiskAdaptor.cc (Constructor): Use LogFactory. - * src/CopyDiskAdaptor.cc (fixFilename): Added a log message. - -2006-04-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/TrackerInitCommand.cc (TrackerInitCommand): Added a "key" - parameter to a tracker request. - - * src/TorrentMan.cc (readFileEntryFromMetaInfoFile): Bug fix. - - * src/TrackerWatcherCommand.cc (execute): Call req->resetTryCount(). - - * src/main.cc (setSignalHander): New function. - (main): Added a handler for SIGTERM. - (handler): Updated message. - (torrentHandler): Updated message. - - -2006-04-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/TorrentConsoleDownloadEngine.cc - (onPartialDownloadingCompletes): Renamed as - onSelectiveDownloadingCompletes. - (onSelectiveDownloadingCompletes): Updated message. - - To add DiskAdaptor which abstract DiskWriter family: - - * src/PeerConnection.cc: Use diskAdaptor instead of diskWriter. - * src/PeerInteractionCommand.cc: Use diskAdaptor instead of diskWriter. - * src/BitfieldMan.cc (isAllBitSet): bug fix. - * src/TorrentMan.cc : Included CopyDiskAdaptor.h, DirectDiskAdaptor.h, - MultiDiskAdaptor.h. - (readFileEntry): Changed its arguments. - (setup): setupDiskWriter is merged into this function. - (setupDiskWriter): Removed. - (setFileFilter): New function. - (readFileEntryFromMetaInfoFile): Updated according to the changes - made in readFileEntry. - (getFilePath): Removed. - (getTempFilePath): Removed. - (getSegmentFilePath): Updated due to the removal of getFilePath. - (fixFilename): Removed. - (copySingleFile): Removed. - (splitMultiFile): Removed. - (deleteTempFile): Removed. - (setFileEntriesToDownload): Removed. - (isPartialDownloadingMode): Renamed as isSelectiveDownloadingMode. - (isSelectiveDownloadingMode): New function. - (setAllMultiFileRequestedState): Removed. - (finishPartialDownloadingMode): Renamed as - finishSelectiveDownloadingMode. - (finishSelectiveDownloadingMode): New function. - (getPartialTotalLength): Renamed as getSelectedTotalLength. - (getSelectedTotalLength): New function. - (onDownloadComplete): Use diskAdaptor. - * src/MultiDiskWriter.cc (Constructor): Added the argument pieceLength - (Range): Removed. - (setMultiFileEntries): Renamed as setFileEntries. - (setFileEntries): New function. - * src/MultiDiskWriter.h [DiskWriterEntry](enabled): Removed. - (pieceLength): New variable. - * src/main.cc (printDownloadCompeleteMessage): New function. - (torrentHandler): Use diskAdaptor instead of diskWriter. - (main): Renamed torrent-show-files to show-files. - Rewritten file contents listing. - * src/TorrentMan.h (FileEntry): Removed. - (multiFileTopDir): Removed. - (multiFileEntries): Removed. - (diskWriter): Removed. - (diskAdaptor): New variable. - * src/DefaultDiskWriter.h (totalLength): New variable. - * src/DefaultDiskWriter.cc (initAndOpenFile): Added ftruncate. - * src/TorrentDownloadEngine.cc (onEndOfRun): Use diskAdaptor instead of - diskWriter. - * src/TorrentConsoleDownloadEngine.h - (partialDownloadLengthDiff): Renamed as selectedDownloadLengthDiff. - (partialTotalLength): Renamed as selectedTotalLength. - * src/AbstractDiskWriter.cc (openFile): If file exists, call - openExistingFile, otherwise call initAndOpenFile. - (closeFile): fd > 0, not fd != 0. - * src/DirectDiskAdaptor.h: New class. - * src/DirectDiskAdaptor.cc: New class. - * src/MultiDiskAdaptor.h: New class. - * src/MultiDiskAdaptor.cc: New class. - * src/CopyDiskAdaptor.h: New class. - * src/CopyDiskAdaptor.cc: New class. - * src/DiskAdaptor.h: New class. - * src/DiskAdaptor.cc: New class. - - * src/prefs.h (PREF_TORRENT_SHOW_FILES): Renamed as PREF_SHOW_FILES - (PREF_SHOW_FILES): New definition. - -2006-04-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To add the ability to download multi torrent into respective files - directly: - - * src/DiskWriter.h (openFile): New function. - (seek): Removed. - * src/MultiDiskWriter.h: New class. - * src/MultiDiskWriter.cc: New class. - * src/AbstractDiskWriter.h (seek): Changed its scope from public to - protected. - (openFile): New function. - * src/AbstractDiskWriter.cc (openFile): New function. - * src/prefs.h (V_FALSE): New definition. - (PREF_DIRECT_FILE_MAPPING): New definition. - * src/TorrentMan.h (setupDiskWriter): New function. - (setAllMultiFileRequestedState): New function. - (onDownloadComplete): New function. - * src/TorrentMan.cc : Included MultiDiskWriter.h - (setupDiskWriter): New function. - (getFilePath): Updated. - (getTempFilePath): Updated. - (getSegmentFilePath): Updated. - (fixFilename): Updated. - (deleteTempFile): Updated. - (setAllMultiFileRequestedState): New function. - (setFileEntriesToDownload): Use setAllMultiFileRequestedState(). - (finishPartialDownloadingMode): Reset requested flags. - (onDownloadComplete): New function. - * src/main.cc: Added --direct-file-mapping option. - Use TorrentMan::setupDiskWriter(). - * src/TorrentDownloadEngine.cc (afterEachIteration): Use TorrentMan:: - onDownloadComplete(). - - - To fix ETA bug: - - * src/Util.h (difftvsec): New function. - * src/Util.cc (difftvsec): New function. - * src/TorrentConsoleDownloadEngine.cc (calculateSpeed): Use int for the - type of "elapsed" instead of long long int. - (calculateStatistics): Use Util::difftvsec instead of Util::difftv. - The updates of statistics takes place every 1 seconds. - * src/TorrentConsoleDownloadEngine.h (lastElapsed): Changed its type. - (calculateSpeed): Changed its argument signature. - - * src/PeerMessage.cc (toString): Fixed message. - -2006-04-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To print ETA: - - * src/TorrentDownloadEngine.cc (afterEachIteration): Added download - completion handling when dealing with - TorrentMan::isPartialDownloadingMode() == true. - * src/TorrentDownloadEngine.h (onPartialDownloadingCompletes): - New function. - * src/TorrentConsoleDownloadEngine.h (startup): New variable. - (sessionDownloadLength): New variable. - (avgSpeed): New variable. - (eta): New variable. - * src/TorrentConsoleDownloadEngine.cc (initStatistics): Initialized - new variables: eta, avgSpeed, startup. - (calculateSpeed): Calculate average speed and ETA. - (printStatistics): Added ETA. - - * src/Util.h (secfmt): New function. - * src/Util.cc (secfmt): New function. - -2006-04-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - To detect "keep alive" flooding: - - * src/PeerInteractionCommand.h (keepAliveCount): New variable - * src/PeerInteractionCommand.cc (Constructor): Initialized new - variable: keepAliveCount. - (detectMessageFlooding): Added "keep alive" flooding detection. - (receiveMessage): Increase keepAliveCount when "keep alive" message - received. - - To add the ability to download only specified files in multi-file - torrent: - - * src/BitfieldMan.h (filterBitfield): New variable. - (filterEnabled): New variable. - (setFilterBit): New function. - (enableFilter): New function. - (disableFilter): New function. - (isFilterEnabled): New function. - (getFilteredTotalLength): New function. - (getCompletedLength): New function. - * src/BitfieldMan.cc (Constructor): Initialized new variable: - filterBitfield, filterEnabled. - (CopyConstructor): Added filterBitfield and filterEnabled. - (operator==): Added filterBitfield and filterEnabled. - (Destructor): Added filterBitfield. - (getMissingIndex): Use filterBitfield. - (getMissingUnusedIndex): Use filterBitfield. - (getFirstMissingUnusedIndex): Use filterBitfield. - (getFirstMissingUnusedIndex): Use filterBitfield. - (getAllMissingIndexes): Use filterBitfield. - (countMissingBlock): Use filterBitfield. - (countBlock): Use filterBitfield. - (setBitInternal): Added new argument on. - (setUseBit): Use setBitInternal. - (unsetUseBit): Use setBitInternal. - (setBit): Use setBitInternal. - (unsetBit): Use setBitInternal. - (isAllBitSet): Use filterBitfield. - (setFilterBit): New function. - (addFilter): New function. - (enableFilter): New function. - (disableFilter): New function. - (clearFilter): New function. - (isFilterEnabled): New function. - (getFilteredTotalLength): New function. - (getCompletedLength): New function. - - * src/TorrentMan.h [FileEntry](Constructor): Updated signature. - Initalized newly added variables. - [FileEntry](offset): New variable. - [FileEntry](extracted): New variable. - [FileEntry](requested): New variable. - (readFileEntry): New function. - (option): New variable. - (splitMultiFile): Removed const qualifier. - (fixFilename): Removed const qualifier. - (readFileEntryFromMetaInfoFile): New function. - (finishPartialDownloadingMode): New function. - (isPartialDownloadingMode): New function. - (setFileEntriesToDownload): New function. - (getCompletedLength): New function. - (getPartialTotalLength): New function. - * src/TorrentMan.cc (readFileEntry): New function. - (setup): Use readFileEntry. If no-preallocation option is specified, - use DefaultDiskWriter. - (readFileEntryFromMetaInfoFile): New function. - (fixFilename): Removed const qualifier. - (splitMultiFile): Removed const qualifier. - (setFileEntriesToDownload): New function. - (isPartialDownloadingMode): New function. - (finishPartialDownloadingMode): New function. - (getCompletedLength): New function. - (getPartialTotalLength): New function. - - * src/TorrentConsoleDownloadEngine.h (partialDownloadLengthDiff): - New variable. - (partialTotalLength): New variable. - (downloadLength): New variable. - (totalLength): New variable. - * src/TorrentConsoleDownloadEngine.cc (onPartialDownloadingCompletes): - Added log. - (initStatistics): Initialized new variables: partialDownloadLengthDiff, - partialTotalLength, downloadLength, totalLength. - (calculate): Calculate downloadLength and totalLength. - - * src/prefs.h :New definition PREF_NO_PREALLOCATION - - * src/main.cc (addCommand): Changed argument signature. - (main): Added new variable: args. Added new option "torrent-show-files" - "no-preallocation". Usage is not updated yet. - -2006-04-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/PeerMessage.cc (setBitfield): Fixed invalid memory de-allocation. - -2006-04-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - Attempt to add the ability to listing file entries in a .torrent file. - This feature is not yet complete. - - * src/prefs.h (PREF_TORRENT_SHOW_FILES): New definition - * src/TorrentMan.cc (getMultiFileEntries): New function. - (getName): New function. - * src/TorrentMan.h (getMultiFileEntries): New function. - (getName): New function. - * src/main.cc (main): Use above 2 funtion. - - * Release 0.3.2 - -2006-03-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * src/PeerInteractionCommand.cc (checkInactiveConnection): New function - (detectMessageFlooding): Updated threshold value. - (checkLongTimePeerChoking): Updated timeout value. - (getNewPieceAndSendInterest): Added debug log. - * src/PeerInteractionCommand.h (checkInactiveConnection): New function - - * src/TorrentMan.cc (deleteOldErrorPeers): Updated. - (getPeer): Updated. - * src/TorrentMan.h: Added MAX_PEER_ERROR. - - * src/PeerAbstractCommand.cc (onAbort): Increment error counter. - - * src/PeerListenCommand.cc (execute): Close connection if incoming peer - is localhost. - - * src/main.cc (main): Updated PREF_PEER_CONNECTION_TIMEOUT to 60. - - * src/PendingMessage.cc (processMessage): Not to send piece message - if peer is not interested in the pieces localhost has. - - * src/Peer.cc (shouldChoke): Updated. - - * src/SendMessageQueue.cc (cancelAllRequest): Fixed. - - * src/Util.cc (isPowerOf): New function. - * src/Util.h (isPowerOf): New function. - * src/PeerMessageUtil.cc (checkLength): Added a check for length - whether or not it is power of 2. - -2006-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - 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-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * configure.in: Added gnutls support. Added several CPP macros. - * m4/openssl.m4: Added. - * src/SocketCore.{h,cc}: Drop const quarifier from writeData(), - readData(), peekData(). Added gnutls support. - * src/HttpDownloadCommand.cc: Removed SleepCommand.h - * src/TrackerWatcherCommand.{h,cc}: Added. This command creates - TrackerInitCommand periodicaly(TorrentMan::minInterval). - * src/TorrentMan.cc: Remove downloadedSize == 0 check from save(). - Instead, added a check for whether setup method has executed - successfully. - * src/TorrentMan.h: Added member vaiable setupComplete. Updated - DEFAULT_ANNOUNCE_INTERVAL and DEFAULT_ANNOUNCE_MIN_INTERVAL to 300. - * src/Makefile.am: Updated. - * src/messageDigest.h: Added. This is a macro calculating SHA1 digest - using whether OpenSSL or gcrypt, depending on the result of configure - script. - * src/ShaVisitor.{h,cc}: Removed direct dependency on OpenSSL by using - messageDigest.h. - * src/TorrentAutoSaveCommand.h: Removed unused variable cuid. - * src/PeerListenCommand.cc: Added log about port binded successfully. - Fixed memory leak. - * src/main.cc: Added gnutls support. Replaced LIB_SSL with - ENABLE_BITTORRENT where they are not related to OpenSSL but BitTorrent. - Removed instantiation of TrackerInitCommand. Instead, - TrackerWatcherCommand is instantiated and pushed to the command queue. - * src/InitiateConnectionCommandFactory.cc: Replaced HAVE_LIBSSL with - ENABLE_SSL. - * src/Request.cc: Replaced HAVE_LIBSSL with ENABLE_SSL. - * src/RequestSlotMan.cc (deleteCompletedRequestSlot): - If a piece is already acquired by another command, delete the request - slots for the piece. - * src/TrackerUpdateCommand.cc (execute): - Changed log level of MSG_TRACKER_WARNING_MESSAGE from info to warn. - Added a check whether peer list is null. - Fixed the bug that causes sending completed event to the tracker - several times. - * src/TrackerInitCommand.cc (execute): - Fixed the bug that causes sending completed event to the tracker - several times. - * src/AbstractDiskWriter.{h,cc}: Removed direct dependency on OpenSSL - by using messageDigest.h. - -2006-03-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * PeerConnection.cc: Replaced log message "keep-alive" with - "keep alive". - * PeerInteractionCommand.{h,cc}: Close connection if peer is choking - localhost long time. - * TorrentMan.cc: When adding new peer with duplicate = true, if the - number of peer list is equal to or grater than MAX_PEER_LIST, delete - at most 100 failure entry from the list. If with duplicate = false, - MAX_PEER_LIST is not checked. - * PeerListenCommand.cc: Fixed the argument order of log message. - -2006-03-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Logger.h: Moved enum LEVEL from SimpleLogger.h to here. - Added warn(). - * SimpleLogger.h: Moved enum LEVEL to Logger.h. - Implemented warn(). - Defined 2 macros(WRITE_LOG, WRITE_LOG_EX) to avoid duplicated code. - -2006-03-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Request.h: Added AFTER_COMPLETED event. - * TorrentDownloadEngine.cc: Prints "Download complete" message - instead of downloaded size and progress(%) after download completes. - * PeerInteractionCommand.cc: After download completes, sends unchoke - message to the peer if it is interested in what localhost has - downloaded. - * TorrentMan.cc: In single-file mode, copy temporary file to the final - destination instead of just renaming it. - * TorrentMan.cc: Added deleteTempFile(). - * PeerAbstractCommand.cc: do not stop execution after download - completes. This makes localhost a seeder. - * Util.{h,cc}: Added fileCopy(). - * PeerListenCommand.cc: do not stop execution after download completes. - This makes localhost a seeder. - * main.cc: Do not call TorrentMan::fixFilename() in torrentHandler. - Added TorrentMan::deleteTempFile() to torrentHandler. - Initialized the variable dir as ".". - * TorrentMan.h: Changed DEFAULT_ANNOUNCE_INTERVAL to 120 seconds. - Deleted renameSingleFile(). - Added copySingleFile(), deleteTempFile(). - * DownloadEngine.h: Added virtual function afterEachIteration(). - * TorrentDownloadEngine.cc: Move a call to TorrentMan::fixFilename() - in onEndOfRun() to afterEachIteration(). - In onEndOfRun(), changed if condition to check whether filenameFixed is - true. - * Util.cc: Implemented fileCopy() using rangedFileCopy(). - In rangedFileCopy(), added try-catch block to properly close file - descriptors. - * TorrentDownloadEngine.cc: Added a member variable filenameFixed. - Added afterEachIteration(), isFilenameFixed(). - * Peer.cc: Changed choking strategy. - * PreAllocationDiskWriter.cc: Drop O_DIRECT flag. - * TrackerInitCommand.cc: Send completed event only once. - * DownloadEngine.cc: Added a call to afterEachIteration(). - * TrackerUpdateCommand.cc: Do not stop execution after download - completes. - * TorrentMan.h: Defined MAX_PEER_UPDATE as 15. aria2 attempts to - connect the peers at most MAX_PEER_UPDATE when a peer list is - received from a tracker. - * TrackerUpdateCommand.cc: Implemented above mentioned behavior. - Decreased the number of failure peers to delete to 0(just comment out - the line). - * Release 0.3.1 - -2006-03-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * PeerInteractionCommand.cc: added a call to - TorrentMan::unadvertisePiece in Destructor. - * PeerInteractionCommand.cc: make have message sent immediately - if the size of pending message queue is zero. - * TorrentMan.cc: set the maximum size of peer list to 250. - * TorrentMan.h: changed the container type of Peers and UsedPieces - to deque. - * Util.cc: fixed rangedFileCopy. - * AbstractDiskWriter.{h,cc}: moved digest context initialization - to Constructor. Also, moved digest cleanup to Destructor. - * MetaFileUtil.cc: fixed memory leak - * replaced std::vector with std::deque. - * AbstractCommand.cc: casted timeout value to long long int. - * ChunkedEncoding.cc: fixed memory leak. - * PeerInteractionCommand.cc: casted timeout value to long long int. - * SleepCommand.cc: casted timeout value to long long int. - * Data.cc: fixed memory leak. - * Data.cc: fixed toLLInt(). - * BitfieldMan.cc: fixed memory leak. - * TorrentMan.cc: initialized storeDir to ".". - * TorrentMan.cc: fixed memory leak. - * TorrentMan.cc: corrected file paths of splitted files. - * PeerAbstractCommand.cc: casted timeout to long long int. - * main.cc: added delete(req) and delete(te->diskWriter). - * RequestSlot.cc: casted timeout value to long long int. - * Request.cc: fixed memory leak. - * PendingMessage.cc: make HAVE messages sent only when peer does not - have the piece. - * Peer.{h,cc}: added hasPiece(int index). - * main.cc: corrected addCommand. - -2006-03-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * BitTorrent protocol support added. - * Release 0.3.0 - -2006-03-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * SocketCore.cc: remove the assignment of addrinfo.ai_addr. - -2006-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * ChunkedEncoding.{h,cc}: fixed the bug that if chunk data is binary, - decoding did not work properly. - -2006-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * DownloadEngine.h: included sys/time.h - * DownloadEngine.cc: remove sys/time.h - * Makefile.am (SUBDIRS): Add intl. - * configure.in (AC_CONFIG_FILES): Add intl/Makefile. - -2006-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * main.cc: correct help message for --http-auth-scheme. - * main.cc: changed e-mail address for bug reports. - * ja.po: added japanese translation. - -2006-03-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * SimpleLogger.cc: flush log file instead of stdout. - -2006-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * main.cc: Fixed command-line option: max-tries - * HttpResponseCommand.cc: Make the request re-sent only if req->seg.sp - does not equal to seg.sp. - * DownloadCommand.cc: If EOF is got from the server and the total size - of file is not zero, then throw DlRetryEx. - * main.cc: Set the minium value of min-segment-size to 1024. - * HttpResponseCommand.cc: Fixed the bug that http segmented downloading - fails because of a regression since 0.2.0 release. - -2006-03-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * HttpConnection.cc: - * common.h: defined the user agent name as macro - * DownloadEngine.{h, cc}: - * ConsoleDownloadEngine.{h, cc}: Console output message(size, speed) - is now generated by ConsoleDownloadEngine not by DownloadEngine. - * main.cc: Download complete/abort message is now generated by main. - * Makefile.am (SUBDIRS): Add m4. - (ACLOCAL_AMFLAGS): New variable. - (EXTRA_DIST): New variable. - * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, - * gettext: added gettext functionality - -2006-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * AbstractCommand.cc: - * DownloadCommand.{h, cc}: Aborted downloading commands now properly - unregister its cuid from SegmentMan. - * DownloadEngine.cc: .aria2 file was written when a downloading - failed with errors. - * HttpConnection.cc: Added "Proxy-Connection" header to proxy request. - Added "User-Agent" header to CONNECT proxy request. - Fixed "Proxy-Authorization" header. Now proxy authorization works - properly. - * Logger.h: - * SimpleLogger.{h,cc}: Changed the type of msg to const char*. - * ChunkedEncoding.cc: Added #include directive for strings.h - * Release 0.2.1 - -2006-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Util.{h,cc}: added startsWith(). - * CookieBox.cc: rewrited criteriaFind() using Util::startsWith() and - Util::endsWith(). - * SocketCore.cc: struct addrinfo is now zero-initialized. - * common.h: added #include directive of limit.h. - * DownloadEngine.cc: added #include directive of sys/time.h and - algorithm. - * Exception.h: added #include directive of stdio.h. - * AbstractCommand.h: added #include directive of sys/time.h. - * DownloadCommand.h: added #include directive of sys/time.h. - * *.h: added #include directive of common.h to all base classes. - subclasses' one was removed. - * common.h: defined LONG_LONG_MAX and LONG_LONG_MIN if a compiler - does not define these macros. - -2006-02-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * Release 0.2.0 - * main.cc: - * HttpInitiateConnectionCommand.{h,cc}: - * prefs.h: - * HttpConnection.{h,cc}: added --http-proxy-method option. - We can now use GET command in http proxy. - -2006-02-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * SplitSlowestSegmentSplitter.{h,cc}: This class provies algorithm - that splits slowest segment of SegmentMan::commands vector. - This is the default split algorithm of aria2. - * SplitFirstSegmentSplitter.{h,cc}: This class provides algorithm - that splits first segment of SegmentMan::commands vector. - * SegmentSplitter.{h,cc}: Added. This class provides split algorithm. - * DownloadCommand.{h,cc}: Added downloading speed calculation. - * Segment.h: - * SegmentMan.cc: Added speed field to Segment.h - * main.cc: -s option now affects all URLs in command-line arguemtns. - * HttpResponseCommand.cc: Fixed bug that segment file is not loaded. - * message.h: Change file size related %d to %lld. - -2006-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * FtpInitiateConnectionCommand.{h,cc}: - * FtpNegotiationCommand.{h,cc}: - * FtpDownloadCommand.{h,cc}: - * FtpConnection.{h,cc}: Added FTP support - * SimpleLogger.cc: Log message now includes time information. - * main.cc: The value of --http-auth-scheme option is chagned from - 'BASIC' to 'basic' - * main.cc: Added --timeout command-line option. - * main.cc: Added --min-segment-size command-line option. - * main.cc: Added --max-retries command-line option. - * prefs.h: option string constants are now defined in prefs.h - -2006-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * AbstractCommand.cc: Fixed timeout bug in AbstractCommand - * SegmentMan.cc: Added totalSize entry to .aria2 file. No compatibility - with version 0.1.0's one. - -2006-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> - - * configure.in: Added --enable-ssl option to configure script. - * HttpConnection.cc: Make Request-URI an absolute path. Some servers - cannot permit absoluteURI as Request-URI. - * HttpConnection.cc: Added Referer support. - * main.cc: Added referer command-line option. - * main.cc: Added rety-wait command-line option. - * Exception.h: Fixed formating bug in Exception::setMsg() - * SocketCore.{h,cc}: - * Socket.{h, cc}: - * Request.cc: - * InitiateConnectionCommandFactory.cc: - * HttpRequestCommand.cc: Added HTTPS support. - * SocketCore.{h,cc}: Added SocketCore. Socket becomes a handle class - for SocketCore. - * ChunkedEncoding.cc: Fixed bug in ChunkedEncoding: expanding buffer - size is wrong - * DownloadCommand.cc: Fixed bug in DownloadCommand: In Chunked - Encoding, it wrongly adds to Segment.ds buff length from the socket. - -2006-02-17 Tatsuhiro Tsujikawa <tsujikawa at rednoah dot com> - - * Release 0.1.0 - |
