Commit Graph

2490 Commits (847ebd54bcc610e8c83e713a39e9a8527240515f)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 51308002d3 2010-10-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't reuse socket which is readable because we assume that if
	socket is readable it means peer shutdowns connection and the
	socket will receive EOF. Added default timeout value to
	DownloadEngine::poolSocket().
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
2010-10-19 14:02:47 +00:00
Tatsuhiro Tsujikawa 6b74a27586 2010-10-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that file allocation is enabled in HTTP even if
	--file-allocation=none is specified.
	* src/HttpResponseCommand.cc
2010-10-19 13:46:51 +00:00
Tatsuhiro Tsujikawa 942f4c00a9 2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten AbstractDiskWriter::openFile() without File::exists().
	* src/AbstractCommand.cc
2010-10-11 15:15:13 +00:00
Tatsuhiro Tsujikawa 4ddc6eac58 2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added errno member variable to Exception.
	* src/DlAbortEx.cc
	* src/DlAbortEx.h
	* src/Exception.cc
	* src/Exception.h
	* src/RecoverableException.cc
	* src/RecoverableException.h
2010-10-11 15:13:53 +00:00
Tatsuhiro Tsujikawa 8bfe35d3f2 2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Simplified directory creation.
	* src/DHTAutoSaveCommand.cc
2010-10-11 15:10:28 +00:00
Tatsuhiro Tsujikawa b3036d5840 2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Skip ";" after name value pair.
	* src/cookie_helper.cc
2010-10-11 15:09:06 +00:00
Tatsuhiro Tsujikawa b56a0a6d79 2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::mkdirs()
	* src/util.cc
2010-10-11 15:08:09 +00:00
Tatsuhiro Tsujikawa 1a13d35406 2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten File::mkdirs()
	* src/File.cc
2010-10-11 15:07:26 +00:00
Tatsuhiro Tsujikawa 119b9a8448 2010-10-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use RFC1123 date format in debug log of MDTM response and
	last-modified time and creation date of .torrent file printed
	using -S.
	* src/FtpNegotiationCommand.cc
	* src/RequestGroup.cc
	* src/bittorrent_helper.cc
2010-10-11 12:40:20 +00:00
Tatsuhiro Tsujikawa f6dbba5427 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Retrieve last access time from sqlite3 cookie database.
	* src/CookieStorage.cc
	* src/Sqlite3CookieParser.cc
	* src/Sqlite3CookieParser.h
	* src/Sqlite3CookieParserImpl.cc
	* test/Sqlite3CookieParserTest.cc
	* test/chromium_cookies.sqlite
	* test/cookies.sqlite
2010-10-10 09:53:30 +00:00
Tatsuhiro Tsujikawa bcddb4cfa3 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Remove expired cookies first when cookies_ is full.
	* src/CookieStorage.cc
2010-10-10 09:22:04 +00:00
Tatsuhiro Tsujikawa 0abd4a2f7b 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::split()
	* src/util.h
	* test/UtilTest.cc
2010-10-10 06:58:31 +00:00
Tatsuhiro Tsujikawa 8f173868dc 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/cookie_helper.cc
2010-10-10 03:43:20 +00:00
Tatsuhiro Tsujikawa 1875d7382f 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced util::split(a,b,c) and util::split(a,b) with
	util::divide()
	* src/ExpatMetalinkProcessor.cc
	* src/FtpConnection.cc
	* src/HttpHeader.cc
	* src/HttpResponse.cc
	* src/HttpServer.cc
	* src/OptionParser.cc
	* src/ParameterizedStringParser.cc
	* src/ServerStatMan.cc
	* src/magnet.cc
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-10-10 03:39:00 +00:00
Tatsuhiro Tsujikawa 983b6006fd 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Append 'u' to hex mask.
	* src/Base64.cc
	* src/BitfieldMan.cc
	* src/BtHandshakeMessage.cc
	* src/BtHandshakeMessage.h
	* src/DHTBucket.cc
	* src/DHTRoutingTableDeserializer.cc
	* src/DHTRoutingTableSerializer.cc
	* src/DefaultBtProgressInfoFile.cc
	* src/MSEHandshake.h
	* src/MultiUrlRequestInfo.cc
	* src/Platform.cc
	* src/SpeedCalc.cc
	* src/UTPexExtensionMessage.cc
	* src/a2netcompat.h
	* src/base32.cc
	* src/bitfield.h
	* src/bittorrent_helper.cc
	* src/cookie_helper.cc
	* src/util.h
2010-10-10 03:08:30 +00:00
Tatsuhiro Tsujikawa 8e059b66fa 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added util::lowercase() and util::uppercase().
	* src/cookie_helper.cc
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-10-10 02:51:38 +00:00
Tatsuhiro Tsujikawa 1505671e7b 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use util::strip() instead of util::trim()
	* src/ExpatXmlRpcRequestProcessor.cc
	* src/FeatureConfig.cc
	* src/HttpHeader.cc
	* src/MetalinkParserStateV3Impl.cc
	* src/OptionHandlerImpl.h
	* src/ServerStatMan.cc
	* src/UriListParser.cc
	* src/Xml2XmlRpcRequestProcessor.cc
	* src/bittorrent_helper.cc
	* src/cookie_helper.cc
	* src/messageDigest.cc
	* src/util.cc
	* src/util.h
	* test/FeatureConfigTest.cc
	* test/HttpRequestTest.cc
	* test/UriListParserTest.cc
	* test/UtilTest.cc
2010-10-09 16:49:02 +00:00
Tatsuhiro Tsujikawa dbea00fa9d 2010-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added util::strip()
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-10-09 16:22:56 +00:00
Tatsuhiro Tsujikawa b8f8a14937 2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't append slash in CookieStorage::criteriaFind().  Append file
	part of URI to request-uri in HttpRequest::createRequest().  This
	change reverts the part of the previous change:"The
	request-path must be ends with '/' so that request-path '/foo/'
	path-matches cookie-path '/foo' and '/foo/' in the proposed
	algorithm."
	* src/CookieStorage.cc
	* src/HttpRequest.cc
2010-10-09 14:38:47 +00:00
Tatsuhiro Tsujikawa 8b17d4b276 2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten Cookie class and Cookie parser based on
	http://tools.ietf.org/html/draft-ietf-httpstate-cookie-14 with
	some modifications. When parsing cookie date, match time first so
	that it parses asctime() format. The request-path must be ends
	with '/' so that request-path '/foo/' path-matches cookie-path
	'/foo' and '/foo/' in the proposed algorithm.
	* src/Cookie.cc
	* src/Cookie.h
	* src/CookieParser.cc: Removed
	* src/CookieParser.h: Removed
	* src/CookieStorage.cc
	* src/CookieStorage.h
	* src/HttpResponse.cc
	* src/Makefile.am
	* src/Makefile.in
	* src/MultiUrlRequestInfo.cc
	* src/NsCookieParser.cc
	* src/NsCookieParser.h
	* src/Sqlite3CookieParser.cc
	* src/Sqlite3CookieParser.h
	* src/a2functional.h
	* src/cookie_helper.cc
	* src/cookie_helper.h
	* src/util.cc
	* src/util.h
	* test/CookieBoxFactoryTest.cc: Removed
	* test/CookieHelperTest.cc
	* test/CookieParserTest.cc: Removed
	* test/CookieStorageTest.cc
	* test/CookieTest.cc
	* test/HttpRequestTest.cc
	* test/Makefile.am
	* test/Makefile.in
	* test/NsCookieParserTest.cc
	* test/Sqlite3CookieParserTest.cc
	* test/TestUtil.cc
	* test/TestUtil.h
	* test/a2functionalTest.cc
	* test/chromium_cookies.sqlite
	* test/cookies.sqlite
	* test/nscookietest.txt
2010-10-09 14:22:49 +00:00
Tatsuhiro Tsujikawa 9b1280f7a3 2010-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Supported ANSI C's asctime() format in Time::parseHTTPDate().
	Added Time::parseAsctime(). Changed order of application of parse
	functions. I could not remember why parseRFC850() was tried first.
	* src/TimeA2.cc
	* src/TimeA2.h
	* test/TimeTest.cc
2010-10-04 15:12:27 +00:00
Tatsuhiro Tsujikawa 5db7b123b5 2010-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use inet_ntoa if inet_ntop is not available. Since inet_ntoa does
	not handle IPv6 address, IPv6 support is limited in this
	case. Fixed unit test error under mingw32.
	* configure.ac
	* src/AsyncNameResolver.cc
	* src/SocketCore.cc
	* src/bittorrent_helper.cc
	* test/BittorrentHelperTest.cc
	* test/DHTMessageFactoryImplTest.cc
	* test/DHTRoutingTableDeserializerTest.cc
	* test/DHTRoutingTableSerializerTest.cc
	* test/DefaultBtAnnounceTest.cc
	* test/Metalink2RequestGroupTest.cc
	* test/UTPexExtensionMessageTest.cc
2010-10-04 14:33:49 +00:00
Tatsuhiro Tsujikawa 329de2a9b5 2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reverted the previous change in src/MultiUrlRequestInfo.cc.
	Change log level of warning message about CA certificates to info.
	* src/MultiUrlRequestInfo.cc
2010-10-03 14:13:03 +00:00
Tatsuhiro Tsujikawa be2cd51e1b 2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed warning message when CA certificates are not imported.
	--ca-certificate and --check-certificate option were added to the
	error message displayed when certificate verification failed.
	* src/MultiUrlRequestInfo.cc
	* src/message.h
2010-10-03 14:07:57 +00:00
Tatsuhiro Tsujikawa af207e6cd8 2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Print message when performing slow file allocation at first time.
	* src/SingleFileAllocationIterator.cc
	* src/SingleFileAllocationIterator.h
2010-10-03 13:31:58 +00:00
Tatsuhiro Tsujikawa 32d4ffa8ee 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error on OpenBSD4.7(i386). In openssl.m4, we first
	search libcrypto and then libssl because libssl depends on
	libcrypto on OpenBSD.
	* src/Netrc.cc
	* src/Netrc.h
	* src/Triplet.h
	* src/openssl.m4
2010-10-03 09:19:33 +00:00
Tatsuhiro Tsujikawa 584af68e19 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Execute 5 DHT tasks concurrently in each task queue.
	* src/DHTTaskExecutor.cc
	* src/DHTTaskExecutor.h
	* src/DHTTaskQueueImpl.cc
	* src/DHTTaskQueueImpl.h
	* src/Makefile.am
	* test/DHTTaskExecutorTest.cc
	* test/Makefile.am
	* test/MockDHTTask.h
2010-10-02 14:38:37 +00:00
Tatsuhiro Tsujikawa 7375a778c4 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that FtpFinishDownloadCommand does not handle
	timeout. This means it waits for the remote server to send "226
	Transfer Complete" message *without* its own timeout until the
	remote server shutdowns connection(we can detect EOF in this
	case).
	* src/AbstractCommand.h
	* src/FtpFinishDownloadCommand.cc
2010-10-02 10:12:10 +00:00
Tatsuhiro Tsujikawa 86d4d1963a 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup util::percentEncode()
	* src/util.cc
2010-10-02 08:31:28 +00:00
Tatsuhiro Tsujikawa 29d40a666f 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made string literal static std::string in
	util::detectDirTraversal().
	* src/util.cc
2010-10-02 08:29:15 +00:00
Tatsuhiro Tsujikawa d5e0046f29 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::escapePath(). Now it does not replace bad chars:it
	performs percent-encode against them.  util::fixTaintedBasename()
	now replaces "/" with "%2F".  Added 0x7f as bad chars in
	util::detectDirTraversal().
	* src/util.cc
	* test/UtilTest.cc
2010-10-02 08:20:10 +00:00
Tatsuhiro Tsujikawa d956ea0b70 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Non-UTF8 filenames are now percent-encoded.  For example, filename
	for http://example.org/%90%A2%8AE will be %90%A2%8AE because it is
	Shift_JIS. The comments and name in .torrent file in XML-RPC
	response are percent-encoded if they are not UTF-8.
	* src/FtpNegotiationCommand.cc
	* src/HttpRequestCommand.cc
	* src/HttpResponseCommand.cc
	* src/XmlRpcMethodImpl.cc
	* src/bittorrent_helper.cc
	* src/util.cc
	* src/util.h
	* test/BittorrentHelperTest.cc
	* test/UtilTest.cc
2010-10-02 07:54:43 +00:00
Tatsuhiro Tsujikawa 6c348f0493 2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed TripletGet as TupleGet. Renamed TripletNthType as
	TupleNthType. Renamed Triplet2Pair as Tuple2Pair.
	* src/RequestGroupMan.cc
	* src/Triplet.h
	* test/TripletTest.cc
2010-09-26 07:23:00 +00:00
Tatsuhiro Tsujikawa 6a07182b0d 2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use class instead of typename for Triplet template parameter.
	* src/Triplet.h
2010-09-26 06:56:26 +00:00
Tatsuhiro Tsujikawa 41a096035c 2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten TripletGet.
	* src/Triplet.h
2010-09-26 06:54:25 +00:00
Tatsuhiro Tsujikawa e07f7207fa 2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten TripletNthType.
	* src/Triplet.h
	* test/TripletTest.cc
2010-09-26 06:46:12 +00:00
Tatsuhiro Tsujikawa aabd7b75f9 2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Sort usedHosts by least used and faster download speed.
	* src/Makefile.am
	* src/RequestGroupMan.cc
	* src/Triplet.h
	* test/Makefile.am
	* test/TripletTest.cc
2010-09-26 05:47:12 +00:00
Tatsuhiro Tsujikawa ac7d8dc483 2010-09-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made small optimization.
	* src/DownloadCommand.cc
2010-09-23 11:49:37 +00:00
Tatsuhiro Tsujikawa aea9199b40 2010-09-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reset download start time of PeerStat because it is started before
	file allocation begins. Without reset, we have incorrect download
	time and aria2 wrongly determines that download speed is too low
	if --lowest-speed-limit is used.
	* src/StreamFileAllocationEntry.cc
2010-09-23 10:10:16 +00:00
Tatsuhiro Tsujikawa c56a9bc669 2010-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added keys parameter to aria2.tellStatus, aria2.tellActive,
	aria2.tellWaiting and aria2.tellStopped XML-RPC method.  'keys' is
	array of string. If it is specified, the response contains only
	keys in 'keys' array. If 'keys' is empty or not specified, the
	response contains all keys.  This is useful when you just want
	specific keys and avoid unnecessary transfers. For example,
	*aria2.tellStatus*("1", ["gid", "status"]) returns 'gid' and
	'status' key. Made get*Param() functions XmlRpcRequest's
	methods and changed portions of the code that were affected by
	this change.
	* doc/aria2c.1.txt
	* src/Makefile.am
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* src/XmlRpcRequest.cc
	* src/XmlRpcRequest.h
	* test/XmlRpcMethodTest.cc
2010-09-19 09:49:11 +00:00
Tatsuhiro Tsujikawa 50a89e2592 2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Print a message in console when download is not complete.
	* src/RequestGroupMan.cc
2010-09-15 12:37:02 +00:00
Tatsuhiro Tsujikawa 1d2080361d 2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't set error in ServerStat just because resource is not
	there. We can still use the server for other resources.
	* src/AbstractCommand.cc
2010-09-15 12:22:31 +00:00
Tatsuhiro Tsujikawa 2c3411f709 2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Disabled --dry-run in multi-file download for now.
	* src/RequestGroup.cc
2010-09-15 12:15:54 +00:00
Tatsuhiro Tsujikawa a27968beda 2010-09-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that a file gets overwritten if -V is given and no
	hash is provided. Fixed the bug that --dry-run leads download
	error. Added RequestGroup::createCheckIntegrityEntry() which
	correctly creates CheckIntegrityEntry objects and open files based
	on -V option and the existence of control file.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/ChecksumCheckIntegrityEntry.cc
	* src/DownloadContext.cc
	* src/DownloadContext.h
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/PieceHashCheckIntegrityEntry.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupEntry.cc
	* src/RequestGroupEntry.h
2010-09-15 11:46:25 +00:00
Tatsuhiro Tsujikawa 1906832f43 2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error without zlib
	* src/HttpResponseCommand.cc
2010-09-13 13:31:09 +00:00
Tatsuhiro Tsujikawa 6b6e6bc495 2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed ChunkedDecoder. Moved GZipDecodingStreamFilter to under
	'if HAVE_LIBZ'.
	* src/ChunkedDecoder.cc
	* src/ChunkedDecoder.h
	* src/Makefile.am
	* test/ChunkedDecoderTest.cc
	* test/Makefile.am
2010-09-13 12:14:07 +00:00
Tatsuhiro Tsujikawa 7f9e70e5c8 2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/RequestGroup.cc
2010-09-13 11:53:38 +00:00
Tatsuhiro Tsujikawa 97953dd1ae 2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that error occurs when downloading zero-length file.
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
2010-09-13 11:47:04 +00:00
Tatsuhiro Tsujikawa 5bf8a53b3f 2010-09-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error without OpenSSL/GnuTLS.
	* src/DownloadCommand.cc
2010-09-11 15:57:41 +00:00
Tatsuhiro Tsujikawa 70ebb788b2 2010-09-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error without BitTorrent support and OpenSSL/GnuTLS.
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
	* src/RequestGroup.cc
2010-09-11 15:54:53 +00:00
Tatsuhiro Tsujikawa 9eaf3ccb0f 2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced V_TRUE with A2_V_TRUE. Replaced V_FALSE with A2_V_FALSE.
	* src/AbstractCommand.cc
	* src/HttpResponseCommand.cc
	* src/Option.cc
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/TrackerWatcherCommand.cc
	* src/download_helper.cc
	* src/main.cc
	* src/prefs.cc
	* src/prefs.h
	* test/AuthConfigFactoryTest.cc
	* test/DefaultBtProgressInfoFileTest.cc
	* test/DownloadHelperTest.cc
	* test/HttpRequestTest.cc
	* test/OptionHandlerTest.cc
	* test/UTMetadataPostDownloadHandlerTest.cc
	* test/XmlRpcMethodTest.cc
2010-09-11 12:48:03 +00:00
Tatsuhiro Tsujikawa f82ffef460 2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added short option -k for --min-split-size option and -x for
	--max-connection-per-server option. Raised maximum value of
	--max-connection-per-server up to 16.
	* src/OptionHandlerFactory.cc
	* src/usage_text.h
2010-09-11 12:15:41 +00:00
Tatsuhiro Tsujikawa 80edde0205 2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use uri::parse instead of Request::setUri() where just URI parser
	is needed.
	* src/AbstractCommand.cc
	* src/AdaptiveURISelector.cc
	* src/DefaultBtAnnounce.cc
	* src/FeedbackURISelector.cc
	* src/FileEntry.cc
	* src/HttpResponseCommand.cc
	* src/ProtocolDetector.cc
	* src/Request.cc
	* src/RequestGroupMan.cc
2010-09-11 12:09:19 +00:00
Tatsuhiro Tsujikawa ec3bd81486 2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved URI parser code to uri.h, uri.cc to provide fast URI parser
	without Request object initialization.
	* src/Makefile.am
	* src/Request.cc
	* src/uri.cc
	* src/uri.h
	* test/Makefile.am
	* test/RequestTest.cc
	* test/UriTest.cc
2010-09-11 09:11:57 +00:00
Tatsuhiro Tsujikawa cb796432ec 2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Store last error of removed download result so that it can be used
	as exit status.
	* src/RequestGroupMan.cc
2010-09-10 15:03:40 +00:00
Tatsuhiro Tsujikawa f26685ded1 2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --max-download-result=NUM option. This option sets maximum
	number of download result kept in memory. The download results are
	completed/error/ removed downloads. The download results are
	stored in FIFO queue and it can store at most NUM download
	results. When queue is full and new download result is created,
	oldest download result is removed from the front of the queue and
	new one is pushed to the back. Setting big number in this option
	may result high memory consumption after thousands of
	downloads. Specifying 0 means no download result is kept.  Default
	value is 1000.
	* src/OptionHandlerFactory.cc
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-09-10 14:13:50 +00:00
Tatsuhiro Tsujikawa 32e3ebf112 2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Check hash(hash for entire file, not piece hash) if
	--check-integrity option is given and file is
	downloaded(determined by file length). If it fails, re-download
	file.
	* src/AbstractCommand.cc
	* src/ChecksumCheckIntegrityEntry.cc
	* src/ChecksumCheckIntegrityEntry.h
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/RequestGroup.cc
2010-09-10 11:52:16 +00:00
Tatsuhiro Tsujikawa 6e7dd1650e 2010-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Make finished() return true only when offset == totalLength.
	* src/AdaptiveFileAllocationIterator.cc
	* src/SingleFileAllocationIterator.cc
