Commit Graph

2490 Commits (847ebd54bcc610e8c83e713a39e9a8527240515f)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 297858280b Moved PREF_ASYNC_DNS_SERVER to the next to PREF_ASYNC_DNS. 2011-02-08 23:08:44 +09:00
Tatsuhiro Tsujikawa f0682a98c0 Added --async-dns-server option.
This option accepts comma separated list of DNS server address used in
asynchronous DNS resolver. Usually asynchronous DNS resolver reads DNS
server addresses from /etc/resolv.conf. When this option is used, it
uses DNS servers specified in this option instead of ones in
/etc/resolv.conf. You can specify both IPv4 and IPv6 address. This
option is useful when the system does not have /etc/resolv.conf and
user does not have the permission to create it.
2011-02-08 23:05:40 +09:00
Tatsuhiro Tsujikawa cf546810e4 Don't call DownloadEngine::markBadIPAddress() when DNS query was timeout. 2011-02-08 22:46:22 +09:00
Tatsuhiro Tsujikawa af4e47329b Call calculateStatistics() after global::wallclock.reset().
Inside calculateStatistics(), global::wallclock is used and if
calculateStatistics() is called after waitData(), it may use quite old
global::wallclock value.
2011-02-08 00:16:29 +09:00
Tatsuhiro Tsujikawa 3574f6bd7d Accept https:// and ftp:// in proxy options and environment variables. 2011-02-07 22:59:04 +09:00
Tatsuhiro Tsujikawa 954d595ee8 Code cleanup 2011-02-07 21:43:38 +09:00
Tatsuhiro Tsujikawa 97fde60f3e Added upper limit of the number of peer added by each addPeer(vector) call. 2011-02-07 21:38:51 +09:00
Tatsuhiro Tsujikawa 656f8cf901 Don't calculate maxPeerListSize based on --bt-max-peers.
Always use MAX_PEER_LIST_SIZE by default.
2011-02-07 00:22:06 +09:00
Tatsuhiro Tsujikawa 6c44f6b8eb Removed unused member variable peers_. 2011-02-07 00:19:07 +09:00
Tatsuhiro Tsujikawa 8eb1de9ef8 Get peers from DHT more frequently when the size of peer list is 0. 2011-02-07 00:17:44 +09:00
Tatsuhiro Tsujikawa 2666bc8170 Renamed MessageDigestHelper as message_digest_helper
Static member variables in MessageDigestHelper class are now functions
under message_digest namespace.
2011-02-05 23:38:51 +09:00
Tatsuhiro Tsujikawa 38202a5565 Renamed MetalinkHelper as metalink_helper.
Static member functions in MetalinkHelper class is now functions under
metalink namespace.
2011-02-05 23:21:06 +09:00
Tatsuhiro Tsujikawa 2373c62205 Moved some static member variables which are not exposed as public to unnamed namespace. 2011-02-05 23:08:03 +09:00
Tatsuhiro Tsujikawa 8902c2a839 Rewritten DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >&) 2011-01-31 23:00:05 +09:00
Tatsuhiro Tsujikawa 27974108f0 Fixed overflow in the calculation of progress percentage for file
allocation and hash check when off_t is 32bit.
2011-01-30 23:28:10 +09:00
Tatsuhiro Tsujikawa 1b9329c67c Accept HTTP 304 reply as success when If-None-Match request-header
field is specified using --header option.

When --conditional-get is used, --allow-overwrite is now required to
overwrite existing file.
2011-01-29 23:19:10 +09:00
Tatsuhiro Tsujikawa 2ba2511dd5 Check presence of ar.
This change allows configure to find appropriate ar at cross compile.
2011-01-29 21:33:57 +09:00
Tatsuhiro Tsujikawa b49a558c4e Fixed compile error on 32bit systems. 2011-01-27 21:21:37 +09:00
Tatsuhiro Tsujikawa 43dd3861a5 Updated copyright year. 2011-01-20 00:59:06 +09:00
Tatsuhiro Tsujikawa fe40876546 Added aria2.removeDownloadResult XML-RPC method.
The method signature is aria2.removeDownloadResult(gid).  This method
removes completed/error/removed download denoted by gid from
memory. This method returns "OK" for success.
2011-01-20 00:56:34 +09:00
Tatsuhiro Tsujikawa 1ea01e84b2 Use IP address of data connection to connect to the remote server in
passive mode.
2011-01-20 00:30:01 +09:00
Tatsuhiro Tsujikawa 1d71626bea Supported multi-line HTTP header field value.
See http://tools.ietf.org/html/rfc2616#section-4.2
2011-01-20 00:25:01 +09:00
Tatsuhiro Tsujikawa 2873953f30 Changed the default value of --retry-wait to 0 for backward
compatibility.

