Commit Graph

2664 Commits (1eef862cc33e6f4fad021a1870c7a8af2fd93b7c)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 2bd5020f81 2010-08-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added bittorrent::packcompact() which replaces
	bittorrent::createcompact() and supports IPv6 addresses. Rewritten
	bittorrent::unpackcompact() and bittorrent::extractPeer() to
	support IPv6 addresses. Fixed added.f flags in ut_pex.
	* src/BtConstants.h
	* src/DHTFindNodeReplyMessage.cc
	* src/DHTGetPeersReplyMessage.cc
	* src/DHTMessageFactoryImpl.cc
	* src/DHTRoutingTableDeserializer.cc
	* src/DHTRoutingTableSerializer.cc
	* src/DHTTokenTracker.cc
	* src/DefaultBtAnnounce.cc
	* src/UTPexExtensionMessage.cc
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* test/BittorrentHelperTest.cc
	* test/DHTFindNodeReplyMessageTest.cc
	* test/DHTGetPeersReplyMessageTest.cc
	* test/DHTMessageFactoryImplTest.cc
	* test/DHTRoutingTableSerializerTest.cc
	* test/DefaultExtensionMessageFactoryTest.cc
	* test/UTPexExtensionMessageTest.cc
2010-08-03 11:44:24 +00:00
Tatsuhiro Tsujikawa 939a372727 2010-08-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --enable-async-dns6 option. This option enables IPv6 name
	resolution in asynchronous DNS resolver. This option will be
	ignored when --async-dns=false.
	* doc/aria2c.1.txt
	* src/AbstractCommand.cc
	* src/AsyncNameResolver.cc
	* src/AsyncNameResolver.h
	* src/DHTEntryPointNameResolveCommand.cc
	* src/OptionHandlerFactory.cc
	* src/download_helper.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-08-01 05:59:35 +00:00
Tatsuhiro Tsujikawa 3a0f45ec8d 2010-07-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use hostname of original URI when counting hostname in
	inFlightRequest.
	* src/FileEntry.cc
2010-07-31 14:02:24 +00:00
Tatsuhiro Tsujikawa 4280650e29 2010-07-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that
	AdaptiveFileAllocationIterator::getCurrentLength() does not return
	updated allocated bytes.
	* src/AdaptiveFileAllocationIterator.h
2010-07-31 13:58:25 +00:00
Tatsuhiro Tsujikawa 7958ce4366 2010-07-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added FTP EPSV and EPRT command support. aria2 issues these
	commands when address family of local socket is AF_INET6.
	* src/FtpConnection.cc
	* src/FtpConnection.h
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
	* src/SocketCore.cc
	* src/SocketCore.h
	* test/FtpConnectionTest.cc
2010-07-30 14:45:35 +00:00
Tatsuhiro Tsujikawa 20b7c8cd0e 2010-07-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that if hostname is numeric,
	AbstractCommand::resolveHostname() does not add its address to
	given addrs. This makes pooled socket is not used for that
	address.
	* src/AbstractCommand.cc
2010-07-30 14:38:31 +00:00
Tatsuhiro Tsujikawa a21e375baa 2010-07-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Set milliseconds in DownloadEngine::refreshInterval_.  Because
	there is difference in accuracy between epoll and clock_gettime(),
	we set DEFAULT_REFRESH_INTERVAL 900ms just lower than default
	timeout 1 sec for epoll. Also set update interval of
	ConsoleStatCalc to 900ms by the same reason.
	* src/ConsoleStatCalc.cc
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
2010-07-28 12:31:55 +00:00
Tatsuhiro Tsujikawa 27e96877b7 2010-07-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten check for fallocate using AC_COMPILE_IFELSE.
	* configure.ac
	* m4/fallocate.m4
2010-07-27 14:37:25 +00:00
Tatsuhiro Tsujikawa 253c0ba353 2010-07-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that HAVE_SOME_FALLOCATE gets undefined if fallocate
	is not available even if posix_fallocate is available. This causes
	FallocFileAllocationIterator.cc is out of compile targets and
	linker error.
	* configure.ac