2010-09-10 11:46:43 +00:00
Tatsuhiro Tsujikawa d687886c24 2010-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved connectedHostname, connectedAddr and connectedPort to
	Request object. Mark cached IP address bad on timeout to allow
	aria2 to renew IP address cache.
	* src/AbstractCommand.cc
	* src/AbstractProxyRequestCommand.cc
	* src/AbstractProxyRequestCommand.h
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpRequestCommand.cc
	* src/HttpRequestCommand.h
	* src/InitiateConnectionCommand.cc
	* src/InitiateConnectionCommand.h
	* src/Request.cc
	* src/Request.h
2010-09-09 12:00:42 +00:00
Tatsuhiro Tsujikawa 420500f6bf 2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Call RequestGroupMan::fillRequestGroupFromReserver() repeatedly
	while RequestGroupMan::requestQueueCheck() is true.
	* src/FillRequestGroupCommand.cc
2010-09-08 14:42:03 +00:00
Tatsuhiro Tsujikawa c51815dd52 2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use const ref
	* src/MultiUrlRequestInfo.cc
2010-09-08 14:39:34 +00:00
Tatsuhiro Tsujikawa 32e1aa1b59 2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that aria2 reports error and exits with non-zero
	status when file is already downloaded.
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/RequestGroup.cc
2010-09-08 14:38:32 +00:00
Tatsuhiro Tsujikawa bf9fd473bb 2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Allow '@' in username and password embedded in URI. It should be
	percent-encoded but many people use their mail address as an
	username and forget about PE.
	* src/Request.cc
	* test/RequestTest.cc
2010-09-08 14:35:30 +00:00
Tatsuhiro Tsujikawa f5b3a820ef 2010-09-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Parse original URI when removing same host.
	* src/HttpResponseCommand.cc
2010-09-06 14:52:19 +00:00
Tatsuhiro Tsujikawa efbfe4c006 2010-09-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Data from remote server in HTTP/FTP download are now written to
	the disk(or memory) through StreamFilter. Decoding chunked and
	gziped streams are done cascading StreamFilter.
	Removed inefficient 1byte read code.
	* src/ChunkedDecodingStreamFilter.cc
	* src/ChunkedDecodingStreamFilter.h
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
	* src/GZipDecodingStreamFilter.cc
	* src/GZipDecodingStreamFilter.h
	* src/HttpConnection.cc
	* src/HttpDownloadCommand.cc
	* src/HttpResponse.cc
	* src/HttpResponse.h
	* src/HttpResponseCommand.cc
	* src/HttpResponseCommand.h
	* src/HttpSkipResponseCommand.cc
	* src/HttpSkipResponseCommand.h
	* src/Makefile.am
	* src/NullSinkStreamFilter.cc
	* src/NullSinkStreamFilter.h
	* src/RequestGroup.cc
	* src/SinkStreamFilter.cc
	* src/SinkStreamFilter.h
	* src/StreamFilter.cc
	* src/StreamFilter.h
	* test/ChunkedDecodingStreamFilterTest.cc
	* test/GZipDecodingStreamFilterTest.cc
	* test/HttpResponseTest.cc
	* test/Makefile.am
	* test/MockSegment.h
2010-09-06 14:29:36 +00:00
Tatsuhiro Tsujikawa 94482144f2 2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Enclosed classes and structs declared in *.cc files unnamed
	namespace. Added static keyword for function template in *.cc
	files(TODO we should use unnamed namespace instead of static).
	* src/AbstractCommand.cc
	* src/AnnounceList.cc
	* src/BtLeecherStateChoke.cc
	* src/BtLeecherStateChoke.h
	* src/BtSeederStateChoke.cc
	* src/BtSeederStateChoke.h
	* src/ConsoleStatCalc.cc
	* src/ContentTypeRequestGroupCriteria.cc
	* src/CookieStorage.cc
	* src/DHTBucket.cc
	* src/DHTPeerAnnounceEntry.cc
	* src/DHTPeerAnnounceStorage.cc
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtRequestFactory.cc
	* src/DefaultPeerStorage.cc
	* src/DefaultPieceStorage.cc
	* src/ExpatMetalinkProcessor.cc
	* src/ExpatXmlRpcRequestProcessor.cc
	* src/FeedbackURISelector.cc
	* src/FileEntry.cc
	* src/Metalink2RequestGroup.cc
	* src/MetalinkEntry.cc
	* src/Metalinker.cc
	* src/MultiDiskAdaptor.cc
	* src/Netrc.cc
	* src/OptionParser.cc
	* src/PieceStatMan.cc
	* src/RarestPieceSelector.cc
	* src/RequestGroupMan.cc
	* src/SegmentMan.cc
	* src/ServerStatMan.cc
	* src/XML2SAXMetalinkProcessor.cc
	* src/Xml2XmlRpcRequestProcessor.cc
	* src/XmlRpcResponse.cc
	* src/a2algo.h
	* src/download_helper.cc
2010-08-31 13:33:05 +00:00
Tatsuhiro Tsujikawa f9d68a4ecf 2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
In .netrc file, if machine name starts ".", aria2 performs domain
	match instead of exact match. This is an extension of aria2.
	* src/Netrc.h
2010-08-31 11:53:48 +00:00
Tatsuhiro Tsujikawa 5cb09dabf5 2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug which prevents HTTP redirection from working when
	downloading multiple files from same host.
	* src/AbstractCommand.cc
	* src/FileEntry.cc
2010-08-31 11:17:38 +00:00
Tatsuhiro Tsujikawa 98c5a86684 2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added a note about the number of connections to help message.
	* src/version_usage.cc
2010-08-29 13:46:21 +00:00
Tatsuhiro Tsujikawa 9d58a5cefb 2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Run PeerLookupTask more frequently when the number of peer is low.
	* src/DHTGetPeersCommand.cc
	* src/DHTGetPeersCommand.h
2010-08-29 12:43:40 +00:00
Tatsuhiro Tsujikawa c0b0e4f761 2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Drop connection when bad ut_metadata is received..
	* src/UTMetadataDataExtensionMessage.cc
2010-08-29 12:40:56 +00:00
Tatsuhiro Tsujikawa 2b93562528 2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Drop connection when BtRuntime::isHalt() is true.
	* src/PeerReceiveHandshakeCommand.cc
2010-08-29 12:39:30 +00:00
Tatsuhiro Tsujikawa 0968d4fedd 2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed getMissingFastPiece(piece) and getMissingFastPiece(piece,
	excludedIndexes) from PieceStorage. Done some code cleanup.
	* src/DefaultPieceStorage.h
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.cc
	* src/UnknownLengthPieceStorage.h
	* test/MockPieceStorage.h
2010-08-29 09:24:17 +00:00
Tatsuhiro Tsujikawa 4b2d1deff6 2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Pass excludedIndexes when getting metadata piece.
	* src/UTMetadataRequestFactory.cc
	* test/UTMetadataRequestFactoryTest.cc
2010-08-29 09:22:06 +00:00
Tatsuhiro Tsujikawa e997903e5d 2010-08-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added a sets of overloaded functions for
	PieceStorage::getMissingPiece() and getMissingFastPiece() to get
	multiple pieces more efficiently.
	* src/DefaultBtInteractive.cc
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.cc
	* src/UnknownLengthPieceStorage.h
	* test/DefaultPieceStorageTest.cc
	* test/MockPieceStorage.h
2010-08-29 08:53:19 +00:00
Tatsuhiro Tsujikawa b49081340d 2010-08-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Changed signature of util::executeHook().
	* src/RequestGroupMan.cc
	* src/util.cc
	* src/util.h
2010-08-28 08:47:21 +00:00
Tatsuhiro Tsujikawa 33da745070 2010-08-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added bt-tracker and bt-exclude-tracker to -i list option.
	* doc/aria2c.1.txt
	* doc/xmlrpc/aria2rpc
	* src/download_helper.cc
2010-08-27 11:58:10 +00:00
Tatsuhiro Tsujikawa b9522dea25 2010-08-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't listen on IPv6 socket for BitTorrent, DHT, XML-RPC if
	--disable-ipv6 is true.
	* src/BtSetup.cc
	* src/DownloadEngineFactory.cc
	* src/RequestGroup.cc
2010-08-27 11:48:09 +00:00
Tatsuhiro Tsujikawa 5bcc0ba60a 2010-08-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused debug log.
	* src/DefaultBtInteractive.cc
2010-08-27 11:46:49 +00:00
Tatsuhiro Tsujikawa 835de071f2 2010-08-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Enter end game mode as soon as all pieces are assigned to peer to
	avoid substantial slow down at the very last stage of download.
	* src/DefaultBtInteractive.cc
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.h
	* test/MockPieceStorage.h
2010-08-26 14:49:40 +00:00
Tatsuhiro Tsujikawa 7633410ebf 2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Set max outstanding request size to 100. Set stepping to 6.
	* src/BtConstants.h
	* src/DefaultBtInteractive.cc
2010-08-25 13:52:37 +00:00
Tatsuhiro Tsujikawa 065cde0aa5 2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Bump up DHT version to 2.
	* src/DHTConstants.h
2010-08-25 12:35:18 +00:00
Tatsuhiro Tsujikawa bfed6e5e31 2010-08-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added error message when given address and resolved address do not
	match in SocketCore::bind().
	* src/SocketCore.cc
2010-08-25 12:32:29 +00:00
Tatsuhiro Tsujikawa 26bf5ab5e2 2010-08-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-tracker and --bt-exclude-tracker option.  In
	--bt-tracker option, you can specify comma separated list of
	additional BitTorrent tracker's announce URI. These URIs are not
	affected by --bt-exclude-tracker option because they are added
	after URIs in --bt-exclude-tracker option are removed.  In
	--bt-exclude-tracker option, you can specify comma separated list
	of BitTorrent tracker's announce URI to remove. You can use
	special value '*' which matches all URIs, thus removes all
	announce URIs. When specifying '*' in shell command-line, don't
	forget to escape or quote it.
	* src/BtDependency.cc
	* src/OptionHandlerFactory.cc
	* src/UTMetadataPostDownloadHandler.cc
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* src/download_helper.cc
	* src/download_helper.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/BittorrentHelperTest.cc
	* test/DownloadHelperTest.cc
2010-08-24 14:21:12 +00:00
Tatsuhiro Tsujikawa a977bffbf5 2010-08-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/DefaultPeerStorage.cc
2010-08-24 11:40:23 +00:00
Tatsuhiro Tsujikawa f5bd49598b 2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated usage.
	* src/usage_text.h
2010-08-22 11:34:53 +00:00
Tatsuhiro Tsujikawa 9b9f3a6c63 2010-08-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed uitos(). Use util::uitos() instead.
	* src/SocketCore.cc
2010-08-22 11:16:08 +00:00
Tatsuhiro Tsujikawa d7902f0ed7 2010-08-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't try to send empty string.
	* src/SocketBuffer.cc
	* src/SocketBuffer.h
2010-08-21 13:57:57 +00:00
Tatsuhiro Tsujikawa 8958b92d91 2010-08-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Listen both IPv4 and IPv6 for BitTorrent protocol.
	* src/BtSetup.cc
	* src/PeerListenCommand.cc
	* src/PeerListenCommand.h
2010-08-14 06:52:35 +00:00
Tatsuhiro Tsujikawa 3d9bae9170 2010-08-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added debug log
	* src/DHTPeerLookupTask.cc
2010-08-14 06:50:08 +00:00
Tatsuhiro Tsujikawa 3032d6ed40 2010-08-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Initialized cur_ with values_.end()
	* src/Sequence.h
2010-08-14 03:15:13 +00:00
Tatsuhiro Tsujikawa ef393dba74 2010-08-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Listen both IPv4 and IPv6 for xml-rpc request.
	* src/DownloadEngineFactory.cc
	* src/HttpListenCommand.cc
	* src/HttpListenCommand.h
2010-08-07 15:04:21 +00:00
Tatsuhiro Tsujikawa 15b29bed15 2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated malformed message handling.
	* src/DHTMessageTracker.cc
	* src/DHTMessageTracker.h
2010-08-07 14:46:22 +00:00
Tatsuhiro Tsujikawa d8e83b3f72 2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Evaluate callback is non-null.
	* src/DHTMessageTracker.cc
2010-08-07 14:22:33 +00:00
Tatsuhiro Tsujikawa 26d6692376 2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added IPv6 DHT. Added --dht-entry-porint6, --dht-file-path6,
	--dht-listen-addr6 and --enable-dht6 option.  IPv6 DHT is disabled
	by default. To use IPv6 DHT, you need to use --enable-dht6 and
	specify a global unicast address to --dht-listen-addr6.  IPv6 DHT
	is highly experimental.
	* src/BtSetup.cc
	* src/DHTAutoSaveCommand.cc
	* src/DHTAutoSaveCommand.h
	* src/DHTConnectionImpl.cc
	* src/DHTConnectionImpl.h
	* src/DHTEntryPointNameResolveCommand.cc
	* src/DHTFindNodeReplyMessage.cc
	* src/DHTFindNodeReplyMessage.h
	* src/DHTGetPeersMessage.cc
	* src/DHTGetPeersReplyMessage.cc
	* src/DHTGetPeersReplyMessage.h
	* src/DHTMessageFactory.h
	* src/DHTMessageFactoryImpl.cc
	* src/DHTMessageFactoryImpl.h
	* src/DHTMessageTracker.cc
	* src/DHTRegistry.cc
	* src/DHTRegistry.h
	* src/DHTRoutingTableDeserializer.cc
	* src/DHTRoutingTableDeserializer.h
	* src/DHTRoutingTableSerializer.cc
	* src/DHTRoutingTableSerializer.h
	* src/DHTSetup.cc
	* src/DHTSetup.h
	* src/FtpConnection.cc
	* src/LpdMessageReceiver.cc
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/PeerInteractionCommand.cc
	* src/RequestGroup.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DHTConnectionImplTest.cc
	* test/DHTFindNodeReplyMessageTest.cc
	* test/DHTGetPeersMessageTest.cc
	* test/DHTGetPeersReplyMessageTest.cc
	* test/DHTMessageFactoryImplTest.cc
	* test/DHTRoutingTableDeserializerTest.cc
	* test/DHTRoutingTableSerializerTest.cc
	* test/LpdMessageDispatcherTest.cc
	* test/MockDHTMessageFactory.h
2010-08-07 14:15:21 +00:00
Tatsuhiro Tsujikawa be7012272d 2010-08-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed AI_V4MAPPED from DEFAULT_AI_FLAGS
	* src/a2netcompat.h
2010-08-07 14:10:17 +00:00
Tatsuhiro Tsujikawa c685ea9de9 2010-08-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added support for peers6 key in tracker response.  Added added6,
	added6.f and dropped6 in ut_pex.
	* src/BtAnnounce.cc
	* src/BtAnnounce.h
	* src/DefaultBtAnnounce.cc
	* src/UTPexExtensionMessage.cc
	* src/UTPexExtensionMessage.h
	* test/DefaultBtAnnounceTest.cc
	* test/UTPexExtensionMessageTest.cc
2010-08-05 11:54:44 +00:00
Tatsuhiro Tsujikawa cba1283aae 2010-08-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added AI_V4MAPPED to DEFAULT_AI_FLAGS
	* src/a2netcompat.h
2010-08-05 11:50:46 +00:00
Tatsuhiro Tsujikawa 785a27f6e8 2010-08-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Add only gracefully disconnected peer to ut_pex dropped list.  Add
	incoming dropped list to PeerStorage.
	* src/DefaultBtInteractive.cc
	* src/DefaultPeerStorage.cc
	* src/InitiatorMSEHandshakeCommand.cc
	* src/Peer.cc
	* src/Peer.h
	* src/PeerConnection.cc
	* src/PeerConnection.h
	* src/PeerInteractionCommand.cc
	* src/PeerReceiveHandshakeCommand.cc
	* src/ReceiverMSEHandshakeCommand.cc
	* src/UTPexExtensionMessage.cc
	* test/DefaultPeerStorageTest.cc
	* test/UTPexExtensionMessageTest.cc
2010-08-04 15:00:38 +00:00
Tatsuhiro Tsujikawa dfdf2d8e56 2010-08-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't use pre-calculate hash value when end-game mode.  Throw
	exception if bad piece is received.
	* src/BtPieceMessage.cc
	* src/DownloadCommand.cc
2010-08-04 14:15:29 +00:00
Tatsuhiro Tsujikawa 2176b68116 2010-08-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten ut_pex peer selection.
	* src/DefaultBtInteractive.cc
	* src/DefaultPeerStorage.cc
	* src/DefaultPeerStorage.h
	* src/PeerStorage.h
	* src/UTPexExtensionMessage.h
	* test/DefaultPeerStorageTest.cc
	* test/MockPeerStorage.h
	* test/UTPexExtensionMessageTest.cc
2010-08-04 12:25:46 +00:00
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 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 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 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 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 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 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 52a6ea008e 2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that aria2 cannot handle %2F in FTP URI properly.
	If directory component starts with %2F which percent-encode of
	'/', client should issue CWD to absolute path, but aria2 does not
	do that. It just issues relative path and download fails.
	* src/FtpConnection.cc
	* test/FtpConnectionTest.cc
2010-07-08 16:40:21 +00:00
Tatsuhiro Tsujikawa 880af94348 2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Increased DOMAIN_EVICTION_TRIGGER to 2000
	* src/CookieStorage.cc
	* test/CookieStorageTest.cc
2010-07-08 15:20:21 +00:00
Tatsuhiro Tsujikawa 95af338895 2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added Chromium/Google Chrome Cookies file support. Thanks to
	gotrunks for original patch.
	* src/CookieStorage.cc
	* src/Makefile.am
	* src/Sqlite3CookieParser.cc
	* src/Sqlite3CookieParser.h
	* src/Sqlite3CookieParserImpl.cc
	* src/Sqlite3CookieParserImpl.h
	* src/Sqlite3MozCookieParser.cc: Removed
	* src/Sqlite3MozCookieParser.h: Removed
	* test/Makefile.am
	* test/Sqlite3CookieParserTest.cc
	* test/Sqlite3MozCookieParserTest.cc: Removed
	* test/chromium_cookies.sqlite
2010-07-08 15:18:15 +00:00
Tatsuhiro Tsujikawa 20d009aa0a Re-generated 2010-07-05 11:15:11 +00:00
Tatsuhiro Tsujikawa a5cc350dcf 2010-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
When allocating disk space, for Linux system with fallocate()
	system call, first check file system supports fallocate.  This
	just run fallocate with small chunk and see it succeeds or fails.
	If it succeeds, use fallocate() to allocate entire file otherwise
	fall back to traditional slower method: writing zeros. This
	behavior is enabled in --file-allocation=prealloc, so this is
	enabled by default for most modern Linux.
	* configure.ac
	* src/AbstractDiskWriter.cc
	* src/AbstractDiskWriter.h
	* src/AbstractSingleDiskAdaptor.cc
	* src/AdaptiveFileAllocationIterator.cc
	* src/AdaptiveFileAllocationIterator.h
	* src/DefaultPieceStorage.cc
	* src/DiskAdaptor.cc
	* src/DiskAdaptor.h
	* src/FallocFileAllocationIterator.cc
	* src/Makefile.am
	* src/MultiFileAllocationIterator.cc
	* src/OptionHandlerFactory.cc
	* test/FallocFileAllocationIteratorTest.cc
	* test/Makefile.am
2010-07-04 15:03:35 +00:00
Tatsuhiro Tsujikawa f649221377 2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compiler warning without ssl library.
	* src/DownloadEngineFactory.cc
2010-06-28 12:45:12 +00:00
Tatsuhiro Tsujikawa 985bc37c00 2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't set previousUri_ to "" on redirect.
	* src/Request.cc: redirectUri()
2010-06-27 14:36:25 +00:00
Tatsuhiro Tsujikawa d16c70803b 2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return given hostname if hostname is numeric host.
	* src/AbstractCommand.cc: resolveHostname()
2010-06-27 14:23:31 +00:00
Tatsuhiro Tsujikawa 11096df698 2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed Peer::updateSeeder() to reflect current bitfield.
	* src/Peer.cc
