Commit Graph

1091 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa
091dad70cc 2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Dropped ares support.
	* README
	* configure.ac
	* m4/libares.m4: Removed.
	* src/AsyncNameResolver.cc
	* src/Makefile.am
	* test/Makefile.am
2008-11-18 11:20:53 +00:00
Tatsuhiro Tsujikawa
b0029fa4bf 2008-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten ByteArrayDiskWriter::size() using seekg() and tellg().
	Removed const qualifier from DiskWriter::size().
	* src/AbstractDiskWriter.cc
	* src/AbstractDiskWriter.h
	* src/ByteArrayDiskWriter.cc
	* src/ByteArrayDiskWriter.h
	* src/DiskWriter.h
	* test/ByteArrayDiskWriterTest.cc
2008-11-17 12:07:24 +00:00
Tatsuhiro Tsujikawa
644f707519 2008-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that causes segmentation fault/bus error during
	executing choking algorithm while seeding. This is caused by
	improper implementation of compare function which returns
	inconsistent results depending on the timing of last unchoke.
	* src/BtSeederStateChoke.cc
	* src/BtSeederStateChoke.h
	* src/DefaultPeerStorage.cc
2008-11-17 11:07:04 +00:00
Tatsuhiro Tsujikawa
87b442d8c3 2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed TODO
	* TODO
2008-11-16 08:42:12 +00:00
Tatsuhiro Tsujikawa
64a7770f53 2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added a section that explains how to pass argument to options
	that takes optional arguments with its short form.
	* doc/aria2c.1.txt
2008-11-16 08:36:41 +00:00
Tatsuhiro Tsujikawa
03f91ba35a 2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added -u for the short form of --max-upload-limit option.
	* doc/aria2c.1.txt
	* src/option_processing.cc
	* src/usage_text.h
2008-11-16 08:13:51 +00:00
Tatsuhiro Tsujikawa
3c15414420 2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added -V for the short form of --check-integrity option.
	Now the argument of --check-integrity option is optional:
	if it is omitted, it is evaluated as true.
	* doc/aria2c.1.txt
	* src/option_processing.cc
	* src/usage_text.h
2008-11-16 08:06:56 +00:00
Tatsuhiro Tsujikawa
adb4ef2168 2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made the default value of --ftp-pasv option set to true and it
	can take true/false values.
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/usage_text.h
	* doc/aria2c.1.txt
2008-11-16 04:41:07 +00:00
Tatsuhiro Tsujikawa
9b71a5d0b5 2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Given custom random number generator to std::random_shuffle.
	* src/AnnounceList.cc
	* src/BtLeecherStateChoke.cc
	* src/BtSeederStateChoke.cc
	* src/DefaultBtRequestFactory.cc
	* src/MetalinkEntry.cc
	* src/RarestPieceSelector.cc
	* src/SimpleRandomizer.cc
	* src/SimpleRandomizer.h
2008-11-16 04:25:24 +00:00
Tatsuhiro Tsujikawa
a3bfe5c504 2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Now the default value of --enable-direct-io is true.
	* src/OptionHandlerFactory.cc
	* doc/aria2c.1.txt
2008-11-15 14:47:26 +00:00
Tatsuhiro Tsujikawa
c1a3bba6f8 2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Erase peer before executing onReturningPeer and onErasingPeer
	because choking algorithm called from onReturningPeer doesn't
	like erasing peer in the active peer list.
	* src/DefaultPeerStorage.cc
2008-11-15 13:39:29 +00:00
Tatsuhiro Tsujikawa
7bcf0f48b2 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Instead of creating special filename in createDownloadResult()
	if inMemoryDownload() is true, now it is done in getFilePath().
	* src/RequestGroup.cc
	* test/RequestGroupTest.cc
2008-11-14 12:32:54 +00:00
Tatsuhiro Tsujikawa
690340ef02 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Print "[MEMORY]" and filename if a file is not saved in disk and
	just processed in memory. This is the fix for previous comment
	out.
	* src/MemoryBufferPreDownloadHandler.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
2008-11-14 12:02:16 +00:00
Tatsuhiro Tsujikawa
6c397fe7ba 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Commented out the code which sets virtual directory path
	"[MEMORY]" propagate directory to store to following
	RequestGroup.
	* src/MemoryBufferPreDownloadHandler.cc
