Commit Graph

619 Commits (46627da9a85c67892d9056a2b1cd713675689837)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 9bd1fc10af 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 13:02:43 +00:00
Tatsuhiro Tsujikawa 48c96ac441 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 12:51:05 +00:00
Tatsuhiro Tsujikawa 1b874503cf 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 12:28:46 +00:00
Tatsuhiro Tsujikawa 1aeefb5c4b 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 12:15:39 +00:00
Tatsuhiro Tsujikawa 9d24736208 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 12:11:04 +00:00
Tatsuhiro Tsujikawa cb795bc989 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 11:47:15 +00:00
Tatsuhiro Tsujikawa 412429dfe6 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use DHTMessage::T instead of "t".
	* src/DHTMessageTracker.cc (messageArrived)
2008-05-14 11:31:53 +00:00
Tatsuhiro Tsujikawa 87984328c5 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-13 17:05:02 +00:00
Tatsuhiro Tsujikawa 29d5651cd5 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-13 16:58:40 +00:00
Tatsuhiro Tsujikawa 0c821d0ad7 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-13 16:44:21 +00:00
Tatsuhiro Tsujikawa 00f385c3b3 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-13 16:40:34 +00:00
Tatsuhiro Tsujikawa a37af74369 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 16:28:31 +00:00
Tatsuhiro Tsujikawa 1942b8d7b3 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 16:13:55 +00:00
Tatsuhiro Tsujikawa 898b807ba2 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 15:55:05 +00:00
Tatsuhiro Tsujikawa 5c8db1cc20 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 14:25:27 +00:00
Tatsuhiro Tsujikawa 386d19693b 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 14:15:23 +00:00
Tatsuhiro Tsujikawa 9d03f0d2f7 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-12 15:39:52 +00:00
Tatsuhiro Tsujikawa 915562f1b2 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 15:26:43 +00:00
Tatsuhiro Tsujikawa 3c8918cfe0 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed const ref
	* src/MetalinkEntry.cc (AddProtocolPreference)
	* src/RequestGroup.cc (FindServerHostByHostname)
2008-05-12 14:10:14 +00:00
Tatsuhiro Tsujikawa 7ea0e831d4 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Accept-Features handling.
	* src/HttpRequestCommand.cc (createHttpRequest)
	* src/a2functional.h
2008-05-12 14:08:43 +00:00
Tatsuhiro Tsujikawa fac64b9e07 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Accept-Features handling.
	* src/HttpRequestCommand.cc (createHttpRequest)
2008-05-12 14:07:54 +00:00
Tatsuhiro Tsujikawa c1ba19efe2 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	DHTAbstractNodeLookupTask::toEntries
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTAbstractNodeLookupTask.h
2008-05-12 12:26:45 +00:00
Tatsuhiro Tsujikawa 41b6003cbd 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 12:18:21 +00:00
Tatsuhiro Tsujikawa 6ae07106d3 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	MultiFileAllocationIterator::makeDiskWriterEntries
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h
2008-05-12 11:51:09 +00:00
Tatsuhiro Tsujikawa 3da60af41e 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 11:39:34 +00:00
Tatsuhiro Tsujikawa f84eac327f 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 11:15:17 +00:00
Tatsuhiro Tsujikawa 5f8e8e371e 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 11:05:21 +00:00
Tatsuhiro Tsujikawa ddd1206b42 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-12 10:54:36 +00:00
Tatsuhiro Tsujikawa d2110dc697 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 14:42:34 +00:00
Tatsuhiro Tsujikawa b96eb7fd79 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 13:59:27 +00:00
Tatsuhiro Tsujikawa 3884d710d3 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten AccRequestGroup
	* src/main.cc
2008-05-11 13:31:30 +00:00
Tatsuhiro Tsujikawa b22e86a6eb 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten.
	* src/TaggedItem.cc (toTagString)
2008-05-11 13:19:20 +00:00
Tatsuhiro Tsujikawa 4e3c08d50c 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Accept-Features handling.
	* src/HttpRequestCommand.cc (createHttpRequest)
2008-05-11 13:14:41 +00:00
Tatsuhiro Tsujikawa 1f931b33bd 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten accept types handling.
	* HttpRequest.cc (createRequest)
2008-05-11 13:07:26 +00:00
Tatsuhiro Tsujikawa 9fd38f12b7 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten
	* src/FeatureConfig.cc (featureSummary)