2010-06-27 14:20:18 +00:00
Tatsuhiro Tsujikawa 2deed225e4 2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/util.cc
2010-06-26 14:03:14 +00:00
Tatsuhiro Tsujikawa 9d0eb8c08b 2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused getOverflow(). Added assertion in
	PiecedSegment::updateWrittenLength() to check updated written
	length does not exceed piece length.
	* src/GrowSegment.h
	* src/PiecedSegment.cc
	* src/PiecedSegment.h
	* src/Segment.h
	* test/SegmentTest.cc
2010-06-26 13:01:52 +00:00
Tatsuhiro Tsujikawa 8a619ab9b9 2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return null if written length > 0 even if SegmentEntry->cuid
	equals given cuid.
	* src/SegmentMan.cc
2010-06-26 12:41:07 +00:00
Tatsuhiro Tsujikawa 6a26097987 2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compiler warning without bittorrent support
	* src/RequestGroup.cc
2010-06-26 12:39:24 +00:00
Tatsuhiro Tsujikawa 3a3511ee28 2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Run whole checksum check when download file name and size are
	determined and download is already completed. Related to r2221.
	Guarded ENABLE_MESSAGE_DIGEST where necessary.
	* src/AbstractCommand.cc
	* src/RequestGroup.cc
	* src/message.h
2010-06-23 14:45:25 +00:00
Tatsuhiro Tsujikawa 66660d10c2 2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made log and log-level option modifiable using
	aria2.changeGlobalOption. This means you can dynamically start or
	stop logging and change log file and log level.
	* doc/aria2c.1.txt
	* src/LogFactory.cc
	* src/LogFactory.h
	* src/LogFormatter.h
	* src/Logger.cc
	* src/Logger.h
	* src/Makefile.am
	* src/Makefile.in
	* src/SimpleLogFormatter.cc
	* src/SimpleLogFormatter.h
	* src/SimpleLogger.cc: Removed
	* src/SimpleLogger.h: Removed
	* src/XmlRpcMethod.cc
	* src/XmlRpcMethodImpl.cc
	* src/main.cc
2010-06-23 14:15:35 +00:00
Tatsuhiro Tsujikawa 4736e77acf 2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Request ut_metadata in end-game mode(in other words, more
	aggresively)
	* src/HandshakeExtensionMessage.cc
	* src/Peer.cc
	* src/Peer.h
	* src/PeerSessionResource.cc
	* src/PeerSessionResource.h
	* src/UTMetadataRequestFactory.cc
	* test/UTMetadataRequestFactoryTest.cc
2010-06-23 11:55:23 +00:00
Tatsuhiro Tsujikawa 3e98f05533 2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added missing parameter to log message.
	* src/UTMetadataRequestFactory.cc
2010-06-22 13:54:52 +00:00
Tatsuhiro Tsujikawa d787906b34 2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed that bug that when aria2 is stopped before whole hash
	check(not piece hash check) is done, aria2 reports its file is
	downloaded successfully. It should report the download is
	in-progress and next invocation of aria2 should check hash.
	* src/ChecksumCheckIntegrityEntry.cc
	* src/DownloadCommand.cc
	* src/DownloadContext.cc
	* src/DownloadContext.h
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
2010-06-22 11:57:31 +00:00
Tatsuhiro Tsujikawa 5c1611c702 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/PiecedSegment.cc
2010-06-21 14:04:30 +00:00
Tatsuhiro Tsujikawa 427577eed4 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that corrups file if segment returned from
	SegmetnMan::getCleanSegmentIfOwnerIsIdle() has writtenLength > 0.
	* src/DownloadCommand.cc
	* src/SegmentMan.cc
	* src/SegmentMan.h
	* test/SegmentManTest.cc
2010-06-21 14:02:51 +00:00
Tatsuhiro Tsujikawa ca4940622c 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Changed naming standards for class member variable: now it looks
	like var_ instead of _var.
2010-06-21 13:51:56 +00:00
Tatsuhiro Tsujikawa ae957baa98 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
When wrong type DHT reply message is received for a transaction
	ID, assume the message timed out.
	* src/DHTNodeLookupTaskCallback.cc
	* src/DHTNodeLookupTaskCallback.h
	* src/DHTPeerLookupTaskCallback.cc
	* src/DHTPeerLookupTaskCallback.h
	* src/DHTPingReplyMessageCallback.h
2010-06-20 12:28:11 +00:00
Tatsuhiro Tsujikawa 9e9fb885d9 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed PeerListProcessor. Its functionality is now moved to
	bittorrent_helper.h
	* src/DefaultBtAnnounce.cc
	* src/Makefile.am
	* src/PeerListProcessor.h: Removed
	* src/UTPexExtensionMessage.cc
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* test/BittorrentHelperTest.cc
	* test/Makefile.am
	* test/PeerListProcessorTest.cc: Removed
2010-06-20 12:12:18 +00:00
Tatsuhiro Tsujikawa ad37c0672c 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Included util.h
	* src/LpdReceiveMessageCommand.cc
2010-06-20 12:09:24 +00:00
Tatsuhiro Tsujikawa cb134cc426 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved non-trivial functions to *.cc file
	* src/Logger.cc
	* src/Logger.h
2010-06-20 12:00:51 +00:00
Tatsuhiro Tsujikawa c7795c63ce 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added separete *.cc files for exception classes.
	* src/DlAbortEx.cc
	* src/DlAbortEx.h
	* src/DlRetryEx.cc
	* src/DlRetryEx.h
	* src/DownloadFailureException.cc
	* src/DownloadFailureException.h
	* src/FatalException.cc
	* src/FatalException.h
	* src/Makefile.am
	* src/RecoverableException.cc
	* src/RecoverableException.h
2010-06-20 11:56:33 +00:00
Tatsuhiro Tsujikawa 237f15b491 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved non-trivial functions to *.cc file
	* src/DownloadContext.cc
	* src/DownloadContext.h
	* src/FileEntry.cc
	* src/FileEntry.h
2010-06-20 11:42:33 +00:00
Tatsuhiro Tsujikawa b352b97bc6 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused contants
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
2010-06-20 11:40:09 +00:00
Tatsuhiro Tsujikawa 0f0fc5f198 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use auto_delete_container to delete created Command when exception
	is thrown rather than deleting them in catch block.
	* src/AbstractCommand.cc
	* src/CheckIntegrityCommand.cc
	* src/DHTSetup.cc
	* src/FileAllocationCommand.cc
	* src/TrackerWatcherCommand.cc
	* src/a2functional.h
2010-06-20 11:37:47 +00:00
Tatsuhiro Tsujikawa cb4e25e4b4 2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed BDE and bencode
2010-06-19 17:54:54 +00:00
Tatsuhiro Tsujikawa 8ba97188ce 2010-06-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Introduced ValueBase class, which is a replacement of BDE.  In
	this change ValueBase is used instead of BDE except DHT messages,
	UTMetadata messages and XML-RPC. They'll be replaced in the later
	commits. DownloadContext::_attrs is now ContextAttribute rather
	than BDE.
	* src/ActivePeerConnectionCommand.cc
	* src/AnnounceList.cc
	* src/AnnounceList.h
	* src/BtDependency.cc
	* src/BtRegistry.cc
	* src/BtSetup.cc
	* src/ConsoleStatCalc.cc
	* src/ContextAttribute.h
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtInteractive.cc
	* src/DownloadContext.cc
	* src/DownloadContext.h
	* src/HandshakeExtensionMessage.cc
	* src/InitiateConnectionCommand.cc
	* src/LpdReceiveMessageCommand.cc
	* src/MSEHandshake.cc
	* src/Makefile.am
	* src/Makefile.in
	* src/PeerInteractionCommand.cc
	* src/PeerListProcessor.h
	* src/ProtocolDetector.cc
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/TorrentAttribute.h
	* src/TrackerWatcherCommand.cc
	* src/UTMetadataDataExtensionMessage.cc
	* src/UTMetadataPostDownloadHandler.cc
	* src/UTMetadataRequestExtensionMessage.cc
	* src/ValueBase.cc
	* src/ValueBase.h
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* src/bencode2.cc
	* src/bencode2.h
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* src/download_helper.cc
	* src/magnet.cc
	* src/magnet.h
	* test/AnnounceListTest.cc
	* test/Bencode2Test.cc
	* test/BencodeTest.cc
	* test/BittorrentHelperTest.cc
	* test/BtDependencyTest.cc
	* test/BtRegistryTest.cc
	* test/DefaultBtAnnounceTest.cc
	* test/DefaultBtProgressInfoFileTest.cc
	* test/HandshakeExtensionMessageTest.cc
	* test/MSEHandshakeTest.cc
	* test/MagnetTest.cc
	* test/Makefile.am
	* test/Makefile.in
	* test/RequestGroupManTest.cc
	* test/UTMetadataDataExtensionMessageTest.cc
	* test/UTMetadataPostDownloadHandlerTest.cc
	* test/UTMetadataRequestExtensionMessageTest.cc
	* test/ValueBaseTest.cc
	* test/XmlRpcMethodTest.cc
2010-06-18 14:47:09 +00:00
Tatsuhiro Tsujikawa 98dc02192d 2010-06-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed assertion error if updateTransferStatFor is called with peer
	X before calculateStat() after peer X is added.
	* src/DefaultPeerStorage.cc
2010-06-15 11:42:46 +00:00
Tatsuhiro Tsujikawa 3dfbec0f9f 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten DHTMessageCallback using Visitor pattern. Eliminated
	dynamic_pointer_cast.
	* src/DHTMessageCallbackImpl.cc: Removed
	* src/DHTMessageReceiver.cc
	* src/DHTAbstractNodeLookupTask.h
	* src/DHTAnnouncePeerReplyMessage.h
	* src/DHTReplaceNodeTask.h
	* src/DHTFindNodeReplyMessage.cc
	* src/DHTGetPeersReplyMessage.h
	* src/DHTPeerLookupTask.h
	* src/DHTMessageCallbackImpl.h: Removed
	* src/DHTMessageFactory.h
	* src/DHTNodeLookupTaskCallback.h
	* src/DHTMessageTracker.h
	* src/DHTMessageCallbackListener.h: Removed
	* src/DHTGetPeersReplyMessage.cc
	* src/DHTMessageCallback.h
	* src/DHTAnnouncePeerReplyMessage.cc
	* src/DHTNodeLookupTask.h
	* src/DHTReplaceNodeTask.cc
	* src/DHTPeerLookupTaskCallback.cc
	* src/DHTMessageTracker.cc
	* src/DHTPingReplyMessage.cc
	* src/DHTPingTask.cc
	* src/DHTMessageFactoryImpl.h
	* src/Makefile.am
	* src/DHTNodeLookupTask.cc
	* src/DHTPeerLookupTaskCallback.h
	* src/DHTPeerLookupTask.cc
	* src/DHTMessageReceiver.h
	* src/DHTMessageFactoryImpl.cc
	* src/DHTResponseMessage.h
	* src/DHTFindNodeReplyMessage.h
	* src/DHTPingReplyMessageCallback.h
	* src/Makefile.in
	* src/DHTBucketRefreshTask.cc
	* src/DHTNodeLookupTaskCallback.cc
	* src/DHTPingTask.h
	* src/DHTPingReplyMessage.h
	* src/DHTAbstractNodeLookupTask.cc: Removed
	* test/DHTMessageTrackerTest.cc
	* test/DHTPingMessageTest.cc
	* test/DHTGetPeersMessageTest.cc
	* test/MockDHTMessage.h
	* test/MockDHTMessageFactory.h
	* test/DHTFindNodeMessageTest.cc
	* test/MockDHTMessageCallback.h
	* test/DHTAnnouncePeerMessageTest.cc
2010-06-13 11:25:21 +00:00
Tatsuhiro Tsujikawa 532fc3724d 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced dynamic_pointer_cast with static_pointer_cast
	* src/DHTSetup.cc
	* src/DefaultBtMessageReceiver.cc
	* src/SharedHandle.h
2010-06-13 11:19:21 +00:00
Tatsuhiro Tsujikawa 6ae473e77f 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reverted changes which deleted peerConnection from
	DefaultBtInteractive.
	* src/DefaultBtInteractive.cc
	* src/DefaultBtInteractive.h
	* src/PeerInteractionCommand.cc
2010-06-13 11:00:43 +00:00
Tatsuhiro Tsujikawa 7584ad1437 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten DHTRegistry
	* src/BtSetup.cc
	* src/DHTRegistry.cc
	* src/DHTRegistry.h
	* src/DHTSetup.cc
	* src/PeerInteractionCommand.cc
	* src/RequestGroup.cc
2010-06-13 02:53:11 +00:00
Tatsuhiro Tsujikawa 1dcf842ff4 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables of XmlRpcResponse
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcResponse.cc
	* src/XmlRpcResponse.h
	* test/XmlRpcMethodTest.cc
2010-06-13 02:30:32 +00:00
Tatsuhiro Tsujikawa 6fdabb6f9c 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/HttpServerBodyCommand.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* src/XmlRpcRequest.h
	* test/XmlRpcMethodTest.cc
	* test/XmlRpcRequestProcessorTest.cc
2010-06-13 02:26:34 +00:00
Tatsuhiro Tsujikawa 5018fdbe46 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made DownloadResult struct
	* src/DownloadResult.h
	* src/RequestGroup.h
	* src/RequestGroupMan.h
	* src/XmlRpcMethodImpl.h
2010-06-13 02:21:40 +00:00
Tatsuhiro Tsujikawa 411f818032 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made DHTMessageEntry struct
	* src/DHTMessageDispatcherImpl.cc
	* src/DHTMessageDispatcherImpl.h
	* src/DHTMessageEntry.cc
	* src/DHTMessageEntry.h
2010-06-13 02:18:17 +00:00
Tatsuhiro Tsujikawa 6127307c54 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made DHTNodeLookupEntry struct
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTIDCloser.h
	* src/DHTNodeLookupEntry.cc
	* src/DHTNodeLookupEntry.h
	* src/DHTPeerLookupTask.cc
	* test/DHTIDCloserTest.cc
2010-06-13 02:13:43 +00:00
Tatsuhiro Tsujikawa 55258bc019 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/ActivePeerConnectionCommand.cc
	* src/BtLeecherStateChoke.cc
	* src/BtPieceMessage.cc
	* src/BtPortMessage.cc
	* src/BtSeederStateChoke.cc
	* src/DHTGetPeersReplyMessage.cc
	* src/DefaultBtInteractive.cc
	* src/DefaultPeerStorage.cc
	* src/HandshakeExtensionMessage.cc
	* src/LpdReceiveMessageCommand.cc
	* src/Peer.cc
	* src/Peer.h
	* src/PeerAbstractCommand.cc
	* src/PeerInitiateConnectionCommand.cc
	* src/PeerListenCommand.cc
	* src/SimpleBtMessage.cc
	* src/UTPexExtensionMessage.cc
	* src/XmlRpcMethodImpl.cc
	* test/DHTAnnouncePeerMessageTest.cc
	* test/DHTGetPeersMessageTest.cc
	* test/DHTGetPeersReplyMessageTest.cc
	* test/DHTMessageFactoryImplTest.cc
	* test/DHTPeerAnnounceEntryTest.cc
	* test/DHTPeerAnnounceStorageTest.cc
	* test/DefaultPeerStorageTest.cc
	* test/HandshakeExtensionMessageTest.cc
	* test/LpdMessageReceiverTest.cc
	* test/PeerListProcessorTest.cc
	* test/PeerTest.cc
	* test/UTPexExtensionMessageTest.cc
2010-06-13 01:53:49 +00:00
Tatsuhiro Tsujikawa 32031a4f01 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made DHTNode::getIPAddress() return const reference.
	* src/DHTNode.h
2010-06-13 01:51:35 +00:00
Tatsuhiro Tsujikawa 6b2eeaa9e1 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/SocketCore.cc
	* src/SocketCore.h
2010-06-12 14:57:38 +00:00
Tatsuhiro Tsujikawa 8d1da8bd3e 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made public member variable in Metalinker private
	* src/MetalinkParserController.cc
	* src/Metalinker.cc
	* src/Metalinker.h
	* test/MetalinkParserControllerTest.cc
	* test/MetalinkProcessorTest.cc
	* test/MetalinkerTest.cc
2010-06-12 14:39:26 +00:00
Tatsuhiro Tsujikawa 95b3beb23d 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/SharedHandle.h
2010-06-12 14:29:13 +00:00
Tatsuhiro Tsujikawa e91fbed8ca 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/messageDigest.cc
	* src/messageDigest.h
2010-06-12 14:22:11 +00:00
Tatsuhiro Tsujikawa e81c207caf 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private.
	* src/XmlRpcMethod.h
	* src/XmlRpcMethodImpl.cc
2010-06-12 14:14:47 +00:00
Tatsuhiro Tsujikawa fd129ba6f4 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private.
	* src/UTMetadataDataExtensionMessage.cc
	* src/UTMetadataExtensionMessage.h
	* src/UTMetadataRejectExtensionMessage.cc
	* src/UTMetadataRequestExtensionMessage.cc
2010-06-12 14:11:46 +00:00
Tatsuhiro Tsujikawa 706230c21f 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/TimeSeedCriteria.h
2010-06-12 14:03:54 +00:00
Tatsuhiro Tsujikawa c47eaa5ce3 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/TimeA2.cc
	* src/TimeA2.h
2010-06-12 14:01:46 +00:00
Tatsuhiro Tsujikawa 8b5bb34a26 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/SpeedCalc.cc
	* src/SpeedCalc.h
2010-06-12 13:58:09 +00:00
Tatsuhiro Tsujikawa 8d6378b675 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables in SegmentMan
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/SegmentMan.cc
	* src/SegmentMan.h
	* src/XmlRpcMethodImpl.cc
	* test/BtDependencyTest.cc
2010-06-12 13:49:39 +00:00
Tatsuhiro Tsujikawa 95f5c58903 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/RequestSlot.cc
	* src/RequestSlot.h
2010-06-12 13:39:33 +00:00
Tatsuhiro Tsujikawa c087255984 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/Range.cc
	* src/Range.h
2010-06-12 13:32:39 +00:00
Tatsuhiro Tsujikawa 1baf8688ee 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/Piece.cc
	* src/Piece.h
2010-06-12 13:29:40 +00:00
Tatsuhiro Tsujikawa 5daa77b7f9 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/PeerStat.h
2010-06-12 12:39:12 +00:00
Tatsuhiro Tsujikawa b3b955b0c4 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/PeerConnection.cc
	* src/PeerConnection.h
2010-06-12 12:29:11 +00:00
Tatsuhiro Tsujikawa 26faa70b3b 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/Option.cc
	* src/Option.h
2010-06-12 10:09:43 +00:00
Tatsuhiro Tsujikawa 6f89b0287a 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/Netrc.cc
	* src/Netrc.h
2010-06-12 10:07:29 +00:00
Tatsuhiro Tsujikawa cc95c788b1 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/LogFactory.cc
	* src/LogFactory.h
2010-06-12 10:01:27 +00:00
Tatsuhiro Tsujikawa 60995f1c5d 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/HttpResponse.cc
	* src/HttpResponse.h
2010-06-12 09:57:16 +00:00
Tatsuhiro Tsujikawa f9c77a25ec 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/HttpRequest.cc
	* src/HttpRequest.h
2010-06-12 09:52:24 +00:00
Tatsuhiro Tsujikawa c7c0ec87bf 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/HttpHeader.cc
	* src/HttpHeader.h
2010-06-12 09:46:41 +00:00
Tatsuhiro Tsujikawa f8590aa5b9 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed unused member variable.
	* src/AbstractProxyRequestCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpConnection.cc
	* src/HttpConnection.h
	* src/HttpInitiateConnectionCommand.cc
2010-06-12 09:44:10 +00:00
Tatsuhiro Tsujikawa 8742959320 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed HandleRegistry
	* src/HandleRegistry.h
	* src/Makefile.am
2010-06-12 09:35:27 +00:00
Tatsuhiro Tsujikawa a615d761c3 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/FtpConnection.cc
	* src/FtpConnection.h
2010-06-12 09:30:18 +00:00
Tatsuhiro Tsujikawa 3ff5218872 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/FileEntry.cc
	* src/FileEntry.h
2010-06-12 09:23:19 +00:00
Tatsuhiro Tsujikawa 0bdd20e6fc 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/File.cc
	* src/File.h