Also updated usage doc.
2011-01-18 21:22:59 +09:00
Tatsuhiro Tsujikawa 426e57a180 Don't check permission of .netrc file in MinGW32 build. 2011-01-17 22:36:19 +09:00
Tatsuhiro Tsujikawa b0ed9b3bd1 Added retry-wait option to -i list options. 2011-01-17 21:25:17 +09:00
Tatsuhiro Tsujikawa f2a63fa06a Added --retry-wait option.
This option was once existed in aria2 but erased on 2009-09-20.  Now
it is resurrected once again.  We choose 2 as default value, but there
is no good theory behind it.  Now we retry HTTP download when remote
server returns 503 Service Unavailable if --retry-wait > 0. We also
added error code 29: HTTP_SERVICE_UNAVAILABLE.
2011-01-17 21:19:45 +09:00
Tatsuhiro Tsujikawa 4824b09237 Reverted comment which was removed unintentionally. Moved 2
DownloadEngine related lines outside of #ifdef ENABLE_MESSAGE_DIGEST.
2011-01-16 22:35:30 +09:00
Tatsuhiro Tsujikawa 90d94953d7 Don't show metadata download and paused download in "Download Results". 2011-01-16 22:20:29 +09:00
Tatsuhiro Tsujikawa 9fe35495fd Fixed doc 2011-01-16 21:16:56 +09:00
Tatsuhiro Tsujikawa 2c3187451f Don't pool connection if the command has multiple segments.
This means it did HTTP pipelined request. If this response is for the
first request, then successive response may arrived to the socket.
2011-01-16 21:05:14 +09:00
Tatsuhiro Tsujikawa 97d0b71dd4 Don't use SocketCore::isReadable() repeatedly.
We can know whether data is available by inspecting 2nd argument of
SocketCore::readData() because we use non-blocking I/O.
2011-01-16 21:04:31 +09:00
Tatsuhiro Tsujikawa 63fe7874da Handle the situation when remote server returns Connection: close
after several pipelined requests.

We call Request::setMaxPipelinedRequest(1) if Connection: close is
received. Also call Request::supportsPersistentConnection(true) and
Request::setMaxPipelinedRequest(1) when closing the connection.
2011-01-16 18:12:14 +09:00
Tatsuhiro Tsujikawa b2f27e6548 Check !SocketRecvBuffer::bufferEmpty() in ctor.
Also treat !SocketRecvBuffer::bufferEmpty() as data is available.
2011-01-16 17:52:18 +09:00
Tatsuhiro Tsujikawa e60181d1ad Removed SocketCore::peekData() 2011-01-16 17:41:17 +09:00
Tatsuhiro Tsujikawa 629099d40d Eliminated SocketCore::peekData() from HttpServer. 2011-01-16 17:27:01 +09:00
Tatsuhiro Tsujikawa d030dd5a3f Code cleanup 2011-01-16 17:26:46 +09:00
Tatsuhiro Tsujikawa ea1b4b3ee5 Eliminated SocketCore::peekData() form HTTP/FTP downloads.
We introduced SocketRecvBuffer which buffers received bytes. Since
HTTP response header and response body are divided with \r\n, we have
to buffer up several bytes to find this delimiter. We use
SocketRecvBuffer to hold these bytes and only consumes header and
passes SocketRecvBuffer, which may contain head of response body, to
next Command.  Since FTPConnection doesn't use SocketCore::peekData(),
we left it as is.
2011-01-16 16:55:41 +09:00
Tatsuhiro Tsujikawa 3e67079087 Rewritten NAT check handling.
We simplified PeerConnection::receiveHandshake().
DefaultBtMessageReceiver and PeerReceiverHandshakeCommand look
PeerConnection's buffer and do NAT check handling themselves.
2011-01-09 23:57:07 +09:00
Tatsuhiro Tsujikawa 1818f2ed55 Just preset IA to PeerConnection in receiver side.
Since initiator cannot send payload stream before reading step2 from
receiver, mseHandshake_->getBufferLength() should be 0.
2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa 320ca4c5a1 Throw exception if more than BtHandshakeMessage::MESSAGE_LENGTH is
buffered when receiving handshake. Detect preset buffer without
setting prevPeek_ = true.
2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa e5c27034f3 Added assertion in shiftBuffer to check size. 2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa 02ca3ed0b7 Use refreshInterval_ as timeout value of event polling.
refreshInterval_ is now limited less than 1000ms.
2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa 781a4220fc Bump up DHT version number to 3. 2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa a2a91a2c74 Shorten MAX_BUFFER_LENGTH of MSEHandshake. 2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa 2ee68ec8ad Drop connection if IA length > 68 (BtHandshakeMessage::MESSAGE_LENGTH). 2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa acfb290eca We don't need to call PeerConnection::sendPendingData() twice when
sending piece message.
2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa 3020087a75 Don't try legacy BitTorrent handshake when connection did not established. 2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa ce2d401dce Eliminated SocketCore::peekData from MSEHandshake. 2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa c48db2cdf3 Fixed the bug that making directory fails on Windows OS.
On Windows, stat("C:/test/", ...) fails because of trailing "/".
To handle "\" as path separator, "\" are replaced with "/"
beforehand.
2011-01-09 18:27:08 +09:00
Tatsuhiro Tsujikawa a9f734218f Don't send announce_peer message with empty token in
DHTPeerLookupTask. Replace old node ID with new node ID when response
message is received in DHTAbstractNodeLookupTask.
2011-01-07 00:22:43 +09:00
Tatsuhiro Tsujikawa 2dba2f86a4 Drop old node from DHT routing table if node ID has changed. 2011-01-07 00:20:58 +09:00
Tatsuhiro Tsujikawa 653951f70a Drop connection if client and peer are both seeders. 2011-01-07 00:20:10 +09:00
Tatsuhiro Tsujikawa b6d5c389b8 Added missing include. 2011-01-07 00:19:10 +09:00
Tatsuhiro Tsujikawa 920583502e Consider IP address and port when finding DHT node. 2011-01-07 00:14:42 +09:00
Tatsuhiro Tsujikawa d429943d05 Fixed the bug that peer is marked as seeder whenever it sends
extension handshake with metadata size.