2010-07-26 12:20:19 +00:00
Tatsuhiro Tsujikawa 6d054eb74f 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Release 1.10.0
2010-07-19 05:45:59 +00:00
Tatsuhiro Tsujikawa da668763a6 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added hidden select-least-used-host option.
	* src/CreateRequestCommand.cc
	* src/OptionHandlerFactory.cc
	* src/TrackerWatcherCommand.cc
	* src/prefs.cc
	* src/prefs.h
2010-07-19 05:37:40 +00:00
Tatsuhiro Tsujikawa a6a18e9ffe 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc for --split option.
	* src/usage_text.h
2010-07-19 05:02:52 +00:00
Tatsuhiro Tsujikawa f0f986077b 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc for --min-split-size option.
	* doc/aria2c.1.txt
	* src/usage_text.h
2010-07-19 04:50:00 +00:00
Tatsuhiro Tsujikawa d8ce5db577 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added max-connection-per-server, min-split-size and
	conditional-get option to -i list option and aria2rpc.
	* doc/aria2c.1.txt
	* doc/xmlrpc/aria2rpc
	* src/download_helper.cc
2010-07-19 04:46:04 +00:00
Tatsuhiro Tsujikawa 78601d277e 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed double free bug
	* src/Sqlite3CookieParserImpl.cc
2010-07-18 16:20:42 +00:00
Tatsuhiro Tsujikawa 07f91a28de 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with OSX g++ 4.0.1
	* src/FileEntry.h
	* test/FileEntryTest.cc
2010-07-18 15:49:53 +00:00
Tatsuhiro Tsujikawa af99aa31d9 Updated for 1.10.0 release 2010-07-18 15:35:30 +00:00
Tatsuhiro Tsujikawa 5e532638c7 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reverted default value of -j from 2 to 5.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
2010-07-18 15:16:31 +00:00
Tatsuhiro Tsujikawa 21887ddb7c 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Metadata download may take very long time. If URIs are
	available, give up metadata download in at most 30 seconds.
	* src/Metalink2RequestGroup.cc
2010-07-18 15:14:50 +00:00
Tatsuhiro Tsujikawa 05d8f8ffdb 2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Call RequestGroup::setForceHaltRequested(true) from
	BtStopDownloadCommand to avoid long delay of tracker request.
	* src/BtStopDownloadCommand.cc
2010-07-18 15:13:43 +00:00
Tatsuhiro Tsujikawa cd13647abe 2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Pass maxSplitSize as an argument, instead of member variable of
	DefaultPieceStorage. SegmentMan::getSegment(cuid_t,size_t index)
	was renamed to SegmentMan::getSegmentWithIndex(...)
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/DownloadCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/PieceStorage.h
	* src/RequestGroup.cc
	* src/SegmentMan.cc
	* src/SegmentMan.h
	* src/UnknownLengthPieceStorage.cc
	* src/UnknownLengthPieceStorage.h
	* test/MockPieceStorage.h
	* test/SegmentManTest.cc
2010-07-17 14:36:18 +00:00
Tatsuhiro Tsujikawa 27d5c2badc 2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed prepareForRetry from CreateRequestCommand
	* src/CreateRequestCommand.cc
	* src/CreateRequestCommand.h
2010-07-17 14:33:50 +00:00
Tatsuhiro Tsujikawa 100cd1afd6 2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Set PREF_REUSE_URI=V_FALSE for tracker request.
	* src/TrackerWatcherCommand.cc
2010-07-17 14:31:21 +00:00
Tatsuhiro Tsujikawa e7ca63949c 2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Bump up version number to 1.10.0
	* configure.ac
	* doc/aria2c.1.txt
2010-07-17 03:41:43 +00:00
Tatsuhiro Tsujikawa d0b727f6dc 2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Count the number of command used in HTTP(S)/FTP and the number of
	connections in HTTP(S)/FTP independently. The former is used to
	determin whether additional command is needed.  The latter is used
	to report user to how many connections are used in a download.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/CreateRequestCommand.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
2010-07-17 03:23:56 +00:00
Tatsuhiro Tsujikawa 036abeee11 2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Check status values: 200 and 206.
	* src/HttpResponse.cc
2010-07-16 16:21:45 +00:00
Tatsuhiro Tsujikawa 332a5bd4a1 2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reverted previous change and fixed it in a right way.
	* src/HttpDownloadCommand.cc
