Commit Graph

839 Commits (60b37d3367c3599935dc445883f1a08ae55972b4)

Author SHA1 Message Date
Tatsuhiro Tsujikawa dfe2f99345 2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Filled up pieces based on the number of missing blocks, rather 
than
	simplay the number of piece * block length.
	* src/BtRequestFactory.h
	* src/DefaultBtInteractive.cc
	* src/DefaultBtInteractive.h
	* src/DefaultBtRequestFactory.cc
	* src/DefaultBtRequestFactory.h
	* src/Piece.cc
	* src/Piece.h
	* test/BitfieldManTest.cc
	* test/DefaultBtRequestFactoryTest.cc
	* test/MockBtRequestFactory.h
2008-06-17 11:43:29 +00:00
Tatsuhiro Tsujikawa 09502fc3db 2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made _epEvents a member variable.
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
2008-06-17 09:29:43 +00:00
Tatsuhiro Tsujikawa d4b29c84fc 2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Cancel download if http redirect is bounded more than 20 times.
	* src/AbstractCommand.cc
	* src/HttpSkipResponseCommand.cc
	* src/Request.cc
	* src/Request.h
	* test/RequestTest.cc
2008-06-17 09:09:31 +00:00
Tatsuhiro Tsujikawa a79e7a5fd5 2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed unhandled exception(removed keyword `new').
	* src/SocketCore.cc (initEPOLL)
2008-06-17 09:06:50 +00:00
Tatsuhiro Tsujikawa f393751ec8 2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed visit(const MetaEntry*)
	* src/MetaEntryVisitor.h:
	Added visit(const Data*),visit(const Dictionary*),visit(const 
List*)
	and made them virtual.
	* src/BencodeVisitor.h
	* src/BencodeVisitor.cc
2008-06-17 08:43:44 +00:00
Tatsuhiro Tsujikawa b1c79f5ce5 2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated po files.
	* po/aria2c.pot
	* po/*.po
	* po/*.gmo
2008-06-16 16:19:23 +00:00
Tatsuhiro Tsujikawa 067aa16499 2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Moved the call setWriteCheckSocket inside the previous clause to 
reduce
	the number of socket to watch out.
	* src/PeerInteractionCommand.cc
2008-06-16 16:06:24 +00:00
Tatsuhiro Tsujikawa 1c2dd30bf7 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
When there is not enough space in disk when writing a chunk of 
data,
	aria2 now prints the message to the console to warn user and 
aborts
	its download. Not all downloads are canceled because some 
downloads
	may use another disk or partition. BUG#1640332
	* src/AbstractDiskWriter.cc
	* src/PeerAbstractCommand.cc
	* src/PeerAbstractCommand.h: Added onFailure() function for 
override.
	* src/PeerInteractionCommand.cc: In onFailure(), call 
RequestGroup::
	setHaltRequested(true) to cancel download.
	* src/PeerInteractionCommand.h
2008-06-16 15:11:41 +00:00
Tatsuhiro Tsujikawa 953d1683a3 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw-5.patch, which changes the 
type of
	socket from int to sock_t as sockets are unsigned in Windows.
	For AsyncNameResolver, DownloadEngine, I did additional 
modification
	for the portion of the code changed according to epoll support.
	I defined sock_t in a2netcompat.h to use sock_t without 
including
	SocketCore.h.
	* src/AsyncNameResolver.cc
	* src/AsyncNameResolver.h
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/a2netcompat.h
2008-06-16 14:01:45 +00:00
Tatsuhiro Tsujikawa 8989ffb6c5 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw-4.patch. With this change, 
all
	changes in the patch were applied.
	* test/DHTConnectionImplTest.cc: Fixed unit test error in MinGW.
	* test/DefaultPieceStorageTest.cc: Fixed unit test error in 
MinGW.
	* test/PeerMessageUtilTest.cc: Fixed unit test error in MinGW.
2008-06-16 13:26:25 +00:00
Tatsuhiro Tsujikawa 2c02415f97 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this change,
	a2io.h and common.h were modified.
	* src/a2io.h: Changed seek/stat/tell calls to use 64 bit 
versions in
	MinGW.
	* src/common.h: Changed off_t to 64 bit in MinGW.
2008-06-16 13:18:26 +00:00
Tatsuhiro Tsujikawa d9c17fd34d 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit,
	only a2netcompat.h is modified.
	* src/a2netcompat.h: Removed unused getaddrinfo related #define
	directives.
2008-06-16 12:09:57 +00:00
Tatsuhiro Tsujikawa 4da1360727 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit,
	only gai_strerror.h is modified.
	* src/gai_strerror.h: Fixed gai_strerror() function to report 
all
	winsock errors in MinGW.
2008-06-16 12:07:21 +00:00
Tatsuhiro Tsujikawa aaa2ecaa6f 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit, 
only the
	follow sources are applied.
	* src/Platform.h: I removed HAVE_WINSOCK2_H directive from 
Platform.h.
	* src/Platform.cc: Moved common setup/teardown code to Platform 
class.
	I moved #endif // HAVE_WINSOCK2_H to the front of #include 
"DlAbortEx.h"
	I included locale.h from Platform.cc.
	* src/main.cc: Moved common setup/teardown code to Platform 
class.
	* test/AllTest.cc: Use Platform class.
	Set locale to C in AllTest.cc to prevent the messages to be 
localized.
2008-06-16 11:59:34 +00:00
Tatsuhiro Tsujikawa 06644332c2 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw-3.patch.
	* test/HttpHeaderTest.cc: Casted to off_t where it should.
	* test/HttpRequestTest.cc: Casted to off_t where it should.
2008-06-16 11:27:52 +00:00
Tatsuhiro Tsujikawa b559054701 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Applied Ross's aria2-0.13.2+1-mingw.patch and
	aria2-0.13.2+1-mingw-2.patch.
	* src/ConsoleStatCalc.cc: Added HAVE_TERMIOUS_H directive for 
the
	systems	which don't have termious.h. I moved the directive 
inside of
	if(isTTY) { ... clause so that line is wiped out without 
termious.h.
	I also removed HAVE_ASCTIME_R clause because asctime_r is 
provided
	anyway.
	* src/asctime_r.h
	* src/asctime_r.c: Added for the systems don't have asctime_r 
function.
	I added 2nd argument to the prototype declaration.
	* src/StringFormat.cc: Get rid of vasprintf.
	* src/getaddrinfo.h: Fixed constants.
	* configure.ac: Added the check for asctime_r function.
	* src/Makefile.am: Added conditional based on HAVE_ASCTIME_R
2008-06-16 11:19:45 +00:00
Tatsuhiro Tsujikawa e32eb83c99 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added writable test for Socket when the sending message is in 
progress.
	Usually the sending message is piece message. Without wriable 
check,
	upload latency is dropped to more than 1sec.
	* src/PeerInteractionCommand.cc
2008-06-15 16:27:12 +00:00
Tatsuhiro Tsujikawa 2f8e184fe5 2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Create only requested files and files which shares a piece with
	requested file in multi-torrent downloads. Directory structures 
are
	also created in the same rule.
	MultiDiskAdaptor::fileExists() now uses FileEntry instead of
	DiskWriterEntry as in the previous implementation.
	* src/MultiDiskWriter.cc
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h
	* test/MultiFileAllocationIteratorTest.cc
2008-06-15 16:19:06 +00:00
Tatsuhiro Tsujikawa f9988a4ef6 2008-06-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Commented out -lprofiler
	* src/Makefile.am
2008-06-13 15:47:54 +00:00
Tatsuhiro Tsujikawa 95ca33bba3 2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.14.0b.
	* src/configure.ac
2008-06-10 14:31:08 +00:00
Tatsuhiro Tsujikawa 46627da9a8 2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Actively establish connection to peers in seeding, when peer 
cache
	is not full and max upload speed limit is not reached.
	* src/ActivePeerConnectionCommand.cc
	* src/ActivePeerConnectionCommand.h
2008-06-10 11:31:35 +00:00
Tatsuhiro Tsujikawa 7a74971caa 2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Always remove a peer from cache in 
DefaultPeerStorage::returnPeer(),
	to make room more fleshy, recently found peers.
	Peer::_badConditionStartTime is not used anymore. Consider to 
remove
	it.
	* src/DefaultPeerStorage.cc
	* test/DefaultPeerStorageTest.cc
2008-06-10 11:29:10 +00:00
Tatsuhiro Tsujikawa 811649149d 2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Returns cached data only when the previous receiveHandshake() is 
called
	with peek = true.
	* src/PeerConnection.cc (receiveHandshake)
	* src/PeerConnection.h (receiveHandshake)
2008-06-09 14:55:12 +00:00
Tatsuhiro Tsujikawa de9605815d 2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed default value of -s option from 1 to 5.
	Also max value of -s option is changed from 5 to 16.
	* src/HelpItemFactory.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/usage_text.h
2008-06-09 13:10:24 +00:00
Tatsuhiro Tsujikawa 32edb40d7d 2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed -s options behavior. Now it means the number of 
connections
	made simultaneously in each http/ftp download.
	If 1 URL is specified, the behavior is the same with old 
implementation.
	If -s N is given and more than N URLs are specified, first N 
URLs are
	used and remaining URLs are used for backup. If less than N URLs 
are
	specified, some of URLs are used more than once so that totally 
N
	connections are made simultaneously.
	* src/main.cc
2008-06-09 13:08:17 +00:00
Tatsuhiro Tsujikawa b68fa9ea33 2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Included missing iosfwd or ostream header.
	* src/RequestGroupMan.cc
	* src/TaggedItem.cc
	* src/TaggedItem.h
	* src/Util.cc
2008-06-09 11:47:19 +00:00
Tatsuhiro Tsujikawa 8de7cff9f4 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/HttpHeaderProcessor.cc: Rewritten using std::string as a 
buffer.
	* src/HttpHeaderProcessor.h: Rewritten using std::string as a 
buffer.
	* src/HttpConnection.cc: Included missing sstream.
2008-06-08 13:12:24 +00:00
Tatsuhiro Tsujikawa cf71523fe2 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --bt-max-open-files option.
	* src/DefaultPieceStorage.cc
	* src/HelpItemFactory.cc
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-06-08 12:34:36 +00:00
Tatsuhiro Tsujikawa b4e5ba2779 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed the bug that aria2 aborts when a path to a directory is 
given
	in command-line.
	* src/ProtocolDetector.cc
2008-06-08 12:07:17 +00:00
Tatsuhiro Tsujikawa 2ad5df249e 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Limited the number files opened in each BitTorrent download. The 
default
	value is 100. The option to change this value will be added.
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	* src/MultiFileAllocationIterator.cc
2008-06-08 10:47:00 +00:00
Tatsuhiro Tsujikawa 23294a746e 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed the bug that HTTP downloads don't start with old 
libraries.
	* src/HttpHeaderProcessor.cc
2008-06-08 10:32:10 +00:00
Tatsuhiro Tsujikawa 49409fa7ad 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use empty() instead of size() > 0.
	* src/HttpConnection.cc
2008-06-08 10:29:13 +00:00
Tatsuhiro Tsujikawa 725f68b0c6 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Drop connection if the incoming peer ID is the same with 
localhost's
	one. The previous implementation drops connection when incoming 
peer's
	IP address is the same with localhost's one.
	* src/PeerListenCommand.cc
	* src/DefaultBtInteractive.cc
2008-06-08 10:27:57 +00:00
Tatsuhiro Tsujikawa 249194ba8d 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Returns cached data without checking whether socket is readable
	if the cache is available.
	* src/PeerConnection.cc (receiveHandshake)
2008-06-08 10:16:38 +00:00
Tatsuhiro Tsujikawa 5cbab84b65 2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Included stdint.h
	* src/common.h
2008-06-06 14:02:33 +00:00
Tatsuhiro Tsujikawa ad045fea44 2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed duplicate HAVE_GETTIMEOFDAY
	* src/Makefile.am
	* src/Makefile.in
2008-06-06 14:01:33 +00:00
Tatsuhiro Tsujikawa faed68cc06 2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use interval as a minInterval when minInterval is not supplied.
	* src/DefaultBtAnnounce.cc
2008-06-05 15:47:23 +00:00
Tatsuhiro Tsujikawa 74d35644fb 2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made DEFAULT_ANNOUNCE_INTERVAL 120, so that if first tracker 
request
	attempt is failed, then 2nd attempt get kicked out more quickly.
	And it is now static const member of DefaultBtAnnounce.
	* src/DefaultBtAnnounce.h
2008-06-05 13:21:35 +00:00
Tatsuhiro Tsujikawa d773613e93 2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Renamed BtRuntime::lessThanMinPeers() and 
BtRuntime::lessThanEqMinPeers.
	Made MAX_PEERS and MIN_PEERS static const members of BtRuntime.
	* src/ActivePeerConnectionCommand.cc
	* src/BtConstants.h
	* src/BtRuntime.h
	* src/DHTGetPeersCommand.cc
	* src/DefaultBtAnnounce.cc
	* src/DefaultPeerStorage.cc: Calculate maxPeerListSize based on
	BtRuntime::MAX_PEERS.
	* src/DefaultPeerStorage.h
	* src/InitiatorMSEHandshakeCommand.cc
	* src/PeerInitiateConnectionCommand.cc
	* src/PeerInteractionCommand.cc
	* src/PeerReceiveHandshakeCommand.cc
	* src/TrackerWatcherCommand.cc
2008-06-05 13:17:46 +00:00
Tatsuhiro Tsujikawa 4a454e94b7 2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Always Connect to _numNewConnection 
	* src/ActivePeerConnectionCommand.cc
2008-06-05 13:02:49 +00:00
Tatsuhiro Tsujikawa ba158dbfc1 2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made `begin' unsigned int.
	* src/GrowSegment.h
	* src/Piece.cc
	* src/Piece.h
	* src/PiecedSegment.cc
	* src/PiecedSegment.h
	* src/Segment.h
2008-06-05 12:53:30 +00:00
Tatsuhiro Tsujikawa 7d63daed22 2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Calculate piece hash when data is arrived if the data is arrived 
in
	order. This removes additional read operation for hash 
calculation.
	If the data is arrived in out of order, the hash is calucated 
when the
	piece is completed. This is the same behavior as the old 
implementation.
	* src/BtPieceMessage.cc
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
	* src/DownloadEngine.cc
	* src/GrowSegment.cc
	* src/GrowSegment.h
	* src/Piece.cc
	* src/Piece.h
	* src/PiecedSegment.cc
	* src/PiecedSegment.h
	* src/Segment.h
	* test/PieceTest.cc
2008-06-04 16:28:16 +00:00
Tatsuhiro Tsujikawa 20f5fcfc0f 2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Try to keep the ordering of outgoing piece message.
	* src/DefaultBtMessageDispatcher.cc
	(DefaultBtMessageDispatcher::sendMessages)
2008-06-04 15:53:47 +00:00
Tatsuhiro Tsujikawa bc5319081b 2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed busy loop when error/hup epoll events occur.
	* src/AbstractCommand.cc
	* src/PeerAbstractCommand.cc
2008-06-04 15:27:58 +00:00
Tatsuhiro Tsujikawa fc0725002d 2008-06-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --bt-request-peer-speed-limit option, which was a constant
	SLOW_SPEED_THRESHOLD.
	* src/ActivePeerConnectionCommand.cc
	* src/ActivePeerConnectionCommand.h
	* src/BtConstants.h
	* src/HelpItemFactory.cc
	* src/OptionHandlerFactory.cc
	* src/PeerReceiveHandshakeCommand.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-06-04 10:14:48 +00:00
Tatsuhiro Tsujikawa 0c22b9faf0 2008-06-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed repeated call of getTopDirPath(). Instead, call it once 
and
	cache the result.
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	(mkdir, openFile, initAndOpenFile, openExistingFile)
2008-06-03 14:30:52 +00:00
Tatsuhiro Tsujikawa 1f084fc5dc 2008-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error on debian etch.
	The libc6 shipped with debian etch doesn't define ULLONG_MAX 
properly
	even if _GNU_SOURCE is defined. So define ULLONG_MAX in case 
when
	it is undefined.
	* src/Util.cc (ULLONG_MAX)
2008-06-01 08:23:32 +00:00
Tatsuhiro Tsujikawa 54ee6c4627 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added epoll support. Use epoll if it is available. If not, use 
select.
	When async dns is enabled in compile time, epoll support is 
enabled
	only when aria2 is built with c-ares. This condition statement 
is
	defined in a2io.h.
	Currently aria2 supports both c-ares and ares, but ares is 
maintained
	for quite a while and debian already has c-ares package, ares 
support
	will be dropped in the future version.
	* configure.ac
	* src/AbstractCommand.cc
	* src/AsyncNameResolver.cc
	* src/AsyncNameResolver.h
	* src/Command.cc
	* src/Command.h
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/PeerAbstractCommand.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/a2io.h
2008-05-31 10:31:07 +00:00
Tatsuhiro Tsujikawa 242267028d 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* test/MetalinkEntryTest.cc: Added missing `defined' keyword to 
#if
	directive.
2008-05-31 10:27:21 +00:00
Tatsuhiro Tsujikawa 31a01bd0a6 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Do not do write operation to /dev/null file.
	* src/LogFactory.cc
	* src/SimpleLogger.cc

	Replaced vasprintf with vsnprintf
	* src/SimpleLogger.cc (SimpleLogger::writeLog)
2008-05-31 05:56:12 +00:00
Tatsuhiro Tsujikawa 405c46277f 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/BtRequestMessage.cc
	(BtRequestMessage::onQueue): Given piece to RequestSlot. This is 
a fix
	for segmentation fault caused by previous commit.
2008-05-31 05:49:28 +00:00
Tatsuhiro Tsujikawa 1d7b5e6f4a 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Reduced the usage of gettimeofday().
	* src/DefaultBtMessageDispatcher.cc
	
(DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing)
	(class FindStaleRequestSlot, class ProcessStaleRequestSlot)
	* src/RequestSlot.cc
	* src/RequestSlot.h
	(RequestSlot::isTimeout)
	
	Made RequestSlot have a reference to Piece object to avoid find
	Piece repeatedly.
	* src/DefaultBtMessageDispatcher.cc
	(class FindStaleRequestSlot, class ProcessStaleRequestSlot)
	* src/RequestSlot.cc
	* src/RequestSlot.h
	(RequestSlot::getPiece)
	* test/DefaultBtMessageDispatcherTest.cc
2008-05-31 05:46:16 +00:00
Tatsuhiro Tsujikawa f771b42e53 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/TimeA2.cc
	* src/TimeA2.h
	(Time::difference): New function.
	(Time::elapsed): Done optimization.
2008-05-31 05:36:59 +00:00
Tatsuhiro Tsujikawa 78dbc71960 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/HelpItemFactory.cc: Added missing `defined' keyword to #if
	directive.
2008-05-31 05:32:49 +00:00
Tatsuhiro Tsujikawa 82b2e5d069 2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/option_processing.cc: Added missing `defined' keyword to 
#if
	directive.
2008-05-31 05:32:09 +00:00
Tatsuhiro Tsujikawa 4a0c657d8b 2008-05-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.13.2+1
	* src/configure.ac
2008-05-27 15:34:45 +00:00
Tatsuhiro Tsujikawa 20cb017357 2008-05-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Refactored broken outstanding piece handling.
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/Piece.cc
	* src/Piece.h
2008-05-27 15:07:39 +00:00
Tatsuhiro Tsujikawa 27102091ad 2008-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error on Mac OS X 10.3.9. This error was caused by 
the
	name collision of static variable and predefined macro.
	* src/BtContext.cc
	* src/BtContext.h
	* src/CookieBoxFactory.cc
	* src/CookieBoxFactory.h
	* src/CookieParser.cc
	* src/CookieParser.h
	* src/DefaultBtContext.cc
2008-05-27 14:55:20 +00:00
Tatsuhiro Tsujikawa e40ae31748 2008-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/RequestGroup.cc
	(RequestGroup::createInitialCommand): Use empty() instead of 
size().
2008-05-27 14:44:55 +00:00
Tatsuhiro Tsujikawa 5699567aea 2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* Release 0.13.2
2008-05-25 01:46:30 +00:00
Tatsuhiro Tsujikawa 8f90b6092c 2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated fr.po(thanks to Sebastien) and ja.po. ThanksDone make 
update-po
	* po/fr.po
	* po/ja.po
	* po/aria2c.pot
	* po/*.po
	* po/*.gmo
2008-05-25 01:43:22 +00:00
Tatsuhiro Tsujikawa 19ec823a7a 2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.13.2
	* src/configure.ac
2008-05-25 01:19:00 +00:00
Tatsuhiro Tsujikawa eacb3fa04f 2008-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Refactord.
	* src/RequestGroupMan.cc
	(removeStoppedGroup)
	(fillRequestGroupFromReserver)
2008-05-24 12:00:51 +00:00
Tatsuhiro Tsujikawa 5d8c2c0890 2008-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error on Ubuntu.
	* src/BtPieceMessage.cc
	* src/MessageDigestHelper.cc
	* src/Util.cc
2008-05-24 11:56:24 +00:00
Tatsuhiro Tsujikawa 8a653fe38b 2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error when configured with --disable-bittorrent
	* test/DownloadHandlerFactoryTest.cc
2008-05-21 08:43:46 +00:00
Tatsuhiro Tsujikawa bd19e00919 2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Done make update-po
	* po/aria2c.pot
	* po/*.po
	* po/*.gmo
2008-05-21 07:59:14 +00:00
Tatsuhiro Tsujikawa 9cf401f45d 2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.13.2rc.
	* src/configure.ac
2008-05-21 07:57:27 +00:00
Tatsuhiro Tsujikawa 9ca3763190 2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made option name bold. Updated SYNOPSIS to make it more 
readable.
	* doc/aria2c.1.txt
	* doc/aria2c.1
	* doc/aria2c.1.html
	* src/version_usage.cc
2008-05-21 07:47:32 +00:00
Tatsuhiro Tsujikawa 65c7d8f26c 2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Refactored. Use std::string instead of size and char*.
	* Data.cc
	* Data.h
	* test/Data.cc
2008-05-21 07:18:31 +00:00
Tatsuhiro Tsujikawa ad6ffd7f33 2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added trimSelf(). Rewritten trim() to use trimSelf().
	* Util.cc
	* Util.h
2008-05-21 07:16:54 +00:00
Tatsuhiro Tsujikawa 90846bdafe 2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/ChunkChecksum.h (getChecksum): Return const reference.
2008-05-20 15:22:53 +00:00
Tatsuhiro Tsujikawa bf58b49d87 2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error when configured with --disable-metalink.
	Also moved test/DownloadHandlerFactoryTest.cc to SRC in 
Makefile.am.
	* test/FeatureConfigTest.cc
	* test/DownloadHandlerFactoryTest.cc
2008-05-20 14:27:58 +00:00
Tatsuhiro Tsujikawa a70a747c23 2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error when configured with --without-gnutls
	--without-openssl
	* src/main.cc
	* test/DefaultBtProgressInfoFileTest.cc
	* test/SegmentManTest.cc
2008-05-20 00:42:34 +00:00
Tatsuhiro Tsujikawa bbd2a995db 2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error with OpenSSL.
	* src/IteratableChunkChecksumValidator.cc
	* src/LibsslDHKeyExchange.h
	* src/MessageDigestHelper.cc
2008-05-19 15:08:18 +00:00
Tatsuhiro Tsujikawa 13be071b6a 2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Revert the default value of --max-concurrent-downloads to 5.
	Revert the default value of --metalink-servers to 5.
	Man pages was also updated.
	* src/option_processing.cc
	* doc/aria2c.1.txt
	* doc/aria2c.1.html
	* doc/aria2c.1
2008-05-19 12:36:20 +00:00
Tatsuhiro Tsujikawa ff6b5ecc9c 2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Returns const reference:
	DownloadContext::getPieceHash, DownloadContext::getName,
	DownloadContext::getPieceHashAlgo, DownloadContext::getDir,
	BtContext::getInfoHashAsString,
	* src/BtContext.h
	* src/DefaultBtContext.cc
	* src/DefaultBtContext.h
	* src/DownloadContext.h
	* src/SingleFileDownloadContext.h
	* test/MockBtContext.h
2008-05-19 11:28:17 +00:00
Tatsuhiro Tsujikawa 960d4acbce 2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/RequestGroup.h (getDir): Removed.
2008-05-19 11:20:51 +00:00
Tatsuhiro Tsujikawa f4ac2c2185 2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Returns const reference. The internal urlencode function was 
optimized
	a little bit.
	* src/Request.cc
	* src/Request.h
	* src/HttpRequest.cc
	* src/HttpRequest.h
2008-05-19 11:19:18 +00:00
Tatsuhiro Tsujikawa 0189bbc6bc 2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined option name and possible values as std::string to reduce
	temporary string object creation in runtime.
	* src/HelpItemFactory.cc
	* src/LogFactory.cc
	* src/Option.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
2008-05-19 10:25:38 +00:00
Tatsuhiro Tsujikawa e59f4f2fe3 2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Return const reference.
	* src/DownloadHandlerConstants.cc
	* src/DownloadHandlerConstants.h
	(getMetalinkExtensions)
	(getMetalinkContentTypes)
	(getBtExtensions)
	(getBtContentTypes)
2008-05-18 11:53:22 +00:00
Tatsuhiro Tsujikawa 7235f2657f 2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/HttpHeader.cc (get): Rewritten.
2008-05-18 10:40:23 +00:00
Tatsuhiro Tsujikawa e1c1c010b8 2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Make HttpHeader::getFirst(...) return const reference.
	* src/HttpHeader.cc
	* src/HttpHeader.h
2008-05-18 10:33:06 +00:00
Tatsuhiro Tsujikawa a0f8685de3 2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use Option::getAsBool(...) instead of Option::get(...) and 
compare
	it with V_TRUE.
	* src/DefaultPieceStorage.cc
	* src/DownloadCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpRequest.cc
	* src/InitiateConnectionCommand.cc
	* src/RequestGroup.cc
2008-05-18 10:25:41 +00:00
Tatsuhiro Tsujikawa 0a95211100 2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made Option::get(...) return const reference of std::string.
	* src/Option.cc
	* src/Option.h
2008-05-18 10:14:53 +00:00
Tatsuhiro Tsujikawa e4b0446c61 2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Replaced std:copy with insert.
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultPieceStorage.cc
	* src/DownloadEngineFactory.cc
	* src/RequestGroup.cc
2008-05-18 10:07:42 +00:00
Tatsuhiro Tsujikawa 111edd2c56 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Included SocketCore.h to fix compiler warning.
	* src/InitiateConnectionCommand.cc
2008-05-17 13:26:25 +00:00
Tatsuhiro Tsujikawa ef02915d82 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Put piece selection strategy algorithm to RarestPieceSelector 
class,
	Added a switch to choose whether randomized selection so that 
unit
	tests emit same results in, possibly, win32.
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/RarestPieceSelector.cc
	* src/RarestPieceSelector.h
	* test/DefaultPieceStorageTest.cc
	* test/RarestPieceSelectorTest.cc
2008-05-17 12:51:54 +00:00
Tatsuhiro Tsujikawa 77d892d7f2 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Don't pool connection if HTTP proxy is enabled.
	* src/FtpFinishDownloadCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HttpSkipResponseCommand.cc
2008-05-17 09:26:47 +00:00
Tatsuhiro Tsujikawa 7c6ed037e3 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Don't add closed socket to 
DownloadEngine::addSocketForReadCheck()
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/ActivePeerConnectionCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/InitiateConnectionCommandFactory.cc
	* src/PeerAbstractCommand.cc
	* src/PeerAbstractCommand.h
	* src/PeerInitiateConnectionCommand.cc
	* src/TrackerWatcherCommand.cc
2008-05-17 09:15:14 +00:00
Tatsuhiro Tsujikawa b5f1ca6f66 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Sort RequestSlot in ascending order and manipulate them using
	lower_bound.
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtMessageDispatcher.h
	(getMessageQueue): Added const qualifier.
	(getRequestSlots): Added const qualifier.
	(sendMessages): Use empty() instead of size().
	(doCancelSendingPieceAction): Use HandleEvent object.
	(doAbortOutstandingRequestAction): Rewritten.
	(doChokedAction): Rewritten.
	(checkRequestSlotAndDoNecessaryThing): Rewritten.
	(isOutstandingRequest): Rewritten.
	(getOutstandingRequest): Rewritten.
	(removeOutstandingRequest): Rewritten.
	(addOutstandingRequest): Rewritten.
	* src/RequestSlot.cc
	* src/RequestSlot.h
	(operator=): Rewritten.
	(operator!=): New function.
	(operator<): New function.
2008-05-17 07:31:32 +00:00
Tatsuhiro Tsujikawa e67e998c18 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/DefaultBtRequestFactory.cc
	(doChokedAction): Rewritten.
	(removeCompletedPiece): Rewritten.
	(removeTargetPiece): Rewritten.
	(createRequestMessages): Added the debug log.
	(createRequestMessagesOnEndGame: Added the debug log.
2008-05-17 07:17:07 +00:00
Tatsuhiro Tsujikawa 9787a7a5b0 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added the debug log message.
	* src/BtPieceMessage.cc (doReceivedAction)
2008-05-17 07:06:17 +00:00
Tatsuhiro Tsujikawa 4b3e582542 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Sorted DHTPeerAnnounceEntry in a ascending order of info hash 
and
	used lower_bound to process them rather than linear search.
	* src/DHTPeerAnnounceStorage.cc
2008-05-17 06:10:52 +00:00
Tatsuhiro Tsujikawa 73a2599a04 Fixed date 2008-05-17 05:39:17 +00:00
Tatsuhiro Tsujikawa 7bbd9cec3b 2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Call subtractPieceStats from ~PeerInteractionCommand only when 
the
	peer has at least one completed piece.
	* src/Peer.cc
	* src/Peer.h
	* src/PeerInteractionCommand.cc
	* src/PeerSessionResource.cc
	* src/PeerSessionResource.h
2008-05-17 05:12:14 +00:00
Tatsuhiro Tsujikawa d4d608eeb0 2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed unnecessary sorting
	* src/DefaultPieceStorage (DefaultPieceStorage)
2008-05-17 05:09:10 +00:00
Tatsuhiro Tsujikawa 99f07b515f 2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten the portion of the code that mangaes allowed fast 
indexes.
	* src/PeerSessionResource.cc
	* src/PeerSessionResource.h
2008-05-16 14:51:14 +00:00
Tatsuhiro Tsujikawa 738996932a 2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed the invalid string including '\r' from ru.po and
	did make update-po.
2008-05-15 16:10:25 +00:00
Tatsuhiro Tsujikawa 2c7ae9ebaa 2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --log-level and --summary-interval to man page.
	* doc/aria2c.1.txt
	* doc/aria2c.1.html
	* doc/aria2c.1
2008-05-15 15:57:04 +00:00
Tatsuhiro Tsujikawa d76e423884 2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --log-level option to specify log level. Log messages under
	the specified level are not output. Default value is `debug'.
	* src/HelpItemFactory.cc
	* src/LogFactory.cc
	* src/LogFactory.h
	* src/Logger.h
	* src/OptionHandlerFactory.cc
	* src/SimpleLogger.cc
	* src/SimpleLogger.h
	* src/main.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-15 15:48:41 +00:00
Tatsuhiro Tsujikawa 2e8e926c10 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Print download progress summary of all parallel downloads in specified
	interval, default 60 secs. While aria2 could download several files
	in parallel (see -j option), it displayed just first download progress,
	and the other downloads are hidden from the users. This new feature
	prints all downloads currently in-progress to the console so that you
	can check the status of all downloads. The interval can be adjusted
	by --summary-interval option.
	
	The progress readout is now cut so that all fits in the one line of
	console.
	* src/ConsoleStatCalc.cc
	* src/ConsoleStatCalc.h
	* src/HelpItemFactory.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/main.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-15 14:37:02 +00:00
Tatsuhiro Tsujikawa d8e64c764d 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Call updateFdSet() to initialize rfdset, wfdset fdmax.
	* src/DownloadEngine.cc (DownloadEngine)
2008-05-14 16:01:30 +00:00
Tatsuhiro Tsujikawa 148b1baf38 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use free() to deallocate memory for _buffer if 
HAVE_POSIX_MEMALIGN is
	defined.
	* src/SingleFileAllocationIterator.cc 
(~SingleFileAllocationIterator)
2008-05-14 15:51:35 +00:00
Tatsuhiro Tsujikawa 46636201c1 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use erase+lower_bound+insert instead of sort.
	* src/DefaultPieceStorage.cc (addPieceStats)
2008-05-14 15:43:38 +00:00
Tatsuhiro Tsujikawa f2588a882b 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use A2STR::SHARP_C and A2STR::EQUAL_C.
	* src/A2STR.cc
	* src/A2STR.h
	* src/OptionParser.cc (parse)
2008-05-14 15:33:42 +00:00
Tatsuhiro Tsujikawa 35b219ddc8 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined fake filename `[tracker.announce]' as static const 
std::string.
	* src/TrackerWatcherCommand.cc (createRequestGroup)
2008-05-14 15:22:52 +00:00
Tatsuhiro Tsujikawa 237ec10329 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined default filename `index.html' as static const 
std::string
	* src/SingleFileDownloadContext.cc
	* src/SingleFileDownloadContext.h
2008-05-14 15:19:26 +00:00
Tatsuhiro Tsujikawa f26d64ce49 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined "[MEMORY]" as static const std::string.
	* src/MemoryBufferPreDownloadHandler.cc (execute)
2008-05-14 15:15:04 +00:00
Tatsuhiro Tsujikawa 013bf02662 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined control file's version number as static const 
std::string.
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultBtProgressInfoFile.h
2008-05-14 15:12:17 +00:00
Tatsuhiro Tsujikawa 6d0aff618d 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use Request::METHOD_GET
	* src/RequestGroup.cc (createNextCommandWithAdj)
2008-05-14 15:05:46 +00:00
Tatsuhiro Tsujikawa 630cee3cb7 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined "OK", "ERR", "INPR" as static const std::string
	* src/RequestGroupMan.cc (showDownloadResults)
2008-05-14 15:03:09 +00:00
Tatsuhiro Tsujikawa 919c6934a8 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined default client used in extended handshake as static 
const
	std::string
	* src/DefaultBtInteractive.cc 
(addHandshakeExtendedMessageToQueue)
2008-05-14 14:57:22 +00:00
Tatsuhiro Tsujikawa 5143a7fed0 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined AUTH_HEADER, PROXY_AUTH_HEADER as static const 
std::string
	* src/HttpConnection.cc (eraseConfidentialInfo)
2008-05-14 14:51:31 +00:00
Tatsuhiro Tsujikawa cded0f5811 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined default ftp user and password as static const 
std::string
	* src/AuthConfigFactory.cc
	* src/AuthConfigFactory.h
2008-05-14 14:40:38 +00:00
Tatsuhiro Tsujikawa 12b880a724 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined strings used in netrc as static const std::string
	* src/Netrc.cc
	* src/Netrc.h
2008-05-14 14:35:52 +00:00
Tatsuhiro Tsujikawa 158563d16a 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined HTTP status as static const std::string
	* src/AbstractProxyResponseCommand.cc
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpResponse.cc
	* src/HttpResponseCommand.cc
	* src/HttpSkipResponseCommand.cc
2008-05-14 14:02:18 +00:00
Tatsuhiro Tsujikawa 9a98c71972 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined "\r\n", "A", "I" as static const std::string
	* src/A2STR.cc
	* src/A2STR.h
	* src/FtpConnection.cc
	* src/FtpConnection.h
2008-05-14 13:52:47 +00:00
Tatsuhiro Tsujikawa 30a378aa57 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added COLON_C(".") and used it in Request::parseUrl()
	* src/A2STR.cc
	* src/A2STR.h
	* src/Request.cc (parseUrl)
2008-05-14 13:25:42 +00:00
Tatsuhiro Tsujikawa 309ad8c5ef 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed the type of padName from `const std::string&' to `const 
char*'.
	* src/MSEHandshake.cc (verifyPadLength)
2008-05-14 13:14:04 +00:00
Tatsuhiro Tsujikawa 0eb5ca187f 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined "sha1" as static const std::string.
	* src/MetalinkParserController.cc
	* src/MetalinkParserController.h
2008-05-14 13:07:04 +00:00
Tatsuhiro Tsujikawa 9bd1fc10af 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined message digest algorithm name as static const 
std::string
	* src/DHTTokenTracker.cc
	* src/DHTUtil.cc
	* src/DefaultBtContext.cc
	* src/MSEHandshake.cc
	* src/MessageDigestHelper.cc
	* src/Peer.cc
	* src/messageDigest.cc
	* src/messageDigest.h
2008-05-14 13:02:43 +00:00
Tatsuhiro Tsujikawa 48c96ac441 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string literals used in SAX parser static const 
std::string.
	* src/FileMetalinkParserState.cc
	* src/FileMetalinkParserState.h
	* src/FilesMetalinkParserState.cc
	* src/FilesMetalinkParserState.h
	* src/InitialMetalinkParserState.cc
	* src/InitialMetalinkParserState.h
	* src/MetalinkMetalinkParserState.cc
	* src/MetalinkMetalinkParserState.h
	* src/PiecesMetalinkParserState.cc
	* src/PiecesMetalinkParserState.h
	* src/ResourcesMetalinkParserState.cc
	* src/ResourcesMetalinkParserState.h
	* src/VerificationMetalinkParserState.cc
	* src/VerificationMetalinkParserState.h
2008-05-14 12:51:05 +00:00
Tatsuhiro Tsujikawa 1b874503cf 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use A2STR::SLASH_C, A2STR::DOT_C instead of "/", "." 
respectively.
	* src/A2STR.cc
	* src/A2STR.h
	* src/File.cc
2008-05-14 12:28:46 +00:00
Tatsuhiro Tsujikawa 1aeefb5c4b 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined static const std::string IP("ip"), PORT("port") and use 
them
	instead of string literals.
	* src/DefaultPeerListProcessor.cc
	* src/DefaultPeerListProcessor.h
2008-05-14 12:15:39 +00:00
Tatsuhiro Tsujikawa 9d24736208 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string literals for torrent file processing static const
	std::string.
	* src/BtContext.cc
	* src/BtContext.h
	* src/DefaultBtContext.cc
	* src/DefaultBtContext.h
2008-05-14 12:11:04 +00:00
Tatsuhiro Tsujikawa cb795bc989 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string literal for tracker response static const 
std::string
	* src/BtAnnounce.cc
	* src/BtAnnounce.h
	* src/DefaultBtAnnounce.cc
2008-05-14 11:47:15 +00:00
Tatsuhiro Tsujikawa 412429dfe6 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use DHTMessage::T instead of "t".
	* src/DHTMessageTracker.cc (messageArrived)
2008-05-14 11:31:53 +00:00
Tatsuhiro Tsujikawa 87984328c5 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made keyName static const. Made trimmed charset static const
	std::string.
	* src/Util.cc (getContentDispositionFilename)
2008-05-13 17:05:02 +00:00
Tatsuhiro Tsujikawa 29d5651cd5 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made USER_AGENT const. Made "/" static const std::string.
	* src/A2STR.cc
	* src/A2STR.h
	* src/HttpRequest.cc
	* src/HttpRequest.h
2008-05-13 16:58:40 +00:00
Tatsuhiro Tsujikawa 0c821d0ad7 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string listeral to static const std::string:
	"Content-Range", "Content-Length"
	* src/HttpHeader.cc
	* src/HttpHeader.h
2008-05-13 16:44:21 +00:00
Tatsuhiro Tsujikawa 00f385c3b3 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string listeral to static const std::string.
	* src/HttpConnection.cc
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpResponse.cc
2008-05-13 16:40:34 +00:00
Tatsuhiro Tsujikawa a37af74369 2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string listeral to static const std::string.
	* src/A2STR.cc
	* src/A2STR.h
	* src/SimpleLogger.cc
	* src/SimpleLogger.h
2008-05-13 16:28:31 +00:00
Tatsuhiro Tsujikawa 1942b8d7b3 2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string literal to static const std::string.
	Rewritten CookieParser::setField.
	* src/A2STR.cc
	* src/A2STR.h
	* src/CookieBoxFactory.cc
	* src/CookieBoxFactory.h
	* src/CookieParser.cc
	* src/CookieParser.h
2008-05-13 16:13:55 +00:00
Tatsuhiro Tsujikawa 898b807ba2 2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string literal to static const std::string
	* src/DHTAbstractMessage.cc
	* 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.cc
	* src/DHTMessage.h
	* src/DHTMessageFactoryImpl.cc
	* src/DHTMessageReceiver.cc
	* 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
2008-05-13 15:55:05 +00:00
Tatsuhiro Tsujikawa 5c8db1cc20 2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made string literal to static const std::string
	* src/BtChokeMessage.cc (toString)
	* src/BtHaveAllMessage.cc (toString)
	* src/BtHaveNoneMessage.cc (toString)
	* src/BtInterestedMessage.cc (toString)
	* src/BtNotInterestedMessage.cc (toString)
	* src/BtUnchokeMessage.cc (toString)
2008-05-13 14:25:27 +00:00
Tatsuhiro Tsujikawa 386d19693b 2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Replaced "" with static const variable A2STR::NIL.
	Replaced string comparison against "" with std::string::empty().
	Added PROTO_* to Request class and use them as a protocol string
	constant.
	Made "started", "stopped", "completed" static const variable in
	AnnounceList class.
2008-05-13 14:15:23 +00:00
Tatsuhiro Tsujikawa 9d03f0d2f7 2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated translations. Great thanks to translators.
	* po/ca.po
	* po/de.po
	* po/fr.po
	* po/it.po
	* po/ja.po
	* po/ru.po
	* po/zh_CN.po
2008-05-12 15:39:52 +00:00
Tatsuhiro Tsujikawa 915562f1b2 2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated man page; categorized options and fixed typo.
	* doc/aria2c.1.txt
	* doc/aria2c.1.html
	* doc/aria2c.1
2008-05-12 15:26:43 +00:00
Tatsuhiro Tsujikawa 3c8918cfe0 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed const ref
	* src/MetalinkEntry.cc (AddProtocolPreference)
	* src/RequestGroup.cc (FindServerHostByHostname)
2008-05-12 14:10:14 +00:00
Tatsuhiro Tsujikawa 7ea0e831d4 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Accept-Features handling.
	* src/HttpRequestCommand.cc (createHttpRequest)
	* src/a2functional.h
2008-05-12 14:08:43 +00:00
Tatsuhiro Tsujikawa fac64b9e07 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Accept-Features handling.
	* src/HttpRequestCommand.cc (createHttpRequest)
2008-05-12 14:07:54 +00:00
Tatsuhiro Tsujikawa c1ba19efe2 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	DHTAbstractNodeLookupTask::toEntries
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTAbstractNodeLookupTask.h
2008-05-12 12:26:45 +00:00
Tatsuhiro Tsujikawa 41b6003cbd 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	BtContext::computeFastSet, DefaultBtContext::extractUrlList
	* src/BtContext.h
	* src/DefaultBtContext.cc
	* src/DefaultBtContext.h
	* src/DefaultBtInteractive.cc
	* test/DefaultBtContextTest.cc
	* test/MockBtContext.h
2008-05-12 12:18:21 +00:00
Tatsuhiro Tsujikawa 6ae07106d3 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	MultiFileAllocationIterator::makeDiskWriterEntries
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h
2008-05-12 11:51:09 +00:00
Tatsuhiro Tsujikawa 3da60af41e 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method sinature:
	MetalinkEntry::toFileEntry,
	MetalinkHelper::query, MetalinkHelper::parseAndQuery,
	Metalinker::queryEntry
	* src/Metalink2RequestGroup.cc
	* src/MetalinkEntry.cc
	* src/MetalinkEntry.h
	* src/MetalinkHelper.cc
	* src/MetalinkHelper.h
	* src/Metalinker.cc
	* src/Metalinker.h
	* src/main.cc
	* test/MetalinkHelperTest.cc
	* test/MetalinkerTest.cc
2008-05-12 11:39:34 +00:00
Tatsuhiro Tsujikawa f84eac327f 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method sinature:
	RequestGroup::getURIs
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* test/Metalink2RequestGroupTest.cc
2008-05-12 11:15:17 +00:00
Tatsuhiro Tsujikawa 5f8e8e371e 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	PeerListProcessor::extractPeer
	* src/CompactPeerListProcessor.cc
	* src/CompactPeerListProcessor.h
	* src/DefaultBtAnnounce.cc
	* src/DefaultPeerListProcessor.cc
	* src/DefaultPeerListProcessor.h
	* src/DelegatingPeerListProcessor.cc
	* src/DelegatingPeerListProcessor.h
	* src/PeerListProcessor.h
	* src/UTPexExtensionMessage.cc
	* test/DefaultPeerListProcessorTest.cc
2008-05-12 11:05:21 +00:00
Tatsuhiro Tsujikawa ddd1206b42 2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	BtRequestFactory::createRequestMessages,
	BtRequestFactory::createRequestMessagesOnEndGame
	* src/BtRequestFactory.h
	* src/DefaultBtInteractive.cc
	* src/DefaultBtRequestFactory.cc
	* src/DefaultBtRequestFactory.h
	* test/DefaultBtRequestFactoryTest.cc
	* test/MockBtRequestFactory.h
2008-05-12 10:54:36 +00:00
Tatsuhiro Tsujikawa d2110dc697 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	PieceStorage::getInFlightPieces
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.cc
	* src/UnknownLengthPieceStorage.h
	* test/DefaultBtProgressInfoFileTest.cc
	* test/MockPieceStorage.h
2008-05-11 14:42:34 +00:00
Tatsuhiro Tsujikawa b96eb7fd79 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	PostDownloadHandler::getNextRequestGroups
	Metalink2RequestGroup::generate
	RequestGroup::postDownloadProcessing
	* src/BtPostDownloadHandler.cc
	* src/BtPostDownloadHandler.h
	* src/Metalink2RequestGroup.cc
	* src/Metalink2RequestGroup.h
	* src/MetalinkPostDownloadHandler.cc
	* src/MetalinkPostDownloadHandler.h
	* src/PostDownloadHandler.h
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/main.cc
	* test/BtPostDownloadHandlerTest.cc
	* test/Metalink2RequestGroupTest.cc
	* test/MetalinkPostDownloadHandlerTest.cc
2008-05-11 13:59:27 +00:00
Tatsuhiro Tsujikawa 3884d710d3 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten AccRequestGroup
	* src/main.cc
2008-05-11 13:31:30 +00:00
Tatsuhiro Tsujikawa b22e86a6eb 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten.
	* src/TaggedItem.cc (toTagString)
2008-05-11 13:19:20 +00:00
Tatsuhiro Tsujikawa 4e3c08d50c 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Accept-Features handling.
	* src/HttpRequestCommand.cc (createHttpRequest)
2008-05-11 13:14:41 +00:00
Tatsuhiro Tsujikawa 1f931b33bd 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten accept types handling.
	* HttpRequest.cc (createRequest)
2008-05-11 13:07:26 +00:00
Tatsuhiro Tsujikawa 9fd38f12b7 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten
	* src/FeatureConfig.cc (featureSummary)
2008-05-11 13:03:24 +00:00
Tatsuhiro Tsujikawa 05f0646112 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	PeerStorage::getActivePeers
	* src/DHTPeerAnnounceEntry.cc
	* src/DefaultPeerStorage.cc
	* src/DefaultPeerStorage.h
	* src/PeerStorage.h
	* test/DefaultPeerStorageTest.cc
	* test/MockPeerStorage.h
2008-05-11 12:58:48 +00:00
Tatsuhiro Tsujikawa 33e916547a 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	DHTPeerAnnounceStorage::getPeers,
	DHTPeerAnnounceEntry::getPeers
	* src/DHTGetPeersMessage.cc
	* src/DHTPeerAnnounceEntry.cc
	* src/DHTPeerAnnounceEntry.h
	* src/DHTPeerAnnounceStorage.cc
	* src/DHTPeerAnnounceStorage.h
	* test/DHTAnnouncePeerMessageTest.cc
	* test/DHTPeerAnnounceEntryTest.cc
	* test/DHTPeerAnnounceStorageTest.cc
2008-05-11 12:14:14 +00:00
Tatsuhiro Tsujikawa 5e99846776 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	NameResolver::resolve
	* src/DHTEntryPointNameResolveCommand.cc
	* src/InitiateConnectionCommand.cc
	* src/NameResolver.cc
	* src/NameResolver.h
2008-05-11 11:59:56 +00:00
Tatsuhiro Tsujikawa 7ec7b7ea60 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	PieceStorage::getAdvertisedPieceIndexes
	* src/DefaultBtInteractive.cc
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.h
	* test/MockPieceStorage.h
2008-05-11 10:57:18 +00:00
Tatsuhiro Tsujikawa 82e0092b19 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	SegmentMan::getInFlightSegment
	* src/AbstractCommand.cc
	* src/SegmentMan.cc
	* src/SegmentMan.h
	* test/SegmentManTest.cc
2008-05-11 10:46:52 +00:00
Tatsuhiro Tsujikawa 83731bab5c 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	DHTAbstractNodeLookupTask::getNodesFromMessage
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTAbstractNodeLookupTask.h
	* src/DHTNodeLookupTask.cc
	* src/DHTNodeLookupTask.h
	* src/DHTPeerLookupTask.cc
	* src/DHTPeerLookupTask.h
2008-05-11 09:53:11 +00:00
Tatsuhiro Tsujikawa 825cfe7715 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Pass std::deque<Command*> by reference to avoid unnecessary coping.
	* src/AbstractCommand.cc
	* src/BtCheckIntegrityEntry.cc
	* src/BtCheckIntegrityEntry.h
	* src/BtFileAllocationEntry.cc
	* src/BtFileAllocationEntry.h
	* src/BtSetup.cc
	* src/BtSetup.h
	* src/CheckIntegrityCommand.cc
	* src/CheckIntegrityEntry.h
	* src/ChecksumCheckIntegrityEntry.cc
	* src/ChecksumCheckIntegrityEntry.h
	* src/DHTSetup.cc
	* src/DHTSetup.h
	* src/DownloadEngine.cc
	* src/FileAllocationCommand.cc
	* src/FileAllocationEntry.h
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/StreamCheckIntegrityEntry.cc
	* src/StreamCheckIntegrityEntry.h
	* src/StreamFileAllocationEntry.cc
	* src/StreamFileAllocationEntry.h
	* src/TrackerWatcherCommand.cc
	* src/a2functional.h
2008-05-11 09:36:39 +00:00
Tatsuhiro Tsujikawa 6d78a7656d 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature:
	BNode::findClosestKNodes, BNode:: enumerateBucket,
	DHTBucket::getGoodNodes,
	DHTRoutingTable::getClosestKNodes, DHTRoutingTable::getBuckets
	* src/BNode.cc
	* src/BNode.h
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTAutoSaveCommand.cc
	* src/DHTBucket.cc
	* src/DHTBucket.h
	* src/DHTBucketRefreshTask.cc
	* src/DHTFindNodeMessage.cc
	* src/DHTGetPeersMessage.cc
	* src/DHTRoutingTable.cc
	* src/DHTRoutingTable.h
	* test/BNodeTest.cc
	* test/DHTBucketTest.cc
	* test/DHTRoutingTableTest.cc
2008-05-11 08:07:57 +00:00
Tatsuhiro Tsujikawa bf5a8c3f78 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
In piece selection functions, Pass std::deque<...> by reference 
rather
	than returning it.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
	* src/DefaultBtRequestFactory.cc
	* src/DefaultPieceStorage.cc
	* src/Piece.cc
	* src/Piece.h
	* test/BitfieldManTest.cc
2008-05-11 07:37:46 +00:00
Tatsuhiro Tsujikawa a702d60666 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Implemented rarest piece first piece selection strategy.
	* src/AbstractBtMessage.cc
	* src/AbstractBtMessage.h
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
	* src/BtBitfieldMessage.cc
	* src/BtHaveAllMessage.cc
	* src/BtHaveMessage.cc
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/PeerInteractionCommand.cc
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.h
2008-05-11 01:22:32 +00:00
Tatsuhiro Tsujikawa f69625775c 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten readData and writeData.
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
2008-05-11 01:13:22 +00:00
Tatsuhiro Tsujikawa ebf0fbc591 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Move \n out of the message "Usage: ...".
	* src/version_usage.cc
2008-05-10 07:14:26 +00:00
Tatsuhiro Tsujikawa a2c91b5831 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.13.2b.
	* configure.ac
2008-05-10 05:47:06 +00:00
Tatsuhiro Tsujikawa a780fcacc4 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added const qualifier to argument Exception& e.
	* src/Logger.h
	* src/SimpleLogger.cc
	* src/SimpleLogger.h
2008-05-10 05:16:16 +00:00
Tatsuhiro Tsujikawa e71b09a9dc 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Pool connection when CWD, SIZE command fails.
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
2008-05-10 05:14:35 +00:00
Tatsuhiro Tsujikawa 10b1ddd2c0 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Renamed HttpNullDownloadCommand as HttpSkipResponseCommand
	* src/HttpResponseCommand.cc
	* src/HttpSkipResponseCommand.cc
	* src/HttpSkipResponseCommand.h
2008-05-10 04:57:33 +00:00
Tatsuhiro Tsujikawa 03db925988 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Pool connection when a server returns 4xx, 5xx responses.
	* src/HttpNullDownloadCommand.cc
	* src/HttpNullDownloadCommand.h
	* src/HttpResponse.cc
	* src/HttpResponse.h
	* src/HttpResponseCommand.cc
	* src/HttpResponseCommand.h
	* test/HttpResponseTest.cc
2008-05-10 04:50:49 +00:00
Tatsuhiro Tsujikawa d13b198ddd 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Print usage when no URL is specifed or bad command-line option is
	specified.
	* src/HelpItemFactory.cc
	* src/help_tags.h
	* src/option_processing.cc
2008-05-10 02:35:42 +00:00
Tatsuhiro Tsujikawa 02b1062607 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed duplicate log message.
	* src/AbstractCommand.cc (asyncResolveHostname)
2008-05-10 02:33:15 +00:00
Tatsuhiro Tsujikawa 698d2889ca 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated man page: --async-dns and --ftp-reuse-connection were 
added.
	Changed -j option's default value from 5 to 1.
	Added new examples using protocol auto detection feature.
	Removed -T, -M usage where it can be omitted.
	* doc/aria2c.1.txt
	* doc/aria2c.1.html
	* doc/aria2c.1.txt
2008-05-09 15:34:43 +00:00
Tatsuhiro Tsujikawa 7956dab9c3 2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated command-line usage text, so that it tells users that 
they
	can specify any number of torrent files and metalink files in
	command-line.
	* src/version_usage.cc
2008-05-09 15:30:09 +00:00
Tatsuhiro Tsujikawa 5bed29e79a 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed the default value of -j option to 1.
	* src/HelpItemFactory.cc
	* src/option_processing.cc
	* src/usage_text.h
2008-05-09 14:52:25 +00:00
Tatsuhiro Tsujikawa f25436725e 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added the ability to reuse connection in FTP and it is enabled 
by
	default. It can be disabled by --ftp-reuse-connection=false 
option.
	* src/Command.cc
	* src/DownloadCommand.cc
	* src/FtpDownloadCommand.cc
	* src/FtpDownloadCommand.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpFinishDownloadCommand.h
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
	* src/HelpItemFactory.cc
	* src/Makefile.am
	* src/Makefile.in
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-09 14:44:28 +00:00
Tatsuhiro Tsujikawa 0b5e827ead 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Call Command::transitStatus() before calling Command::execute(),
	so that the status change made in execute() is not cleared.
	* src/DownloadEngine.cc
2008-05-09 14:36:06 +00:00
Tatsuhiro Tsujikawa 95e0fbfd7b 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed forward declaration of SocketCore class.
	* src/HttpDownloadCommand.h
2008-05-09 14:34:27 +00:00
Tatsuhiro Tsujikawa c3c05e9ab1 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Set Request::setKeepAliveHint() and Request::setPipeliningHint()
	in InitiateConnectionCommandFactory. They should be set only 
when
	the protocol is HTTP or HTTPS.
	* src/InitiateConnectionCommandFactory.cc
	* src/RequestGroup.cc
2008-05-09 14:28:46 +00:00
Tatsuhiro Tsujikawa b1d51f2442 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed infinite loop in checksum checking.
	* src/IteratableChecksumValidator.cc
2008-05-09 14:25:32 +00:00
Tatsuhiro Tsujikawa 5ea933fed1 2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Set _supportsPersistentConnection to true by default.
	* src/Request.cc
	* src/RequestGroup.cc
	* test/HttpRequestTest.cc
	* test/RequestTest.cc
2008-05-08 13:20:15 +00:00
Tatsuhiro Tsujikawa 2c54667beb 2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added timeout to socket pool. The default timeout is 15 seconds,
	which is the same value Apache uses.
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
2008-05-08 13:18:25 +00:00
Tatsuhiro Tsujikawa d52bce74d3 2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten name resolver. Now async DNS can be disabled by 
--async-dns
	option.
	The asynchronous DNS is not capable of IPv6 yet.
	By disabling asynchronous DNS, aria2 is IPv6 enabled 
application, at
	least for HTTP download.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/AsyncNameResolver.cc
	* src/AsyncNameResolver.h
	* src/DHTEntryPointNameResolveCommand.cc
	* src/DHTEntryPointNameResolveCommand.h
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpInitiateConnectionCommand.h
	* src/HelpItemFactory.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpInitiateConnectionCommand.h
	* src/InitiateConnectionCommand.cc
	* src/InitiateConnectionCommand.h
	* src/Makefile.am
	* src/Makefile.in
	* src/NameResolver.cc
	* src/NameResolver.h
	* src/OptionHandlerFactory.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/Util.cc
	* src/Util.h
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-08 11:18:36 +00:00
Tatsuhiro Tsujikawa d8f911b581 2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated man page: --quiet, --header were added.
	--metalink-servers and --enable-http-keep-alive option were 
updated.
	* doc/aria2c.1
	* doc/aria2c.1.html
	* doc/aria2c.1.txt
2008-05-06 15:43:26 +00:00
Tatsuhiro Tsujikawa 620de10443 Removed following wrong entry:
2008-05-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	Enabled --enable-http-keep-alive by default.
	* src/option_processing.cc
2008-05-06 15:28:14 +00:00
Tatsuhiro Tsujikawa ac1b573e59 2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Enable HTTP keep-alive by default.
	* src/HelpItemFactory.cc
	* src/option_processing.cc
	* src/usage_text.h
2008-05-06 15:26:43 +00:00
Tatsuhiro Tsujikawa e88eedc8f5 2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Disable http keep-alive if the remote server is not HTTP/1.1.
	* src/HttpConnection.cc
2008-05-06 15:22:46 +00:00
Tatsuhiro Tsujikawa 4f150057ca 2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Receive content body of 302 response so that the connection can 
be
	reused later when http keep-alive is enabled.
	* src/HttpNullDownloadCommand.cc
	* src/HttpNullDownloadCommand.h
	* src/HttpResponseCommand.cc
	* src/HttpResponseCommand.h
2008-05-06 15:20:59 +00:00
Tatsuhiro Tsujikawa 53464fd0fc 2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
const SharedHandle<Request> -> const SharedHandle<Request>&
	* src/FtpDowndloadCommand.cc
	* src/FtpDowndloadCommand.h
	* src/HttpDownloadCommand.cc
	* src/HttpDownloadCommand.h
2008-05-06 15:14:14 +00:00
Tatsuhiro Tsujikawa 874714609f 2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed the bug that the control file(.aria2 file) is not renamed
	according to tryAutoFileRenaming().
	tryAutoFileRenaming() was rewritten so that if both renamed file 
and
	its control file exist, use them and continue download.
	The old implementation didn't take into account of control 
file's
	existence, so basically you couldn't continue download of 
renamed file.
	* src/BtProgressInfoFile.h
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultBtProgressInfoFile.h
	* src/NullProgressInfoFile.h
	* src/RequestGroup.cc
	* test/DefaultBtProgressInfoFileTest.cc
	* test/MockBtProgressInfoFile.h
2008-05-05 10:10:15 +00:00
Tatsuhiro Tsujikawa 6952eef7b6 2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Change the default value of --metalink-servers option from `5' 
to `1'.
	* src/HelpItemFactory.cc
	* src/option_processing.cc
	* src/usage_text.h
2008-05-05 08:32:40 +00:00
Tatsuhiro Tsujikawa f596de9eec 2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Reimplemented transparent metalink using Accept request header.
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpRequestCommand.cc
	* src/Metalink2RequestGroup.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* test/HttpRequestTest.cc
2008-05-05 08:25:41 +00:00
Tatsuhiro Tsujikawa b892b54e4b 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Bump up version number to 0.13.2a
	* configure.ac
2008-04-27 10:50:24 +00:00
Tatsuhiro Tsujikawa 63d7b5039f 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Updated configure.ac using the result of autoscan.
	* configure.ac
2008-04-27 10:47:43 +00:00
Tatsuhiro Tsujikawa 0f64c20da8 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error without gcrypt/openssl.
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
2008-04-27 06:01:34 +00:00
Tatsuhiro Tsujikawa b74e27ff92 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Reorganized version information so that it can be displayed in a
	standard terminal screen without scrolling.
	Removed http, ftp from Configuration section, because they are 
always
	enabled.
	* src/FeatureConfig.cc
	* src/FeatureConfig.h
	* src/main.cc
	* src/messageDigest.cc
	* src/messageDigest.h
	* src/version_usage.cc
	* test/FeatureConfigTest.cc
2008-04-27 05:55:02 +00:00
Tatsuhiro Tsujikawa 3938307391 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Masked user ID in log.
	* src/FtpConnection.cc (sendUser)
2008-04-27 04:12:00 +00:00
Tatsuhiro Tsujikawa 4663902500 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed query part from filename in HTTP download. The query part means
	the substring after "?" in URL. Firefox seems do the same thing.
	A query part is sometimes very long and not suitable to filename,
	so I think it is better to remove it from filename.
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/Request.cc
	* src/Request.h
	* test/HttpRequestTest.cc
	* test/RequestTest.cc
2008-04-27 04:09:08 +00:00
Tatsuhiro Tsujikawa 1ef99931e1 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten Exception class. Throw exception object, not its pointer and
	catch by reference, so that remove problematic delete operator for
	catched exception.
	* src/Exception.cc
	* src/Exception.h
	* test/ExceptionTest.cc
	* src/*: All files throwing/catching exception.
	* test/*: All files throwing/catching exception.
2008-04-27 02:22:14 +00:00
Tatsuhiro Tsujikawa a7952cce05 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Now auto protocol detection is enabled without -Z option.
	But there is a important difference between with/without -Z optoin.

	For example, if you type:
	aria2c http://host/file file1.torrent file2.metalink http://mirror/file
	then, aria2 interprets there are 3 request groups:
	(1) http://host/file, http://mirror/file  <-- multi-source download
	(2) file1.torrent
	(3) file2.metalink

	On the other hand, if you invoke above command with -Z option, it is
	interpreted as 4 request groups:
	(1) http://host/file
	(2) file1.torrent
	(3) file2.metalink
	(4) http://mirror/file

	I think usually user don't mix multi-source URLs and torrent files, so
	there is no big problem here.
	* src/main.cc
2008-04-26 08:12:46 +00:00
Tatsuhiro Tsujikawa 8678e1f380 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed the bug that causes segmentaion fault when reading XML 
containing
	unescapsed character like '&'.
	Also a modification was made which avoids adding unnecessary
	characters stack and appending unused string.
	* src/ExpatMetalinkProcessor.cc
	* src/FileMetalinkParserState.h
	* src/FilesMetalinkParserState.h
	* src/FinMetalinkParserState.h
	* src/HashMetalinkParserState.h
	* src/InitialMetalinkParserState.h
	* src/LanguageMetalinkParserState.h
	* src/MetalinkMetalinkParserState.h
	* src/MetalinkParserState.h
	* src/MetalinkParserStateMachine.cc
	* src/MetalinkParserStateMachine.h
	* src/OSMetalinkParserState.h
	* src/PieceHashMetalinkParserState.h
	* src/PiecesMetalinkParserState.h
	* src/ResourcesMetalinkParserState.h
	* src/SizeMetalinkParserState.h
	* src/SkipTagMetalinkParserState.h
	* src/URLMetalinkParserState.h
	* src/VerificationMetalinkParserState.h
	* src/VersionMetalinkParserState.h
	* src/XML2SAXMetalinkProcessor.cc
2008-04-26 07:43:01 +00:00
Tatsuhiro Tsujikawa 90d5b5c0a2 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added StringFormat class, which internally calls vasprintf.
	operator<< is defined for this class, so it can be used with iostream
	classes nicely. SimpleLogger and following functions are rewritten
	using StringFormat class.
	Besides, now Logger class's methods are non-const, many classes
	that has a const Logger* as a member variable are modified to remove
	const qualifier from the variable declaration.
	* src/HelpItemFactory.cc
	* src/Request.cc
	* src/SimpleLogger.cc
	* src/StringFormat.cc
	* src/StringFormat.h
	* src/Util.cc
	* src/option_processing.cc
	* src/version_usage.cc
	* test/StringFormatTest.cc
	* src/*.h: The classes that has const Logger* as a member variable.
2008-04-26 05:58:49 +00:00
Tatsuhiro Tsujikawa 0f92203ffe 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Log error in AccRequestGroup when reading BitTorrent/Metalink 
file is
	failed. Also fixed memory link when exception is thrown there.
	* src/main.cc (AccRequestGroup)
2008-04-26 01:09:56 +00:00
Tatsuhiro Tsujikawa cbc34b4e3a s/Accept-Feature/Accept-Features/ 2008-04-25 17:47:12 +00:00
Tatsuhiro Tsujikawa 2a81fd466d 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added build-in "Accept-Feature" support. For now only "metalink" is
	used in this header field.
	This "metalink" value is removed from the list when connecting URLs
	fed by metalink file to avoid loop in "transparent" metlaink.
	* src/HttpRequest.cc
	* src/HttpRequest.h: Renamed _userHeaders as _headers. Accept-Feature
	header is also held in this variable. Also renamed setUserHeaders as
	addHeader and it was rewritten to add header not just to clear the old
	value.
	* src/HttpRequestCommand.cc
	* src/Metalink2RequestGroup.cc: Added the code to remove "metalink"
	from "Accept-Feature" list.
	* src/RequestGroup.cc: Added "metalink" to "Accept-Feature" by default.
	* src/RequestGroup.h
	* src/TaggedItem.cc: Moved Concat class to a2functional.h.
	* src/a2functional.h: Included <string> because Concat class depends on
	it.
	* test/HttpRequestTest.cc
2008-04-25 17:44:03 +00:00
Tatsuhiro Tsujikawa 8ea2f386cb 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added comment
	* src/RequestGroup.cc (createNextCommand)
2008-04-25 16:26:40 +00:00
Tatsuhiro Tsujikawa c3151ba188 2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Capitalized METHOD_GET and METHOD_HEAD
	* src/Request.cc
2008-04-25 16:24:34 +00:00
Tatsuhiro Tsujikawa e0877ec26b 2008-04-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added getDownloadResults() method
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
2008-04-23 10:28:56 +00:00
Tatsuhiro Tsujikawa 4f6df4be39 2008-04-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed the bug that aria2 exits when commands is empty() but
	_routineCommands are not.
	* src/DownloadEngine.cc
2008-04-23 10:03:52 +00:00
Tatsuhiro Tsujikawa da615e4e7a 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use the default value pulled from Option object in 
HelpItemFactory.
	except options whose defualt value is embedded in a usage text.
	* src/HelpItemFactory.cc
	* src/HelpItemFactory.h
	* src/option_processing.cc
	* src/version_usage.cc
2008-04-22 11:26:50 +00:00
Tatsuhiro Tsujikawa c87fe0022d 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --quiet option to make aria2 quiet (no console output).
	--quiet option is tagged with ADVANCED.
	* src/HelpItemFactory.cc
	* src/LogFactory.cc
	* src/LogFactory.h
	* src/MultiUrlRequestInfo.cc
	* src/MultiUrlRequestInfo.h
	* src/NullStatCalc.h: New class. This class prints nothing.
	* src/OptionHandlerFactory.cc
	* src/main.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-04-22 10:29:48 +00:00
Tatsuhiro Tsujikawa 9c6904f8d4 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Add HTTP tag to --header option. Removed ADVANCED tag instead.
	* src/HelpItemFactory.cc (createHelpItems):
2008-04-22 10:20:11 +00:00
Tatsuhiro Tsujikawa 7f0754c505 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error in ExpatMetalinkProcessor.cc
	* src/ExpatMetalinkProcessor.cc
2008-04-22 09:12:59 +00:00
Tatsuhiro Tsujikawa 5f55bc197f 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Reuse socket if the origin server supports HTTP keep-alive and
	--enable-http-keep-alive or --enable-http-pipelining is given.
	The current implementation doesn't reuse the connections 
established
	against proxy server.

	* src/AbstractCommand.cc
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/HttpDownloadCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpResponseCommand.cc
2008-04-22 08:52:47 +00:00
Tatsuhiro Tsujikawa 1c7c6f9898 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten HTTP keep-alive and pipelining routine.
	* src/AbstractCommand.cc
	* src/HttpConnection.cc
	* src/HttpDownloadCommand.cc
	* src/HttpRequest.cc
	* src/HttpRequestCommand.cc
	* src/HttpResponseCommand.cc
	* src/Request.cc
	* src/Request.h
	* src/RequestGroup.cc
	* test/HttpRequestTest.cc
	* test/HttpResponseTest.cc
	* test/RequestTest.cc
2008-04-22 07:15:35 +00:00
Tatsuhiro Tsujikawa f1816a1d4b 2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added missing setUserHeaders call
	* src/HttpRequestCommand.cc
2008-04-21 13:19:01 +00:00
Tatsuhiro Tsujikawa cfe373cbbf 2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Call FileAllocationMan::nextFileAllocationEntryExists() first.
	Calling FileAllocationMan::isFileAllocationBeingExecuted() is 
somwhat
	waste of time because it is more likey false.
	* src/FileAllocationDispatcherCommand.cc (execute)
2008-04-21 12:31:10 +00:00
Tatsuhiro Tsujikawa e1fa62e6c7 2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Now HTTP status and version are a member variable of HttpHeader.
	HTTP status is processed as a string, not integer.
	* src/AbstractProxyResponseCommand.cc
	* src/HttpConnection.cc
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpHeaderProcessor.cc
	* src/HttpHeaderProcessor.h
	* src/HttpResponse.cc
	* src/HttpResponse.h
	* test/HttpHeaderProcessorTest.cc
	* test/HttpResponseTest.cc
2008-04-21 10:48:11 +00:00
Tatsuhiro Tsujikawa 3eb74629cb 2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --header option. You can specify any number of additional 
HTTP headers
	like:
	aria2 --header="X-A: 300" --header="X-B: 900" http://host/file
	Unlike other commad-line option, you can use --header option 
multiple times.
	* src/HelpItemFactory.cc
	* src/HttpRequest.{cc, h}
	* src/HttpRequestCommand.cc
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
	* test/HttpRequestTest.cc (testUserHeaders)
2008-04-20 06:30:44 +00:00
Tatsuhiro Tsujikawa c1c5e7369f 2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Eliminates the time lag between sequential downloads and 
commands in
	the same RequestGroup.
	In old implementation, aria2 occasionally waits 1 seconds before
	executing next command or RequestGroup.
	This is really a waste of time, and new implementation 
eliminates
	this unnecessary time lag.
	* src/AbstractCommand.cc
	* src/AutoSaveCommand.cc
	* src/CheckIntegrityCommand.cc
	* src/Command.{cc, h}
	* src/DownloadEngine.{cc, h}
	* src/DownloadEngineFactory.cc
	* src/FileAllocationCommand.cc
	* src/FileAllocationDispatcherCommand.cc
	* src/FillRequestGroupCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/HaveEraseCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpResponseCommand.cc
	* src/RealtimeCommand.cc
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/StreamFileAllocationEntry.cc
	* src/TimeBasedCommand.{cc, h}
	* src/TimedHaltCommand.cc
2008-04-20 05:42:15 +00:00
Tatsuhiro Tsujikawa 3505201f33 2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten SharedHandle. Now copy constructor taking raw pointer 
has
	keyword explicit and SharedHandle's default constructor 
initializes
	its internal obj to null, old implementation initializes it 
using
	obj's default constructor.
	To assign null, write SharedHandle<T> x(...); x.reset();
	TODO: test/SharedHandleTest.cc needs more tests.
	* src/SharedHandle.h
2008-04-20 00:50:22 +00:00
Tatsuhiro Tsujikawa 99733a84e2 2008-04-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed type in man page.
	* doc/aria2c.1.txt
2008-04-15 12:37:15 +00:00
Tatsuhiro Tsujikawa ebed4b6df7 2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Merged Ross's 0.13.1+1 Cygwin compile fix patch.
	* src/SimpleLogger.{cc, h}
2008-04-13 13:38:25 +00:00
Tatsuhiro Tsujikawa 846e7c70f5 2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Implemented auto protocol detection.
	Now you can do:
	aria2c -Z http://host/file file1.torrent file2.metalink
	(Note: -Z option is required for auto protcol detection.)
	Then aria2c downloads 3 files simultaneously:
	1. http://host/file
	2. file1.torrent <-- read local torrent file
	3. file2.metalink <-- read local Metalink file.

	Same thing goes with -i option. Assume your uris.txt contans:
	http://host/file
	file1.torrent
	file2.metalink
	Then you can do: aria2c -i uris.txt
	(Note: -Z option is not needed if -i option is given.)
	
	* src/main.cc
	* src/ProtocolDetector.{cc, h}
	* test/ProtocolDetectorTest.cc
2008-04-13 13:30:12 +00:00
Tatsuhiro Tsujikawa 0516a07fa6 2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compile error without gnutls/libgcrypt/libgpg-error and 
openSSL
        installed
        * src/ARC4Encryptor.h
        * src/ARC4Decryptor.h
2008-04-13 01:33:48 +00:00
Tatsuhiro Tsujikawa 5f56e52498 2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Renamed argument from 'errno' to 'err', since errno is confused 
with
        errno defined in errno.h.
        * src/LibgcryptARC4Decryptor.h
        * src/LibgcryptARC4Context.h
        * src/LibgcryptDHKeyExchange.h
        * src/LibgcryptARC4Encryptor.h
2008-04-13 01:31:53 +00:00
Tatsuhiro Tsujikawa d13c416a94 2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten choking algorithm.
	* src/PeerChokeCommand.{cc, h}
	* src/BtInterestedMessage.cc
	* src/PeerSessionResource.{cc, h}
	* src/DefaultPeerStorage.{cc, h}
	* src/BtNotInterestedMessage.cc
	* src/DefaultBtMessageDispatcher.{cc, h}
	* src/BtMessageDispatcher.h
	* src/Peer.{cc, h}
	* src/BtLeecherStateChoke.{cc, h}
	* src/BtSetup.cc
	* src/BtSeederStateChoke.{cc, h}
	* src/PeerStorage.h
	* test/MockPeerStorage.h
	* test/MockBtMessageDispatcher.h
2008-04-13 01:25:36 +00:00
Tatsuhiro Tsujikawa 8b91d22ca4 2008-04-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error on x84-64 platform.
	* src/AuthConfig.cc: Included ostream.
2008-04-09 13:32:51 +00:00
Tatsuhiro Tsujikawa d034c4d773 2008-03-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten getBasename() and getDirname(), without standard 
library
	basename(), dirname().
	* src/File.cc
	* test/FileTest.cc
2008-03-16 09:04:21 +00:00
Tatsuhiro Tsujikawa 5cc4ca5887 2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added Simplified Chinese translation. Also updated the following
	translations: Polish, Dutch, German. Great thanks to all 
translators.
2008-03-15 11:05:03 +00:00
Tatsuhiro Tsujikawa 42fa16b780 2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Suppress content-range error when 'Content-Range' response header
	doesn't contains bytes-unit specifier 'bytes'
	* src/HttpHeader.cc (getRange)
	* test/HttpHeaderTest.cc
2008-03-15 04:25:55 +00:00
Tatsuhiro Tsujikawa 538a8fcfe7 2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error with g++-4.3
2008-03-15 04:19:46 +00:00
Tatsuhiro Tsujikawa 8dacfe45b8 2008-03-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added missing include files for MinGW
	* test/HttpHeaderProcessorTest.cc
	* test/DHTRoutingTableSerializerTest.cc
	* test/DHTRoutingTableDeserializerTest.cc
	* test/UriListParserTest.cc
2008-03-13 13:13:53 +00:00
Tatsuhiro Tsujikawa 34df2cc416 2008-03-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Now download line is printed nicely with no garbage at the end 
of
	line. I use ioctl to get the columns of terminal.
	If stdout is redirected to another device, instead of carriage 
return,
	end of line '\n' character is used. This is feature 
request#1909659
	* src/ConsoleStatCalc.cc (calculateStat)
2008-03-11 16:18:33 +00:00
Tatsuhiro Tsujikawa 102ce611d1 2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Included a2time.h
	* src/DHTMessageDispatcher.h
	* src/DHTMessageEntry.h
	* src/DHTReplaceNodeTask.h
	* src/DHTMessageTracker.h
	* src/Util.h
	* src/CookieBox.h
	* src/SocketCore.h
	* src/DefaultBtMessageDispatcher.h
	* src/SocketCore.cc
	* src/Util.cc
	* src/DHTPingTask.h
2008-03-11 14:47:08 +00:00
Tatsuhiro Tsujikawa 852315bf11 2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed high memory footprint when DHT is enabled.
	This is not a memory leak, but DHTReplaceNodeTask is more frequently
	queued than it is processed and the queue is getting longer. As a
	consequence, momory usage is increased.
	As for a fix, instead of issuing DHTReplaceNodeTask, I've implemented
	replacement cache in DHTBucket which is described in Kademlia paper.
	* src/DHTRoutingTable.cc (addNode): Removed the issuing of
	DHTReplaceNodeTask.
	* src/DHTBucket.{h, cc}
	(cacheNode): New function.
	(getCachedNodes): New function.
	(dropNode): Push back cached node to _nodes.
	* test/DHTBucketTest.cc
	(testCacheNode): New test
	(testDropNode): New test
2008-03-11 14:19:10 +00:00
Tatsuhiro Tsujikawa ddb00a9445 2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Allocate memory for peekBuf in initiateSecureConnection() to 
avoid
	the unused 4KB memory when ssl is not used.
	* src/SocketCore.cc
2008-03-11 12:33:20 +00:00
Tatsuhiro Tsujikawa ce5c17f1b3 2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added summary log for peer announce storage.
	* src/DHTPeerAnnounceStorage.cc (handleTimeout)
	
	Removed cast
	* src/DefaultPeerStorage.cc (addPeer)

	Log exception message
	* src/DHTMessageTracker.cc (handleTimeout)

	Fixed casting
	* test/HttpRequestTest.cc
	* test/MetalinkProcessorTest.cc
	* test/PieceTest.cc
	* test/MetalinkEntryTest.cc
	* test/SequenceTest.cc
2008-03-11 12:31:14 +00:00
Tatsuhiro Tsujikawa 3349c7625c 2008-03-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/ParameterizedStringParser.cc (createLoop):
	Removed unused variable sstep.

	* src/AlphaNumberDecorator.h (decode): Rewritten.
2008-03-09 15:19:35 +00:00
Tatsuhiro Tsujikawa 68b84574ae 2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/Util.{h, cc}
	(parseUInt): New function.
	(alphaToNum): Now returns unsigned int and 0 when overflow 
detected.
	The actual range is uint32_t.
	* test/UtilTest.cc
	
	* src/ParameterizedStringParser.cc:
	Use Util::parseUInt() for loop variables.
	* test/ParameterizedStringParserTest.cc
	
	* src/PStringNumLoop.h: Make _startValue and _endValue unsigned 
int.
2008-03-09 15:03:47 +00:00
Tatsuhiro Tsujikawa 7f40794931 2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten the functions for binding port.
	* src/DHTConnectionImpl.{h, cc}
	* src/PeerListenCommand.{h, cc}
	* src/DHTSetup.cc
	* src/BtSetup.cc
	* test/DHTConnectionImplTest.cc
2008-03-09 14:09:17 +00:00
Tatsuhiro Tsujikawa 032c7c2808 2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
type cleanup for allmost all remaining files.
2008-03-09 12:24:01 +00:00
Tatsuhiro Tsujikawa ca3f6e57f3 2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Type clarification
	* src/PeerSessionResource.{h, cc}
	* src/DefaultPieceStorage.{h, cc}
	* src/Peer.{h, cc}
	* test/PeerSessionResourceTest.cc

	Use div function
	* src/BtPieceMessage.cc (erasePieceOnDisk)
2008-03-08 11:10:37 +00:00
Tatsuhiro Tsujikawa 2555098ecd 2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Type clarification
	* src/DefaultPeerStorage.{h, cc}
	* test/DefaultPeerStorageTest.cc
2008-03-08 10:44:25 +00:00
Tatsuhiro Tsujikawa c64a191061 2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Type clarification: size_t for length or size, uint64_t for file
	length, off_t for file offset.
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultBtContext.{h, cc}
	* src/DefaultBtInteractive.cc
	* src/DownloadCommand.{h, cc}
	* src/IteratableChunkChecksumValidator.{h, cc}
	* src/SegmentMan.{h, cc}
	* src/SingleFileDownloadContext.{h, cc}
	* src/IteratableChecksumValidator.{h, cc}
	* src/BtContext.h
	* src/IteratableValidator.h
	* src/DownloadContext.h
	* test/SingleFileDownloadContextTest.cc
	* test/DefaultBtContextTest.cc
	* test/MockBtContext.h
	* test/Metalink2RequestGroupTest.cc
2008-03-08 10:33:56 +00:00
Tatsuhiro Tsujikawa 518a200d57 2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Type clarification: size_t for length or size, uint64_t for file
	length, off_t for file offset.

	* src/PiecedSegment.cc
	* src/GrowSegment.h
	* src/DefaultBtRequestFactory.h
	* src/DefaultBtProgressInfoFile.cc
	* src/UnknownLengthPieceStorage.h
	* src/DefaultPieceStorage.cc
	* src/UnknownLengthPieceStorage.cc
	* src/DefaultBtInteractive.cc
	* src/GrowSegment.cc
	* src/BitfieldMan.h
	* src/DownloadCommand.cc
	* src/BtRequestFactory.h
	* src/PiecedSegment.h
	* src/DefaultPieceStorage.h
	* src/Piece.cc
	* src/DefaultBtRequestFactory.cc
	* src/PieceStorage.h
	* src/Segment.h
	* src/Piece.h
	* src/BitfieldMan.cc
	* src/Util.cc
	* test/DefaultBtProgressInfoFileTest.cc
	* test/DefaultPieceStorageTest.cc
	* test/MockPieceStorage.h
	* test/BtRequestMessageTest.cc
	* test/DefaultBtMessageDispatcherTest.cc
	* test/BitfieldManTest.cc
	* test/GrowSegmentTest.cc
	* test/PieceTest.cc
	* test/SegmentTest.cc
	* test/SegmentManTest.cc
	* test/DefaultBtRequestFactoryTest.cc
	* test/MockBtRequestFactory.h
2008-03-08 08:04:28 +00:00
Tatsuhiro Tsujikawa aa669e8646 2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error with --disable-nls
	It seems that defining gettext(Msgid) to ((const char *) 
(Msgid))
	in gettext.h causes the problem.
	* src/common.h
2008-03-08 07:53:16 +00:00
Tatsuhiro Tsujikawa e57a070a3f 2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed subPiece related functions.
	* src/Piece.{h, cc} : Also rewritten getCompletedLength().
	* src/DefaultPieceStorage.{h, cc}
	* test/PieceTest.cc
	* test/DefaultPieceStorageTest.cc
2008-03-07 12:44:20 +00:00