Commit Graph

1434 Commits (c7a59e076e08df350430edf63eaef5a04cc1bd7a)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 26e319df43 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 14:33:42 +00:00
Tatsuhiro Tsujikawa e77e1ec24d 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 14:25:51 +00:00
Tatsuhiro Tsujikawa 6c6e7f2c51 2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/XmlRpcMethod.cc
2009-12-20 14:17:32 +00:00
Tatsuhiro Tsujikawa 2952abf064 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 09:49:43 +00:00
Tatsuhiro Tsujikawa 7c12d43a42 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-20 09:38:39 +00:00
Tatsuhiro Tsujikawa 0734dfa770 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 06:32:14 +00:00
Tatsuhiro Tsujikawa 4171e7cadf 2009-12-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed old useless comment
	* src/MultiUrlRequestInfo.cc
2009-12-18 06:30:42 +00:00
Tatsuhiro Tsujikawa 15c5d12737 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 07:45:22 +00:00
Tatsuhiro Tsujikawa cd3552fbbb 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-13 07:39:22 +00:00
Tatsuhiro Tsujikawa d59cd9b74e 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-11 13:06:26 +00:00
Tatsuhiro Tsujikawa 6c3a3fefa2 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 12:52:59 +00:00
Tatsuhiro Tsujikawa ff10065699 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 12:32:47 +00:00
Tatsuhiro Tsujikawa e296c00e33 2009-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated usage text for --metalink-file option.
	* src/usage_text.h
2009-12-09 14:39:08 +00:00
Tatsuhiro Tsujikawa 74c6599906 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-09 14:32:12 +00:00
Tatsuhiro Tsujikawa cc4a14a1bc 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 15:04:33 +00:00
Tatsuhiro Tsujikawa 8cd1d845f2 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 13:01:25 +00:00
Tatsuhiro Tsujikawa 58bb1fa266 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-07 12:49:19 +00:00
Tatsuhiro Tsujikawa 151c0348d7 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 12:44:08 +00:00
Tatsuhiro Tsujikawa a41b927a57 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 11:35:45 +00:00
Tatsuhiro Tsujikawa 45f681b9dc 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-06 08:25:41 +00:00
Tatsuhiro Tsujikawa 9a6a73dd96 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 11:35:18 +00:00
Tatsuhiro Tsujikawa 3a1a8868d5 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 07:56:30 +00:00
Tatsuhiro Tsujikawa c44cf31df7 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 07:51:04 +00:00
Tatsuhiro Tsujikawa 7bc6fc54a1 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 07:43:49 +00:00
Tatsuhiro Tsujikawa 4100ba77c3 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 07:10:23 +00:00
Tatsuhiro Tsujikawa a7709947f2 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 06:44:40 +00:00
Tatsuhiro Tsujikawa 625a102d1b 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 12:48:54 +00:00
Tatsuhiro Tsujikawa 958c48abf9 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 07:39:50 +00:00
Tatsuhiro Tsujikawa 6a546813ba 2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added debug logs.
	* src/SocketCore.cc
2009-12-04 07:37:16 +00:00
Tatsuhiro Tsujikawa 5bb9eaec17 2009-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed type of tail to uint64_t
	* src/util.cc
2009-12-03 14:51:17 +00:00
Tatsuhiro Tsujikawa 4156debe5c 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-12-03 14:41:08 +00:00
Tatsuhiro Tsujikawa 33579a8b24 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 12:39:17 +00:00
Tatsuhiro Tsujikawa ddaad36680 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 10:28:24 +00:00
Tatsuhiro Tsujikawa 8f00669d7b 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 10:17:03 +00:00
Tatsuhiro Tsujikawa e208302947 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 06:43:38 +00:00
Tatsuhiro Tsujikawa 30ba476e9d 2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo
	* src/HttpRequest.h
2009-11-29 06:31:18 +00:00
Tatsuhiro Tsujikawa 5f082a9ff4 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 12:39:08 +00:00
Tatsuhiro Tsujikawa 6939be2765 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 12:32:07 +00:00
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