2010-06-12 09:17:48 +00:00
Tatsuhiro Tsujikawa 09e2a7d39c 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/BtPostDownloadHandler.cc
	* src/DownloadHandler.h
	* src/MetalinkPostDownloadHandler.cc
2010-06-12 09:12:39 +00:00
Tatsuhiro Tsujikawa 6d8d84e0f4 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
2010-06-12 09:09:10 +00:00
Tatsuhiro Tsujikawa e1d0911020 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables.
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
2010-06-12 09:05:26 +00:00
Tatsuhiro Tsujikawa 4f7746a89c 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed unused member variable.
	* src/DefaultPeerStorage.cc
	* src/DefaultPeerStorage.h
	* src/RequestGroup.cc
	* test/DefaultPeerStorageTest.cc
2010-06-12 08:50:50 +00:00
Tatsuhiro Tsujikawa c6def0cbd7 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed unused member variable.
	* src/DefaultBtRequestFactory.cc
	* src/DefaultBtRequestFactory.h
	* src/PeerInteractionCommand.cc
2010-06-12 08:39:11 +00:00
Tatsuhiro Tsujikawa d4eebc843a 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed unused member variables.
	* src/DefaultBtMessageReceiver.cc
	* src/DefaultBtMessageReceiver.h
	* src/PeerInteractionCommand.cc
2010-06-12 08:31:36 +00:00
Tatsuhiro Tsujikawa 4e071bfb62 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/DefaultBtMessageFactory.cc
	* src/DefaultBtMessageFactory.h
2010-06-12 08:23:49 +00:00
Tatsuhiro Tsujikawa ee08678566 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtMessageDispatcher.h
2010-06-12 08:16:49 +00:00
Tatsuhiro Tsujikawa d8d141e5f7 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed member variable peerConnection.
	* src/DefaultBtInteractive.cc
	* src/DefaultBtInteractive.h
	* src/PeerInteractionCommand.cc
2010-06-12 03:30:56 +00:00
Tatsuhiro Tsujikawa 465502299b 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtAnnounce.h
2010-06-12 03:13:16 +00:00
Tatsuhiro Tsujikawa ded040666e 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTAbstractNodeLookupTask.h
	* src/DHTAbstractTask.h
	* src/DHTBucketRefreshTask.cc
	* src/DHTNodeLookupTask.cc
	* src/DHTNodeLookupTask.h
	* src/DHTPeerLookupTask.cc
	* src/DHTPeerLookupTask.h
	* src/DHTPingTask.cc
	* src/DHTPingTask.h
	* src/DHTReplaceNodeTask.cc
	* src/DHTReplaceNodeTask.h
2010-06-12 02:54:39 +00:00
Tatsuhiro Tsujikawa f7001132bc 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/DHTAbstractMessage.cc
	* src/DHTAbstractMessage.h
	* src/DHTAnnouncePeerMessage.cc
	* src/DHTAnnouncePeerMessage.h
	* src/DHTAnnouncePeerReplyMessage.cc
	* src/DHTAnnouncePeerReplyMessage.h
	* src/DHTFindNodeMessage.cc
	* src/DHTFindNodeMessage.h
	* src/DHTFindNodeReplyMessage.cc
	* src/DHTFindNodeReplyMessage.h
	* src/DHTGetPeersMessage.cc
	* src/DHTGetPeersMessage.h
	* src/DHTGetPeersReplyMessage.cc
	* src/DHTGetPeersReplyMessage.h
	* src/DHTMessage.h
	* src/DHTPingMessage.cc
	* src/DHTPingMessage.h
	* src/DHTPingReplyMessage.cc
	* src/DHTPingReplyMessage.h
	* src/DHTQueryMessage.cc
	* src/DHTQueryMessage.h
	* src/DHTResponseMessage.cc
	* src/DHTResponseMessage.h
	* src/DHTUnknownMessage.cc
	* src/DHTUnknownMessage.h
	* test/MockDHTMessage.h
2010-06-12 02:27:14 +00:00
Tatsuhiro Tsujikawa 6fef76979e 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused member variable uuid and uuidGen
	* src/Command.cc
	* src/Command.h
2010-06-11 14:48:01 +00:00
Tatsuhiro Tsujikawa cfad3a2f19 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/ByteArrayDiskWriter.cc
	* src/ByteArrayDiskWriter.h
2010-06-11 14:43:41 +00:00
Tatsuhiro Tsujikawa 158d779141 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/BtRuntime.h
2010-06-11 14:40:33 +00:00
Tatsuhiro Tsujikawa b33d679618 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/BtHandshakeMessage.cc
	* src/BtHandshakeMessage.h
2010-06-11 14:35:16 +00:00
Tatsuhiro Tsujikawa 0901dfcfc1 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/BtBitfieldMessageValidator.h
	* src/BtHandshakeMessageValidator.h
	* src/BtPieceMessageValidator.h
2010-06-11 14:27:09 +00:00
Tatsuhiro Tsujikawa 9ebf141fb6 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables
	* src/BtAbortOutstandingRequestEvent.h
	* src/BtCancelSendingPieceEvent.h
2010-06-11 14:19:14 +00:00
Tatsuhiro Tsujikawa 75de9168bd 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variable
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
2010-06-11 14:15:27 +00:00
Tatsuhiro Tsujikawa 8046476dfc 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variable
	* src/AsyncNameResolver.cc
	* src/AsyncNameResolver.h
2010-06-11 13:35:28 +00:00
Tatsuhiro Tsujikawa cd48873d41 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variable
	* src/AnnounceList.cc
	* src/AnnounceList.h
2010-06-11 13:30:45 +00:00
Tatsuhiro Tsujikawa b914f6d810 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/AbstractSingleDiskAdaptor.cc
	* src/AbstractSingleDiskAdaptor.h
	* src/DirectDiskAdaptor.cc
	* src/DirectDiskAdaptor.h
	* src/DiskAdaptor.cc
	* src/DiskAdaptor.h
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h
	* test/BtBitfieldMessageTest.cc
	* test/BtHaveAllMessageTest.cc
	* test/BtHaveMessageTest.cc
2010-06-11 12:49:14 +00:00
Tatsuhiro Tsujikawa 56ea539975 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/AbstractDiskWriter.cc
	* src/AbstractDiskWriter.h
2010-06-11 12:08:11 +00:00
Tatsuhiro Tsujikawa 4c719530d9 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/AbstractAuthResolver.h
	* src/DefaultAuthResolver.cc
	* src/DefaultAuthResolver.h
	* src/NetrcAuthResolver.cc
	* src/NetrcAuthResolver.h
2010-06-11 12:01:37 +00:00
Tatsuhiro Tsujikawa 812563bb6d 2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/AbstractBtMessage.cc
	* src/AbstractBtMessage.h
	* src/BtAllowedFastMessage.cc
	* src/BtAllowedFastMessage.h
	* src/BtBitfieldMessage.cc
	* src/BtBitfieldMessage.h
	* src/BtCancelMessage.cc
	* src/BtCancelMessage.h
	* src/BtChokeMessage.cc
	* src/BtChokeMessage.h
	* src/BtExtendedMessage.cc
	* src/BtHaveAllMessage.cc
	* src/BtHaveAllMessage.h
	* src/BtHaveMessage.cc
	* src/BtHaveMessage.h
	* src/BtHaveNoneMessage.cc
	* src/BtHaveNoneMessage.h
	* src/BtInterestedMessage.cc
	* src/BtInterestedMessage.h
	* src/BtNotInterestedMessage.cc
	* src/BtNotInterestedMessage.h
	* src/BtPieceMessage.cc
	* src/BtPieceMessage.h
	* src/BtPortMessage.cc
	* src/BtPortMessage.h
	* src/BtRejectMessage.cc
	* src/BtRejectMessage.h
	* src/BtRequestMessage.cc
	* src/BtRequestMessage.h
	* src/BtUnchokeMessage.cc
	* src/BtUnchokeMessage.h
	* src/SimpleBtMessage.cc
	* src/SimpleBtMessage.h
2010-06-11 11:48:22 +00:00
Tatsuhiro Tsujikawa a68b29a31a 2010-06-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/BtCheckIntegrityEntry.cc
	* src/BtFileAllocationEntry.cc
	* src/CheckIntegrityEntry.cc
	* src/CheckIntegrityEntry.h
	* src/ChecksumCheckIntegrityEntry.cc
	* src/FileAllocationEntry.cc
	* src/PieceHashCheckIntegrityEntry.cc
	* src/RequestGroupEntry.h
	* src/StreamCheckIntegrityEntry.cc
	* src/StreamFileAllocationEntry.cc
2010-06-09 15:04:01 +00:00
Tatsuhiro Tsujikawa f114c89096 2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/ActivePeerConnectionCommand.cc
	* src/ActivePeerConnectionCommand.h
	* src/CheckIntegrityDispatcherCommand.cc
	* src/DHTEntryPointNameResolveCommand.h
	* src/DHTInteractionCommand.h
	* src/FileAllocationDispatcherCommand.cc
	* src/LpdReceiveMessageCommand.h
	* src/PeerChokeCommand.cc
	* src/PeerChokeCommand.h
	* src/PeerListenCommand.cc
	* src/PeerListenCommand.h
	* src/SeedCheckCommand.cc
	* src/SeedCheckCommand.h
	* src/SequentialDispatcherCommand.h
	* src/SleepCommand.cc
	* src/SleepCommand.h
	* src/TrackerWatcherCommand.cc
	* src/TrackerWatcherCommand.h
2010-06-09 14:47:13 +00:00
Tatsuhiro Tsujikawa d4dfb6c4a8 2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/CheckIntegrityCommand.cc
	* src/FileAllocationCommand.cc
	* src/RealtimeCommand.h
2010-06-09 14:21:10 +00:00
Tatsuhiro Tsujikawa b357fd39fc 2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/AutoSaveCommand.cc
	* src/BtStopDownloadCommand.cc
	* src/DHTAutoSaveCommand.cc
	* src/DHTBucketRefreshCommand.cc
	* src/DHTPeerAnnounceCommand.cc
	* src/DHTTokenUpdateCommand.cc
	* src/HaveEraseCommand.cc
	* src/TimeBasedCommand.h
	* src/TimedHaltCommand.cc
2010-06-09 14:15:10 +00:00
Tatsuhiro Tsujikawa 43460a347f 2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/InitiatorMSEHandshakeCommand.cc
	* src/PeerAbstractCommand.cc
	* src/PeerAbstractCommand.h
	* src/PeerInitiateConnectionCommand.cc
	* src/PeerInteractionCommand.cc
	* src/PeerInteractionCommand.h
	* src/PeerReceiveHandshakeCommand.cc
	* src/ReceiverMSEHandshakeCommand.cc
2010-06-09 14:02:09 +00:00
Tatsuhiro Tsujikawa bc50b5eea2 2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/AbstractCommand.cc
2010-06-09 14:01:18 +00:00
Tatsuhiro Tsujikawa 970e7f95a6 2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variable private. Added accessor funcs.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/AbstractProxyRequestCommand.cc
	* src/AbstractProxyRequestCommand.h
	* src/AbstractProxyResponseCommand.cc
	* src/AbstractProxyResponseCommand.h
	* src/CreateRequestCommand.cc
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
	* src/FtpDownloadCommand.cc
	* src/FtpDownloadCommand.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
	* src/FtpTunnelRequestCommand.cc
	* src/FtpTunnelResponseCommand.cc
	* src/HttpDownloadCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpProxyRequestCommand.cc
	* src/HttpProxyResponseCommand.cc
	* src/HttpRequestCommand.cc
	* src/HttpResponseCommand.cc
	* src/HttpResponseCommand.h
	* src/HttpSkipResponseCommand.cc
	* src/InitiateConnectionCommand.cc
2010-06-09 12:43:44 +00:00
Tatsuhiro Tsujikawa 9afc36152a 2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made protected member variables of Command private. Added accessor
	funcs.
2010-06-08 15:02:20 +00:00
Tatsuhiro Tsujikawa 7cd9b21937 2010-06-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made public member variables of DownloadEngine private. Added
	accessor funcs.
2010-06-08 14:11:36 +00:00
Tatsuhiro Tsujikawa 7d0ba588fc 2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that reading Metalink from pipe fails on older
	libxml2. It only accepts "-" as a special keyword to read stdin.
	* src/XML2SAXMetalinkProcessor.cc
2010-06-03 14:10:44 +00:00
Tatsuhiro Tsujikawa 5d80399624 2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added log message when cookies are loaded.  Added filename to log
	message when serializing session.
	* src/MultiUrlRequestInfo.cc
2010-06-03 12:13:21 +00:00
Tatsuhiro Tsujikawa bf5e76a9a2 2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Treat SIGHUP and SIGTERM signal as emergency shutdown because they
	are usually issued by system or other process.
	* src/MultiUrlRequestInfo.cc
2010-06-03 11:52:44 +00:00
Tatsuhiro Tsujikawa 1986f45d4a 2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use downloadresultcode::IN_PROGRESS for
	RequestGroup::SHUTDOWN_SIGNAL.
	* src/RequestGroup.cc
2010-06-03 11:51:06 +00:00
Tatsuhiro Tsujikawa 1c8b61cad4 2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Call requestForceHalt() instead of _requestGroupMan->forceHalt().
	* src/DownloadEngine.cc
2010-06-03 11:49:48 +00:00
Tatsuhiro Tsujikawa fdf5c0109b 2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Bump up version number to 1.9.4
	* configure.ac
	* doc/aria2c.1.txt
2010-06-01 12:56:21 +00:00
Tatsuhiro Tsujikawa 5e053b62ab 2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't throw exception when Metalink document is empty(no file
	element).  It is a valid Metalink document anyway.
	* src/MetalinkHelper.cc
	* src/download_helper.cc
2010-06-01 12:49:47 +00:00
Tatsuhiro Tsujikawa 22ada0cf32 2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed double memory free when Exception raised from
	AbstractCommand::prepareForNextAction() called by
	HttpResponseCommand::handleDefaultEncoding().
	* src/AbstractCommand.cc
	* src/HttpResponseCommand.cc
2010-06-01 12:40:57 +00:00
Tatsuhiro Tsujikawa 9be631e007 2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added _logger->info() guard
	* src/IteratableChunkChecksumValidator.cc
2010-06-01 11:45:53 +00:00
Tatsuhiro Tsujikawa 974ad351a1 2010-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that feeding Metalink XML via pipe (-M- option) does
	not work when aria2 is built with expat. Fixed the bug that when
	Metalink XML is fed via pipe and --save-session is used, entry
	"/dev/stdin" is saved in session file.
	* src/ExpatMetalinkProcessor.cc
	* src/ExpatMetalinkProcessor.h
	* src/Metalink2RequestGroup.cc
2010-05-26 12:36:23 +00:00
Tatsuhiro Tsujikawa 1a29132b91 2010-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added totalLength, completedLength, uploadLength, bitfield,
	downloadSpeed, uploadSpeed, infoHash, numSeeders, pieceLength,
	numPieces, connections and dir to the response of
	aria2.tellStopped XML-RPC method.  aria2.tellWaiting now always
	returns numSeeders for BitTorrent download.
	* src/DownloadResult.h
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/XmlRpcMethodImpl.cc
	* test/XmlRpcMethodTest.cc
2010-05-22 11:50:47 +00:00
Tatsuhiro Tsujikawa 92f84f71f5 2010-05-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that connection pooling does not take into account
	proxy.  This means that when connection A via proxy X is pooled,
	it will be wrongly reused in the download using proxy Y.
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpDownloadCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpResponseCommand.cc
	* src/HttpSkipResponseCommand.cc
2010-05-21 13:54:50 +00:00
Tatsuhiro Tsujikawa 47adbe618c 2010-05-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that FTP download may fail when control connection
	is reused. This happens because FTP server can offer different
	root directory for different account. If pooled connections has
	different root directory, then download will fail.
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/FtpConnection.cc
	* src/FtpConnection.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
2010-05-21 12:22:04 +00:00
Tatsuhiro Tsujikawa 8f3cdfb2de 2010-05-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed DownloadResult's ctor because it has many args.
	* src/DownloadResult.h
	* src/RequestGroup.cc
	* test/XmlRpcMethodTest.cc
2010-05-20 12:16:50 +00:00
Tatsuhiro Tsujikawa 2284c0a837 2010-05-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup.
	* src/RequestGroupMan.cc
	* src/UTMetadataPostDownloadHandler.cc
	* src/XmlRpcMethodImpl.cc
2010-05-19 14:16:04 +00:00
Tatsuhiro Tsujikawa 83465ff83d 2010-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Store both whole checksum and piece hash in metalink file.
	Dispatch whole checksum verification only when piece hash is not
	set.
	* src/DownloadCommand.cc
	* src/Metalink2RequestGroup.cc
	* test/Metalink2RequestGroupTest.cc
2010-05-14 15:18:59 +00:00
Tatsuhiro Tsujikawa b305edd7c5 2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Left only IANA hash function textual name in messageDigest.cc.
	Assign only IANA hash function textual name to Checksum and
	ChunkChecksum. Fixed the value of MessageDigestContext::MD5.
	* src/Checksum.h
	* src/MetalinkParserController.cc
	* src/messageDigest.cc
	* src/messageDigest.h
	* test/IteratableChecksumValidatorTest.cc
	* test/IteratableChunkChecksumValidatorTest.cc
	* test/MessageDigestHelperTest.cc
	* test/Metalink2RequestGroupTest.cc
	* test/MetalinkProcessorTest.cc
2010-05-14 14:11:56 +00:00
Tatsuhiro Tsujikawa 88475a6aa0 2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo in log message
	* src/AbstractCommand.cc
2010-05-14 13:30:46 +00:00
Tatsuhiro Tsujikawa 7fc6c36370 2010-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return const reference.
	* src/DefaultPieceStorage.h
	* src/DownloadContext.h
	* src/FeatureConfig.cc
	* src/FeatureConfig.h
	* src/OptionParser.cc
	* src/OptionParser.h
	* src/SimpleRandomizer.cc
	* src/SimpleRandomizer.h
2010-05-08 12:25:28 +00:00
Tatsuhiro Tsujikawa 6d9947c36b 2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return const reference.
	* src/LpdMessageReceiver.h
	* src/LpdReceiveMessageCommand.h
2010-05-06 14:28:17 +00:00
Tatsuhiro Tsujikawa 0bc298df00 2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed useless pathJoin
	* src/MetalinkParserController.cc
2010-05-06 14:25:51 +00:00
Tatsuhiro Tsujikawa 460ee92644 2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that name attribute of file element in Metalink file
	is not properly sanitized.
	* src/Metalink2RequestGroup.cc
	* src/MetalinkParserController.cc
	* test/Makefile.am
	* test/Metalink2RequestGroupTest.cc
	* test/metalink4-dosdirtraversal.xml
2010-05-06 14:18:29 +00:00
Tatsuhiro Tsujikawa 2bcf648102 2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that if filename in Content-Disposition header
	includes ';', aria2 cuts filename after ';'.
	* src/util.cc
	* test/UtilTest.cc
2010-05-06 12:49:50 +00:00
Tatsuhiro Tsujikawa 504d25bf1f 2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compiler warning on opensolaris.
	* src/StringFormat.h
	* src/XORCloser.h
2010-04-27 14:58:59 +00:00
Tatsuhiro Tsujikawa 2141656346 2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed segmentation fault when running unit tests on opensolaris.
	* src/SocketCore.cc
	* src/bittorrent_helper.cc
2010-04-26 15:10:39 +00:00
Tatsuhiro Tsujikawa a53ee58746 2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Print warning when trying to add file descriptor >= FD_SET or < 0
	to fd_set for other than MinGW32 build. For MinGW32 build, print
	warning when trying to add file descriptor to fd_set when it
	already contains FD_SET file descriptors.
	* src/SelectEventPoll.cc
	* src/SocketCore.cc
2010-04-25 13:49:31 +00:00
Tatsuhiro Tsujikawa abc4abc914 2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Defined FD_SETSIZE 1024 for MinGW32.
	* src/a2netcompat.h
2010-04-25 10:13:00 +00:00
Tatsuhiro Tsujikawa 6f6fc38205 2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error on the system which lacks poll()
	* src/DownloadEngineFactory.cc