Peer must be marked as seeder only when client has not got metadata
yet. This bug causes aria2 shutdowns connection early when it gets
have message from a peer because it wrongly recognizes the peer as
seeder.
2011-01-06 22:43:34 +09:00
Tatsuhiro Tsujikawa e818f9c8a5 Use %lx for DWORD.
GetLastError() returns DWORD, not C-String.
2010-12-19 00:24:36 +09:00
Tatsuhiro Tsujikawa b04e0bae6b Moved #include <gettext.h> inside of #ifdef ENABLE_NLS.
If we put #include <gettext.h> outside of #ifdef ENABLE_NLS and
--disable-nls is used, gettext(msgid) is defined as ((const char *)
(Msgid)). System header includes libintl.h regardless of
--disable-nls. For example, #include <string> will include libintl.h
through include chain. Since libintl.h refers gettext and it is
defined as non-function form, this causes compile error. User reported
gcc-4.2.2 has this problem. But gcc-4.4.5 does not suffer from this
problem.
2010-12-15 22:33:26 +09:00
Tatsuhiro Tsujikawa 5856d9252b Updated doc. 2010-12-10 21:50:23 +09:00
Tatsuhiro Tsujikawa 94ee6d6895 Updated doc 2010-12-10 21:34:24 +09:00
Tatsuhiro Tsujikawa 9e70c5ead7 Fixed typo 2010-12-10 21:29:50 +09:00
Tatsuhiro Tsujikawa 418c04c94c Fixed typo 2010-12-09 21:59:35 +09:00
Tatsuhiro Tsujikawa 3d0764eb9d Added comment. 2010-12-09 21:49:00 +09:00
Tatsuhiro Tsujikawa 31ec5ddf92 Updated help text for --input-file option.
Removed reference of --out and --dir option. It is a regacy before we
supported many other options.
2010-12-08 22:54:20 +09:00
Tatsuhiro Tsujikawa 235b5a0848 Allocate buffer used by DownloadCommand in stack. 2010-12-08 20:41:12 +09:00
Tatsuhiro Tsujikawa 9103fb6105 Refactored PieceStatMan::updatePieceStats(). 2010-12-07 01:08:11 +09:00
Tatsuhiro Tsujikawa 829803d4f5 Fixed compile error which occurs when system has posix_fallocate() but
does not have fallocate().
2010-12-05 23:47:35 +09:00
Tatsuhiro Tsujikawa da8e0203b8 Removed specializations of std::swap(PeerEntry&, PeerEntry&).
Declaring std::swap(PeerEntry&, PeerEntry&) in class declaration
breaks under Mac OS X 10.5. They are also not used. So we simply
removed them.
2010-12-05 23:19:37 +09:00
Tatsuhiro Tsujikawa 55e49b65d3 Use errno to get error code epoll_ctl(). Using its returned value as
error code is simply wrong.
2010-12-05 23:13:09 +09:00
Tatsuhiro Tsujikawa bc798ae4e6 Use Exception::getErrorCode() in main() instead of error_code::UNKNOWN_ERROR
unconditionally.
2010-12-05 15:13:32 +09:00
Tatsuhiro Tsujikawa 0271ec0352 Updated usage of --on-download-* options. 2010-12-04 22:42:24 +09:00
Tatsuhiro Tsujikawa adcfffeccb Fixed arithmetic exception when completedLength is 0. 2010-12-04 20:56:52 +09:00
Tatsuhiro Tsujikawa f3e89651a8 Return true if completedLength is 0. 2010-12-04 20:56:14 +09:00
Tatsuhiro Tsujikawa c5ef9dadbd Pass the number of requested files as 2nd argument to the command specified in
--on-download-* hook.

As a consequence, first filename is passed as 3rd argument.
2010-12-04 19:00:48 +09:00
Tatsuhiro Tsujikawa 0cdfc3d104 Call RequestGroupMan::removeStoppedGroup() in
DownloadEngine::onEndOfRun() to process RequestGroup objects currently
in-progress.