2008-05-11 13:03:24 +00:00
Tatsuhiro Tsujikawa 05f0646112 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 12:58:48 +00:00
Tatsuhiro Tsujikawa 33e916547a 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 12:14:14 +00:00
Tatsuhiro Tsujikawa 5e99846776 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 11:59:56 +00:00
Tatsuhiro Tsujikawa 7ec7b7ea60 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 10:57:18 +00:00
Tatsuhiro Tsujikawa 82e0092b19 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 10:46:52 +00:00
Tatsuhiro Tsujikawa 83731bab5c 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 09:53:11 +00:00
Tatsuhiro Tsujikawa 825cfe7715 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 09:36:39 +00:00
Tatsuhiro Tsujikawa 6d78a7656d 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 08:07:57 +00:00
Tatsuhiro Tsujikawa bf5a8c3f78 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 07:37:46 +00:00
Tatsuhiro Tsujikawa a702d60666 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 01:22:32 +00:00
Tatsuhiro Tsujikawa f69625775c 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten readData and writeData.
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
2008-05-11 01:13:22 +00:00
Tatsuhiro Tsujikawa ebf0fbc591 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Move \n out of the message "Usage: ...".
	* src/version_usage.cc
2008-05-10 07:14:26 +00:00
Tatsuhiro Tsujikawa a2c91b5831 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.13.2b.
	* configure.ac
2008-05-10 05:47:06 +00:00
Tatsuhiro Tsujikawa a780fcacc4 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 05:16:16 +00:00
Tatsuhiro Tsujikawa e71b09a9dc 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 05:14:35 +00:00
Tatsuhiro Tsujikawa 10b1ddd2c0 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 04:57:33 +00:00
Tatsuhiro Tsujikawa 03db925988 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 04:50:49 +00:00
Tatsuhiro Tsujikawa d13b198ddd 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 02:35:42 +00:00
Tatsuhiro Tsujikawa 02b1062607 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed duplicate log message.
	* src/AbstractCommand.cc (asyncResolveHostname)
2008-05-10 02:33:15 +00:00
Tatsuhiro Tsujikawa 698d2889ca 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-09 15:34:43 +00:00
Tatsuhiro Tsujikawa 7956dab9c3 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 15:30:09 +00:00
Tatsuhiro Tsujikawa 5bed29e79a 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 14:52:25 +00:00
Tatsuhiro Tsujikawa f25436725e 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 14:44:28 +00:00
Tatsuhiro Tsujikawa 0b5e827ead 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 14:36:06 +00:00
Tatsuhiro Tsujikawa 95e0fbfd7b 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed forward declaration of SocketCore class.
	* src/HttpDownloadCommand.h
2008-05-09 14:34:27 +00:00
Tatsuhiro Tsujikawa c3c05e9ab1 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 14:28:46 +00:00
Tatsuhiro Tsujikawa b1d51f2442 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed infinite loop in checksum checking.
	* src/IteratableChecksumValidator.cc
2008-05-09 14:25:32 +00:00
Tatsuhiro Tsujikawa 5ea933fed1 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 13:20:15 +00:00
Tatsuhiro Tsujikawa 2c54667beb 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 13:18:25 +00:00
Tatsuhiro Tsujikawa d52bce74d3 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-08 11:18:36 +00:00
Tatsuhiro Tsujikawa d8f911b581 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-06 15:43:26 +00:00
Tatsuhiro Tsujikawa 620de10443 Removed following wrong entry:
2008-05-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Enabled --enable-http-keep-alive by default.
	* src/option_processing.cc
2008-05-06 15:28:14 +00:00
Tatsuhiro Tsujikawa ac1b573e59 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-06 15:26:43 +00:00
Tatsuhiro Tsujikawa e88eedc8f5 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-06 15:22:46 +00:00
Tatsuhiro Tsujikawa 4f150057ca 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-06 15:20:59 +00:00
Tatsuhiro Tsujikawa 53464fd0fc 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-06 15:14:14 +00:00
Tatsuhiro Tsujikawa 874714609f 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 10:10:15 +00:00
Tatsuhiro Tsujikawa 6952eef7b6 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 08:32:40 +00:00
Tatsuhiro Tsujikawa f596de9eec 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-05-05 08:25:41 +00:00
Tatsuhiro Tsujikawa b892b54e4b 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.13.2a
	* configure.ac