2010-04-25 10:12:33 +00:00
Tatsuhiro Tsujikawa 5635190927 2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
In SocketCore::isReadable()/isWritable(), use poll() if it is
	available otherwise use select(). Removed epoll/port from there
	because poll() does the good enough job for single socket event
	notification.
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/main.cc
2010-04-24 14:08:10 +00:00
Tatsuhiro Tsujikawa 5d636df361 2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added kqueue support. We use poll() for
	SocketCore::isReadable()/isWritable() when kqueue is used.
	* configure.ac
	* src/DownloadEngineFactory.cc
	* src/KqueueEventPoll.cc
	* src/KqueueEventPoll.h
	* src/Makefile.am
	* src/Makefile.in
	* src/OptionHandlerFactory.cc
	* src/main.cc
	* src/prefs.cc
	* src/prefs.h
2010-04-24 13:07:35 +00:00
Tatsuhiro Tsujikawa 571759fc27 2010-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added missing timespec.h to SRCS
	* src/Makefile.am
2010-04-23 14:48:03 +00:00
Tatsuhiro Tsujikawa 86a4b5d15c 2010-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that aria2.unpause fails with -s1.
	* src/FileEntry.cc
	* src/XmlRpcMethodImpl.cc
2010-04-23 14:43:56 +00:00
Tatsuhiro Tsujikawa 2082a3b8df 2010-04-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added missing #ifdef HAVE_PORT_ASSOCIATE
	* src/DownloadEngineFactory.cc
2010-04-21 15:54:39 +00:00
Tatsuhiro Tsujikawa 9cf05b7115 2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added opensolaris port_associate() support.
	* src/DownloadEngineFactory.cc
	* src/Makefile.am
	* src/OptionHandlerFactory.cc
	* src/PortEventPoll.cc
	* src/PortEventPoll.h
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/configure.ac
	* src/main.cc
	* src/prefs.cc
	* src/prefs.h
2010-04-21 14:31:44 +00:00
Tatsuhiro Tsujikawa c1047561b6 2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that _e is passed where e should be passed.
	* src/HttpListenCommand.cc
2010-04-21 13:59:15 +00:00
Tatsuhiro Tsujikawa ced238d098 2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Increased _epEvents size if necessary.
	* src/EpollEventPoll.cc
	* src/EpollEventPoll.h
2010-04-20 13:54:23 +00:00
Tatsuhiro Tsujikawa 1d652cd0ad 2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed EventRType template parameter
	* src/EpollEventPoll.cc
	* src/EpollEventPoll.h
	* src/Event.h
	* src/PollEventPoll.cc
	* src/PollEventPoll.h
2010-04-20 13:19:36 +00:00
Tatsuhiro Tsujikawa 3b8c54108c 2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use Event in EpollEventPoll
	* src/EpollEventPoll.cc
	* src/EpollEventPoll.h
2010-04-20 13:15:29 +00:00
Tatsuhiro Tsujikawa e9ef6f3af9 2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Externalized Event, CommandEvent, ADNSEvent, SocketEntry and
	AsyncNameResolverEntry class.
	* src/Event.h
	* src/Makefile.am
	* src/PollEventPoll.cc
	* src/PollEventPoll.h
2010-04-19 15:04:38 +00:00
Tatsuhiro Tsujikawa 0ec50a8d50 2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Supported poll() for socket event notification.  --event-poll can
	take value "poll". Fixed the bug that timeout for
	SocketCore::isReadable()/isWritable() is ignored when epoll is
	used.
	* src/OptionHandlerFactory.cc
	* src/a2io.h
	* src/prefs.h
	* src/SocketCore.h
	* src/Makefile.am
	* src/main.cc
	* src/PollEventPoll.h
	* src/SocketCore.cc
	* src/DownloadEngineFactory.cc
	* src/PollEventPoll.cc
	* src/prefs.cc
	* configure.ac
2010-04-19 12:53:58 +00:00
Tatsuhiro Tsujikawa 756592bf4d 2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reverted previous change to DownloadCommand.cc with additional
	commentary.
	* src/DownloadCommand.cc
2010-04-19 12:47:50 +00:00
Tatsuhiro Tsujikawa 5b5a3be7e2 2010-04-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with openssl 1.1.0 and mingw32.
	* src/AsyncNameResolver.cc
	* src/LogFactory.cc
	* src/Logger.cc
	* src/Logger.h
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/a2netcompat.h
2010-04-16 09:25:59 +00:00
Tatsuhiro Tsujikawa a71148b702 2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use elapsed time between two mach_absolute_time() calls.
	Fixed compile error in Mac OS X.
	* src/clock_gettime_osx.cc
	* src/timespec.h
2010-04-13 16:53:38 +00:00
Tatsuhiro Tsujikawa 91e7127396 2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Implemented clock_gettime() using mach_absolute_time in Mac OS X.
	* configure.ac
	* src/Makefile.am
	* src/a2time.h
	* src/clock_gettime_osx.cc
	* src/clock_gettime_osx.h
2010-04-13 16:06:59 +00:00
Tatsuhiro Tsujikawa 7e22cc38bb 2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Implemented clock_gettime() using timeGetTime in mingw.
	* configure.ac
	* src/Makefile.am
	* src/a2time.h
	* src/clock_gettime_mingw.cc
	* src/clock_gettime_mingw.h
	* src/timespec.h
	* test/Makefile.am
2010-04-13 15:36:56 +00:00
Tatsuhiro Tsujikawa aa08af9928 2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Ensure that std::ofstream is destroyed before renaming.
	* src/SessionSerializer.cc
	* src/util.cc
2010-04-13 15:23:31 +00:00
Tatsuhiro Tsujikawa c415eb081e 2010-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that user specified path is escaped using
	util::escapePath() where it should not.
	* src/DownloadContext.cc
	* src/DownloadContext.h
2010-04-13 12:51:52 +00:00
Tatsuhiro Tsujikawa 1f02b65460 2010-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Hold reference to PieceStorage when paused in order to provide
	progress information via XML-RPC.
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
2010-04-13 12:39:09 +00:00
Tatsuhiro Tsujikawa a605048900 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Defined struct timespec if it is not available.
	* src/a2time.h
2010-04-12 15:59:42 +00:00
Tatsuhiro Tsujikawa 8d272f5d19 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error without BitTorrent support.
	* src/Metalink2RequestGroup.cc
2010-04-12 14:41:56 +00:00
Tatsuhiro Tsujikawa 6a0c23b44d 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error on Mac OS X
	* src/TimerA2.h
2010-04-12 14:33:26 +00:00
Tatsuhiro Tsujikawa 473d1ff6b5 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added warning for the system which lacks clock_gettime with
	CLOCK_MONOTONIC.
	* src/MultiUrlRequestInfo.cc
	* src/TimerA2.cc
	* src/TimerA2.h
2010-04-12 13:05:41 +00:00
Tatsuhiro Tsujikawa b2c03934a8 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed redundant method call for DownloadEngine.
	* src/DownloadCommand.cc
2010-04-12 12:57:54 +00:00
Tatsuhiro Tsujikawa 70664af0ad 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that hash check hangs when aria2.pause is issued
	while aria2 is checking piece hashes.  Fixed the bug that the
	download is paused after file allocation completion even if
	aria2.pause is issued during file allocation.
	* src/CheckIntegrityCommand.cc
	* src/FileAllocationCommand.cc
2010-04-11 16:17:16 +00:00
Tatsuhiro Tsujikawa f2697552ae 2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error on opensolaris
	* configure.ac
	* src/Logger.h
	* src/GZipEncoder.h
2010-04-11 15:44:37 +00:00
Tatsuhiro Tsujikawa 15bb26cac8 2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added aria2.pauseAll, aria2.forcePauseAll and aria2.unpauseAll
	XML-RPC method.
	* doc/aria2c.1.txt
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/XmlRpcMethodTest.cc
2010-04-11 14:46:07 +00:00
Tatsuhiro Tsujikawa 2e6a517aaa 2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added aria2.forcePause XML-RPC command.
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
2010-04-11 09:39:46 +00:00
Tatsuhiro Tsujikawa f02e08629e 2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use global::wallclock
	* src/DHTBucket.cc
	* src/DHTMessageTrackerEntry.cc
	* src/DHTMessageTrackerEntry.h
	* src/DefaultBtInteractive.cc
	* src/Peer.cc
	* src/PeerAbstractCommand.cc
	* src/PeerStat.h
	* src/RequestSlot.h
	* src/TimeBasedCommand.cc
2010-04-11 08:57:16 +00:00
Tatsuhiro Tsujikawa 0529e78187 2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use clock_gettime(CLOCK_MONOTONIC, ...) if it is available and
	usable to prevent from aria2 from being affected by system time
	change.
2010-04-11 08:28:22 +00:00
Tatsuhiro Tsujikawa bf0cf1f5d9 2010-04-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added aria2.pause and aria2.unpause XML-RPC method.  aria2.pause
	pauses the download denoted by gid. gid is of type string.  The
	status of paused download becomes "paused" and the download is
	placed on the first position of waiting queue. As long as the
	status is "paused", the download is not started. To change status
	to "waiting", use aria2.unpause method. This method returns GID of
	paused download.  aria2.unpause changes the status of the download
	denoted by gid from "paused" to "waiting". This makes the download
	eligible to restart. gid is of type string. This method returns
	GID of unpaused download.
	* doc/aria2c.1.txt
	* src/DownloadContext.cc
	* src/FileEntry.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-04-08 16:02:22 +00:00
Tatsuhiro Tsujikawa 5cd0108f93 2010-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --save-session=FILE option.  This option saves
	error/unfinished downloads to FILE on exit.  You can pass this
	output file to aria2c with -i option on restart. Please note that
	downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC
	method are not saved.
	* src/BtPostDownloadHandler.cc
	* src/DownloadResult.h
	* src/Makefile.am
	* src/MetadataInfo.cc
	* src/MetadataInfo.h
	* src/Metalink2RequestGroup.cc
	* src/MetalinkPostDownloadHandler.cc
	* src/MultiUrlRequestInfo.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/SessionSerializer.cc
	* src/SessionSerializer.h
	* src/UTMetadataPostDownloadHandler.cc
	* src/download_helper.cc
	* src/download_helper.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/Makefile.am
	* test/SessionSerializerTest.cc
	* test/XmlRpcMethodTest.cc
	* test/serialize_session.meta4
2010-04-08 12:54:14 +00:00
Tatsuhiro Tsujikawa dd7590f927 2010-04-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that FTP data connection is not established via
	proxy when --ftp-proxy is defined and --ftp-pasv=true and
	--proxy-method=tunnel.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
	* src/InitiateConnectionCommand.cc
2010-04-06 16:09:24 +00:00
Tatsuhiro Tsujikawa a49c853297 2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Changed error message.
	* src/XmlRpcMethod.cc
2010-04-03 04:31:37 +00:00
Tatsuhiro Tsujikawa 3139b5fe48 2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added bt-tracker-timeout, bt-tracker-connect-timeout,
	always-resume, max-resume-failure-tries and http-accept-gzip to -i
	list options.
	* doc/aria2c.1.txt
	* doc/xmlrpc/aria2rpc
	* src/download_helper.cc
2010-04-03 04:25:29 +00:00
Tatsuhiro Tsujikawa 0e060f0e8b 2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that web-seed URI is not percent-encoded.
	* src/a2functional.h
	* src/bittorrent_helper.cc
	* test/BittorrentHelperTest.cc
	* test/url-list-multiFile.torrent
	* test/url-list-singleFileEndsWithSlash.torrent
2010-04-03 04:02:14 +00:00
Tatsuhiro Tsujikawa 919255b4db 2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added aria2.shutdown and aria2.forceShutdown XML-RPC method.
	These methods, as their name implies, shutdown aria2.  These
	methods are useful for Windows because it lacks signal mechanism.
	* doc/aria2c.1.txt
	* src/TimedHaltCommand.cc
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
2010-04-02 14:50:33 +00:00
Tatsuhiro Tsujikawa 730f7449ae 2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added forceHalt argument to TimedHaltCommand.
	Added requestForceHalt() to DownloadEngine.
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/TimedHaltCommand.cc
	* src/TimedHaltCommand.h
2010-04-02 14:23:59 +00:00
Tatsuhiro Tsujikawa 4c694b9585 2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Possible fix for chunked encoding with Content-Length.
	* src/HttpResponseCommand.cc
2010-04-02 14:19:11 +00:00
Tatsuhiro Tsujikawa 6996f07f5f 2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't send "Accept: default, gzip" by default. This is because
	some server responds with "Content-Encoding: gzip" for files which
	itself is gzipped file and aria2 inflates them. This is a problem
	if user don't want to inflate the file. Apparently this is server
	configuration error, but I cannot do anything about this. So turn
	this off.  Added --http-accept-gzip option. If true is given to
	this option, aria2 sends 'Accept: deflate, gzip' request header
	and inflates response if remote server responds with
	'Content-Encoding: gzip' or 'Content-Encoding: deflate'.  This
	indicates we removed extension tgz hack in order not to inflate
	files with tgz extensions.
	* doc/aria2c.1.txt
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpRequestCommand.cc
	* src/HttpResponseCommand.cc
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/HttpRequestTest.cc
2010-04-02 14:16:10 +00:00
Tatsuhiro Tsujikawa 5cc28b2d80 2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made aria2 not send
	"application/metalink4+xml,application/metalink+xml" in Accept
	header for web-seeding URIs and tracker request.
	* src/Metalink2RequestGroup.cc
	* src/TrackerWatcherCommand.cc
	* src/download_helper.cc
	* src/util.cc
	* src/util.h
2010-04-01 15:41:53 +00:00
Tatsuhiro Tsujikawa d67f4cefac 2010-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added download_helper.{cc,h} to SRCS
	* src/Makefile.am
	* test/Makefile.am
2010-04-01 09:13:10 +00:00
Tatsuhiro Tsujikawa e7e214fef2 2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --dht-message-timeout option.
	* doc/aria2c.1.txt
	* src/DHTConstants.h
	* src/DHTMessageDispatcherImpl.cc
	* src/DHTMessageDispatcherImpl.h
	* src/DHTMessageTracker.cc
	* src/DHTMessageTracker.h
	* src/DHTReplaceNodeTask.h
	* src/DHTSetup.cc
	* src/DHTTaskFactoryImpl.cc
	* src/DHTTaskFactoryImpl.h
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DHTMessageTrackerTest.cc
2010-03-30 14:46:26 +00:00
Tatsuhiro Tsujikawa 68156ef258 2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-tracker-connect-timeout and --bt-tracker-timeout
	option.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
	* src/TrackerWatcherCommand.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-03-30 14:17:16 +00:00
Tatsuhiro Tsujikawa 613e832dac 2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/BtSetup.cc
2010-03-30 13:08:10 +00:00
Tatsuhiro Tsujikawa 9a922f8b02 2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Drop connection if same Peer ID has been already seen.
	* src/DefaultBtInteractive.cc
2010-03-30 13:05:53 +00:00
Tatsuhiro Tsujikawa f9c852c475 2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that waiting download unintentionally starts when
	URIs are added to it using aria2.changeUri XML-RPC method.  This
	also fixes the bug that causes segmentation fault when adding URIs
	to waiting download, which is a regression introduced by the
	previous change made to src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.cc
2010-03-29 14:43:50 +00:00
Tatsuhiro Tsujikawa feedb92ed7 2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with g++-4.4 on FreeBSD.
	* src/util.h
2010-03-29 14:39:09 +00:00
Tatsuhiro Tsujikawa d88f7cd0a4 2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that added URI using aria2.changeUri XML-RPC method
	is not used immediately if there is no URIs remaining before
	calling aria2.changeUri and the number of connection is less than
	the value in -s(or -C for Metalink downloads).
	* src/XmlRpcMethodImpl.cc
2010-03-28 15:02:36 +00:00
Tatsuhiro Tsujikawa 65389139c6 2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Documented --always-resume and --max-resume-failure-tries option
	and exit status 8 in man page. Fixed typo.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
2010-03-28 07:38:41 +00:00
Tatsuhiro Tsujikawa abe1e9843c 2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --always-resume and --max-resume-failure-tries option.  If
	--always-resume=false is given, when all given URIs does not
	support resume or aria2 encounters N URIs which does not support
	resume
        (N is the value specified using --max-resume-failure-tries
	option), aria2 download file from scratch.  The default behavior
	is --always-resume=true, which means if all URIs do not support
	resume, download fails. I think this is OK because user normally
	don't like to see that partially downloaded file is
	overwritten(this is particularly true if file size is big).  This
	option is useful when aria2 is used as download backend and
	graceful falling back to overwritten behavior is preferable.
	Added exit status value 8, which means download failed because
	server did not support resume.
	* src/AbstractCommand.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadCommand.cc
	* src/DownloadResultCode.h
	* src/FileEntry.h
	* src/FtpNegotiationCommand.cc
	* src/HttpResponse.cc
	* src/HttpResponseCommand.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/SegmentMan.cc
	* src/SegmentMan.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DefaultPieceStorageTest.cc
	* test/SegmentManTest.cc
2010-03-28 07:23:33 +00:00
Tatsuhiro Tsujikawa 90bc2ccffc 2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --remove-control-file option to -i list options.
	* doc/aria2c.1.txt
	* doc/xmlrpc/aria2rpc
	* src/download_helper.cc
2010-03-25 14:51:41 +00:00
Tatsuhiro Tsujikawa 8507b5bde4 2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --remove-control-file option.  This option removes control
	file(*.aria2 file) before download. Using with
	--allow-overwrite=true, download always starts from scratch. This
	will be useful for users behind proxy server which disables
	resume. For such proxy user, -C1 is also recommended for Metalink
	downloads to avoid establishing unnecessary connections.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-03-25 14:44:16 +00:00
Tatsuhiro Tsujikawa 886f8ee58e 2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed arrayLength. Defined A2_ARRAY_LEN as macro to calculate
	size of array at compile time.
	* src/array_fun.h
	* test/BitfieldManTest.cc
	* test/BtPortMessageTest.cc
	* test/DHTRoutingTableDeserializerTest.cc
	* test/DHTRoutingTableSerializerTest.cc
	* test/DownloadHelperTest.cc
	* test/LongestSequencePieceSelectorTest.cc
	* test/MultiDiskAdaptorTest.cc
	* test/OptionParserTest.cc
	* test/PriorityPieceSelectorTest.cc
	* test/array_funTest.cc
2010-03-25 14:22:43 +00:00
Tatsuhiro Tsujikawa f15d22b619 2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added vbegin() and vend() for fixed sized array.
	* src/DownloadHandlerConstants.cc
	* src/FeatureConfig.cc
	* src/OptionHandlerFactory.cc
	* src/ServerStat.cc
	* src/TimeA2.cc
	* src/XmlRpcMethod.cc
	* src/array_fun.h
	* src/download_helper.cc
	* src/messageDigest.cc
	* src/util.cc
	* test/BittorrentHelperTest.cc
	* test/DHTRoutingTableDeserializerTest.cc
	* test/DHTRoutingTableSerializerTest.cc
	* test/DefaultBtAnnounceTest.cc
	* test/DefaultBtProgressInfoFileTest.cc
	* test/DownloadContextTest.cc
	* test/DownloadHelperTest.cc
	* test/FeatureConfigTest.cc
	* test/FeedbackURISelectorTest.cc
	* test/HttpRequestTest.cc
	* test/InOrderURISelectorTest.cc
	* test/MSEHandshakeTest.cc
	* test/MultiDiskAdaptorTest.cc
	* test/MultiFileAllocationIteratorTest.cc
	* test/PriorityPieceSelectorTest.cc
	* test/RequestGroupManTest.cc
	* test/UtilTest.cc
	* test/XmlRpcMethodTest.cc
	* test/a2algoTest.cc
	* test/array_funTest.cc
2010-03-25 13:51:10 +00:00
Tatsuhiro Tsujikawa 8477e463e9 2010-03-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Simplified code using lastByteMask
	* src/BitfieldMan.cc
	* src/PieceStatMan.cc
2010-03-24 14:25:18 +00:00
Tatsuhiro Tsujikawa 6301084ea8 2010-03-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten lastByteMask
	* src/bitfield.h
2010-03-24 14:17:08 +00:00
Tatsuhiro Tsujikawa 522ab21ebf 2010-03-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Redefined the maximum length of buffer used for HTTP header.
	* src/HttpHeaderProcessor.cc
2010-03-23 13:02:09 +00:00
Tatsuhiro Tsujikawa bd3098faf4 2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/SleepCommand.cc
2010-03-22 14:59:58 +00:00
Tatsuhiro Tsujikawa f2c97658c1 2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Do exact match if IP address is specified in --no-proxy.
	* src/AbstractCommand.cc
