Commit Graph

1446 Commits (606360779f457cce7dc71816a0aac4ef9bd1cf15)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 88bfe8b084 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 10:12:04 +00:00
Tatsuhiro Tsujikawa 339795311b 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 09:58:49 +00:00
Tatsuhiro Tsujikawa 96205abc67 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 09:21:12 +00:00
Tatsuhiro Tsujikawa 0390fae213 2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo
	* src/DownloadContext.h
2009-11-28 09:11:23 +00:00
Tatsuhiro Tsujikawa 591e9fa843 2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use createRequestGroupForBitTorrent()
	* src/BtPostDownloadHandler.cc
2009-11-28 09:10:20 +00:00
Tatsuhiro Tsujikawa 12145ef4c6 2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added remove().
	* src/Option.cc
	* src/Option.h
2009-11-28 09:08:25 +00:00
Tatsuhiro Tsujikawa b80de5e010 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 09:07:21 +00:00
Tatsuhiro Tsujikawa 9f6c187be4 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-28 09:05:50 +00:00
Tatsuhiro Tsujikawa d33c7c7db1 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 14:04:29 +00:00
Tatsuhiro Tsujikawa a8d4fbad51 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 13:07:08 +00:00
Tatsuhiro Tsujikawa 52f11b5a21 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 13:16:02 +00:00
Tatsuhiro Tsujikawa 8ab55abf11 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 13:14:19 +00:00
Tatsuhiro Tsujikawa cb6604c88e 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 13:09:15 +00:00
Tatsuhiro Tsujikawa 46d9f2de63 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 15:49:20 +00:00
Tatsuhiro Tsujikawa d0e0db1eb1 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 12:47:09 +00:00
Tatsuhiro Tsujikawa 3fa6ce55f4 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-24 16:42:55 +00:00
Tatsuhiro Tsujikawa 656cbd16a0 2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Prepended "[METADATA]" before dn.
	* src/bittorrent_helper.cc
	* test/BittorrentHelperTest.cc
2009-11-24 16:39:52 +00:00
Tatsuhiro Tsujikawa 512be58217 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 14:47:42 +00:00
Tatsuhiro Tsujikawa d2cefd8613 2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use hton64
	* src/base32.cc
2009-11-24 13:08:51 +00:00
Tatsuhiro Tsujikawa 894165171c 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 15:59:31 +00:00
Tatsuhiro Tsujikawa 6e8074c087 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 13:17:48 +00:00
Tatsuhiro Tsujikawa 95370fc11f 2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
In metadataGetMode, don't show SEEDING.
	* src/ConsoleStatCalc.cc
2009-11-23 11:28:22 +00:00
Tatsuhiro Tsujikawa c1730aeea9 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-22 15:31:47 +00:00
Tatsuhiro Tsujikawa b563621dd1 2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Drop connection if ut_metadata reject message is received.
	* src/UTMetadataRejectExtensionMessage.cc
2009-11-22 15:19:16 +00:00
Tatsuhiro Tsujikawa 9d2199acbb 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 15:16:12 +00:00
Tatsuhiro Tsujikawa c73d235ab8 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 14:54:51 +00:00
Tatsuhiro Tsujikawa c1f9032441 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 14:52:17 +00:00
Tatsuhiro Tsujikawa 03b281f604 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 14:42:59 +00:00
Tatsuhiro Tsujikawa 9423f0d29a 2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added markTotalLengthIsKnown().
	* src/DownloadContext.h
2009-11-22 14:39:20 +00:00
Tatsuhiro Tsujikawa 5013e96b3b 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 14:37:05 +00:00
Tatsuhiro Tsujikawa 66e6191d10 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 14:35:35 +00:00
Tatsuhiro Tsujikawa e0d9798b94 2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added FromHex()
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2009-11-22 14:30:51 +00:00
Tatsuhiro Tsujikawa d9e29e5c7d 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 13:33:35 +00:00
Tatsuhiro Tsujikawa 5130b5c1e0 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-22 13:26:32 +00:00
Tatsuhiro Tsujikawa 93968c4fa5 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-20 15:42:25 +00:00
Tatsuhiro Tsujikawa 2764b6739d 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 15:27:10 +00:00
Tatsuhiro Tsujikawa 60e3e46c52 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 07:47:42 +00:00
Tatsuhiro Tsujikawa 39c2b57842 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-20 07:44:42 +00:00
Tatsuhiro Tsujikawa 6d73ca229f 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 12:22:03 +00:00
Tatsuhiro Tsujikawa 2f6e22f1aa 2009-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Check socket for reading if there are outstanding requests.
	* src/PeerInteractionCommand.cc