2008-11-13 16:52:44 +00:00
Tatsuhiro Tsujikawa
cc1546feb5 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Bump up version number to 1.0.0b
	* configure.ac
2008-11-13 16:15:16 +00:00
Tatsuhiro Tsujikawa
b62b860ba0 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added input_uris.txt to EXTRA_DIST
	* test/Makefile.am
2008-11-13 16:14:03 +00:00
Tatsuhiro Tsujikawa
ad05b8ff30 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed PeerObject.h from Makefile.am
	* src/Makefile.am
2008-11-13 16:07:44 +00:00
Tatsuhiro Tsujikawa
c0197f1040 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Avoid slow seeding
	* src/PeerInteractionCommand.cc
2008-11-13 15:39:22 +00:00
Tatsuhiro Tsujikawa
586b63fdbd 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated usage for -i option.
	* src/usage_text.h (TEXT_INPUT_FILE)
2008-11-13 15:36:36 +00:00
Tatsuhiro Tsujikawa
073d6ca265 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added INPUT FILE section to man page.
	Escaped fake URLs.
	* doc/aria2c.1.txt
2008-11-13 15:32:21 +00:00
Tatsuhiro Tsujikawa
0acfd37bdb 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed wrong note position for -o option.
	* doc/aria2c.1.txt
2008-11-13 15:11:44 +00:00
Tatsuhiro Tsujikawa
86478c49dd 2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error without SSL/XML library.
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultBtProgressInfoFile.h
	* src/FileMetalinkParserState.cc
	* src/RequestGroup.h
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/VerificationMetalinkParserState.cc
	* src/download_helper.h
	* src/main.cc
	* test/DefaultBtProgressInfoFileTest.cc
	* test/DownloadHelperTest.cc
2008-11-13 15:08:52 +00:00
Tatsuhiro Tsujikawa
eed0406484 2008-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten URI handling functions. They are now provided as a
	testable functions.
	* src/Makefile.am
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/download_helper.cc
	* src/download_helper.h
	* src/main.cc
	* test/DownloadHelperTest.cc
	* test/Makefile.am
	* test/input_uris.txt
2008-11-13 13:40:40 +00:00
Tatsuhiro Tsujikawa
8b3a21eb10 2008-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Quickly terminate commands when ctrl-c is pressed.
	* src/DownloadEngine.cc
2008-11-11 16:18:23 +00:00
Tatsuhiro Tsujikawa
ec2354f3a1 2008-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Quickly terminate idle commands when download finished.
	* src/AbstractCommand.cc
	* src/DownloadCommand.cc
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/SleepCommand.cc
	* src/SleepCommand.h
2008-11-11 16:05:42 +00:00
Tatsuhiro Tsujikawa
05a9313e19 2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added the ability to specify output filename and directory in
	input file.
	Additional parameters are added in the following line of URIs
	with proceeding white space(s), 1 parameter in 1 line.
	The parameter names are the same with the command-line option
	name without proceeding "--". Not all the options are available
	here: at the moment, 'dir' and 'out' options are avialable.
	Please note that out option has no effect against Metalink or
	BitTorrentdownloads.
	Example input file:
	
	http://host/foo-1.1.tar.bz2
	  out=foo.tar.bz2
	  dir=/tmp/downloads
	http://host/thundermonkey-2.0.tar.bz2

	And then invoke 'aria2c -i url.txt --dir ~/mydownloads'.
	foo-1.1.tar.bz2 is saved as /tmp/downloads/foo.tar.bz2, whereas
	thundermonkey-2.0.tar.bz2 is saved as
	~/mydownloads/thundermonkey-2.0.tar.bz2.
	* src/BtPostDownloadHandler.cc
	* src/Metalink2RequestGroup.cc
	* src/Metalink2RequestGroup.h
	* src/MetalinkPostDownloadHandler.cc
	* src/UriListParser.cc
	* src/UriListParser.h
	* src/main.cc
	* test/Metalink2RequestGroupTest.cc
	* test/UriListParserTest.cc
	* test/filelist1.txt
2008-11-11 14:56:46 +00:00
Tatsuhiro Tsujikawa
9a581e2cab 2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed error when SSL library is not found.
	* configure.ac