2010-03-22 12:27:11 +00:00
Tatsuhiro Tsujikawa ef4e564b70 2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that socket is added to EventPoll object twice. This
	is because derived class FtpFinishDownloadCommand adds socket to
	EventPoll object while base class AbstractCommand does that
	already.
	* src/FtpFinishDownloadCommand.cc
	* src/FtpFinishDownloadCommand.h
2010-03-22 12:21:40 +00:00
Tatsuhiro Tsujikawa a0d13a7fee 2010-03-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Defined gid_t as int64_t.
	* src/BtDependency.cc
	* src/BtStopDownloadCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/TrackerWatcherCommand.cc
	* src/XmlRpcMethodImpl.cc
	* src/message.h
	* test/XmlRpcMethodTest.cc
2010-03-21 14:04:05 +00:00
Tatsuhiro Tsujikawa de8fef01f3 2010-03-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Defined cuid_t as int64_t. Removed texts containing "CUID#%D" from
	translatable texts because it is used in log and debugging
	purpose.
2010-03-21 07:05:49 +00:00
Tatsuhiro Tsujikawa 322a0d1ad7 2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use gid_t type for gid.
	* src/BtRegistry.cc
	* src/BtRegistry.h
	* src/DownloadResult.h
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/XmlRpcMethodImpl.cc
2010-03-20 15:01:56 +00:00
Tatsuhiro Tsujikawa bf5f559c5c 2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use cuid_t type for cuid.
2010-03-20 14:30:36 +00:00
Tatsuhiro Tsujikawa 10edc156ea 2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added v key in DHT message. aria2's DHT version is independent of
	the package version and we defined it as 1 at the moment. It is
	defined as DHT_VERSION in src/DHTConstants.h. aria2's DHT version
	scheme is "A2"+2bytes DHT version number in network byte order.
	* src/DHTAbstractMessage.cc
	* src/DHTConstants.h
	* src/DHTMessage.cc
	* src/DHTMessage.h
	* src/DHTMessageFactoryImpl.cc
	* src/DHTQueryMessage.cc
	* src/DHTResponseMessage.cc
	* src/util.h
	* test/DHTAnnouncePeerMessageTest.cc
	* test/DHTAnnouncePeerReplyMessageTest.cc
	* test/DHTFindNodeMessageTest.cc
	* test/DHTFindNodeReplyMessageTest.cc
	* test/DHTGetPeersMessageTest.cc
	* test/DHTGetPeersReplyMessageTest.cc
	* test/DHTPingMessageTest.cc
	* test/DHTPingReplyMessageTest.cc
2010-03-20 09:10:23 +00:00
Tatsuhiro Tsujikawa d6860e11bf 2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that value of numSeeders in aria2.tellStatus XML-RPC
	method response is integer, while manual says it is string.  When
	peer's port is not listening port, set '0' to port in
	aria2.getPeers response.
	* src/XmlRpcMethodImpl.cc
2010-03-19 14:22:17 +00:00
Tatsuhiro Tsujikawa e0335dcd4f 2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Lines starting "#" in -i list are treated as comments.
	Example:
	# this is comment
	http://example.org/file
	http://example.org/file2
	  dir=/tmp
	# another comment
	  out=myfile
	* doc/aria2c.1.txt
	* src/UriListParser.cc
	* test/filelist1.txt
2010-03-19 09:16:53 +00:00
Tatsuhiro Tsujikawa 4951142346 2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Accept IPv4 network address with CIDR block in --no-proxy option
	and no_proxy environment variable.  Current implementation does
	not resolve hostname in URI to compare network address. So it is
	only effecive if URI has numeric IP addresses.
	* doc/aria2c.1.txt
	* src/AbstractCommand.cc
	* src/OptionHandlerFactory.cc
	* src/bitfield.h
	* src/usage_text.h
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
	* test/bitfieldTest.cc
2010-03-19 08:56:17 +00:00
Tatsuhiro Tsujikawa 55d7c99638 2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reduced interval for metadatagetmode to quickly gather metadata.
	* src/BtSetup.cc
2010-03-19 05:57:47 +00:00
Tatsuhiro Tsujikawa 4e637779a5 2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Few adjustment for timeouts in DHT. DHT message timeout is changed
	from 15 to 10. The interval of PeerLookup is first 5 seconds and
	it adds another 5 seconds in each retry.
	* src/DHTConstants.h
	* src/DHTGetPeersCommand.cc
	* src/DHTGetPeersCommand.h
2010-03-12 15:05:53 +00:00
Tatsuhiro Tsujikawa 7d8044ef10 2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Changed log level from error to info for DHT message send error.
	* src/DHTMessageDispatcherImpl.cc
2010-03-12 15:01:57 +00:00
Tatsuhiro Tsujikawa 7bbc5769a5 2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Inspect all xt in magnet to find urn:btih.
	* src/bittorrent_helper.cc
	* test/BittorrentHelperTest.cc
2010-03-12 15:00:28 +00:00
Tatsuhiro Tsujikawa 542a06de6d 2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use global option for DHTSetup.
	* src/DHTSetup.cc
	* src/DHTSetup.h
	* src/RequestGroup.cc
2010-03-11 16:04:50 +00:00
Tatsuhiro Tsujikawa dc059bfc29 2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added bt-enable-lpt, reuse-uri
	and {http,https,ftp,all}-proxy-{user,passwd} options to -i list
	options.
	* doc/aria2c.1.txt
	* doc/xmlrpc/aria2rpc
	* src/download_helper.cc
2010-03-11 15:32:36 +00:00
Tatsuhiro Tsujikawa f16a1d0e30 2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use global option for PREF_LISTEN_PORT and PREF_BT_LPD_INTERFACE.
	* src/BtSetup.cc
2010-03-11 15:15:06 +00:00
Tatsuhiro Tsujikawa ca2b33c3da 2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Resurrected --http-proxy-user and --http-proxy-passwd option.
	Added --https-proxy-user, --https-proxy-passwd, --ftp-proxy-user,
	--ftp-proxy-passwd, --all-proxy-user, --all-proxy-passwd option.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/OptionHandlerTest.cc
2010-03-11 15:09:34 +00:00
Tatsuhiro Tsujikawa 91b7b721ea 2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
For LPD sockets, bind IN_ADDRANY because binding multicast address
	fails under Windows.
	* src/LpdMessageReceiver.cc
	* test/LpdMessageDispatcherTest.cc
2010-03-09 14:19:25 +00:00
Tatsuhiro Tsujikawa 22308b3ac9 2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that error message is not propagated to Exception.
	* src/SocketCore.cc
2010-03-09 14:15:37 +00:00
Tatsuhiro Tsujikawa 587be5119c 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that FillRequestGroupCommand is not invoked when
	RequestGroupMan::createInitialCommand() creates no Command object.
	* src/FillRequestGroupCommand.cc
	* src/RequestGroupMan.cc
2010-03-08 15:01:45 +00:00
Tatsuhiro Tsujikawa 2c2d19d5d5 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added debug logs.
	* src/FileEntry.cc
	* src/SegmentMan.cc
2010-03-08 14:34:32 +00:00
Tatsuhiro Tsujikawa 4c1ca715f6 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated automake-1.11.1
2010-03-08 12:39:16 +00:00
Tatsuhiro Tsujikawa ab6644c3de 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error and unit test error without openssl and
	gnutls.
	* src/MetalinkParserController.cc
	* test/MetalinkProcessorTest.cc
2010-03-08 12:17:26 +00:00
Tatsuhiro Tsujikawa c4a35932cb 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed unitest fails if openssl doesn't support sha-256.
	* src/MetalinkParserStateV4Impl.cc
	* test/MetalinkProcessorTest.cc
2010-03-08 12:01:08 +00:00
Tatsuhiro Tsujikawa b6778acd5e 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added missing wallclock.h to SRCS.
	* src/Makefile.am
2010-03-08 11:19:44 +00:00
Tatsuhiro Tsujikawa 49169c93ba 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --reuse-uri option. This option has existed quite long, but
	been hidden.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
	* src/usage_text.h
2010-03-07 15:26:58 +00:00
Tatsuhiro Tsujikawa 3ecf6e4b6f 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Ignore filename parameter if it contains directory traversal
	directives.
	* src/util.cc
	* test/UtilTest.cc
2010-03-07 15:06:48 +00:00
Tatsuhiro Tsujikawa 41b7b9428f 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
urldecode -> percentDecode
	* src/FtpConnection.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpResponse.cc
	* src/Request.cc
	* src/magnet.cc
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-03-07 14:29:40 +00:00
Tatsuhiro Tsujikawa 10b52bd9ac 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
urlencode -> percentEncode,
	torrentUrlencode -> torrentPercentEncode
	* src/BtHandshakeMessage.cc
	* src/BtHandshakeMessageValidator.h
	* src/DHTMessageFactoryImpl.cc
	* src/DefaultBtAnnounce.cc
	* src/HandshakeExtensionMessage.cc
	* src/HttpRequest.cc
	* src/XmlRpcMethodImpl.cc
	* src/bittorrent_helper.cc
	* src/util.cc
	* src/util.h
	* test/DHTAnnouncePeerMessageTest.cc
	* test/DHTGetPeersMessageTest.cc
	* test/DHTGetPeersReplyMessageTest.cc
	* test/UTPexExtensionMessageTest.cc
	* test/UtilTest.cc
2010-03-07 14:24:21 +00:00
Tatsuhiro Tsujikawa 4785b7190c 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that filename is percent encoded where it must be
	percent decoded in sendMdtm().
	* src/FtpConnection.cc
	* test/FtpConnectionTest.cc
2010-03-07 14:17:53 +00:00
Tatsuhiro Tsujikawa b0f180c99c 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
url -> uri in Request class.
	* src/AbstractCommand.cc
	* src/AdaptiveURISelector.cc
	* src/DefaultBtAnnounce.cc
	* src/FeedbackURISelector.cc
	* src/FileEntry.cc
	* src/FileEntry.h
	* src/HttpRequest.h
	* src/HttpResponse.cc
	* src/InitiateConnectionCommandFactory.cc
	* src/Metalink2RequestGroup.cc
	* src/OptionHandlerImpl.h
	* src/ProtocolDetector.cc
	* src/Request.cc
	* src/Request.h
	* src/XmlRpcMethodImpl.cc
	* test/AuthConfigFactoryTest.cc
	* test/FtpConnectionTest.cc
	* test/HttpRequestTest.cc
	* test/HttpResponseTest.cc
	* test/RequestTest.cc
2010-03-07 10:36:42 +00:00
Tatsuhiro Tsujikawa 6ce44b001d 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added getServers XML-RPC method.
	* doc/aria2c.1.txt
	* src/FileEntry.h
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
2010-03-07 08:30:19 +00:00
Tatsuhiro Tsujikawa 5fb7197a08 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Pool request when download finished.
	* src/DownloadCommand.cc
2010-03-07 08:06:52 +00:00
Tatsuhiro Tsujikawa 2cb0c8e69d 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made 'fileIndex' parameter in aria2.changeUri XML-RPC method
	1-based.
	* doc/aria2c.1.txt
	* src/XmlRpcMethodImpl.cc
	* test/XmlRpcMethodTest.cc
2010-03-07 07:24:19 +00:00
Tatsuhiro Tsujikawa e5e561afba 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Call RequestGroupMan::requestQueueCheck() when
	max-concurrent-downloads option is changed or new downloads are
	added/inserted into reserved list.
	* src/RequestGroupMan.cc
	* src/XmlRpcMethodImpl.cc
2010-03-07 06:46:33 +00:00
Tatsuhiro Tsujikawa 41e203bf84 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added aria2.forceRemove XML-RPC method.
	* doc/aria2c.1.txt
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
2010-03-07 06:04:15 +00:00
Tatsuhiro Tsujikawa 7f593c3ff8 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added debug log.
	* src/AbstractCommand.cc
2010-03-07 03:11:14 +00:00
Tatsuhiro Tsujikawa f3973e5a12 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Create CreateRequestCommand to the number of -s/-C when URIs are
	added by XML-RPC.
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/XmlRpcMethodImpl.cc
2010-03-07 03:10:19 +00:00
Tatsuhiro Tsujikawa 7923125382 2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added 'status' key to the response of getUri XML-RPC method.
	* doc/aria2c.1.txt
	* src/XmlRpcMethodImpl.cc
2010-03-06 15:09:11 +00:00
Tatsuhiro Tsujikawa e3b5d60893 2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced Time::reset() call with assigning of global::wallclock.
	* src/BtLeecherStateChoke.cc
	* src/BtSeederStateChoke.cc
	* src/PeerSessionResource.cc
	* src/RequestSlot.cc
	* src/ServerStat.cc
	* src/SpeedCalc.cc
2010-03-06 14:30:05 +00:00
Tatsuhiro Tsujikawa b1713e6373 2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added changeUri XML-RPC method.  This method removes/adds URIs
	dynamically.
	* doc/aria2c.1.txt
	* src/AbstractCommand.cc
	* src/DownloadContext.cc
	* src/DownloadContext.h
	* src/FileEntry.cc
	* src/FileEntry.h
	* src/Request.cc
	* src/Request.h
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/FileEntryTest.cc
	* test/XmlRpcMethodTest.cc
2010-03-06 14:21:43 +00:00
Tatsuhiro Tsujikawa 61b2b88c29 2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten copy ctor of RequestSlot to use initialization list.
	* src/RequestSlot.h
2010-03-06 08:45:12 +00:00
Tatsuhiro Tsujikawa 8d09b069e2 2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added Time global::wallclock to cache "current time" to reduce the
	call gettimeofday(). Global variables are now in namespace global.
	* src/AbstractCommand.cc
	* src/ActivePeerConnectionCommand.cc
	* src/AdaptiveURISelector.cc
	* src/BtLeecherStateChoke.cc
	* src/BtLeecherStateChoke.h
	* src/BtSeederStateChoke.cc
	* src/BtSeederStateChoke.h
	* src/BtStopDownloadCommand.cc
	* src/ConsoleStatCalc.cc
	* src/DHTBucket.cc
	* src/DHTGetPeersCommand.cc
	* src/DHTMessageTrackerEntry.cc
	* src/DHTNode.cc
	* src/DHTPeerAnnounceEntry.cc
	* src/DHTPeerAnnounceStorage.cc
	* src/DHTSetup.cc
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtInteractive.cc
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultPeerStorage.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadCommand.cc
	* src/DownloadEngine.cc
	* src/FileEntry.cc
	* src/HttpServerBodyCommand.cc
	* src/HttpServerCommand.cc
	* src/HttpServerResponseCommand.cc
	* src/LpdMessageDispatcher.cc
	* src/MultiUrlRequestInfo.cc
	* src/Peer.cc
	* src/Peer.h
	* src/PeerAbstractCommand.cc
	* src/PeerStat.h
	* src/RequestSlot.cc
	* src/RequestSlot.h
	* src/SegmentMan.cc
	* src/ServerStatMan.cc
	* src/SleepCommand.cc
	* src/SpeedCalc.cc
	* src/SpeedCalc.h
	* src/TimeA2.cc
	* src/TimeA2.h
	* src/TimeBasedCommand.cc
	* src/TimeSeedCriteria.h
	* src/UTMetadataRequestTracker.h
	* src/UTPexExtensionMessage.cc
	* src/wallclock.h
2010-03-06 08:29:53 +00:00
Tatsuhiro Tsujikawa 7637fd76a2 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that util::itos(INT64_MIN) fails.
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-03-05 14:38:49 +00:00
Tatsuhiro Tsujikawa f0938cf1d6 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed memory leak in SocketBuffer when _bufq is not empty when
	SocketBuffer is deleted. Added BufEntry constructor and deleted
	static factory functions.
	* src/SocketBuffer.cc
	* src/SocketBuffer.h
2010-03-05 14:11:00 +00:00
Tatsuhiro Tsujikawa fe8fea56ca 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Only execute RequestGroupMan::fillRequestGroupFromReserver() when
	queue maintenance is requested by RequestGroup to avoid to call
	the function unnecessarily.
	* src/FillRequestGroupCommand.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
2010-03-05 14:02:23 +00:00
Tatsuhiro Tsujikawa db4ed87f7a 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't use hash for Peer::id. Simple concatenation of ip address
	and port is enough.
	* src/Peer.cc
	* test/PeerTest.cc
2010-03-05 12:54:20 +00:00
Tatsuhiro Tsujikawa b55f2de8e6 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Enclosed log of DHTMessage::toString() with Logger::info().
	* src/DHTMessageDispatcherImpl.cc
	* src/DHTMessageReceiver.cc
2010-03-04 17:07:07 +00:00
Tatsuhiro Tsujikawa ca54ff894e 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::toHex().
	* src/util.cc
2010-03-04 17:01:29 +00:00
Tatsuhiro Tsujikawa 65b9af6e09 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed SocketBuffer::feedAndSend(). Renamed
	SocketBuffer::feedSendBuffer() as SocketBuffer::pushStr().
	* src/FtpConnection.cc
	* src/HttpConnection.cc
	* src/HttpServer.cc
	* src/MSEHandshake.cc
	* src/PeerConnection.cc
	* src/SocketBuffer.cc
	* src/SocketBuffer.h
2010-03-04 16:36:03 +00:00
Tatsuhiro Tsujikawa 74cf8aa980 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused PeerConnection::sendMessage(). Updated doc.
	* src/PeerConnection.cc
	* src/PeerConnection.h
2010-03-04 16:27:42 +00:00
Tatsuhiro Tsujikawa 8b73c2843f 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reduced copying/std::string instantiation in sending/receiving
	BitTorrent messages.
	* src/BtBitfieldMessage.cc
	* src/BtBitfieldMessage.h
	* src/BtExtendedMessage.cc
	* src/BtExtendedMessage.h
	* src/BtHandshakeMessage.cc
	* src/BtHandshakeMessage.h
	* src/BtKeepAliveMessage.cc
	* src/BtKeepAliveMessage.h
	* src/BtPieceMessage.cc
	* src/BtPieceMessage.h
	* src/BtPortMessage.cc
	* src/BtPortMessage.h
	* src/BtUnchokeMessage.h
	* src/DefaultBtMessageReceiver.cc
	* src/IndexBtMessage.cc
	* src/IndexBtMessage.h
	* src/PeerConnection.cc
	* src/PeerConnection.h
	* src/RangeBtMessage.cc
	* src/RangeBtMessage.h
	* src/SimpleBtMessage.cc
	* src/SimpleBtMessage.h
	* src/SocketBuffer.cc
	* src/SocketBuffer.h
	* src/ZeroBtMessage.cc
	* src/ZeroBtMessage.h
	* test/BtAllowedFastMessageTest.cc
	* test/BtBitfieldMessageTest.cc
	* test/BtCancelMessageTest.cc
	* test/BtChokeMessageTest.cc
	* test/BtExtendedMessageTest.cc
	* test/BtHandshakeMessageTest.cc
	* test/BtHaveAllMessageTest.cc
	* test/BtHaveMessageTest.cc
	* test/BtHaveNoneMessageTest.cc
	* test/BtInterestedMessageTest.cc
	* test/BtKeepAliveMessageTest.cc
	* test/BtNotInterestedMessageTest.cc
	* test/BtPieceMessageTest.cc
	* test/BtPortMessageTest.cc
	* test/BtRejectMessageTest.cc
	* test/BtRequestMessageTest.cc
	* test/BtSuggestPieceMessageTest.cc
	* test/BtUnchokeMessageTest.cc
2010-03-04 16:24:03 +00:00
Tatsuhiro Tsujikawa 5d05ef0e75 2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten SocketBuffer. Old implementation uses single std::string
	to store data and erase sent data, which is costly. New
	implementation uses deque to hold each data to avoid to mutate
	string.
	* src/SocketBuffer.cc
	* src/SocketBuffer.h
2010-03-03 14:29:40 +00:00
Tatsuhiro Tsujikawa 48c809d441 2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused FileEntry::extracted
	* src/FileEntry.cc
	* src/FileEntry.h
2010-03-02 16:09:03 +00:00
Tatsuhiro Tsujikawa 3bb7855a56 2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
In Metalink4, if size element contains invalid size, discard whole
	document. Added strict hash value check for metalink3/4.
	* src/MetalinkParserController.cc
	* src/MetalinkParserStateMachine.cc
	* src/MetalinkParserStateMachine.h
	* src/MetalinkParserStateV3Impl.cc
	* src/MetalinkParserStateV4Impl.cc
	* src/util.cc
	* src/util.h
	* test/MetalinkParserControllerTest.cc
	* test/MetalinkProcessorTest.cc
	* test/metalink4.xml