2008-04-27 10:50:24 +00:00
Tatsuhiro Tsujikawa 63d7b5039f 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated configure.ac using the result of autoscan.
	* configure.ac
2008-04-27 10:47:43 +00:00
Tatsuhiro Tsujikawa 0f64c20da8 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 06:01:34 +00:00
Tatsuhiro Tsujikawa b74e27ff92 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 05:55:02 +00:00
Tatsuhiro Tsujikawa 3938307391 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Masked user ID in log.
	* src/FtpConnection.cc (sendUser)
2008-04-27 04:12:00 +00:00
Tatsuhiro Tsujikawa 4663902500 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 04:09:08 +00:00
Tatsuhiro Tsujikawa 1ef99931e1 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-27 02:22:14 +00:00
Tatsuhiro Tsujikawa a7952cce05 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 08:12:46 +00:00
Tatsuhiro Tsujikawa 8678e1f380 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 07:43:01 +00:00
Tatsuhiro Tsujikawa 90d5b5c0a2 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 05:58:49 +00:00
Tatsuhiro Tsujikawa 0f92203ffe 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 01:09:56 +00:00
Tatsuhiro Tsujikawa cbc34b4e3a s/Accept-Feature/Accept-Features/ 2008-04-25 17:47:12 +00:00
Tatsuhiro Tsujikawa 2a81fd466d 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added build-in "Accept-Feature" 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-Feature
	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-Feature" list.
	* src/RequestGroup.cc: Added "metalink" to "Accept-Feature" 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-25 17:44:03 +00:00
Tatsuhiro Tsujikawa 8ea2f386cb 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added comment
	* src/RequestGroup.cc (createNextCommand)
2008-04-25 16:26:40 +00:00
Tatsuhiro Tsujikawa c3151ba188 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Capitalized METHOD_GET and METHOD_HEAD
	* src/Request.cc
2008-04-25 16:24:34 +00:00
Tatsuhiro Tsujikawa e0877ec26b 2008-04-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added getDownloadResults() method
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
2008-04-23 10:28:56 +00:00
Tatsuhiro Tsujikawa 4f6df4be39 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-23 10:03:52 +00:00
Tatsuhiro Tsujikawa da615e4e7a 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 11:26:50 +00:00
Tatsuhiro Tsujikawa c87fe0022d 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 10:29:48 +00:00
Tatsuhiro Tsujikawa 9c6904f8d4 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 10:20:11 +00:00
Tatsuhiro Tsujikawa 7f0754c505 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error in ExpatMetalinkProcessor.cc
	* src/ExpatMetalinkProcessor.cc
2008-04-22 09:12:59 +00:00
Tatsuhiro Tsujikawa 5f55bc197f 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 08:52:47 +00:00
Tatsuhiro Tsujikawa 1c7c6f9898 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-22 07:15:35 +00:00
Tatsuhiro Tsujikawa f1816a1d4b 2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added missing setUserHeaders call
	* src/HttpRequestCommand.cc
2008-04-21 13:19:01 +00:00
Tatsuhiro Tsujikawa cfe373cbbf 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 12:31:10 +00:00
Tatsuhiro Tsujikawa e1fa62e6c7 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-21 10:48:11 +00:00
Tatsuhiro Tsujikawa 3eb74629cb 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 06:30:44 +00:00
Tatsuhiro Tsujikawa c1c5e7369f 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 05:42:15 +00:00
Tatsuhiro Tsujikawa 3505201f33 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-20 00:50:22 +00:00
Tatsuhiro Tsujikawa 99733a84e2 2008-04-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed type in man page.
	* doc/aria2c.1.txt
2008-04-15 12:37:15 +00:00
Tatsuhiro Tsujikawa ebed4b6df7 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 13:38:25 +00:00
Tatsuhiro Tsujikawa 846e7c70f5 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 13:30:12 +00:00
Tatsuhiro Tsujikawa 0516a07fa6 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 01:33:48 +00:00
Tatsuhiro Tsujikawa 5f56e52498 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 01:31:53 +00:00
Tatsuhiro Tsujikawa d13c416a94 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-13 01:25:36 +00:00
Tatsuhiro Tsujikawa 8b91d22ca4 2008-04-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error on x84-64 platform.
	* src/AuthConfig.cc: Included ostream.