With this change, --on-download-stop/error/complete hooks are properly
called for in-progress downloads when Ctrl-C is pressed.
2010-12-04 18:24:38 +09:00
Tatsuhiro Tsujikawa 567b424907 Pass first filename as 2nd argument to command specified by
--on-download-* option.
2010-12-04 18:14:27 +09:00
Tatsuhiro Tsujikawa c03ab007a3 Throw exception when unrecognized URI, bad Metalink or bad .torrent
file are given in command-line and exits with status non-zero.
2010-12-04 17:19:31 +09:00
Tatsuhiro Tsujikawa c81dcd80ea Removed 3rd argument auxUris of createBtMagnetRequestGroup(). 2010-12-04 16:47:09 +09:00
Tatsuhiro Tsujikawa f9a6697352 Fixed compile error without ssl library. 2010-12-04 00:37:42 +09:00
Tatsuhiro Tsujikawa 0a2b1660fa Removed DownloadContext::dir_. Use PREF_DIR value instead. 2010-12-03 13:08:22 +09:00
Tatsuhiro Tsujikawa 3ee6784b76 Made `make distcheck' pass.
We added 2 macros A2_TEST_DIR and A2_TEST_OUT_DIR to pass tests in
`make distcheck`.  A2_TEST_DIR refers to test directory.  All output
files by unit tests are now created under A2_TEST_OUT_DIR directory.
2010-12-02 22:52:35 +09:00
Tatsuhiro Tsujikawa 7ac1f17d56 Added missing error_code.h to Makefile.am 2010-12-01 23:06:39 +09:00
Tatsuhiro Tsujikawa f0f4f8f703 Added more error code values.
I have not set error code for all exception invocation.
In this change, I set error code where error likely occurs.
2010-12-01 21:26:58 +09:00
Tatsuhiro Tsujikawa 6bc215fcec Add groupToAdd to requestGroups_ even if exception is thrown in
createInitialCommand().

This makes groupToAdd be processed by removeStoppedGroup() and
--on-download-error hook is properly triggered.  Now
--on-download-start is also triggered for groupToAdd even if exception
is thrown in createInitialCommand().
2010-11-29 21:06:39 +09:00
Tatsuhiro Tsujikawa 378ba26ed3 Updated doc 2010-11-29 21:06:00 +09:00
Tatsuhiro Tsujikawa a0139e3e08 Call RequestGroup::setLastError in
PeerInteractionCommand::onFailure().

Added const Exception& argument to virtual
AbstractCommand::onFailure().
2010-11-29 01:37:32 +09:00
Tatsuhiro Tsujikawa d5b6ec8621 Call RequestGroup::setLastError when exception is caught while
creating initial commands.
2010-11-29 01:32:25 +09:00
Tatsuhiro Tsujikawa f5a9448cf1 Moved setLastError call before if(req_) {... 2010-11-29 01:30:24 +09:00
Tatsuhiro Tsujikawa ce6eb592da Added Exception ctor which takes both errNum and errorCode.
Also added DlAbortEx ctor which has same signature with new Exception
dtor.  Added DL_ABORT_EX3 macro to use added ctor.
2010-11-28 22:30:06 +09:00
Tatsuhiro Tsujikawa e8f3592314 Removed include of cerrno from Exception.h 2010-11-28 21:42:03 +09:00
Tatsuhiro Tsujikawa 476ba70a9f Moved errorCode_ from RecoverableException to Exception and added errorCode to
stackTrace.

Also changed errno to errNum in stackTrace.
2010-11-28 21:36:01 +09:00
Tatsuhiro Tsujikawa 45fde1adaf Cleaned up Exception constructors.
Removed Exception(const char*, int, const Exception&) ctor.  Also
removed FatalException() copy ctor.
2010-11-28 21:03:11 +09:00
Tatsuhiro Tsujikawa 50122f0ab3 Renamed Exception::errno_ as Exception::errNum_. 2010-11-28 19:06:56 +09:00
Tatsuhiro Tsujikawa ecbc05012c Added additional error_code::Values(9 through 14). 2010-11-28 17:29:32 +09:00
Tatsuhiro Tsujikawa d316a00ade Replaced RequestGroup::lastUriResult_ with
RequestGroup::lastErrorCode_.
2010-11-28 17:00:30 +09:00
Tatsuhiro Tsujikawa 947967fc63 Renamed DownloadErrorCode.h as error_code.h. Renamed
downloaderrorcode::Value as error_code::Value.
2010-11-28 16:52:02 +09:00
Tatsuhiro Tsujikawa f4e008f886 Moved include of gettext.h to the outside of #ifdef ENABLE_NLS since
gettext.h has it inside itself.
2010-11-28 00:05:56 +09:00
Tatsuhiro Tsujikawa e39dd96171 Removed autogenerated files by automake/autoconf.
To generate these files, run 'autoreconf -i'.

Since libgnutls.m4 is no longer distributed, we removed
AM_PATH_LIBGNUTLS from configure.ac.
2010-11-27 23:31:17 +09:00
Tatsuhiro Tsujikawa ba026adb5e 2010-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
For MINGW32 build, percent-encode non-ASCII characters in
	filename.
	* src/util.cc
2010-11-26 13:07:28 +00:00
Tatsuhiro Tsujikawa 721f53ea97 2010-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Include last '/' to directory name to create. This will avoid to
	create directory 'C:' in Windows.
	* src/File.cc
2010-11-26 12:34:02 +00:00
Tatsuhiro Tsujikawa 0455cde2a8 2010-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused FileEntry::setupDir()
	* src/FileEntry.cc
	* src/FileEntry.h
	* test/FileEntryTest.cc
2010-11-25 12:42:07 +00:00
Tatsuhiro Tsujikawa 94c4a71d63 2010-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed MultiDiskAdaptor::mkdir() because directory structure is
	created at AbstractDiskWriter::createFile().
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
2010-11-25 12:38:57 +00:00
Tatsuhiro Tsujikawa ea49e9c297 2010-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made strings which are only used in comparison plain C strings.
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/Netrc.cc
	* src/Netrc.h
	* test/HttpHeaderTest.cc
2010-11-25 12:13:33 +00:00
Tatsuhiro Tsujikawa 3a897a4f32 2010-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added white space after ',' when enumerating valid parameters.
	* src/OptionHandlerImpl.cc
2010-11-24 11:42:08 +00:00
Tatsuhiro Tsujikawa 06cd151c4b 2010-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Cleaned up Possible Values in usage help.  More than 2 values are
	delimited by ", ".
	* src/NameMatchOptionHandler.h
	* src/OptionHandler.cc
	* src/OptionHandler.h
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.cc
	* test/OptionHandlerTest.cc
2010-11-23 14:47:58 +00:00
Tatsuhiro Tsujikawa b8055f259b 2010-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made --allow-overwrite, --allow-piece-length-change,
	--realtime-chunk-checksum and --bt-require-crypto take optional
	argument. Fixed usage doc for --metalink-enable-unique-protocol.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
	* src/usage_text.h
2010-11-23 14:11:45 +00:00
Tatsuhiro Tsujikawa b2fbe2c896 2010-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made --continue, --daemon, --no-conf, --no-netrc and --show-files
	option take optional argument.
	* doc/aria2c.1.txt
	* src/OptionHandlerFactory.cc
	* src/usage_text.h
2010-11-23 13:59:03 +00:00
Tatsuhiro Tsujikawa 752234ae66 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added BtSeederStateChoke::PeerEntry::swap(). Also added
	non-member swap for it, which is friend function for
	BtSeederStateChoke because PeerEntry is private.
	* src/BtSeederStateChoke.cc
	* src/BtSeederStateChoke.h
2010-11-20 15:01:24 +00:00
Tatsuhiro Tsujikawa 8f46dbc0ab 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added BtLeecherStateChoke::PeerEntry::swap(). Also added
	non-member swap for it, which is friend function for
	BtLeecherStateChoke because PeerEntry is private.
	* src/BtLeecherStateChoke.cc
	* src/BtLeecherStateChoke.h
2010-11-20 14:52:52 +00:00
Tatsuhiro Tsujikawa 4ed364d772 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added CookieStorage::DomainEntry::swap(). Also added non-member
	swap for it.
	* src/CookieStorage.cc
	* src/CookieStorage.h
2010-11-20 14:05:58 +00:00
Tatsuhiro Tsujikawa c552842505 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made LogFactory::logger_ as SharedHandle<Logger> to make dtor of
	Logger called at the program exit.  Rewritten A2_LOG_* macro and
	moved them to LogFactory.h
	* src/LogFactory.cc
	* src/LogFactory.h
	* src/Logger.cc
	* src/Logger.h
2010-11-20 12:33:12 +00:00
Tatsuhiro Tsujikawa 9a67929d8c 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed cuid as cuid_t in DefaultBtMessageDispatcher.
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtMessageDispatcher.h
2010-11-20 12:14:23 +00:00
Tatsuhiro Tsujikawa 03417e94b4 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use format specifier %lld for cuid_t. Defined cuid_t as long long
	int instead of int64_t, since g++ complains int64_t is not
	suitable for %lld.
2010-11-20 12:12:06 +00:00
Tatsuhiro Tsujikawa 694fb307aa 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced StringFormat with fmt
2010-11-20 09:36:14 +00:00
Tatsuhiro Tsujikawa 580098eb49 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten Logger interface. Logger now writes source file name and
	line number in log file.
2010-11-20 08:21:36 +00:00
Tatsuhiro Tsujikawa 3940da7562 2010-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made DHTBucketTreeNode non-copyable.
	* src/DHTBucketTree.h
2010-11-18 12:13:59 +00:00
Tatsuhiro Tsujikawa 698876e2eb 2010-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Enter 'end game' mode from the beginning when getting torrent
	metadata for quick data retrieval.
	* src/HandshakeExtensionMessage.cc
2010-11-18 12:10:15 +00:00
Tatsuhiro Tsujikawa 1eef862cc3 2010-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced BNode with DHTBucketTreeNode which is 2 times efficient.
	* src/BNode.cc: Removed
	* src/BNode.h: Removed
	* src/DHTBucketTree.cc
	* src/DHTBucketTree.h
	* src/DHTRoutingTable.cc
	* src/DHTRoutingTable.h
	* src/Makefile.am
	* test/BNodeTest.cc: Removed
	* test/DHTBucketTreeTest.cc
	* test/Makefile.am
2010-11-17 15:42:23 +00:00
Tatsuhiro Tsujikawa 8a1578d741 2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added non-member swap() for SharedHandle.
	* src/SharedHandle.h
2010-11-15 13:45:13 +00:00
Tatsuhiro Tsujikawa d8d159ccd8 2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced HttpHeader::responseStatus_ with HttpHeader::statusCode_.
	statusCode_ is of type int.
	* src/AbstractProxyResponseCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpHeaderProcessor.cc
	* src/HttpResponse.cc
	* src/HttpResponse.h
	* src/HttpResponseCommand.cc
	* src/HttpSkipResponseCommand.cc
	* src/util.cc
	* src/util.h
	* test/HttpHeaderProcessorTest.cc
	* test/HttpHeaderTest.cc
	* test/HttpResponseTest.cc
	* test/UtilTest.cc
2010-11-15 12:52:03 +00:00
Tatsuhiro Tsujikawa 6a1fe66975 2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use SharedHandle::swap() in some places.
	* src/RequestGroup.cc
2010-11-15 12:02:54 +00:00
Tatsuhiro Tsujikawa de8598b63a 2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added SharedHandle::swap
	* src/SharedHandle.h
2010-11-15 12:02:10 +00:00
Tatsuhiro Tsujikawa e16844cc8f 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use --max-connection-per-server option value for Metalink.
	* src/Metalink2RequestGroup.cc
2010-11-14 08:36:41 +00:00
Tatsuhiro Tsujikawa ba540085a6 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error on opensolaris
	* src/util.cc
2010-11-14 08:19:53 +00:00
Tatsuhiro Tsujikawa af33f67fee 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't catch Exception.
	* src/RealtimeCommand.cc
2010-11-14 08:13:59 +00:00
Tatsuhiro Tsujikawa 1d77c67f1b 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused includes.
2010-11-14 08:12:38 +00:00
Tatsuhiro Tsujikawa 1372ac51ad 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added .cc file for classes/structs that only provided by header
	file. Defined non-POD classes' ctor, dtor in .cc file.  Moved
	implementation code in header file to .cc file for major
	classes/strucsts.
2010-11-14 07:17:55 +00:00
Tatsuhiro Tsujikawa 93e5dbed32 2010-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed SharedHandle::isNull(). Instead we added operator* and
	operator unspecified_bool_type. Removed use of WeakHandle and
	replaced with raw pointer.
2010-11-12 12:48:48 +00:00
Tatsuhiro Tsujikawa f6f5a7e5ee 2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed memory leak
	* src/ExpatMetalinkProcessor.cc
2010-11-11 13:38:34 +00:00
Tatsuhiro Tsujikawa bc98e39fe5 2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
To match the behavior of friend operator functions in
	SharedHandle.h to std::tr1::shared_ptr, we intentionally broke
	these functions and modified code so that our code does not depend
	on old behavior.
	* src/AbstractCommand.cc
	* src/DHTAbstractNodeLookupTask.h
	* src/DHTBucket.cc
	* src/DHTMessageReceiver.cc
	* src/DHTNodeLookupEntry.cc
	* src/DHTRoutingTable.cc
	* src/DefaultBtRequestFactory.cc
	* src/DefaultPeerStorage.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadContext.cc
	* src/EpollEventPoll.cc
	* src/Event.h
	* src/HttpConnection.cc
	* src/KqueueEventPoll.cc
	* src/MultiDiskAdaptor.cc
	* src/PeerAbstractCommand.cc
	* src/PieceStatMan.cc
	* src/PollEventPoll.cc
	* src/PortEventPoll.cc
	* src/SegmentMan.cc
	* src/SelectEventPoll.cc
	* src/SelectEventPoll.h
	* src/ServerStatMan.cc
	* src/SharedHandle.h
	* src/UnknownLengthPieceStorage.cc
	* src/a2functional.h
	* src/option_processing.cc
	* src/version_usage.cc
	* test/BNodeTest.cc
	* test/DHTAnnouncePeerMessageTest.cc
	* test/DHTBucketTest.cc
	* test/DHTFindNodeMessageTest.cc
	* test/DHTGetPeersMessageTest.cc
	* test/DHTIDCloserTest.cc
	* test/DHTMessageFactoryImplTest.cc
	* test/DHTPingMessageTest.cc
	* test/DefaultBtRequestFactoryTest.cc
	* test/DefaultPeerStorageTest.cc
	* test/SequentialPickerTest.cc
	* test/SingletonHolderTest.cc
2010-11-11 07:33:43 +00:00
Tatsuhiro Tsujikawa bcf4593bda 2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Create SharedHandle outside of function call to avoid unexpected
	memory leak.
	* src/AnnounceList.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/UTMetadataPostDownloadHandler.cc
	* src/download_helper.cc
2010-11-11 05:12:37 +00:00
Tatsuhiro Tsujikawa 1946b3341f 2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added sha-224, sha-384, sha-512 hash function support.
	* m4/openssl.m4
	* src/MessageDigest.cc
	* src/LibgcryptMessageDigestImpl.cc
	* src/LibsslMessageDigestImpl.cc
2010-11-11 03:23:08 +00:00
Tatsuhiro Tsujikawa 89f997ec0d 2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced MessageDigestContext with MessageDigest.  Cleaned up
	unnecessary functions in MessageDigestHelper.
	* src/BtPieceMessage.cc
	* src/Checksum.h
	* src/DHTTokenTracker.cc
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
	* src/HashFuncEntry.h
	* src/IteratableChecksumValidator.cc
	* src/IteratableChecksumValidator.h
	* src/IteratableChunkChecksumValidator.cc
	* src/IteratableChunkChecksumValidator.h
	* src/LibgcryptMessageDigestImpl.cc
	* src/LibgcryptMessageDigestImpl.h
	* src/LibsslMessageDigestImpl.cc
	* src/LibsslMessageDigestImpl.h
	* src/MSEHandshake.cc
	* src/MSEHandshake.h
	* src/Makefile.am
	* src/MessageDigest.cc
	* src/MessageDigest.h
	* src/MessageDigestHelper.cc
	* src/MessageDigestHelper.h
	* src/MessageDigestImpl.h
	* src/MetalinkParserController.cc
	* src/Piece.cc
	* src/Piece.h
	* src/UTMetadataDataExtensionMessage.cc
	* src/bittorrent_helper.cc
	* src/messageDigest.cc: Removed
	* src/messageDigest.h: Removed
	* src/util.cc
	* src/version_usage.cc
	* test/BittorrentHelperTest.cc
	* test/GZipDecoderTest.cc
	* test/GZipDecodingStreamFilterTest.cc
	* test/IteratableChecksumValidatorTest.cc
	* test/IteratableChunkChecksumValidatorTest.cc
	* test/Makefile.am
	* test/MessageDigestHelperTest.cc
	* test/MessageDigestTest.cc
	* test/Metalink2RequestGroupTest.cc
	* test/MetalinkProcessorTest.cc
	* test/PieceTest.cc
	* test/TestUtil.cc
	* test/TestUtil.h
	* test/UTMetadataDataExtensionMessageTest.cc
	* test/UTMetadataPostDownloadHandlerTest.cc
2010-11-11 02:56:24 +00:00
Tatsuhiro Tsujikawa 513e8a7917 2010-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Print IP protocol version when setting up XML-RPC server failed.
	* src/HttpListenCommand.cc
2010-11-09 15:22:50 +00:00
Tatsuhiro Tsujikawa f1af13567f 2010-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Retry open(2) and fallocate(2) when they are interrupted by
	signal.
	* src/AbstractDiskWriter.cc
2010-11-09 15:18:25 +00:00
Tatsuhiro Tsujikawa 228b4c50d7 2010-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Capture errno right after system/library call to avoid it to get
	overwritten. Use util::safeStrerror instead of strerror directly
	because strerror might return NULL. We don't check errno for
	std::fstream anymore.
	* src/AbstractDiskWriter.cc
	* src/CookieStorage.cc
	* src/DHTAutoSaveCommand.cc
	* src/DHTRoutingTableDeserializer.cc
	* src/DHTRoutingTableSerializer.cc
	* src/DefaultBtProgressInfoFile.cc
	* src/EpollEventPoll.cc
	* src/IteratableChunkChecksumValidator.cc
	* src/KqueueEventPoll.cc
	* src/Logger.cc
	* src/MessageDigestHelper.cc
	* src/PortEventPoll.cc
	* src/SelectEventPoll.cc
	* src/SocketCore.cc
	* src/message.h
	* src/util.cc
	* src/util.h
2010-11-09 14:43:47 +00:00
Tatsuhiro Tsujikawa 02f725cab5 2010-11-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use const reference
	* src/UnionSeedCriteria.h
2010-11-06 15:33:19 +00:00
Tatsuhiro Tsujikawa 35cc4ed1e7 2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return empty range if byte-range-resp-spec or instance-length is
	"*" in Content-Range header to prevent aria2 from emitting error
	failing to convert "*" to a integer.
	* src/HttpHeader.cc
	* test/HttpHeaderTest.cc
2010-10-31 07:56:01 +00:00
Tatsuhiro Tsujikawa 2b458da480 2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made #include guard consistent for c++ header files.
2010-10-31 07:23:53 +00:00
Tatsuhiro Tsujikawa 6e88cae02b 2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that downloading > 4GB file fails on 32bit systems.
	* src/HttpRequest.cc
	* src/HttpRequestCommand.cc
2010-10-31 04:36:38 +00:00
Tatsuhiro Tsujikawa 236e64cb25 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use unnamed namespace instead of static keyword.
	* src/AbstractCommand.cc
	* src/AdaptiveURISelector.cc
	* src/Base64.cc
	* src/BitfieldMan.cc
	* src/BtDependency.cc
	* src/ConsoleStatCalc.cc
	* src/ContentTypeRequestGroupCriteria.cc
	* src/CookieStorage.cc
	* src/DHTMessageFactoryImpl.cc
	* src/DHTRoutingTableDeserializer.cc
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultPeerStorage.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadCommand.cc
	* src/DownloadEngine.cc
	* src/EpollEventPoll.cc
	* src/ExpatMetalinkProcessor.cc
	* src/ExpatXmlRpcRequestProcessor.cc
	* src/FileEntry.cc
	* src/HttpRequest.cc
	* src/HttpRequestCommand.cc
	* src/HttpResponseCommand.cc
	* src/KqueueEventPoll.cc
	* src/LongestSequencePieceSelector.cc
	* src/MetalinkParserStateV3Impl.cc
	* src/MetalinkParserStateV4Impl.cc
	* src/MultiDiskAdaptor.cc
	* src/MultiUrlRequestInfo.cc
	* src/OptionParser.cc
	* src/PeerSessionResource.cc
	* src/PortEventPoll.cc
	* src/Request.cc
	* src/RequestGroupMan.cc
	* src/SelectEventPoll.cc
	* src/SessionSerializer.cc
	* src/SimpleLogFormatter.cc
	* src/Sqlite3CookieParser.cc
	* src/TrackerWatcherCommand.cc
	* src/XML2SAXMetalinkProcessor.cc
	* src/Xml2XmlRpcRequestProcessor.cc
	* src/XmlRpcMethod.cc
	* src/XmlRpcMethodImpl.cc
	* src/XmlRpcResponse.cc
	* src/base32.cc
	* src/bencode2.cc
	* src/bittorrent_helper.cc
	* src/download_helper.cc
	* src/main.cc
	* src/messageDigest.cc
	* src/option_processing.cc
	* src/util.cc
	* test/AnnounceListTest.cc
	* test/BtRegistryTest.cc
	* test/DHTBucketTest.cc
	* test/DHTRoutingTableTest.cc
	* test/DefaultBtAnnounceTest.cc
	* test/FileEntryTest.cc
	* test/FtpConnectionTest.cc
	* test/MSEHandshakeTest.cc
	* test/MagnetTest.cc
	* test/XmlRpcMethodTest.cc
	* test/array_funTest.cc
2010-10-30 16:02:15 +00:00
Tatsuhiro Tsujikawa 6ecfa4aad1 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added '// namespace' after end of unnamed namespace.
	* src/AbstractCommand.cc
	* src/AnnounceList.cc
	* src/BtSeederStateChoke.cc
	* src/ConsoleStatCalc.cc
	* src/CookieStorage.cc
	* src/DHTBucket.cc
	* src/DHTPeerAnnounceEntry.cc
	* src/DHTPeerAnnounceStorage.cc
	* src/DHTTaskQueueImpl.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/GZipEncoder.cc
	* src/Metalink2RequestGroup.cc
	* src/MetalinkEntry.cc
	* src/MetalinkParserStateV3Impl.cc
	* src/MetalinkParserStateV4Impl.cc
	* src/Metalinker.cc
	* src/MultiDiskAdaptor.cc
	* src/Netrc.cc
	* src/NsCookieParser.cc
	* src/OptionParser.cc
	* src/PieceStatMan.cc
	* src/RarestPieceSelector.cc
	* src/RequestGroupMan.cc
	* src/SegmentMan.cc
	* src/ServerStatMan.cc
	* src/SocketCore.cc
	* src/XML2SAXMetalinkProcessor.cc
	* src/Xml2XmlRpcRequestProcessor.cc
	* src/XmlRpcMethodImpl.cc
	* src/cookie_helper.cc
	* src/download_helper.cc
	* src/messageDigest.cc
	* src/util.cc
2010-10-30 14:53:40 +00:00
Tatsuhiro Tsujikawa e5d1b812c8 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unnecessary unnamed namespace
	* src/a2functional.h
2010-10-30 12:31:53 +00:00
Tatsuhiro Tsujikawa df5db9b84f 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Tagged -x and -k option as #basic
	* src/OptionHandlerFactory.cc
2010-10-30 08:26:35 +00:00
Tatsuhiro Tsujikawa e032014466 2010-10-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compiler warning with --disable-bittorrent and
	--disable-metalink.
	* src/download_helper.cc
2010-10-28 15:04:57 +00:00
Tatsuhiro Tsujikawa b7df39b7ae 2010-10-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compiler warning about printf format.
	* src/AdaptiveURISelector.cc
	* src/BtPieceMessage.cc
	* src/DHTAbstractNodeLookupTask.h
	* src/DHTMessageFactoryImpl.cc
	* src/DHTPeerLookupTask.cc
	* src/DHTReplaceNodeTask.cc
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtInteractive.cc
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultBtRequestFactory.cc
	* src/DefaultExtensionMessageFactory.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadCommand.cc
	* src/FileAllocationCommand.cc
	* src/FileEntry.cc
	* src/HandshakeExtensionMessage.cc
	* src/IteratableChunkChecksumValidator.cc
	* src/LibgcryptDHKeyExchange.h
	* src/LibsslDHKeyExchange.h
	* src/LpdDispatchMessageCommand.cc
	* src/MSEHandshake.cc
	* src/MessageDigestHelper.cc
	* src/MultiDiskAdaptor.cc
	* src/PeerConnection.cc
	* src/SegmentMan.cc
	* src/TimedHaltCommand.cc
	* src/UTMetadataRequestExtensionMessage.cc
	* src/UTPexExtensionMessage.cc
	* src/bencode2.cc
	* src/bittorrent_helper.cc
	* src/message.h
2010-10-28 14:19:29 +00:00
Tatsuhiro Tsujikawa 17a0a5baad 2010-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused variable r.
	* src/StringFormat.cc
2010-10-27 14:58:47 +00:00
Tatsuhiro Tsujikawa 9ff8e55d04 2010-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added printf format check attribute.
	* src/Logger.h
	* src/StringFormat.h
2010-10-27 14:57:46 +00:00
Tatsuhiro Tsujikawa 423ec26fe4 2010-10-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use std::numeric_limits<time_t> instead of checking of
	sizeof(time_t).
	* src/NsCookieParser.cc
	* src/Sqlite3CookieParser.cc
	* src/cookie_helper.cc
	* test/CookieHelperTest.cc
	* test/CookieStorageTest.cc
	* test/NsCookieParserTest.cc
2010-10-27 14:54:25 +00:00
Tatsuhiro Tsujikawa 5eec87df03 2010-10-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed improper use of vsnprintf
	* src/StringFormat.cc
2010-10-26 11:46:19 +00:00
Tatsuhiro Tsujikawa 831bac1471 2010-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that dht.dat file could not be saved. This is
	because a directory denoting temporary file path is wrongly
	created and thus aria2 fails to open the file as regular file.
	* src/DHTAutoSaveCommand.cc
2010-10-23 13:43:32 +00:00
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