2010-07-16 16:19:45 +00:00
Tatsuhiro Tsujikawa 3886919101 2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Make sure that all decoders are finished to pool socket
	* src/HttpDownloadCommand.cc
2010-07-16 15:19:46 +00:00
Tatsuhiro Tsujikawa 9d5f19d5b1 2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed indent of --conditional-get option.
	* src/usage_text.h
2010-07-16 15:06:57 +00:00
Tatsuhiro Tsujikawa 34036e58af 2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --on-bt-download-complete=COMMAND option.  For BitTorrent, a
	command specified in --on-download-complete is called when
	download completes and seeding is over. On the other hand, this
	option set the command to be executed when download completes but
	before seeding.
	* doc/aria2c.1.txt
	* src/DefaultPieceStorage.cc
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* src/util.cc
	* src/util.h
2010-07-16 15:00:35 +00:00
Tatsuhiro Tsujikawa db23e29ecf 2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc of --split option.
	* doc/aria2c.1.txt
2010-07-16 14:26:31 +00:00
Tatsuhiro Tsujikawa b7e4018e45 2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved executeHook and executeHookByOptName to util.
	* src/RequestGroupMan.cc
	* src/util.cc
	* src/util.h
2010-07-16 14:22:57 +00:00
Tatsuhiro Tsujikawa 906215317a 2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --conditional-get option.  Download file only when the local
	file is older than remote file.  This function only works with
	HTTP(S) downloads only. It does not work if file size is specified
	in Metalink. It also ignores Content-Disposition header. If a
	control file exists, this option will be ignored. This function
	uses If-Modified-Since header to get only newer file
	conditionally. When getting modification time of local file, it
	uses user supplied filename(see --out option) or filename part in
	URI if --out is not specified.
	* doc/aria2c.1.txt
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpRequestCommand.cc
	* src/HttpResponse.cc
	* src/HttpResponseCommand.cc
	* src/OptionHandlerFactory.cc
	* src/TimeA2.cc
	* src/TimeA2.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/HttpResponseTest.cc
	* test/TimeTest.cc
2010-07-16 14:13:04 +00:00
Tatsuhiro Tsujikawa 55d98cff0b 2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
FeedbackURISelector now tries to select URI whose host is least
	used in aria2 globally. Reverted the previous change.
	* src/AdaptiveURISelector.cc
	* src/AdaptiveURISelector.h
	* src/CreateRequestCommand.cc
	* src/FeedbackURISelector.cc
	* src/FeedbackURISelector.h
	* src/FileEntry.cc
	* src/FileEntry.h
	* src/InOrderURISelector.cc
	* src/InOrderURISelector.h
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/URISelector.h
	* src/a2algo.h
	* test/FeedbackURISelectorTest.cc
	* test/InOrderURISelectorTest.cc
2010-07-15 13:49:02 +00:00
Tatsuhiro Tsujikawa 1984c2a542 2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Prefer untested server in FeedbackURISelector
	* src/FeedbackURISelector.cc
2010-07-15 11:48:32 +00:00
Tatsuhiro Tsujikawa 86222984cb 2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Documented --min-split-size option in man page.
	* doc/aria2c.1.txt
2010-07-15 11:43:21 +00:00
Tatsuhiro Tsujikawa 1ddaaf7614 2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --min-split-size=SIZE option.  aria2 does not split less
	than 2*SIZE byte range.  For example, let's consider downloading
	20MiB file. If SIZE is 10M, aria2 can split file into 2 range
	[0-10MiB) and [10MiB-20MiB) and download it using 2 sources(if
	--split >= 2, of course).  If SIZE is 15M, since 2*15M > 20MiB,
	aria2 does not split file and download it using 1 source.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/BitfieldManTest.cc
	* test/SegmentManTest.cc
2010-07-15 11:39:21 +00:00
Tatsuhiro Tsujikawa 55748de726 2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
FeedbackURISelector now tries to chooses URI which is not used in
	aria2 globally. If it is possible, it may return used URI.
	* src/AdaptiveURISelector.cc
	* src/AdaptiveURISelector.h
	* src/CreateRequestCommand.cc
	* src/FeedbackURISelector.cc
	* src/FeedbackURISelector.h
	* src/FileEntry.cc
	* src/FileEntry.h
	* src/InOrderURISelector.cc
	* src/InOrderURISelector.h
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/URISelector.h
	* test/FeedbackURISelectorTest.cc
	* test/InOrderURISelectorTest.cc