2008-11-11 12:47:26 +00:00
Tatsuhiro Tsujikawa
eb27476c6e 2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Cross referenced among -s, -C and -j options.
	Updated usage of -C and -s options.
	* src/usage_text.h
	* doc/aria2c.1.txt
2008-11-11 11:55:23 +00:00
Tatsuhiro Tsujikawa
896eab9967 2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed bad cast in 32bit platforms.
	* test/DefaultPieceStorageTest.cc
	(DefaultPieceStorageTest::testGetCompletedLength)
2008-11-11 11:37:27 +00:00
Tatsuhiro Tsujikawa
ebf4fc62fa 2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed unit test fails on 32bit platforms.
	* test/CookieParserTest.cc
2008-11-10 16:18:39 +00:00
Tatsuhiro Tsujikawa
bdff264d2c 2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Show an average download speed in Download results.
	* src/BtFileAllocationEntry.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadContext.cc
	* src/DownloadContext.h
	* src/DownloadResult.h
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/StreamFileAllocationEntry.cc
2008-11-10 16:10:31 +00:00
Tatsuhiro Tsujikawa
82b80c33d8 2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that metalink file is not processed if
	Content-Type field has a paramter.
	* src/HttpResponse.cc
	* src/HttpResponse.h
	* test/HttpResponseTest.cc
2008-11-10 16:08:22 +00:00
Tatsuhiro Tsujikawa
bb8481e752 2008-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused code.
	* src/DefaultBtAnnounce.cc
2008-11-10 13:22:14 +00:00
Tatsuhiro Tsujikawa
e5e19ddeb9 2008-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that DefaultPieceStorage::getCompletedLength()
	returns the value larger than DefaultPieceStorage::getTotalLength()
	when in flight pieces are involved.
	* src/DefaultPieceStorage.cc
	* test/DefaultPieceStorageTest.cc
2008-11-10 13:21:08 +00:00
Tatsuhiro Tsujikawa
383be271a2 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Bump up version number to 1.0.0a.
	* configure.ac
2008-11-09 09:16:29 +00:00
Tatsuhiro Tsujikawa
e62d27e28e 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated configure.ac
	* configure.ac
2008-11-09 09:15:03 +00:00
Tatsuhiro Tsujikawa
d2f47847e3 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added usege for proxy.
	* doc/aria2c.1.txt
2008-11-09 09:13:57 +00:00
Tatsuhiro Tsujikawa
5a1f1fbd1a 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added usage for --ca-certificate, --certificate, --private-key
	and --check-certificate options.
	* doc/aria2c.1.txt
2008-11-09 09:06:25 +00:00
Tatsuhiro Tsujikawa
52749ba3c8 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated man page
	* doc/aria2c.1.txt
2008-11-09 08:59:05 +00:00
Tatsuhiro Tsujikawa
0308785bd8 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --no-proxy option. It receives comman separated hostname
	or domains to which proxy should not be used.
	aria2 honors the environment variable no_proxy to override
	no-proxy value in configuration file. The user can override the
	environment variable no_proxy with --no-proxy command-line
	option.
	* src/AbstractCommand.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-09 08:23:11 +00:00
Tatsuhiro Tsujikawa
ce4186b4c3 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added the ability to verify peer in SSL/TLS using given CA
	certificates.
	The CA certificates are specified in --ca-certificate option.
	By default, the verification is disabled. Use --check-certificate
	option to enable it.
	* src/HttpRequestCommand.cc
	* src/LibgnutlsTLSContext.cc
	* src/LibgnutlsTLSContext.h
	* src/LibsslTLSContext.cc
	* src/LibsslTLSContext.h
	* src/MultiUrlRequestInfo.cc
	* src/OptionHandlerFactory.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/a2functional.h
	* src/message.h
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-09 07:36:44 +00:00
Tatsuhiro Tsujikawa
79d463fae2 2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added client certificate authentication for SSL/TLS.
	Currently a private key must be decrypted for use with aria2.
	If a user accidentally gives encrypted file to aria2 then
	following thing happens:
	If encrypted private key is given to aria2, it behaves
	differently depending on the ssl library it uses. If aria2 built
	with openssl then openssl prompts the user for password.
	If aria2 build with gnutls then	aria2 exists with error at start up.
	* src/DownloadEngineFactory.cc
	* src/MultiUrlRequestInfo.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-08 13:21:32 +00:00