2009-11-18 12:19:00 +00:00
Tatsuhiro Tsujikawa 20e734fa15 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-17 14:29:55 +00:00
Tatsuhiro Tsujikawa 928de09345 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 13:27:46 +00:00
Tatsuhiro Tsujikawa 1e740c6087 2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/bittorrent_helper.cc
2009-11-15 12:59:44 +00:00
Tatsuhiro Tsujikawa 309d292831 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 12:55:50 +00:00
Tatsuhiro Tsujikawa 2923682aa6 2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed integer potential alignment problem.
	* src/bitfield.h
2009-11-15 11:29:24 +00:00
Tatsuhiro Tsujikawa 548585cccc 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-15 11:20:55 +00:00
Tatsuhiro Tsujikawa 9cdf102850 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-12 15:34:55 +00:00
Tatsuhiro Tsujikawa 8865b9e8e6 2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::uitos()
	* src/util.h
2009-11-12 15:17:28 +00:00
Tatsuhiro Tsujikawa 48175dcb3a 2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/Request.cc
	* src/Request.h
2009-11-12 15:07:18 +00:00
Tatsuhiro Tsujikawa 7a94ae6af2 2009-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten Request::parseUrl()
	* src/Request.cc
	* test/RequestTest.cc
2009-11-12 14:50:23 +00:00
Tatsuhiro Tsujikawa 37a50cf468 2009-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused macro SAFE_CHARS
	* src/Request.cc
2009-11-11 13:11:39 +00:00
Tatsuhiro Tsujikawa ff3702463a 2009-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc
	* src/DHTRoutingTableDeserializer.cc
2009-11-11 13:06:19 +00:00
Tatsuhiro Tsujikawa 0894a7592c 2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Only decrement cols if cols > 0
	* src/ConsoleStatCalc.cc
2009-11-02 14:30:26 +00:00
Tatsuhiro Tsujikawa fb3e69db3b 2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error without ssl library.
	* src/util.cc
2009-11-02 14:04:28 +00:00
Tatsuhiro Tsujikawa f794df7d9b 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-02 13:16:22 +00:00
Tatsuhiro Tsujikawa f1043306f0 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 14:14:28 +00:00
Tatsuhiro Tsujikawa 489cfe3d0e 2009-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't reuse URI if Request pool is not empty.
	* src/CreateRequestCommand.cc
2009-11-01 09:42:34 +00:00
Tatsuhiro Tsujikawa 20c8ce4128 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 11:54:54 +00:00
Tatsuhiro Tsujikawa 0dcb41da49 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 10:15:59 +00:00
Tatsuhiro Tsujikawa 07dc5bdfee 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 09:53:23 +00:00
Tatsuhiro Tsujikawa a71b642db1 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-31 08:47:19 +00:00
Tatsuhiro Tsujikawa 14a47f43f8 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-27 12:58:46 +00:00
Tatsuhiro Tsujikawa 8e7311a2de 2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo
	* src/usage_text.h
2009-10-25 14:43:15 +00:00
Tatsuhiro Tsujikawa 9b49e45e96 2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added missing bitfield.cc
	* src/bitfield.cc
2009-10-25 14:15:22 +00:00
Tatsuhiro Tsujikawa e976b23728 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 15:35:33 +00:00
Tatsuhiro Tsujikawa c6035b2e24 2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved static functions in Util class to namespace util.
	* src
	* test