2010-03-02 15:14:39 +00:00
Tatsuhiro Tsujikawa ba78b6f167 2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added strict attribute validation for metalink4. When
	specification violation is found, discard the whole document.
	* src/ExpatMetalinkProcessor.cc
	* src/MetalinkParserStateMachine.cc
	* src/MetalinkParserStateMachine.h
	* src/MetalinkParserStateV4Impl.cc
	* src/XML2SAXMetalinkProcessor.cc
	* test/Makefile.am
	* test/MetalinkProcessorTest.cc
	* test/metalink4-attrs.xml: Removed
	* test/metalink4-dirtraversal.xml: Removed
2010-03-02 14:07:30 +00:00
Tatsuhiro Tsujikawa eb32f56479 2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added test for Metaurl transaction.
	* src/MetalinkParserController.cc
	* test/MetalinkParserControllerTest.cc
2010-03-01 17:20:41 +00:00
Tatsuhiro Tsujikawa 94e306cec4 2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Avoid costly BtMessage::toString() if info level log is not
	required.
	* src/DefaultBtInteractive.cc
	* src/Logger.h
	* src/SimpleBtMessage.cc
2010-03-01 17:03:24 +00:00
Tatsuhiro Tsujikawa 18ea756a74 2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reserved vector elements based on profiler results.
	* src/DefaultBtInteractive.cc
	* src/DefaultBtProgressInfoFile.cc
2010-03-01 16:13:42 +00:00
Tatsuhiro Tsujikawa 72e475dfde 2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Avoid to calculate end() iterator in each loop. std::deque is
	particularly slow. Make sure that recalculate end iterator if
	element is erased during loop.
2010-02-28 16:04:52 +00:00
Tatsuhiro Tsujikawa c342bde962 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use vector instead of deque for containers which is used for
	mostly read-only purpose.
2010-02-28 12:30:11 +00:00
Tatsuhiro Tsujikawa 96761a2572 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Small optimization: In updateTransferStatFor(), don't search peer
	ID twice.
	* src/DefaultPeerStorage.cc
2010-02-27 15:21:29 +00:00
Tatsuhiro Tsujikawa 88656eb14e 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use vector instead of deque for MetalinkEntry and MetalinkResource
	objects.
	* src/Metalink2RequestGroup.cc
	* src/Metalink2RequestGroup.h
	* src/MetalinkEntry.cc
	* src/MetalinkEntry.h
	* src/MetalinkHelper.cc
	* src/MetalinkHelper.h
	* src/Metalinker.cc
	* src/Metalinker.h
	* src/main.cc
	* test/MetalinkEntryTest.cc
	* test/MetalinkHelperTest.cc
	* test/MetalinkProcessorTest.cc
	* test/MetalinkerTest.cc
2010-02-27 15:14:40 +00:00
Tatsuhiro Tsujikawa 0c62e90730 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that grouped FileEntry objects are not used but
	instead all FileEntry objects are used for each metaurl group.
	* src/Metalink2RequestGroup.cc
	* test/Metalink2RequestGroupTest.cc
	* test/metalink4-groupbymetaurl.xml
2010-02-27 15:04:48 +00:00
Tatsuhiro Tsujikawa 4bef54c8e9 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use vector instead of deque for ChunkChecksum.
	* src/ChunkChecksum.h
	* src/MetalinkParserController.cc
	* src/MetalinkParserController.h
2010-02-27 14:32:02 +00:00
Tatsuhiro Tsujikawa 18d7eb5b77 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added MessageDigest::isStronger(). Now aria2 selects stronger hash
	algorithm in Metalink properly
	* src/MetalinkParserController.cc
	* src/MetalinkParserController.h
	* src/messageDigest.cc
	* src/messageDigest.h
	* test/MetalinkProcessorTest.cc
	* test/metalink4.xml
2010-02-27 14:24:15 +00:00
Tatsuhiro Tsujikawa e8d091af18 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced null or control characters in file path with '_'.  For
	MinGW32 build, additional characters which is not allowed in
	Windows kernel are also replaced. util::detectDirTraversal() now
	returns true if given string contains null or control characters.
	* src/DownloadContext.cc
	* src/DownloadContext.h
	* src/Metalink2RequestGroup.cc
	* src/MetalinkParserController.cc
	* src/bittorrent_helper.cc
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-02-27 10:06:40 +00:00
Tatsuhiro Tsujikawa 20d78285a8 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Discard metalink:file if its name attribute is empty string.
	Removed FileEntry instantiation in
	MetalinkParserController::setFileLengthOfEntry()
	* src/MetalinkParserController.cc
	* src/MetalinkParserStateV3Impl.cc
	* src/MetalinkParserStateV4Impl.cc
2010-02-27 08:42:13 +00:00
Tatsuhiro Tsujikawa dc2a51b54a 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Discard torrent file if path data in it contains directory
	traversal directives.  Discard metalink:file element in Metalink3
	format if its name attribute contains directory traversal
	directives.  Ignore name attribute of metalink:signature element
	in Metalink3 format if it contains directory traversal directives.
	* src/MetalinkParserStateV3Impl.cc
	* src/bittorrent_helper.cc
	* src/message.h
	* test/BittorrentHelperTest.cc
	* test/Makefile.am
	* test/MetalinkProcessorTest.cc
	* test/metalink3-dirtraversal.xml
	* test/test.xml
2010-02-27 08:22:58 +00:00
Tatsuhiro Tsujikawa 513a6bd12d 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed useless comment
	* src/MetalinkParserStateV4Impl.cc
2010-02-27 07:46:12 +00:00
Tatsuhiro Tsujikawa 2a6775e80b 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Supported name attribute of metalink::metaurl element and
	multi-file torrent with Metalink4.  Files with same metaurl are
	grouped and downloaded in one RequestGroup.
	* src/BtDependency.cc
	* src/FileEntry.h
	* src/Metalink2RequestGroup.cc
	* src/Metalink2RequestGroup.h
	* src/MetalinkEntry.cc
	* src/MetalinkEntry.h
	* src/MetalinkHelper.cc
	* src/MetalinkHelper.h
	* src/MetalinkMetaurl.cc
	* src/MetalinkMetaurl.h
	* src/MetalinkParserController.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/bittorrent_helper.cc
	* test/BittorrentHelperTest.cc
	* test/BtDependencyTest.cc
	* test/MetalinkHelperTest.cc
2010-02-26 15:37:08 +00:00
Tatsuhiro Tsujikawa 5032394c6a 2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Store name attribute of metalink:metaurl element in MetalinkMetaurl.
	* src/MetalinkMetaurl.h
	* src/MetalinkParserController.cc
	* src/MetalinkParserController.h
	* src/MetalinkParserStateMachine.cc
	* src/MetalinkParserStateMachine.h
	* src/MetalinkParserStateV4Impl.cc
	* test/MetalinkProcessorTest.cc
	* test/metalink4-dirtraversal.xml
2010-02-26 08:55:10 +00:00
Tatsuhiro Tsujikawa 15c1f64023 2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added MetalinkMetaurl class. It corresponds to metalink:metaurl
	element.
	* src/Makefile.am
	* src/Metalink2RequestGroup.cc
	* src/MetalinkEntry.cc
	* src/MetalinkEntry.h
	* src/MetalinkMetaurl.cc
	* src/MetalinkMetaurl.h
	* src/MetalinkParserController.cc
	* src/MetalinkParserController.h
	* src/MetalinkParserStateMachine.cc
	* src/MetalinkParserStateMachine.h
	* src/MetalinkParserStateV4Impl.cc
	* src/MetalinkParserStateV4Impl.h
	* test/MetalinkProcessorTest.cc
2010-02-25 16:00:24 +00:00
Tatsuhiro Tsujikawa 3880a5f71b 2010-02-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added Metalink4 support. Currently, name attribute of
	metalink::metaurl is ignored and multi-file torrent cannot be used
	with Metalink4.
	* doc/aria2c.1.txt
	* src/DownloadHandlerConstants.cc
	* src/ExpatMetalinkProcessor.cc
	* src/Makefile.am
	* src/Metalink2RequestGroup.cc
	* src/MetalinkEntry.cc
	* src/MetalinkEntry.h
	* src/MetalinkParserController.cc
	* src/MetalinkParserController.h
	* src/MetalinkParserState.h
	* src/MetalinkParserStateImpl.cc
	* src/MetalinkParserStateImpl.h
	* src/MetalinkParserStateMachine.cc
	* src/MetalinkParserStateMachine.h
	* src/MetalinkParserStateV3Impl.cc
	* src/MetalinkParserStateV3Impl.h
	* src/MetalinkParserStateV4Impl.cc
	* src/MetalinkParserStateV4Impl.h
	* src/MetalinkResource.cc
	* src/MetalinkResource.h
	* src/Metalinker.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/XML2SAXMetalinkProcessor.cc
	* src/messageDigest.cc
	* src/util.cc
	* src/util.h
	* test/Makefile.am
	* test/MetalinkEntryTest.cc
	* test/MetalinkParserControllerTest.cc
	* test/MetalinkProcessorTest.cc
	* test/MetalinkerTest.cc
	* test/UtilTest.cc
	* test/metalink4-attrs.xml
	* test/metalink4-dirtraversal.xml
	* test/metalink4.xml
2010-02-25 14:40:18 +00:00
Tatsuhiro Tsujikawa fa6fd758af 2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added aiFlags argument to getInterfaceAddress(). Use
	AI_NUMERICHOST to find interface specified using
	--bt-lpd-interface option to avoid time-consuming address lookup.
	* src/BtSetup.cc
	* src/SocketCore.cc
	* src/SocketCore.h
2010-02-23 13:50:35 +00:00
Tatsuhiro Tsujikawa 232deb47b5 2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return SharedHandle<LpdMessage>(new LpdMessage()) if received data
	is bad in LpdMessageReceiver.
	* src/LpdMessage.h
	* src/LpdMessageReceiver.cc
	* src/LpdMessageReceiver.h
	* src/LpdReceiveMessageCommand.cc
	* test/LpdMessageReceiverTest.cc
2010-02-22 16:11:33 +00:00
Tatsuhiro Tsujikawa 6ae5882f3c 2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-lpd-interface option to specify the interface to use
	for Local Peer Discovery. LpdMessageDispatcher object now has its
	own socket. LpdMessageReceiver's socket is binded to multicast
	address to only receive multicast packets.
	* src/BtSetup.cc
	* src/LpdMessageDispatcher.cc
	* src/LpdMessageDispatcher.h
	* src/LpdMessageReceiver.cc
	* src/LpdMessageReceiver.h
	* src/LpdReceiveMessageCommand.cc
	* src/LpdReceiveMessageCommand.h
	* src/OptionHandlerFactory.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/LpdMessageDispatcherTest.cc
	* test/LpdMessageReceiverTest.cc
2010-02-22 15:58:05 +00:00
Tatsuhiro Tsujikawa 6f0fff2a5f 2010-02-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Put the portion of code to get interface addresses in
	SocketCore::bindAddress() into newly added getInterfaceAddress().
	* src/SocketCore.cc
	* src/SocketCore.h
2010-02-21 15:21:21 +00:00
Tatsuhiro Tsujikawa 8f9af67b99 2010-02-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::parseInt() and parseUInt()
	* src/util.cc
2010-02-21 15:04:14 +00:00
Tatsuhiro Tsujikawa aa2036a70d 2010-02-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with mingw32 cross compiler. Defined
	a2_sockopt_t as void* for the target systems other than mingw32.
	* src/SocketCore.cc
	* src/a2netcompat.h
2010-02-21 12:50:32 +00:00
Tatsuhiro Tsujikawa ab0662e580 2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed 'always true' condition
	* src/util.cc
2010-02-20 14:36:57 +00:00
Tatsuhiro Tsujikawa 9281f11264 2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added Local Peer Discovery. It is disabled by default. Use
	--bt-enable-lpd to enable the function.
	* src/BtConstants.h
	* src/BtSetup.cc
	* src/LpdDispatchMessageCommand.cc
	* src/LpdDispatchMessageCommand.h
	* src/LpdMessage.h
	* src/LpdMessageDispatcher.cc
	* src/LpdMessageDispatcher.h
	* src/LpdMessageReceiver.cc
	* src/LpdMessageReceiver.h
	* src/LpdReceiveMessageCommand.cc
	* src/LpdReceiveMessageCommand.h
	* src/Makefile.am
	* src/OptionHandlerFactory.cc
	* src/Peer.cc
	* src/Peer.h
	* src/PeerInteractionCommand.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* src/util.cc
	* src/util.h
	* test/LpdMessageDispatcherTest.cc
	* test/LpdMessageReceiverTest.cc
	* test/Makefile.am
2010-02-20 14:23:25 +00:00
Tatsuhiro Tsujikawa aee471e52c 2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
User-defined custom request headers specified by --header option
	now override builtin headers if they have same name.
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* test/HttpRequestTest.cc
2010-02-20 12:55:23 +00:00
Tatsuhiro Tsujikawa f1ee4045c2 2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewirtten util::isNumber()
	* src/util.cc
2010-02-19 14:33:39 +00:00
Tatsuhiro Tsujikawa f77ea4721c 2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reverted changes in r1893. setlocale(LC_CTYPE, "") is needed
	because without it localized error messages are not printed
	correctly.
	* src/Platform.cc
2010-02-19 11:28:27 +00:00
Tatsuhiro Tsujikawa 780aaf9c80 2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added unit tests for util::getContentDispositionFilename() from
	http://greenbytes.de/tech/tc2231/ Fixed the function so that added
	tests are passed.
	* src/util.cc
	* test/UtilTest.cc
2010-02-19 10:54:40 +00:00
Tatsuhiro Tsujikawa cc056289e7 2010-02-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed setlocale() for LC_CTYPE. It may affect isxdigit in
	util.cc
	* src/Platform.cc
2010-02-18 13:55:08 +00:00
Tatsuhiro Tsujikawa 2da32876a2 2010-02-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Support RFC2231 "Parameter Value Character Set and Language
	Information" in Content-Disposition header.
	* src/HttpResponse.cc
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-02-17 16:09:19 +00:00
Tatsuhiro Tsujikawa dfb40cb729 2010-02-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Small optimization for A2_WOULDBLOCK(e)
	* src/SocketCore.cc
2010-02-16 14:53:11 +00:00
Tatsuhiro Tsujikawa 71d7a162d6 2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Check both EAGAIN and EWOULDBLOCK
	* src/SocketCore.cc
2010-02-15 13:57:51 +00:00
Tatsuhiro Tsujikawa 3842161f9b 2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed ret == 0 checking for SSL_read(), SSL_write() and
	SSL_peek() because the checks are done in the caller.  In
	SocketBuffer::send(), throw exception if nothing could be written
	and socket error was not EWOULDBLOCK
	* src/SocketBuffer.cc
	* src/SocketCore.cc
2010-02-15 13:02:14 +00:00
Tatsuhiro Tsujikawa a6a174a0b2 2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed error code handling so that it can handle Winsock2 error
	code.
	* src/SocketCore.cc
	* src/SocketCore.h
2010-02-15 12:47:10 +00:00
Tatsuhiro Tsujikawa 2097b5e29a 2010-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that aria2 doesn't handle return value if error
	occurred before download begins.
	* src/MultiUrlRequestInfo.cc
	* src/main.cc
2010-02-12 13:53:52 +00:00
Tatsuhiro Tsujikawa 1a04d2913e 2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed SegmentManFactory class.
	* src/AbstractSegmentManFactory.h
	* src/DefaultSegmentManFactory.cc
	* src/DefaultSegmentManFactory.h
	* src/Makefile.am
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/SegmentManFactory.h
2010-02-11 11:42:20 +00:00
Tatsuhiro Tsujikawa 4354c674ab 2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Destroyed digest context after getting calculated hash.
	* src/Piece.cc
	* src/Piece.h
2010-02-11 08:33:58 +00:00
Tatsuhiro Tsujikawa 91127ed864 2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed BitfieldManFactory class.
	* src/BitfieldManFactory.cc
	* src/BitfieldManFactory.h
	* src/DefaultPieceStorage.cc
	* src/Makefile.am
	* src/PeerSessionResource.cc
	* src/Piece.cc
	* src/main.cc
	* test/DefaultPieceStorageTest.cc
2010-02-11 08:28:41 +00:00
Tatsuhiro Tsujikawa b89e306599 2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused methods from BitfieldMan class.  Moved
	getFirstMissingIndex to bitfield.h. Updated doc for BitfieldMan
	class.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
	* src/BitfieldManFactory.cc
	* src/BitfieldManFactory.h
	* src/bitfield.h
	* src/main.cc
	* test/BitfieldManTest.cc
	* test/DefaultPieceStorageTest.cc
2010-02-11 08:22:37 +00:00
Tatsuhiro Tsujikawa e3e3f0438d 2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved getFirstNMissingIndex to bitfield.h and made it return the
	number of appended indexes.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
	* src/Piece.cc
	* src/Piece.h
	* src/bitfield.h
	* test/BitfieldManTest.cc
2010-02-11 07:24:06 +00:00
Tatsuhiro Tsujikawa ccc552cec9 2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added BitfieldMan::getFirstNMissingUnusedIndex() to get multiple
	unused block indexes at once instead of calling
	getFirstMissingUnusedIndex() multiple times. Made use of it in
	Piece class and DefaultBtRequestFactory class via Piece class.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
	* src/DefaultBtRequestFactory.cc
	* src/Piece.cc
	* src/Piece.h
	* test/BitfieldManTest.cc
2010-02-10 15:07:06 +00:00
Tatsuhiro Tsujikawa 762580ba8c 2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use std::make_pair(...)
	* src/DHTMessageTracker.cc
2010-02-10 13:08:28 +00:00
Tatsuhiro Tsujikawa aff9978220 2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use std::make_pair(...)
	* src/bittorrent_helper.cc
2010-02-10 13:07:32 +00:00
Tatsuhiro Tsujikawa 43cd16b4ff 2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
urlencode(removeFragment(...)) in parseUrl(...)
	* src/Request.cc
2010-02-10 13:04:42 +00:00
Tatsuhiro Tsujikawa e227e53d7b 2010-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Wrapped logger->debug(...) with if(logger->debug()) { ... }
	* src/AbstractCommand.cc
	* src/AdaptiveURISelector.cc
	* src/BtPieceMessage.cc
	* src/BtPortMessage.cc
	* src/CreateRequestCommand.cc
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTBucket.cc
	* src/DHTGetPeersCommand.cc
	* src/DHTMessageDispatcherImpl.cc
	* src/DHTMessageFactoryImpl.cc
	* src/DHTMessageTracker.cc
	* src/DHTPeerAnnounceStorage.cc
	* src/DHTRoutingTable.cc
	* src/DHTSetup.cc
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtInteractive.cc
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtMessageReceiver.cc
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultBtRequestFactory.cc
	* src/DefaultPeerStorage.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadCommand.cc
	* src/DownloadEngine.cc
	* src/EpollEventPoll.cc
	* src/FileAllocationCommand.cc
	* src/FileEntry.cc
	* src/FtpNegotiationCommand.cc
	* src/HandshakeExtensionMessage.cc
	* src/HttpListenCommand.cc
	* src/HttpServer.cc
	* src/HttpSkipResponseCommand.cc
	* src/IteratableChunkChecksumValidator.cc
	* src/Logger.h
	* src/MSEHandshake.cc
	* src/MetalinkPostDownloadHandler.cc
	* src/MultiDiskAdaptor.cc
	* src/PeerAbstractCommand.cc
	* src/PeerConnection.cc
	* src/PeerListenCommand.cc
	* src/PeerReceiveHandshakeCommand.cc
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/SegmentMan.cc
	* src/SelectEventPoll.cc
	* src/ServerStat.cc
	* src/SimpleBtMessage.cc
	* src/SocketCore.cc
	* src/TrackerWatcherCommand.cc
	* src/UTMetadataDataExtensionMessage.cc
	* src/UTMetadataRequestFactory.cc
	* src/UTMetadataRequestTracker.cc
	* src/XmlRpcMethod.cc
2010-02-09 12:20:20 +00:00
Tatsuhiro Tsujikawa ce2b9ed15a 2010-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Changed log level from debug to info
	* src/BtDependency.cc
	* src/BtPostDownloadHandler.cc
