2006-02-17 13:35:04 +00:00
|
|
|
bin_PROGRAMS = aria2c
|
2007-10-11 16:58:24 +00:00
|
|
|
aria2c_SOURCES = main.cc\
|
|
|
|
option_processing.cc\
|
|
|
|
version_usage.cc
|
2006-07-19 17:07:45 +00:00
|
|
|
SRCS = Socket.h\
|
2006-02-17 14:47:45 +00:00
|
|
|
SocketCore.cc SocketCore.h\
|
2006-07-19 17:07:45 +00:00
|
|
|
Command.cc Command.h\
|
2006-02-17 13:35:04 +00:00
|
|
|
AbstractCommand.cc AbstractCommand.h\
|
|
|
|
InitiateConnectionCommandFactory.cc InitiateConnectionCommandFactory.h\
|
|
|
|
DownloadCommand.cc DownloadCommand.h\
|
|
|
|
HttpInitiateConnectionCommand.cc HttpInitiateConnectionCommand.h\
|
|
|
|
HttpRequestCommand.cc HttpRequestCommand.h\
|
|
|
|
HttpResponseCommand.cc HttpResponseCommand.h\
|
|
|
|
HttpProxyRequestCommand.cc HttpProxyRequestCommand.h\
|
|
|
|
HttpProxyResponseCommand.cc HttpProxyResponseCommand.h\
|
|
|
|
HttpDownloadCommand.cc HttpDownloadCommand.h\
|
2006-02-21 12:27:17 +00:00
|
|
|
HttpHeader.cc HttpHeader.h\
|
2006-02-17 13:35:04 +00:00
|
|
|
HttpConnection.cc HttpConnection.h\
|
2006-02-21 12:27:17 +00:00
|
|
|
FtpConnection.cc FtpConnection.h\
|
|
|
|
FtpInitiateConnectionCommand.cc FtpInitiateConnectionCommand.h\
|
|
|
|
FtpNegotiationCommand.cc FtpNegotiationCommand.h\
|
|
|
|
FtpDownloadCommand.cc FtpDownloadCommand.h\
|
|
|
|
FtpTunnelRequestCommand.cc FtpTunnelRequestCommand.h\
|
|
|
|
FtpTunnelResponseCommand.cc FtpTunnelResponseCommand.h\
|
2006-02-17 13:35:04 +00:00
|
|
|
SleepCommand.cc SleepCommand.h\
|
|
|
|
DownloadEngine.cc DownloadEngine.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
Segment.h\
|
|
|
|
GrowSegment.cc GrowSegment.h\
|
|
|
|
PiecedSegment.cc PiecedSegment.h\
|
2006-02-17 13:35:04 +00:00
|
|
|
SegmentMan.cc SegmentMan.h\
|
|
|
|
Util.cc Util.h\
|
|
|
|
Request.cc Request.h\
|
|
|
|
common.h\
|
|
|
|
message.h\
|
|
|
|
Exception.h\
|
2007-01-11 16:32:31 +00:00
|
|
|
FatalException.h\
|
|
|
|
RecoverableException.h\
|
2006-02-17 13:35:04 +00:00
|
|
|
DlAbortEx.h\
|
|
|
|
DlRetryEx.h\
|
|
|
|
Logger.h\
|
|
|
|
SimpleLogger.cc SimpleLogger.h\
|
|
|
|
TransferEncoding.h\
|
|
|
|
ChunkedEncoding.cc ChunkedEncoding.h\
|
|
|
|
DiskWriter.h\
|
|
|
|
AbstractDiskWriter.cc AbstractDiskWriter.h\
|
2007-01-08 00:13:25 +00:00
|
|
|
DefaultDiskWriter.cc DefaultDiskWriter.h\
|
2006-02-17 13:35:04 +00:00
|
|
|
File.cc File.h\
|
|
|
|
Option.cc Option.h\
|
|
|
|
Base64.cc Base64.h\
|
2006-03-21 14:12:51 +00:00
|
|
|
CookieBox.cc CookieBox.h\
|
2006-07-04 10:57:56 +00:00
|
|
|
LogFactory.cc LogFactory.h\
|
|
|
|
NullLogger.h\
|
2006-08-07 16:28:41 +00:00
|
|
|
TimeA2.cc TimeA2.h\
|
2006-07-30 12:58:27 +00:00
|
|
|
SharedHandle.h\
|
2006-12-24 06:25:21 +00:00
|
|
|
HandleRegistry.h\
|
2006-08-07 16:05:00 +00:00
|
|
|
FeatureConfig.cc FeatureConfig.h\
|
|
|
|
DownloadEngineFactory.cc DownloadEngineFactory.h\
|
|
|
|
RequestInfo.h\
|
2006-09-19 14:52:59 +00:00
|
|
|
SpeedCalc.cc SpeedCalc.h\
|
2006-09-23 12:27:16 +00:00
|
|
|
PeerStat.h\
|
2006-12-24 06:25:21 +00:00
|
|
|
BitfieldMan.cc BitfieldMan.h\
|
|
|
|
BitfieldManFactory.cc BitfieldManFactory.h\
|
|
|
|
Randomizer.h\
|
2007-01-08 00:13:25 +00:00
|
|
|
SimpleRandomizer.cc SimpleRandomizer.h\
|
2007-03-24 14:32:49 +00:00
|
|
|
FileAllocator.h\
|
2007-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To handle Segment as SegmentHandle:
* src/AbstractCommand.cc (execute): Rewritten.
* src/SegmentMan.h: Segment -> SegmentHandle
Introducded HttpResponse class, HttpRequest class to improve
code
extensiveness and make it clear:
* src/HttpDownloadCommand.cc: transfer encoders are now managed
by
HttpResponse class.
* src/HttpRequest.h, src/HttpRequest.cc: New class.
* src/HttpResponse.h, src/HttpResponse.cc: New class.
* src/HttpConnection.cc: Contruction of http request were moved
to
HttpRequest class.
* src/HttpResponseCommand.h, src/HttpResponseCommand.cc:
Refactored.
* src/HttpRequestCommand.cc (executeInternal): Rewritten.
* src/HttpAuthConfig.h: New class.
* src/Range.h: New class.
To make FtpTunnel{Request, Response}Command and
HttpProxy{Request, Response}Command derived from
AbstractProxy{Request, Response}Command:
* src/FtpTunnelResponseCommand.h,
src/FtpTunnelResponseCommand.cc:
Derived from AbstractProxyRequestCommand class.
* src/FtpTunnelRequestCommand.h, src/FtpTunnelRequestCommand.cc:
Derived from AbstractProxyResponseCommand class.
* src/HttpProxyRequestCommand.h, src/HttpProxyRequestCommand.cc:
Derived from AbstractProxyRequestCommand class.
* src/HttpProxyResponseCommand.h,
src/HttpProxyResponseCommand.cc:
Derived from AbstractProxyResponseCommand class.
* src/AbstractProxyRequestCommand.h,
src/AbstractProxyRequestCommand.cc
: New class.
* src/AbstractProxyResponseCommand.h,
src/AbstractProxyResponseCommand.cc: New class.
To add netrc support:
* src/Netrc.h, src/Netrc.cc: New class.
* src/Util.h, src/Util.cc (split): New function.
* src/HttpHeader.cc (getRange): Fixed so that it inspects
"Content-Range" header instead of "Range" header.
* src/HttpHeader.h
(getStatus): Removed.
(setStatus): Removed.
* src/Segment.h
(getPositionToWrite): New function.
2007-03-15 15:07:18 +00:00
|
|
|
HttpResponse.cc HttpResponse.h\
|
|
|
|
HttpRequest.cc HttpRequest.h\
|
|
|
|
Range.h\
|
|
|
|
AbstractProxyRequestCommand.cc AbstractProxyRequestCommand.h\
|
|
|
|
AbstractProxyResponseCommand.cc AbstractProxyResponseCommand.h\
|
2007-03-21 10:19:23 +00:00
|
|
|
Netrc.cc Netrc.h\
|
|
|
|
AuthConfig.cc AuthConfig.h\
|
|
|
|
AuthResolver.h\
|
|
|
|
AbstractAuthResolver.h\
|
|
|
|
DefaultAuthResolver.cc DefaultAuthResolver.h\
|
|
|
|
NetrcAuthResolver.cc NetrcAuthResolver.h\
|
2007-10-30 12:48:01 +00:00
|
|
|
AuthConfigFactory.cc AuthConfigFactory.h\
|
2007-03-26 12:16:57 +00:00
|
|
|
OptionParser.cc OptionParser.h\
|
2007-03-28 15:08:22 +00:00
|
|
|
OptionHandlerFactory.cc OptionHandlerFactory.h\
|
2007-05-20 13:51:52 +00:00
|
|
|
NameResolver.cc NameResolver.h\
|
|
|
|
RequestGroup.cc RequestGroup.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
RequestGroupAware.cc RequestGroupAware.h\
|
2007-05-20 13:51:52 +00:00
|
|
|
RequestGroupMan.cc RequestGroupMan.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
FileAllocationMan.cc FileAllocationMan.h\
|
2007-05-20 13:51:52 +00:00
|
|
|
FileAllocationCommand.cc FileAllocationCommand.h\
|
|
|
|
FillRequestGroupCommand.cc FillRequestGroupCommand.h\
|
|
|
|
FileAllocationDispatcherCommand.cc FileAllocationDispatcherCommand.h\
|
|
|
|
FileAllocationEntry.cc FileAllocationEntry.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
StreamFileAllocationEntry.cc StreamFileAllocationEntry.h\
|
2007-05-20 13:51:52 +00:00
|
|
|
MultiUrlRequestInfo.cc MultiUrlRequestInfo.h\
|
2007-07-05 15:45:03 +00:00
|
|
|
UriListParser.cc UriListParser.h\
|
2007-05-20 13:51:52 +00:00
|
|
|
SegmentManFactory.h\
|
|
|
|
AbstractSegmentManFactory.h\
|
2007-05-31 15:56:20 +00:00
|
|
|
DefaultSegmentManFactory.cc DefaultSegmentManFactory.h\
|
|
|
|
RealtimeCommand.cc RealtimeCommand.h\
|
2007-06-05 11:37:25 +00:00
|
|
|
ProgressAwareEntry.h\
|
2007-06-10 07:55:43 +00:00
|
|
|
RequestGroupEntry.cc RequestGroupEntry.h\
|
|
|
|
Cookie.cc Cookie.h\
|
|
|
|
CookieParser.cc CookieParser.h\
|
2007-06-30 09:52:39 +00:00
|
|
|
CookieBoxFactory.cc CookieBoxFactory.h\
|
|
|
|
HttpHeaderProcessor.cc HttpHeaderProcessor.h\
|
2007-07-23 13:04:48 +00:00
|
|
|
FileEntry.cc FileEntry.h\
|
2007-08-28 11:51:20 +00:00
|
|
|
Platform.cc Platform.h\
|
|
|
|
PStringDatum.h\
|
|
|
|
PStringSegment.cc PStringSegment.h\
|
|
|
|
PStringNumLoop.h\
|
|
|
|
PStringSelect.h\
|
|
|
|
PStringVisitor.h\
|
|
|
|
PStringBuildVisitor.cc PStringBuildVisitor.h\
|
|
|
|
ParameterizedStringParser.cc ParameterizedStringParser.h\
|
|
|
|
FixedWidthNumberDecorator.h\
|
|
|
|
NumberDecorator.h\
|
2007-09-03 10:32:19 +00:00
|
|
|
AlphaNumberDecorator.h\
|
|
|
|
TimeBasedCommand.cc TimeBasedCommand.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
AutoSaveCommand.cc AutoSaveCommand.h\
|
|
|
|
UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h\
|
|
|
|
StatCalc.h\
|
|
|
|
ConsoleStatCalc.cc ConsoleStatCalc.h\
|
|
|
|
TransferStat.cc TransferStat.h\
|
|
|
|
Dependency.h\
|
|
|
|
BtProgressInfoFile.h\
|
|
|
|
DefaultBtProgressInfoFile.cc DefaultBtProgressInfoFile.h\
|
|
|
|
NullProgressInfoFile.h\
|
|
|
|
FileAllocationIterator.h\
|
|
|
|
SingleFileAllocationIterator.cc SingleFileAllocationIterator.h\
|
|
|
|
PostDownloadHandler.cc PostDownloadHandler.h\
|
|
|
|
HaveEraseCommand.cc HaveEraseCommand.h\
|
|
|
|
Piece.cc Piece.h
|
2006-12-24 06:25:21 +00:00
|
|
|
# debug_new.cpp
|
2006-07-04 10:57:56 +00:00
|
|
|
|
2007-07-04 16:04:57 +00:00
|
|
|
if ENABLE_MESSAGE_DIGEST
|
2007-10-11 16:58:24 +00:00
|
|
|
SRCS += IteratableChunkChecksumValidator.cc IteratableChunkChecksumValidator.h\
|
2007-07-04 16:04:57 +00:00
|
|
|
IteratableChecksumValidator.cc IteratableChecksumValidator.h\
|
|
|
|
ChecksumCommand.cc ChecksumCommand.h\
|
|
|
|
CheckIntegrityCommand.cc CheckIntegrityCommand.h\
|
|
|
|
CheckIntegrityEntry.cc CheckIntegrityEntry.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\
|
|
|
|
CheckIntegrityMan.cc CheckIntegrityMan.h\
|
2007-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
MessageDigestHelper is introduced in order to simplify the use
of message digest. Removed repeated code.
The message digest algorithm is now specified by string, like
"sha1",
"md5".
* src/messageDigest.{h, cc}
* src/MessageDigestHelper.{h, cc}: New class.
* src/DefaultPieceStorage.cc
* src/DefaultBtContext.{h, cc}
(computeFastSet): New function.
(setInfoHash): Added for unit testing.
(setNumPieces): Added for unit testing.
* src/DefaultBtInteractive.cc
* src/BtPieceMessage.cc
* src/Peer.cc
* src/Checksum.h
* src/message.h
* src/IteratableChecksumValidator.h
* src/ChunkChecksumValidator.{h, cc}: Use
IteratableChecksumValidator
inside it.
* src/SegmentMan.{h, cc}
(checkIntegrity): Removed.
* src/IteratableChunkChecksumValidator.{h, cc}
* src/Util.h
(sha1Sum): Removed.
(simpleMessageDigest): Removed.
(fileChecksum): Removed.
(computeFastSet): Removed.
* src/ShaVisitor.cc
* src/ChunkChecksum.h
* src/DownloadCommand.cc
Removed messageDigest virtual functions.
* src/MultiDiskAdaptor.{h, cc}
* src/DiskAdaptor.h
* src/ByteArrayDiskWriter.h
* src/DiskWriter.h
* src/DiskAdaptorWriter.h
* src/AbstractSingleDiskAdaptor.{h, cc}
* src/AbstractDiskWriter.{h, cc}
Fixed comilation error when message digest is disabled.
* src/MetalinkEntry.{h, cc}
* src/MetalinkRequestInfo.cc
Removed srandom and random.
* src/SimpleRandomizer.h
Added size() virtual function to DiskAdaptor
* src/MultiDiskAdaptor.h
Fixed the bug that causes that files are not opened correctly in
multi-file torrent.
* src/TorrentRequestInfo.cc
* src/MultiDiskAdaptor.cc
Added SHA256 support
* src/messageDigest.cc
* src/Xml2MetalinkProcessor.cc
Show supported message digest algorithms
* src/main.cc
Updated contact info.
* src/main.cc
2007-08-08 14:40:11 +00:00
|
|
|
messageDigest.cc messageDigest.h\
|
|
|
|
MessageDigestHelper.cc MessageDigestHelper.h
|
2007-07-04 16:04:57 +00:00
|
|
|
endif # ENABLE_MESSAGE_DIGEST
|
|
|
|
|
2006-07-04 10:57:56 +00:00
|
|
|
if ENABLE_BITTORRENT
|
|
|
|
SRCS += MetaEntry.h\
|
2006-03-21 14:12:51 +00:00
|
|
|
Data.cc Data.h\
|
|
|
|
Dictionary.cc Dictionary.h\
|
|
|
|
List.cc List.h\
|
|
|
|
MetaFileUtil.cc MetaFileUtil.h\
|
|
|
|
MetaEntryVisitor.h\
|
|
|
|
ShaVisitor.cc ShaVisitor.h\
|
|
|
|
PeerConnection.cc PeerConnection.h\
|
|
|
|
PeerMessageUtil.cc PeerMessageUtil.h\
|
|
|
|
PeerAbstractCommand.cc PeerAbstractCommand.h\
|
|
|
|
PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\
|
|
|
|
PeerInteractionCommand.cc PeerInteractionCommand.h\
|
|
|
|
Peer.cc Peer.h\
|
|
|
|
PeerListenCommand.cc PeerListenCommand.h\
|
|
|
|
RequestSlot.cc RequestSlot.h\
|
2006-03-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* configure.in: Added gnutls support. Added several CPP macros.
* m4/openssl.m4: Added.
* src/SocketCore.{h,cc}: Drop const quarifier from writeData(),
readData(), peekData(). Added gnutls support.
* src/HttpDownloadCommand.cc: Removed SleepCommand.h
* src/TrackerWatcherCommand.{h,cc}: Added. This command creates
TrackerInitCommand periodicaly(TorrentMan::minInterval).
* src/TorrentMan.cc: Remove downloadedSize == 0 check from
save().
Instead, added a check for whether setup method has executed
successfully.
* src/TorrentMan.h: Added member vaiable setupComplete. Updated
DEFAULT_ANNOUNCE_INTERVAL and DEFAULT_ANNOUNCE_MIN_INTERVAL to
300.
* src/Makefile.am: Updated.
* src/messageDigest.h: Added. This is a macro calculating SHA1
digest
using whether OpenSSL or gcrypt, depending on the result of
configure
script.
* src/ShaVisitor.{h,cc}: Removed direct dependency on OpenSSL by
using
messageDigest.h.
* src/TorrentAutoSaveCommand.h: Removed unused variable cuid.
* src/PeerListenCommand.cc: Added log about port binded
successfully.
Fixed memory leak.
* src/main.cc: Added gnutls support. Replaced LIB_SSL with
ENABLE_BITTORRENT where they are not related to OpenSSL but
BitTorrent.
Removed instantiation of TrackerInitCommand. Instead,
TrackerWatcherCommand is instantiated and pushed to the command
queue.
* src/InitiateConnectionCommandFactory.cc: Replaced HAVE_LIBSSL
with
ENABLE_SSL.
* src/Request.cc: Replaced HAVE_LIBSSL with ENABLE_SSL.
* src/RequestSlotMan.cc:
(deleteCompletedRequestSlot)
If a piece is already acquired by another command, delete the
request
slots for the piece.
* src/TrackerUpdateCommand.cc:
(execute)
Changed log level of MSG_TRACKER_WARNING_MESSAGE from info to
warn.
Added a check whether peer list is null.
Fixed the bug that causes sending completed event to the tracker
several times.
* src/TrackerInitCommand.cc:
(execute)
Fixed the bug that causes sending completed event to the tracker
several times.
* src/AbstractDiskWriter.{h,cc}: Removed direct dependency on
OpenSSL
by using messageDigest.h.
2006-03-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* PeerConnection.cc: Replaced log message "keep-alive" with
"keep alive".
* PeerInteractionCommand.{h,cc}: Close connection if peer is
choking
localhost long time.
* TorrentMan.cc: When adding new peer with duplicate = true, if
the
number of peer list is equal to or grater than MAX_PEER_LIST,
delete
at most 100 failure entry from the list. If with duplicate =
false,
MAX_PEER_LIST is not checked.
* PeerListenCommand.cc: Fixed the argument order of log message.
2006-03-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* Logger.h: Moved enum LEVEL from SimpleLogger.h to here.
Added warn().
* SimpleLogger.h: Moved enum LEVEL to Logger.h.
Implemented warn().
Defined 2 macros(WRITE_LOG, WRITE_LOG_EX) to avoid duplicated
code.
2006-03-27 14:47:26 +00:00
|
|
|
Directory.cc Directory.h\
|
|
|
|
TrackerWatcherCommand.cc TrackerWatcherCommand.h\
|
2006-04-16 14:38:19 +00:00
|
|
|
DiskAdaptor.cc DiskAdaptor.h\
|
2007-01-08 00:13:25 +00:00
|
|
|
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
|
2006-04-16 14:38:19 +00:00
|
|
|
CopyDiskAdaptor.cc CopyDiskAdaptor.h\
|
|
|
|
DirectDiskAdaptor.cc DirectDiskAdaptor.h\
|
|
|
|
MultiDiskAdaptor.cc MultiDiskAdaptor.h\
|
2006-04-28 15:55:11 +00:00
|
|
|
ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
|
2006-05-09 15:54:14 +00:00
|
|
|
PeerChokeCommand.cc PeerChokeCommand.h\
|
2006-08-27 12:49:17 +00:00
|
|
|
SeedCriteria.h\
|
|
|
|
TimeSeedCriteria.h\
|
|
|
|
ShareRatioSeedCriteria.h\
|
|
|
|
UnionSeedCriteria.h\
|
2006-10-01 11:29:14 +00:00
|
|
|
SeedCheckCommand.cc SeedCheckCommand.h\
|
|
|
|
PeerListProcessor.h\
|
|
|
|
DefaultPeerListProcessor.cc DefaultPeerListProcessor.h\
|
|
|
|
CompactPeerListProcessor.cc CompactPeerListProcessor.h\
|
2006-10-18 14:57:00 +00:00
|
|
|
DelegatingPeerListProcessor.cc DelegatingPeerListProcessor.h\
|
2006-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To divide TorrentMan into 6 classes: BtContext, BtRuntime,
PeerStorage, PieceStorage, BtAnnounce and BtProgressInfoFile
* src/TrackerWatcherComand.h: Made subclass of
BtContextAwareCommand.
* src/SeedCheckCommand.cc: Use pieceStorage, btRuntime
* src/PeerAbstractCommand.h: Made subclass of
BtContextAwareCommand.
* src/PeerAbstractCommand.cc: Use btRuntime.
* src/BtContextAwareCommand.h: New class.
* src/FileEntry.h: Added accessor methods for following
variables.
(path): Made private.
(length): Made private.
(offset): Made private.
(extracted): Made private.
(requested): Made private.
(FileEntries): New definition.
(FileEntryHandle): New definition.
* src/FileEntry.cc: New file.
* src/HaveEraseCommand.h: Made subclass of
BtContextAwareCommand.
* src/HaveEraseCommand.cc: Use btRuntime, pieceStorage.
* src/PeerChokeCommand.h: Made subclass of
BtContextAwareCommand.
* src/PeerChokeCommand.cc: Use btRuntime, peerStorage,
pieceStorage.
* src/PieceStorage.h: New file.
* src/PeerInteractionCommand.h: Use btContext.
* src/PeerInteractionCommand.cc: Use pieceStorage, peerStorage,
btRuntime.
* src/DefaultBtProgressInfoFile.h: New file.
* src/DefaultBtProgressInfoFile.cc: New file.
* src/File.cc
(Util.h): New include.
(mkdirs): New function.
* src/MultiDiskAdaptor.h
(mkdir): New function.
* src/PeerListProcessor.h
(Peers): Removed.
* src/PeerInteraction.h
(torrentMan): Removed.
(btContext): New variable.
(peerStorage): New variable.
(pieceStorage): New variable.
(btAnnounce): New variable.
(getTorrentMan): Removed.
(getBtContext): New function.
* src/PeerInteraction.cc: Use btContext, peerStorage,
pieceStorage,
btAnnounce.
* src/HandshakeMessage.h
(TorrentMan.h): Removed.
* src/HandshakeMessage.cc: Use btContext.
* src/DefaultBtAnnounce.cc: New file.
* src/MultiDiskWriter.cc: Use the accessor methods of FileEntry.
* src/DefaultPieceStorage.cc: New file.
* src/DefaultBtContext.h: New file.
* src/TorrentRequestInfo.cc: Use btContext, pieceStorage.
Use the accessor methods of FileEntry.
* src/CookieBox.cc: Updated to use Util::slice().
* src/PieceMessage.cc: Use btContext, pieceStorage.
* src/common.h (SharedHandle.h): New include.
* src/PeerMessage.cc (PeerMessage): Added btContext,
peerStorage,
pieceStorage.
* src/TorrentAutoSaveCommand.h: Made subclass of
BtContextAwareCommand.
* src/DiskAdaptor.h
(topDir): Removed.
(getFileEntryFromPath): Changed the return type to
FileEntryHandle.
(setTopDir): Removed.
(getTopDir): Removed.
* src/BtContext.h: New file.
* src/DefaultPeerStorage.h: New file.
* src/PieceMessage.h (TorrentMan.h): Removed.
* src/RequestMessage.h (TorrentMan.h): Removed.
* src/TorrentDownloadEngine.h
(uploadLength): New variable.
(btContext): New variable.
(btRuntime): New variable.
(pieceStorage): New variable.
(peerStorage): New variable.
(btAnnounce): New variable.
(btProgressInfoFile): New variable.
(torrentMan): Removed.
(setBtContext): New function.
* src/TorrentDownloadEngine.cc: Use BtContext, BtRuntime,
pieceStorage,
peerStorage, btAnnounce, btProgressInfoFile.
* src/Piece.h
(toString): New function.
(Pieces): New type definition.
* src/Peer.h
(active): New variable.
(Peer): Added active.
(activate): Set active to true.
(deactivate): Set active to false.
(isActive): New function.
(Peers): New type definition.
* src/DirectDiskAdaptor.cc
(getFilePath): Use the accessor methods of FileEntry.
* src/TorrentConsoleDownloadEngine.h
(afterEachIteration): New function.
* src/TorrentConsoleDownloadEngine.cc
(haltRequested): New variable.
(sendStatistics): Use pieceStorage, btRuntime.
(afterEachIteration): New function.
* src/AnnounceList: AnnounceTier->AnnounceTierHandle.
* src/Directry.h
(Directory): New function.
(DirectoryHandle): New type definition.
* src/BtProgressInfoFile.h: New file.
* src/RequestMessage.cc: Use pieceStorage.
* src/BtRuntime.h: New file.
* src/DefaultBtContext.cc: New file.
* src/BitfieldMan.h
(getCompletedLength): New function(private).
(getCompletedLength): New function.
(getFilteredCompletedLength): New function.
* src/BitfieldMan.h
(getCompletedLength): New function(private).
(getCompletedLength): New function.
(getFilteredCompletedLength): New function.
* src/MultiDiskAdaptor.cc
(mkdir): New function.
(openFile): Call mkdir().
(initAndOpenFile): Call mkdir().
* src/CancelMessage.h
(TorrentMan.h): Removed.
* src/RejectMessage.h
(TorrentMan.h): Removed.
* src/DownloadEngineFactory.cc
(DefaultPieceStorage.h): New include.
(DefaultPeerStorage.h): New include.
(DefaultBtAnnounce.h): New include.
(DefaultBtProgressInfoFile.h): New include.
(newTorrentConsoleEngine): Rewritten.
* src/ShareRatioSeedCriteria.h
(torrentMan): Removed.
(btContext): New variable.
(peerStorage): New variable.
(btRuntime): New variable.
(evaluate): Use btContext, btRuntime, peerStorage.
* src/AnnounceTier.h: New file.
* src/BtAnnounce.h: New file.
* src/BtRegistry.h: New file.
* src/PeerInitiateConnectionCommand.h: Added btContext.
* src/PeerConnection.h (TorrentMan.h): Removed.
* src/PeerMessageFactory.cc: Use btContext, pieceStorage.
* src/Util.h
(slice): Added an argument.
* src/Util.cc
(slice): Added an argument to control whether trim is made or
not.
* src/PeerStorage.h: New file.
* src/BtRegistry.cc: New file.
* src/TrackerUpdateCommand.h: Made subclass of
BtContextAwareCommand.
* src/CopyDiskAdaptor.cc: Use the accessor methods of FileEntry.
* src/MultiDiskWriter.h: FileEntry -> FileEntryHandle
* src/PeerListenCommand.cc: Use btRuntime, peerStorage,
btContext.
* src/TorrentRequestInfo.h
(e): Removed.
(showFileEntry): Added an argument.
(getDownloadEngine): Return 0.
* src/DefaultBtAnnounce.h: New file.
* src/TorrentAutoSaveCommand.cc: Use btRuntime,
btProgressInfoFile.
* src/TrackerWatcherComand.cc: Use btRuntime, btAnnounce,
* src/PeerMessageFactory.h
(btContext): New variable.
(pieceStorage): New variable.
* src/TrackerUpdateCommand.cc: Use btRuntime, peerStorage,
btContext,
btAnnounce.
* src/DiskAdaptor.cc
(DiskAdaptor): Removed topDir.
(~DiskAdaptor): Removed topDir.
* src/PeerListenCommand.h: Made subclass of
BtContextAwareCommand.
* src/SeedCheckCommand.h: Made subclass of
BtContextAwareCommand.
* src/File.h (mkdirs): New function.
* src/DefaultPeerStorage): New file.
* src/DownloadEngineFactory.h
(newTorrentConsoleEngine): Use btContext.
* src/BtContextAwareCommand.cc: New file.
* src/PeerInitiateConnectionCommand.cc: Use btRuntime,
peerStorage.
* src/PeerMessage.h
(btContext): New variable.
(peerStorage): New variable.
(pieceStorage): New variable.
(setBtContext): New function.
* src/Directry.cc
(Directory): New function.
(createDir): Do nothing if name.size() == 0.
* src/AnnounceList.h
(AnnounceTier): Removed.
(AnnounceTiers): Removed.
* src/DefaultPieceStorage.h: New file.
* src/Piece.cc (toString): New function.
To fix typo:
* src/main.cc (showVersion): Fixed typo.
To fix compile warning:
* src/DelegatingPeerListProcessor.cc
(canHandle): Added "return false".
2006-11-05 15:04:17 +00:00
|
|
|
AnnounceTier.h\
|
|
|
|
AnnounceList.h AnnounceList.cc\
|
|
|
|
BtContext.h\
|
|
|
|
DefaultBtContext.cc DefaultBtContext.h\
|
|
|
|
PieceStorage.h\
|
|
|
|
DefaultPieceStorage.cc DefaultPieceStorage.h\
|
|
|
|
DefaultPeerStorage.cc DefaultPeerStorage.h\
|
|
|
|
BtAnnounce.h\
|
|
|
|
DefaultBtAnnounce.cc DefaultBtAnnounce.h\
|
|
|
|
BtRegistry.cc BtRegistry.h\
|
|
|
|
BtRuntime.h\
|
2006-12-24 06:25:21 +00:00
|
|
|
BtContextAwareCommand.cc BtContextAwareCommand.h\
|
|
|
|
BtMessage.h\
|
|
|
|
AbstractBtMessage.h\
|
|
|
|
SimpleBtMessage.cc SimpleBtMessage.h\
|
|
|
|
BtAllowedFastMessage.cc BtAllowedFastMessage.h\
|
|
|
|
BtBitfieldMessage.cc BtBitfieldMessage.h\
|
|
|
|
BtCancelMessage.cc BtCancelMessage.h\
|
|
|
|
BtChokeMessage.cc BtChokeMessage.h\
|
|
|
|
BtHaveAllMessage.cc BtHaveAllMessage.h\
|
|
|
|
BtHaveMessage.cc BtHaveMessage.h\
|
|
|
|
BtHaveNoneMessage.cc BtHaveNoneMessage.h\
|
|
|
|
BtInterestedMessage.cc BtInterestedMessage.h\
|
|
|
|
BtKeepAliveMessage.cc BtKeepAliveMessage.h\
|
|
|
|
BtNotInterestedMessage.cc BtNotInterestedMessage.h\
|
|
|
|
BtPieceMessage.cc BtPieceMessage.h\
|
|
|
|
BtPortMessage.cc BtPortMessage.h\
|
|
|
|
BtRejectMessage.cc BtRejectMessage.h\
|
|
|
|
BtRequestMessage.cc BtRequestMessage.h\
|
|
|
|
BtSuggestPieceMessage.cc BtSuggestPieceMessage.h\
|
|
|
|
BtUnchokeMessage.cc BtUnchokeMessage.h\
|
|
|
|
BtHandshakeMessage.cc BtHandshakeMessage.h\
|
|
|
|
BtMessageValidator.h\
|
|
|
|
BtAllowedFastMessageValidator.h\
|
|
|
|
BtBitfieldMessageValidator.h\
|
|
|
|
BtCancelMessageValidator.h\
|
|
|
|
BtHaveMessageValidator.h\
|
|
|
|
BtPieceMessageValidator.h\
|
|
|
|
BtRejectMessageValidator.h\
|
|
|
|
BtRequestMessageValidator.h\
|
|
|
|
BtSuggestPieceMessageValidator.h\
|
|
|
|
BtHandshakeMessageValidator.h\
|
|
|
|
BtMessageFactory.h\
|
|
|
|
DefaultBtMessageFactory.cc DefaultBtMessageFactory.h\
|
|
|
|
BtMessageDispatcher.h\
|
|
|
|
DefaultBtMessageDispatcher.cc DefaultBtMessageDispatcher.h\
|
|
|
|
BtMessageReceiver.h\
|
|
|
|
DefaultBtMessageReceiver.cc DefaultBtMessageReceiver.h\
|
|
|
|
BtRequestFactory.h\
|
|
|
|
DefaultBtRequestFactory.cc DefaultBtRequestFactory.h\
|
|
|
|
BtEvent.h\
|
|
|
|
BtEventListener.h\
|
|
|
|
BtCancelSendingPieceEvent.h\
|
|
|
|
BtAbortOutstandingRequestEvent.h\
|
|
|
|
BtChokedEvent.h\
|
|
|
|
BtChokingEvent.h\
|
|
|
|
BtInteractive.h\
|
|
|
|
DefaultBtInteractive.cc DefaultBtInteractive.h\
|
2007-04-03 10:52:31 +00:00
|
|
|
PeerObject.h\
|
2007-05-20 13:51:52 +00:00
|
|
|
ActivePeerConnectionCommand.cc ActivePeerConnectionCommand.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
BtDependency.cc BtDependency.h\
|
|
|
|
PeerReceiveHandshakeCommand.cc PeerReceiveHandshakeCommand.h\
|
|
|
|
BtSetup.cc BtSetup.h\
|
|
|
|
BtFileAllocationEntry.cc BtFileAllocationEntry.h\
|
|
|
|
BtPostDownloadHandler.cc BtPostDownloadHandler.h\
|
|
|
|
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
|
|
|
|
BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h
|
2006-07-04 10:57:56 +00:00
|
|
|
endif # ENABLE_BITTORRENT
|
|
|
|
|
|
|
|
if ENABLE_METALINK
|
|
|
|
SRCS += Metalinker.cc Metalinker.h\
|
2006-07-03 14:19:23 +00:00
|
|
|
MetalinkEntry.cc MetalinkEntry.h\
|
|
|
|
MetalinkResource.cc MetalinkResource.h\
|
|
|
|
MetalinkProcessor.h\
|
2006-08-07 16:05:00 +00:00
|
|
|
Xml2MetalinkProcessor.cc Xml2MetalinkProcessor.h\
|
2007-10-11 16:58:24 +00:00
|
|
|
Metalink2RequestGroup.cc Metalink2RequestGroup.h\
|
2007-11-03 12:03:53 +00:00
|
|
|
MetalinkPostDownloadHandler.cc MetalinkPostDownloadHandler.h\
|
|
|
|
MetalinkHelper.cc MetalinkHelper.h
|
2006-07-04 10:57:56 +00:00
|
|
|
endif # ENABLE_METALINK
|
|
|
|
|
2007-07-23 13:04:48 +00:00
|
|
|
if !HAVE_BASENAME
|
|
|
|
SRCS += libgen.c libgen.h
|
|
|
|
endif # !HAVE_BASENAME
|
|
|
|
|
|
|
|
if !HAVE_GETADDRINFO
|
|
|
|
SRCS += getaddrinfo.c getaddrinfo.h
|
|
|
|
endif # !HAVE_GETADDRINFO
|
|
|
|
|
2007-07-31 16:45:16 +00:00
|
|
|
if !HAVE_GAI_STRERROR
|
|
|
|
SRCS += gai_strerror.c gai_strerror.h
|
|
|
|
endif # !HAVE_GAI_STRERROR
|
|
|
|
|
|
|
|
if !HAVE_GETTIMEOFDAY
|
|
|
|
SRCS += gettimeofday.c gettimeofday.h
|
|
|
|
endif # !HAVE_GETTIMEOFDAY
|
|
|
|
|
|
|
|
if !HAVE_GETTIMEOFDAY
|
|
|
|
SRCS += gettimeofday.c gettimeofday.h
|
|
|
|
endif # !HAVE_GETTIMEOFDAY
|
|
|
|
|
2007-07-23 13:04:48 +00:00
|
|
|
if !HAVE_INET_ATON
|
|
|
|
SRCS += inet_aton.c inet_aton.h
|
|
|
|
endif # !HAVE_INET_ATON
|
|
|
|
|
|
|
|
if !HAVE_LOCALTIME_R
|
|
|
|
SRCS += localtime_r.c localtime_r.h
|
|
|
|
endif # !HAVE_LOCALTIME_R
|
|
|
|
|
|
|
|
if !HAVE_STRPTIME
|
|
|
|
SRCS += strptime.c strptime.h
|
|
|
|
endif # !HAVE_STRPTIME
|
|
|
|
|
2007-08-14 14:51:08 +00:00
|
|
|
if !HAVE_TIMEGM
|
|
|
|
SRCS += timegm.c timegm.h
|
|
|
|
endif # !HAVE_TIMEGM
|
|
|
|
|
2006-02-17 13:35:04 +00:00
|
|
|
noinst_LIBRARIES = libaria2c.a
|
|
|
|
libaria2c_a_SOURCES = $(SRCS)
|
2006-03-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* configure.in: Added gnutls support. Added several CPP macros.
* m4/openssl.m4: Added.
* src/SocketCore.{h,cc}: Drop const quarifier from writeData(),
readData(), peekData(). Added gnutls support.
* src/HttpDownloadCommand.cc: Removed SleepCommand.h
* src/TrackerWatcherCommand.{h,cc}: Added. This command creates
TrackerInitCommand periodicaly(TorrentMan::minInterval).
* src/TorrentMan.cc: Remove downloadedSize == 0 check from
save().
Instead, added a check for whether setup method has executed
successfully.
* src/TorrentMan.h: Added member vaiable setupComplete. Updated
DEFAULT_ANNOUNCE_INTERVAL and DEFAULT_ANNOUNCE_MIN_INTERVAL to
300.
* src/Makefile.am: Updated.
* src/messageDigest.h: Added. This is a macro calculating SHA1
digest
using whether OpenSSL or gcrypt, depending on the result of
configure
script.
* src/ShaVisitor.{h,cc}: Removed direct dependency on OpenSSL by
using
messageDigest.h.
* src/TorrentAutoSaveCommand.h: Removed unused variable cuid.
* src/PeerListenCommand.cc: Added log about port binded
successfully.
Fixed memory leak.
* src/main.cc: Added gnutls support. Replaced LIB_SSL with
ENABLE_BITTORRENT where they are not related to OpenSSL but
BitTorrent.
Removed instantiation of TrackerInitCommand. Instead,
TrackerWatcherCommand is instantiated and pushed to the command
queue.
* src/InitiateConnectionCommandFactory.cc: Replaced HAVE_LIBSSL
with
ENABLE_SSL.
* src/Request.cc: Replaced HAVE_LIBSSL with ENABLE_SSL.
* src/RequestSlotMan.cc:
(deleteCompletedRequestSlot)
If a piece is already acquired by another command, delete the
request
slots for the piece.
* src/TrackerUpdateCommand.cc:
(execute)
Changed log level of MSG_TRACKER_WARNING_MESSAGE from info to
warn.
Added a check whether peer list is null.
Fixed the bug that causes sending completed event to the tracker
several times.
* src/TrackerInitCommand.cc:
(execute)
Fixed the bug that causes sending completed event to the tracker
several times.
* src/AbstractDiskWriter.{h,cc}: Removed direct dependency on
OpenSSL
by using messageDigest.h.
2006-03-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* PeerConnection.cc: Replaced log message "keep-alive" with
"keep alive".
* PeerInteractionCommand.{h,cc}: Close connection if peer is
choking
localhost long time.
* TorrentMan.cc: When adding new peer with duplicate = true, if
the
number of peer list is equal to or grater than MAX_PEER_LIST,
delete
at most 100 failure entry from the list. If with duplicate =
false,
MAX_PEER_LIST is not checked.
* PeerListenCommand.cc: Fixed the argument order of log message.
2006-03-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* Logger.h: Moved enum LEVEL from SimpleLogger.h to here.
Added warn().
* SimpleLogger.h: Moved enum LEVEL to Logger.h.
Implemented warn().
Defined 2 macros(WRITE_LOG, WRITE_LOG_EX) to avoid duplicated
code.
2006-03-27 14:47:26 +00:00
|
|
|
aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\
|
2006-08-21 14:26:15 +00:00
|
|
|
@LIBGCRYPT_LIBS@ @OPENSSL_LIBS@ @XML_LIBS@ @LIBARES_LIBS@\
|
2007-10-11 16:58:24 +00:00
|
|
|
@LIBCARES_LIBS@ @WINSOCK_LIBS@ #-lprofiler
|
|
|
|
#aria2c_LDFLAGS = -pg
|
2006-03-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* configure.in: Added gnutls support. Added several CPP macros.
* m4/openssl.m4: Added.
* src/SocketCore.{h,cc}: Drop const quarifier from writeData(),
readData(), peekData(). Added gnutls support.
* src/HttpDownloadCommand.cc: Removed SleepCommand.h
* src/TrackerWatcherCommand.{h,cc}: Added. This command creates
TrackerInitCommand periodicaly(TorrentMan::minInterval).
* src/TorrentMan.cc: Remove downloadedSize == 0 check from
save().
Instead, added a check for whether setup method has executed
successfully.
* src/TorrentMan.h: Added member vaiable setupComplete. Updated
DEFAULT_ANNOUNCE_INTERVAL and DEFAULT_ANNOUNCE_MIN_INTERVAL to
300.
* src/Makefile.am: Updated.
* src/messageDigest.h: Added. This is a macro calculating SHA1
digest
using whether OpenSSL or gcrypt, depending on the result of
configure
script.
* src/ShaVisitor.{h,cc}: Removed direct dependency on OpenSSL by
using
messageDigest.h.
* src/TorrentAutoSaveCommand.h: Removed unused variable cuid.
* src/PeerListenCommand.cc: Added log about port binded
successfully.
Fixed memory leak.
* src/main.cc: Added gnutls support. Replaced LIB_SSL with
ENABLE_BITTORRENT where they are not related to OpenSSL but
BitTorrent.
Removed instantiation of TrackerInitCommand. Instead,
TrackerWatcherCommand is instantiated and pushed to the command
queue.
* src/InitiateConnectionCommandFactory.cc: Replaced HAVE_LIBSSL
with
ENABLE_SSL.
* src/Request.cc: Replaced HAVE_LIBSSL with ENABLE_SSL.
* src/RequestSlotMan.cc:
(deleteCompletedRequestSlot)
If a piece is already acquired by another command, delete the
request
slots for the piece.
* src/TrackerUpdateCommand.cc:
(execute)
Changed log level of MSG_TRACKER_WARNING_MESSAGE from info to
warn.
Added a check whether peer list is null.
Fixed the bug that causes sending completed event to the tracker
several times.
* src/TrackerInitCommand.cc:
(execute)
Fixed the bug that causes sending completed event to the tracker
several times.
* src/AbstractDiskWriter.{h,cc}: Removed direct dependency on
OpenSSL
by using messageDigest.h.
2006-03-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* PeerConnection.cc: Replaced log message "keep-alive" with
"keep alive".
* PeerInteractionCommand.{h,cc}: Close connection if peer is
choking
localhost long time.
* TorrentMan.cc: When adding new peer with duplicate = true, if
the
number of peer list is equal to or grater than MAX_PEER_LIST,
delete
at most 100 failure entry from the list. If with duplicate =
false,
MAX_PEER_LIST is not checked.
* PeerListenCommand.cc: Fixed the argument order of log message.
2006-03-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* Logger.h: Moved enum LEVEL from SimpleLogger.h to here.
Added warn().
* SimpleLogger.h: Moved enum LEVEL to Logger.h.
Implemented warn().
Defined 2 macros(WRITE_LOG, WRITE_LOG_EX) to avoid duplicated
code.
2006-03-27 14:47:26 +00:00
|
|
|
AM_CPPFLAGS = -Wall\
|
|
|
|
-I../lib -I../intl -I$(top_srcdir)/intl\
|
2006-07-03 14:19:23 +00:00
|
|
|
@LIBGNUTLS_CFLAGS@ @LIBGCRYPT_CFLAGS@ @OPENSSL_CFLAGS@ @XML_CPPFLAGS@\
|
2006-08-21 14:29:14 +00:00
|
|
|
@LIBARES_CPPFLAGS@ @LIBCARES_CPPFLAGS@\
|
2007-10-11 16:58:24 +00:00
|
|
|
-D_FILE_OFFSET_BITS=64 -DLOCALEDIR=\"$(localedir)\" @DEFS@ #-pg
|