Tatsuhiro Tsujikawa
52316b0972 2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Introduced TLSContext that holds TLS related data that can be
	shared with multiple SSL connections.
	* src/DownloadEngineFactory.cc
	* src/LibgnutlsTLSContext.cc
	* src/LibgnutlsTLSContext.h
	* src/LibsslTLSContext.cc
	* src/LibsslTLSContext.h
	* src/Makefile.am
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/TLSContext.h
	* src/message.h
2008-11-08 10:48:02 +00:00
Tatsuhiro Tsujikawa
5c4910f71e 2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that the DiskWriter of the first FileEntry whose
	`needsFileAllocation' property is false is not created
	even if it shares a piece with next FileEntry which `requested'
	property is true.
	Fixed the bug that zero-length file is not created if pre file
	allocation is not done.
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	* test/MultiDiskAdaptorTest.cc
2008-11-08 08:36:40 +00:00
Tatsuhiro Tsujikawa
93a49e4840 2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added the ability to pool proxy connection.
	The conneciton in FTP with proxy-method=GET is not pooled.
	Proxy-Connection header will not be sent when sending CONNECT
	method.
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpDownloadCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpResponse.cc
	* src/HttpSkipResponseCommand.cc
	* test/HttpRequestTest.cc
	* test/HttpResponseTest.cc
2008-11-05 12:30:22 +00:00
Tatsuhiro Tsujikawa
4797b0e72d 2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Handle date before epoch.
	To create *bad* Time object, call Time::null().
	* src/CookieParser.cc
	* src/FtpConnection.cc
	* src/FtpConnection.h
	* src/FtpNegotiationCommand.cc
	* src/RequestGroup.cc
	* src/TimeA2.cc
	* src/TimeA2.h
	* test/CookieParserTest.cc
	* test/FtpConnectionTest.cc
	* test/TimeTest.cc
2008-11-05 10:30:43 +00:00
Tatsuhiro Tsujikawa
7513095042 2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added support for following envrionment variables: http_proxy,
	https_proxy, ftp_proxy and all_proxy.
	Each variable is equivalent to the aria2 option whose name is
	the variable name with '_' replaced with '-'.
	They overrides options specified in aria2.conf file.
	The envrionment variables can be overrode using command-line
	option.
	* src/option_processing.cc
2008-11-04 14:57:05 +00:00
Tatsuhiro Tsujikawa
bd2ead4763 2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Renamed --http-proxy-method as --proxy-method.
	* src/AbstractCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-04 14:20:12 +00:00
Tatsuhiro Tsujikawa
c7fb678e6e 2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Deprecated --http-proxy-user and --http-proxy-passwd options.
	Added --https-proxy, --ftp-proxy and --all-proxy options.
	Above 3 options and --http-proxy option can handle proxy in URL
	format like: http://user:passwd@host:port.
	If a proxy requires user/password, they must be specified in a
	URL.
	Deprecated --ftp-via-http-proxy option. Use --http-proxy-method
	option instead.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/AbstractProxyRequestCommand.cc
	* src/AbstractProxyRequestCommand.h
	* src/AuthConfigFactory.cc
	* src/AuthConfigFactory.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpInitiateConnectionCommand.h
	* src/FtpNegotiationCommand.cc
	* src/FtpTunnelRequestCommand.cc
	* src/FtpTunnelRequestCommand.h
	* src/HttpDownloadCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpInitiateConnectionCommand.h
	* src/HttpProxyRequestCommand.cc
	* src/HttpProxyRequestCommand.h
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpRequestCommand.cc
	* src/HttpRequestCommand.h
	* src/HttpSkipResponseCommand.cc
	* src/InitiateConnectionCommand.cc
	* src/InitiateConnectionCommand.h
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/Request.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/AuthConfigFactoryTest.cc
	* test/HttpRequestTest.cc
	* test/OptionHandlerTest.cc
2008-11-04 14:08:26 +00:00
Tatsuhiro Tsujikawa
223621b5bc 2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Execute choking algorithm when unchoked and interested peer is
	disconected.
	* src/DefaultPeerStorage.cc
2008-11-03 12:07:52 +00:00