2010-02-08 14:24:20 +00:00
Tatsuhiro Tsujikawa da682bd6bd 2010-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused PeerSessionResource::_latency.
	* src/BtConstants.h
	* src/BtPieceMessage.cc
	* src/Peer.cc
	* src/Peer.h
	* src/PeerSessionResource.cc
	* src/PeerSessionResource.h
	* test/PeerSessionResourceTest.cc
2010-02-08 12:31:13 +00:00
Tatsuhiro Tsujikawa 978258d2a4 2010-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that --file-allocation=falloc doesn't work with
	single file download.
	* src/AbstractSingleDiskAdaptor.cc
2010-02-06 15:55:31 +00:00
Tatsuhiro Tsujikawa 01fc3204f2 2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Remove fragment from redirected URI.
	* src/Request.cc
	* test/RequestTest.cc
2010-02-03 13:49:22 +00:00
Tatsuhiro Tsujikawa 76aad1de2b 2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Drop legacy ifdef for ares support and code cleanup.
	* src/AsyncNameResolver.cc
	* src/AsyncNameResolver.h
2010-02-02 13:49:51 +00:00
Tatsuhiro Tsujikawa abcc014675 2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Call ares_library_init and ares_library_cleanup if they are
	available. Some code cleanups.
	* src/Platform.cc
2010-02-02 13:48:16 +00:00
Tatsuhiro Tsujikawa 3f7df00d98 2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Call ares_process_fd() each time after epoll to handle timeout.
	* src/EpollEventPoll.cc
	* src/EpollEventPoll.h
2010-02-01 15:21:41 +00:00
Tatsuhiro Tsujikawa ace04f4c80 2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Suppressed type-cast compiler warning
	* src/CookieStorage.cc
2010-01-31 14:04:44 +00:00
Tatsuhiro Tsujikawa c0f642df52 2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error on Mac OS X.
	* src/CookieStorage.h
2010-01-31 12:36:18 +00:00
Tatsuhiro Tsujikawa cdfbae327b 2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten help message for --allow-overwrite option.
	* doc/aria2c.1.txt
	* src/usage_text.h
2010-01-31 08:14:40 +00:00
Tatsuhiro Tsujikawa a4870cacb4 2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added bittorrent key to the response of tellStatus XML-RPC method.
	The associated value of the key is a struct and contains data
	retrieved from .torrent file, such as name, announce-list,
	comment, etc.
	* doc/aria2c.1.txt
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/XmlRpcMethodTest.cc
2010-01-31 08:05:21 +00:00
Tatsuhiro Tsujikawa 100ad4e18a 2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed parse(std::istream&) and parse(const std::string&) from
	CookieParser.
	* src/CookieParser.cc
	* src/CookieParser.h
	* test/CookieParserTest.cc
	* test/cookietest.txt: Removed
2010-01-29 12:12:21 +00:00
Tatsuhiro Tsujikawa 58f51205c6 2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that cookie for domain a.b.c is not sent to the host
	a.b.c if no other cookies are stored.  Fixed the bug that
	Cookie::markOriginServerOnly() is not called when cookies are
	loaded from file/sqlite3 database.
	* src/Cookie.h
	* src/CookieStorage.cc
	* src/NsCookieParser.cc
	* src/Sqlite3MozCookieParser.cc
	* test/CookieStorageTest.cc
	* test/NsCookieParserTest.cc
	* test/Sqlite3MozCookieParserTest.cc
	* test/cookies.sqlite
	* test/nscookietest.txt
2010-01-29 12:04:36 +00:00
Tatsuhiro Tsujikawa 6645df820e 2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed RequestGroup::initSegmentMan(). Guaranteed that either
	both _pieceStorage and _segmentMan are initialized or they are
	not.
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* test/BtDependencyTest.cc
2010-01-29 11:03:14 +00:00
Tatsuhiro Tsujikawa 0bf9c31afc 2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced "." with A2STR::DOT_C
	* src/AbstractCommand.cc
	* src/Cookie.cc
	* src/DownloadContext.cc
	* src/FtpConnection.cc
	* src/RequestGroup.cc
	* src/util.cc
2010-01-28 14:33:23 +00:00
Tatsuhiro Tsujikawa eb4116ae57 2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced isNumberAndDotsNotation() with isNumericHost().
	isNumericHost() can handle IPv6 address.
	* src/Cookie.cc
	* src/CookieStorage.cc
	* src/util.cc
	* src/util.h
	* test/CookieTest.cc
	* test/UtilTest.cc
2010-01-28 14:25:16 +00:00
Tatsuhiro Tsujikawa 994d58a4a4 2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Included A2STR.h
	* src/CookieStorage.cc
2010-01-28 14:05:42 +00:00
Tatsuhiro Tsujikawa 4043b6ccae 2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten Cookie storage.
	* src/Cookie.cc
	* src/Cookie.h
	* src/CookieParser.cc
	* src/CookieStorage.cc
	* src/CookieStorage.h
	* src/a2functional.h
	* test/CookieParserTest.cc
	* test/CookieStorageTest.cc
	* test/CookieTest.cc
	* test/HttpResponseTest.cc
	* test/TestUtil.h
	* test/a2functionalTest.cc
2010-01-28 14:01:50 +00:00
Tatsuhiro Tsujikawa 60c16887e6 2010-01-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Handle redirected URI which is not properly percent encoded.
	* src/Request.cc
	* test/RequestTest.cc
2010-01-26 12:39:22 +00:00
Tatsuhiro Tsujikawa 69850ada49 2010-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that causes segmentaiton fault when aria2 sees '404
	not found' in the N times(N is where --max-file-not-found=N, N>0)
	in a row without single '200 OK' response.
	* src/RequestGroup.cc.
2010-01-25 12:48:47 +00:00
Tatsuhiro Tsujikawa b39ede01a7 2010-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with i586-mingw32msvc-g++.  Always Cut console
	readout by 80 characters in mingw32 build.  Catch exception in
	DHTMessageReceiver::receiveMessage().
	* src/AbstractDiskWriter.cc
	* src/ConsoleStatCalc.cc
	* src/DHTMessageReceiver.cc
	* src/File.cc
	* src/RequestGroupMan.cc
	* src/a2io.h
	* test/FileTest.cc
2010-01-24 13:49:07 +00:00
Tatsuhiro Tsujikawa 46605f66c3 2010-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with intel compiler
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
2010-01-24 12:49:58 +00:00
Tatsuhiro Tsujikawa 89982bb10f 2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed broken OptionParser::findByName().
	* src/OptionParser.cc
	* test/OptionParserTest.cc
2010-01-23 12:10:43 +00:00
Tatsuhiro Tsujikawa 226160f84f 2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error without GNUTLS/OpenSSL.
	* src/util.cc
2010-01-23 10:02:56 +00:00
Tatsuhiro Tsujikawa 2eb26c2513 2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Changed compression level to Z_DEFAULT_COMPRESSION.
	* src/GZipEncoder.cc
2010-01-23 09:24:56 +00:00
Tatsuhiro Tsujikawa 06a52cad02 2010-01-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
aria2 now returns gzip compressed XML-RPC response if XML-RPC
	client accepts gzip content encoding.
	* src/A2STR.cc
	* src/A2STR.h
	* src/GZipEncoder.cc
	* src/GZipEncoder.h
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpServer.cc
	* src/HttpServer.h
	* src/HttpServerBodyCommand.cc
	* src/HttpServerCommand.cc
	* src/Makefile.am
	* src/XmlRpcResponse.cc
	* src/XmlRpcResponse.h
	* test/GZipEncoderTest.cc
	* test/Makefile.am
2010-01-22 14:09:39 +00:00
Tatsuhiro Tsujikawa b5ee1b5071 2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten toTagString
	* src/NameMatchOptionHandler.cc
	* test/OptionHandlerTest.cc
2010-01-17 13:58:42 +00:00
Tatsuhiro Tsujikawa 2d74b16583 2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added dir and files key to the response struct of aria2.tellStatus
	XML-RPC method.  The value associated with files key is the list
	of files. Its element is the same struct used in aria2.getFiles
	XML-RPC method.  Added uris key to the response struct of
	aria2.getFiles XML-RPC method.  The value associated with uris key
	is the list of URIs. Its element is the same struct used in
	aria2.getUris XML-RPC method.
	* doc/aria2c.1.txt
	* src/XmlRpcMethodImpl.cc
	* test/XmlRpcMethodTest.cc
2010-01-17 13:54:42 +00:00
Tatsuhiro Tsujikawa f2722cb870 2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added aria2.getSessionInfo XML-RPC method.  This method returns a
	struct containing Session ID, which is generated each time when
	aria2 is invoked.
	* doc/aria2c.1.txt
	* doc/xmlrpc/aria2rpc
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/XmlRpcMethodTest.cc
2010-01-17 11:55:22 +00:00
Tatsuhiro Tsujikawa 87b18019b4 2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Moved generateRandomKey() from bittorrent_helper to util.
	* src/DHTBucket.cc
	* src/DHTNode.cc
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* src/util.cc
	* src/util.h
2010-01-17 10:05:53 +00:00
Tatsuhiro Tsujikawa f9c6c0ccd8 2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Now offset argument in aria2.tellWaiting and aria2.tellStopped
	accepts a negative integer.  'offset' == -1 points last download
	in the waiting queue and 'offset' == -2 points the download before
	the last download, and so on. The downloads in the response are in
	reversed order.
	* doc/aria2c.1.txt
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/XmlRpcMethodTest.cc
2010-01-17 09:50:38 +00:00
Tatsuhiro Tsujikawa c0308e1ea4 2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --human-readable option.  This option, when true is given,
	prints sizes and speed in human readable format(e.g., 1.2Ki,
	3.4Mi) in the console readout. The default value is true and it
	looks exactly the same as aria2-1.8.0.  So the 'new feature'
	appears when false is given.  In this case, sizes and speed are
	printed without in bytes. No Ki, Mi units conversion is used.
	This may be useful for a program to parse the output of aria2.
	* doc/aria2c.1.txt
	* src/ConsoleStatCalc.cc
	* src/ConsoleStatCalc.h
	* src/OptionHandlerFactory.cc
	* src/main.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-01-17 07:23:53 +00:00
Tatsuhiro Tsujikawa c022939c8f 2010-01-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Now --all-proxy, --http-proxy, --https-proxy and --ftp-proxy
	option accepts empty string "".  When "" is given, it erases
	previously defined proxy.
	* doc/aria2c.1.txt
	* src/OptionHandlerImpl.h
	* src/usage_text.h
	* test/OptionHandlerTest.cc
2010-01-15 09:04:47 +00:00
Tatsuhiro Tsujikawa c16b346bb9 2010-01-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup for proxy URI handling.
	* src/AbstractCommand.cc
2010-01-15 08:47:00 +00:00
Tatsuhiro Tsujikawa a77d96e2cf 2010-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-metadata-only option.  If true is given to this option,
	aria2 downloads metadata only. The file(s) described in metadata
	will not be downloaded. This option has effect only when
	BitTorrent Magnet URI is used. See also --bt-save-metadata option.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
	* src/UTMetadataPostDownloadHandler.cc
	* src/download_helper.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-01-12 14:30:47 +00:00
Tatsuhiro Tsujikawa f3b1defc97 2010-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed memory leak. Commands stored in std::deque<Command*> are not
	deleted when exception is thrown. Make sure that when passing
	std::deque<Command*> to function to store Commands, handle
	exception and delete these Commands.
	* src/AbstractCommand.cc
	* src/CheckIntegrityCommand.cc
	* src/FileAllocationCommand.cc
	* src/RequestGroup.cc
	* src/TrackerWatcherCommand.cc
2010-01-11 15:35:12 +00:00
Tatsuhiro Tsujikawa 768f78f771 2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced '/' and '_' with '_' in HTTP/FTP filename.
	* src/A2STR.cc
	* src/A2STR.h
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-01-11 14:32:20 +00:00
Tatsuhiro Tsujikawa 4c89170488 2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Treat --dir="" as --dir="."
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/Metalink2RequestGroup.cc
	* src/UTMetadataPostDownloadHandler.cc
	* src/bittorrent_helper.cc
	* src/download_helper.cc
	* src/util.cc
	* src/util.h
	* test/UtilTest.cc
2010-01-11 14:01:20 +00:00
Tatsuhiro Tsujikawa 2b62660e49 2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code clean up.
	* src/main.cc
2010-01-10 07:57:39 +00:00
Tatsuhiro Tsujikawa 558541ec48 2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reset GID to 1 when they reach maximum value. Rewritten
	CUIDCounter::newID()
	* src/CUIDCounter.h
	* src/RequestGroup.cc
	* src/RequestGroup.h
2010-01-10 07:51:45 +00:00
Tatsuhiro Tsujikawa 658442b762 2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --http-no-cache option.  When true is given, aria2 sends
	Cache-Control: no-cache and Pragma: no-cache header to avoid
	cached content.  If false is given , these headers are not sent
	and you can add Cache-Control header with a directive you like
	using --header option.
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpRequestCommand.cc
	* src/OptionHandlerFactory.cc
	* src/download_helper.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2010-01-10 07:33:20 +00:00
Tatsuhiro Tsujikawa 84389aefe2 2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed Logger from OptionParser. When OptionParser is used to
	parse options at bootstrap, LogFactory is not configured yet
	properly. When LogFactory is used in OptionParser, it initializes
	itself to return a logger which has no ability to write log to the
	disk.
	* src/OptionParser.cc
	* src/OptionParser.h
2010-01-10 07:19:53 +00:00
Tatsuhiro Tsujikawa ea86dbb245 2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added following sentance to the help message of --out option:
	--out option is ignored when -Z is used.
	* doc/aria2c.1.txt
	* src/usage_text.h
2010-01-10 06:55:35 +00:00
Tatsuhiro Tsujikawa d94c6b0c9c 2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-save-metadata option to -i list options.
	* doc/aria2c.1.txt
	* src/download_helper.cc
2010-01-10 06:48:34 +00:00
Tatsuhiro Tsujikawa be20b46c19 2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with i586-mingw32msvc-gcc 4.4.2, without any
	additional libraries.
	* src/MultiUrlRequestInfo.cc
	* src/NameResolver.cc
	* src/SelectEventPoll.cc
	* src/SelectEventPoll.h
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/a2netcompat.h
	* src/daemon.cc
	* src/main.cc
2010-01-09 13:06:45 +00:00
Tatsuhiro Tsujikawa b950da1841 2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo.
	* src/DHTMessageReceiver.cc
2010-01-09 09:43:04 +00:00
Tatsuhiro Tsujikawa d56459bb88 2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that causes segmentation fault if unknown option is
	put in aria2.conf file. BUG#2928303
	* src/OptionParser.cc
	* src/OptionParser.h
	* src/option_processing.cc
	* test/OptionParserTest.cc
2010-01-09 09:35:18 +00:00
Tatsuhiro Tsujikawa e56f2afbbf 2010-01-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Ignore port message with port=0.
	* src/BtPortMessage.cc
2010-01-07 12:49:51 +00:00
Tatsuhiro Tsujikawa 4c64d3629d 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused function.
	* src/SharedHandle.h
2010-01-06 14:32:50 +00:00
Tatsuhiro Tsujikawa e3a61f0fd8 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Find pooled socket using all cached addresses.
	* src/DNSCache.h
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/InitiateConnectionCommand.cc
2010-01-06 14:31:41 +00:00
Tatsuhiro Tsujikawa ffdf21b87b 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated copyright year.
	* src/version_usage.cc
2010-01-06 13:08:05 +00:00
Tatsuhiro Tsujikawa e237a6ebda 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Pool connection if _contentEncodingDecoder is used and server
	supports persistent connection.
	* src/HttpDownloadCommand.cc
2010-01-06 13:02:10 +00:00
Tatsuhiro Tsujikawa f6a3ca0b1e 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc.
	* src/DownloadCommand.cc
2010-01-06 12:52:14 +00:00
Tatsuhiro Tsujikawa 4db349c1f3 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Untabify. Fixed one line in copyright which is longer than 80
	columns.
	* src
	* test
2010-01-05 16:01:46 +00:00
Tatsuhiro Tsujikawa 9f5ad4dc00 2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed usage of --bt-save-metadata option.
	* src/usage_text.h
2009-12-27 05:41:05 +00:00
Tatsuhiro Tsujikawa c92975aefb 2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Get rid of AI_ADDRCONFIG when --disable-ipv6 opiton is given. It
	causes name resolution error when none of network interface has
	IPv4 address.
	* src/main.cc
2009-12-27 03:40:38 +00:00
Tatsuhiro Tsujikawa 606360779f 2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use info hash as a filename when saving BitTorrent metadata.
	* src/UTMetadataPostDownloadHandler.cc
	* test/UTMetadataPostDownloadHandlerTest.cc
2009-12-27 02:42:43 +00:00
Tatsuhiro Tsujikawa 63c6a16d40 2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added signal handler for SIGHUP to save .aria2 file when terminal
	is closed. The handler is the same one for SIGINT and SIGTERM.
	* src/MultiUrlRequestInfo.cc
2009-12-26 13:18:23 +00:00
Tatsuhiro Tsujikawa 1c331e901a 2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Defined method name in XmlRpcMethod subclasses.
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/XmlRpcMethodTest.cc
2009-12-26 13:07:27 +00:00
Tatsuhiro Tsujikawa af20aea88c 2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added system.multicall XML-RPC method.
	* src/XmlRpcMethod.cc
	* src/XmlRpcMethod.h
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/XmlRpcMethodTest.cc
2009-12-26 10:16:56 +00:00
Tatsuhiro Tsujikawa 838fcbbecd 2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Check structure depth when decoding.
	* src/bencode.cc
	* src/bencode.h
	* test/BencodeTest.cc
2009-12-25 14:53:11 +00:00
Tatsuhiro Tsujikawa 4e294c7129 2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added tellStopped XML-RPC method. This method returns stopped
	download in the specified range. It takes same parameters with
	tellWaiting XML-RPC method. offset = 0 means the oldest download.
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
2009-12-25 14:46:22 +00:00
Tatsuhiro Tsujikawa 88bcc6e681 2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use AI_ADDRCONFIG flag if it is available. Refactored so that
	getaddrinfo calls are not scattered around. Unset AI_ADDRCONFIG
	when conducting unit tests because they fail if networking
	interface is not configured with IPv4 address.
	* src/NameResolver.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/a2netcompat.h
	* test/AllTest.cc
2009-12-24 14:59:47 +00:00
Tatsuhiro Tsujikawa 1da1665c24 2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Defined static string constants for efficiency.
	* src/XmlRpcMethodImpl.cc
2009-12-24 13:39:36 +00:00
Tatsuhiro Tsujikawa 2745d85597 2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-save-metadata option. When true is given, it saves
	metadata as .torrent file. This option has effect only when
	BitTorrent Magnet URI is used.  The filename is name in metadata
	with suffix .torrent. The directory to be saved is the same
	directory where download file is saved. If the same file already
	exists, metdata is not saved.
	* src/OptionHandlerFactory.cc
	* src/UTMetadataPostDownloadHandler.cc
	* src/UTMetadataPostDownloadHandler.h
	* src/message.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/UTMetadataDataExtensionMessageTest.cc
2009-12-23 13:21:12 +00:00
Tatsuhiro Tsujikawa 9b933ca406 2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added util::saveAs() function. Use it in Signature::save().
	* src/Signature.cc
	* src/util.cc
	* src/util.h
2009-12-23 13:16:57 +00:00
Tatsuhiro Tsujikawa ace9f30d49 2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Refactored RequestGroupMan::changeReservedGroupPosition()
	* src/RequestGroupMan.cc
2009-12-23 04:19:49 +00:00
Tatsuhiro Tsujikawa dd98c64161 2009-12-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added changePosition XML-RPC method. It takes 3 parameters: gid,
	pos and how.  This method changes the position of download denoted
	by gid.  If how is POS_SET, it moves the download to a position
	relative to the beginning of the queue.  If how is POS_CUR, it
	moves the download to a position relative to the current
	position. If how is POS_END, it moves the download to a position
	relative to the end of the queue. If the destination position is
	less than 0 or beyond the end of the queue, it moves the download
	to the beginning or the end of the queue respectively.  Returns
	the destination position.
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/XmlRpcMethodFactory.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcMethodImpl.h
	* test/RequestGroupManTest.cc
	* test/XmlRpcMethodTest.cc
2009-12-21 15:17:34 +00:00
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
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