2009-10-22 15:09:00 +00:00
Tatsuhiro Tsujikawa 3349fe0811 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-22 14:43:42 +00:00
Tatsuhiro Tsujikawa 7e694d38cb 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 12:33:45 +00:00
Tatsuhiro Tsujikawa c8d34a46be 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 12:31:07 +00:00
Tatsuhiro Tsujikawa 1a7064f6f6 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 12:23:11 +00:00
Tatsuhiro Tsujikawa 947effdf1c 2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed wrong insertion point for BasicCred.
	* src/AuthConfigFactory.cc
2009-10-18 09:10:26 +00:00
Tatsuhiro Tsujikawa 4536bd7211 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 13:13:32 +00:00
Tatsuhiro Tsujikawa 10e371c25a 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-17 13:11:03 +00:00
Tatsuhiro Tsujikawa ac63a32c48 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 08:48:58 +00:00
Tatsuhiro Tsujikawa 509a98dde4 2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated licence message in -v output.
	* src/version_usage.cc
2009-10-10 08:35:06 +00:00
Tatsuhiro Tsujikawa 8c807347bd 2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced aria2 with aria2c in help message.
	* src/version_usage.cc
2009-10-10 08:32:43 +00:00
Tatsuhiro Tsujikawa 3ccaca2b39 2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use PACKAGE_BUGREPORT and PACKAGE_URL.
	* src/version_usage.cc
2009-10-10 08:30:52 +00:00
Tatsuhiro Tsujikawa 02c7e833d1 2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Quoted localedir
	* src/Makefile.am
2009-10-10 08:29:21 +00:00
Tatsuhiro Tsujikawa fb70a0e69c 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 08:16:44 +00:00
Tatsuhiro Tsujikawa 1af73e306c 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 08:09:16 +00:00
Tatsuhiro Tsujikawa cb69cca675 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 08:03:27 +00:00
Tatsuhiro Tsujikawa f31fa015bb 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 07:54:39 +00:00
Tatsuhiro Tsujikawa 53bdc4918a 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-09 17:20:40 +00:00
Tatsuhiro Tsujikawa 9c23aa5aeb 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-06 12:56:15 +00:00
Tatsuhiro Tsujikawa 967dade8b2 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 14:51:05 +00:00
Tatsuhiro Tsujikawa 5f1d8c7897 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 13:35:09 +00:00
Tatsuhiro Tsujikawa 436448dd8a 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 13:04:06 +00:00
Tatsuhiro Tsujikawa 51ba780c76 2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed memory leak.
	* src/DownloadCommand.cc
2009-10-04 15:18:21 +00:00
Tatsuhiro Tsujikawa 41ac8fe45d 2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Included version number in user-agent string.
	* src/OptionHandlerFactory.cc
2009-10-04 12:57:35 +00:00
Tatsuhiro Tsujikawa c0595d17ff 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 09:01:11 +00:00
Tatsuhiro Tsujikawa ce3de835b4 2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added missing MetalinkParserStateImpl.{cc,h}
	* src/MetalinkParserStateImpl.cc
	* src/MetalinkParserStateImpl.h
2009-10-04 04:00:44 +00:00
Tatsuhiro Tsujikawa c55d2e5512 2009-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Put all MetalinkParserState subclasses into
	MetalinkParserStateImpl.cc. Use stack to track element structure.
2009-10-03 12:52:16 +00:00
Tatsuhiro Tsujikawa 99654e4160 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 14:52:42 +00:00
Tatsuhiro Tsujikawa 2e8b0d785e 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-28 16:05:08 +00:00
Ross Smith II 263aebc558 Add check for fork(), which is missing on MinGW
* src/daemon.cc
* configure.ac
2009-09-23 21:35:10 +00:00
Tatsuhiro Tsujikawa 909b126180 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-23 06:47:56 +00:00
Tatsuhiro Tsujikawa 7cce6c46a8 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 09:31:42 +00:00
Tatsuhiro Tsujikawa fe2bb7e233 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 09:03:57 +00:00
Tatsuhiro Tsujikawa e8bda3f593 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-20 09:00:32 +00:00
Tatsuhiro Tsujikawa 45090adb07 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 09:12:51 +00:00