2008-04-09 13:32:51 +00:00
Tatsuhiro Tsujikawa d034c4d773 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-16 09:04:21 +00:00
Tatsuhiro Tsujikawa 5cc4ca5887 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 11:05:03 +00:00
Tatsuhiro Tsujikawa 42fa16b780 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 04:25:55 +00:00
Tatsuhiro Tsujikawa 538a8fcfe7 2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error with g++-4.3
2008-03-15 04:19:46 +00:00
Tatsuhiro Tsujikawa 8dacfe45b8 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-13 13:13:53 +00:00
Tatsuhiro Tsujikawa 34df2cc416 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 16:18:33 +00:00
Tatsuhiro Tsujikawa 102ce611d1 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 14:47:08 +00:00
Tatsuhiro Tsujikawa 852315bf11 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 14:19:10 +00:00
Tatsuhiro Tsujikawa ddb00a9445 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 12:33:20 +00:00
Tatsuhiro Tsujikawa ce5c17f1b3 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-11 12:31:14 +00:00
Tatsuhiro Tsujikawa 3349c7625c 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 15:19:35 +00:00
Tatsuhiro Tsujikawa 68b84574ae 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 15:03:47 +00:00
Tatsuhiro Tsujikawa 7f40794931 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 14:09:17 +00:00
Tatsuhiro Tsujikawa 032c7c2808 2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
type cleanup for allmost all remaining files.
2008-03-09 12:24:01 +00:00
Tatsuhiro Tsujikawa ca3f6e57f3 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 11:10:37 +00:00
Tatsuhiro Tsujikawa 2555098ecd 2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Type clarification
	* src/DefaultPeerStorage.{h, cc}
	* test/DefaultPeerStorageTest.cc
2008-03-08 10:44:25 +00:00
Tatsuhiro Tsujikawa c64a191061 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 10:33:56 +00:00
Tatsuhiro Tsujikawa 518a200d57 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 08:04:28 +00:00
Tatsuhiro Tsujikawa aa669e8646 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-08 07:53:16 +00:00
Tatsuhiro Tsujikawa e57a070a3f 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 12:44:20 +00:00
Tatsuhiro Tsujikawa fc0fa4203a 2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use unsigned char for data store.
2008-03-07 12:05:50 +00:00
Tatsuhiro Tsujikawa 7578d5fb22 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-07 11:48:19 +00:00
Tatsuhiro Tsujikawa 74b82c44e8 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 15:31:09 +00:00
Tatsuhiro Tsujikawa 37a5b99f33 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-05 10:35:39 +00:00
Tatsuhiro Tsujikawa 62e1cbd0c0 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 15:41:58 +00:00
Tatsuhiro Tsujikawa 55552adb93 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 11:30:12 +00:00
Tatsuhiro Tsujikawa 6b07846b58 2008-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Reorganized includes.
	* src/NameResolver.cc
2008-03-03 10:47:16 +00:00
Tatsuhiro Tsujikawa 4771fcf53c 2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error without ares/c-ares
	* src/NameResolver.h:
2008-03-01 09:31:54 +00:00
Tatsuhiro Tsujikawa 3f17f5ffd7 2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added a test for large file.
	* test/MetalinkProcessorTest.cc (testLargeFileSize):
2008-03-01 06:07:10 +00:00
Tatsuhiro Tsujikawa 067ef72e5e 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 05:40:11 +00:00
Tatsuhiro Tsujikawa a31cd44130 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 04:44:13 +00:00
Tatsuhiro Tsujikawa b1aeb277aa 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-03-01 04:42:53 +00:00
Tatsuhiro Tsujikawa 3698b46805 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 17:40:47 +00:00
Tatsuhiro Tsujikawa a1458a1642 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 14:27:00 +00:00
Tatsuhiro Tsujikawa c766d945ef 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 14:18:12 +00:00
Tatsuhiro Tsujikawa 50bb9bd36d 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 16:43:52 +00:00
Tatsuhiro Tsujikawa c1fd47809d 2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error
	* src/ExpatMetalinkProcessor.cc
2008-02-27 15:04:42 +00:00
Tatsuhiro Tsujikawa f9afa5eeac 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 13:16:04 +00:00
Tatsuhiro Tsujikawa eb9f9ac59d 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 12:56:52 +00:00
Tatsuhiro Tsujikawa 897ab7321f 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 12:55:30 +00:00