2010-07-14 14:10:33 +00:00
Tatsuhiro Tsujikawa f8bfc9e167 2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc for options.
	* doc/aria2c.1.txt
2010-07-14 11:43:36 +00:00
Tatsuhiro Tsujikawa c99960aa33 2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --max-connection-per-server=NUM option. The default value of
	NUM is 1. This option limits the number of connections allowed to
	one server for each download. This means when NUM is 2 and 1 URI
	is provided, even if you specified -s 5, aria2 establishes 2
	connections. Default value of -j option is changed from 5 to 2.
	* src/BtDependency.cc
	* src/CreateRequestCommand.cc
	* src/FileEntry.cc
	* src/FileEntry.h
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/Metalink2RequestGroup.cc
	* src/OptionHandlerFactory.cc
	* src/TrackerWatcherCommand.cc
	* src/download_helper.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DownloadHelperTest.cc
	* test/FileEntryTest.cc
2010-07-14 11:39:05 +00:00
Tatsuhiro Tsujikawa 8274432f14 2010-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Set end byte in Range header if start byte > 0 to get more chance
	to pool socket.
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/DownloadCommand.cc
	* src/HttpDownloadCommand.cc
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpRequestCommand.cc
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.h
	* test/DefaultPieceStorageTest.cc
	* test/HttpRequestTest.cc
	* test/MockPieceStorage.h
2010-07-12 11:55:23 +00:00
Tatsuhiro Tsujikawa bd73c20c4d 2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved segment empty check before socket check.
	* src/AbstractCommand.cc
2010-07-11 14:28:18 +00:00
Tatsuhiro Tsujikawa f3b097b5af 2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that segments are not filled to
	Request::getMaxPipelinedRequest().
	Make sure that trailing data of transfer encoding is read propery,
	after file data is received.
	* src/AbstractCommand.cc
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
	* src/FtpDownloadCommand.cc
	* src/FtpDownloadCommand.h
	* src/HttpDownloadCommand.cc
	* src/HttpDownloadCommand.h
2010-07-11 14:21:17 +00:00
Tatsuhiro Tsujikawa f98a180323 2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
After change request to faster one, wait at least 10 seconds.
	* src/FileEntry.cc
	* src/FileEntry.h
2010-07-11 14:17:05 +00:00
Tatsuhiro Tsujikawa 20cea7f693 2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed ChunkedDecoder. It does not read trailer and final CRLF.
	* src/ChunkedDecoder.cc
	* src/ChunkedDecoder.h
	* test/ChunkedDecoderTest.cc
2010-07-11 14:15:36 +00:00
Tatsuhiro Tsujikawa eecb81dc60 2010-07-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unusable typedefs
	* src/FileAllocationIterator.h
	* src/MultiDiskAdaptor.cc
	* src/MultiFileAllocationIterator.h
	* src/SingleFileAllocationIterator.h
2010-07-10 08:13:01 +00:00
Tatsuhiro Tsujikawa 8d2ca8e03c 2010-07-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that DownloadContext::resetDownloadStartTime() never
	be called in downloads whose total length is unknown.  This causes
	avg speed in Download Results is always 0 for these downloads.
	* src/RequestGroup.cc
	* src/BtFileAllocationEntry.cc
	* src/StreamFileAllocationEntry.cc
2010-07-10 07:34:20 +00:00
Tatsuhiro Tsujikawa 53c4de7ffd 2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that AdaptiveFileAllocationIterator::finished()
	returns false even if offset_ >= totalLength_. This causes
	ftruncate error for seeding torrents.
	* src/AdaptiveFileAllocationIterator.cc
2010-07-09 13:45:43 +00:00
Tatsuhiro Tsujikawa f285f66ac8 2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Send each CWD component of FTP URI in separate CWD command as
	described in RFC1738.
	* src/FtpConnection.cc
	* src/FtpConnection.h
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
	* test/FtpConnectionTest.cc
2010-07-09 11:48:59 +00:00
Tatsuhiro Tsujikawa be423e2c77 2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Documented that aria2 supports Chromium/Google Chrom cookies file.
	* doc/aria2c.1.txt
	* README
2010-07-08 16:51:49 +00:00