mirror of https://github.com/aria2/aria2
379 lines
16 KiB
Plaintext
379 lines
16 KiB
Plaintext
2006-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
Added new class SendMessageQueue that includes PendingMessages and
|
|
RequestSlotMan.
|
|
|
|
* src/SendMessageQueue.h: New class.
|
|
* src/SendMessageQueue.cc: New class.
|
|
* src/PendingMessage.h: Added new member variable blockIndex and its
|
|
accessors.
|
|
(createRequestMessage): Updated.
|
|
* src/PendingMessage.cc (createRequestMessage): Updated.
|
|
* src/PeerInteractionCommand.cc (executeInternal): Updated with
|
|
SendMessageQueue.
|
|
(checkLongTimePeerChoking): Updated with SendMessageQueue.
|
|
(receiveMessage): Updated with SendMessageQueue.
|
|
(deletePendingPieceMessage): Removed.
|
|
(getNewPieceAndSendInterest): Updated with SendMessageQueue.
|
|
(sendInterest): Updated with SendMessageQueue.
|
|
(createRequestPendingMessage): Updated with SendMessageQueue.
|
|
(sendMessages): Updated with SendMessageQueue.
|
|
(onAbort): Updated with SendMessageQueue.
|
|
(keepAlive): Updated with SendMessageQueue.
|
|
(beforeSocketCheck): Updated SendMessageQueue.
|
|
|
|
* src/PeerInteractionCommand (sendMessages): Shuffle
|
|
missingBLockIndexes before using it.
|
|
|
|
Added its own timeout for peer connection.
|
|
|
|
* src/PeerAbstractCommand.h: Added member variable timeout and its
|
|
setter.
|
|
* src/prefs.h: Added PREF_PEER_CONNECTION_TIMEOUT.
|
|
* src/PeerInteractionCommand.cc (PeerInteractionCommand):
|
|
Added setTimeout() call.
|
|
(executeInternal): Added setTimeout() call.
|
|
* src/PeerAbstractCommand.cc (PeerAbstractCommand):
|
|
Added timeout.
|
|
(isTimeoutDetected): Updated.
|
|
* src/main.cc (main): Added PREF_PEER_CONNECTION_TIMEOUT entry to
|
|
option.
|
|
|
|
Added *simple* message flooding checker.
|
|
|
|
* src/PeerInteractionCommand.cc (executeInternal):
|
|
Added detectMessageFlooding() call.
|
|
(detectMessageFlooding): New function.
|
|
(receiveMessage): Count up CHOKE, UNCHOKE, HAVE message.
|
|
(beforeSocketCheck): Added detectMessageFlooding() call.
|
|
* src/PeerInteractionCommand.h: Added sendMessageQueue,
|
|
chokeUnchokeCount, haveCount, detectMessageFlooding().
|
|
Removed deletePendingPieceMessage(), getRequestSlot(),
|
|
deleteRequestSlot(), deleteAllRequestSlot().
|
|
|
|
* src/PeerInteractionCommand.cc (beforeSocketCheck):
|
|
Added checkLongTimePeerChoking() call.
|
|
|
|
* src/RequestSlotMan.h: Renamed deleteTimeoutRequestSlot().
|
|
|
|
* src/TorrentMan.cc (addPeer): Delete at most MAX_PEER_LIST_SIZE peers
|
|
if duplicate == false.
|
|
|
|
The parameter "uploaded" and "downloaded" in the tracker request are
|
|
the size since the client sent the "started" event to the tracker.
|
|
|
|
* src/TorrentMan.cc (setup): Assigned saved downloaded Size and
|
|
uploaded size to preDownloadedSize, preUploadedSize respectively.
|
|
* src/TorrentMan.h: Added preDownloadedSize, preUploadedSize,
|
|
getSessionDownloadedSize(), getSessionUploadedSize().
|
|
* src/TrackerInitCommand.cc (execute): Use getSessionDownloadedSize(),
|
|
getSessionUploadedSize() instead of getDownloadedSize(),
|
|
getUploadedSize().
|
|
|
|
* src/PendingMessage.cc (processMessage): Do not send request message
|
|
if the peer is choking the client.
|
|
|
|
* src/TrackerUpdateCommand.cc (execute): Check wtheher minInterval is
|
|
less than interval.
|
|
|
|
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-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* Request.h: Added AFTER_COMPLETED event.
|
|
* TorrentDownloadEngine.cc: Prints "Download complete" message
|
|
instead of downloaded size and progress(%) after download completes.
|
|
* PeerInteractionCommand.cc: After download completes, sends unchoke
|
|
message to the peer if it is interested in what localhost has
|
|
downloaded.
|
|
* TorrentMan.cc: In single-file mode, copy temporary file to the final
|
|
destination instead of just renaming it.
|
|
* TorrentMan.cc: Added deleteTempFile().
|
|
* PeerAbstractCommand.cc: do not stop execution after download
|
|
completes. This makes localhost a seeder.
|
|
* Util.{h,cc}: Added fileCopy().
|
|
* PeerListenCommand.cc: do not stop execution after download completes.
|
|
This makes localhost a seeder.
|
|
* main.cc: Do not call TorrentMan::fixFilename() in torrentHandler.
|
|
Added TorrentMan::deleteTempFile() to torrentHandler.
|
|
Initialized the variable dir as ".".
|
|
* TorrentMan.h: Changed DEFAULT_ANNOUNCE_INTERVAL to 120 seconds.
|
|
Deleted renameSingleFile().
|
|
Added copySingleFile(), deleteTempFile().
|
|
* DownloadEngine.h: Added virtual function afterEachIteration().
|
|
* TorrentDownloadEngine.cc: Move a call to TorrentMan::fixFilename()
|
|
in onEndOfRun() to afterEachIteration().
|
|
In onEndOfRun(), changed if condition to check whether filenameFixed is
|
|
true.
|
|
* Util.cc: Implemented fileCopy() using rangedFileCopy().
|
|
In rangedFileCopy(), added try-catch block to properly close file
|
|
descriptors.
|
|
* TorrentDownloadEngine.cc: Added a member variable filenameFixed.
|
|
Added afterEachIteration(), isFilenameFixed().
|
|
* Peer.cc: Changed choking strategy.
|
|
* PreAllocationDiskWriter.cc: Drop O_DIRECT flag.
|
|
* TrackerInitCommand.cc: Send completed event only once.
|
|
* DownloadEngine.cc: Added a call to afterEachIteration().
|
|
* TrackerUpdateCommand.cc: Do not stop execution after download
|
|
completes.
|
|
* TorrentMan.h: Defined MAX_PEER_UPDATE as 15. aria2 attempts to
|
|
connect the peers at most MAX_PEER_UPDATE when a peer list is
|
|
received from a tracker.
|
|
* TrackerUpdateCommand.cc: Implemented above mentioned behavior.
|
|
Decreased the number of failure peers to delete to 0(just comment out
|
|
the line).
|
|
* Release 0.3.1
|
|
|
|
2006-03-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* PeerInteractionCommand.cc: added a call to
|
|
TorrentMan::unadvertisePiece in Destructor.
|
|
* PeerInteractionCommand.cc: make have message sent immediately
|
|
if the size of pending message queue is zero.
|
|
* TorrentMan.cc: set the maximum size of peer list to 250.
|
|
* TorrentMan.h: changed the container type of Peers and UsedPieces
|
|
to deque.
|
|
* Util.cc: fixed rangedFileCopy.
|
|
* AbstractDiskWriter.{h,cc}: moved digest context initialization
|
|
to Constructor. Also, moved digest cleanup to Destructor.
|
|
* MetaFileUtil.cc: fixed memory leak
|
|
* replaced std::vector with std::deque.
|
|
* AbstractCommand.cc: casted timeout value to long long int.
|
|
* ChunkedEncoding.cc: fixed memory leak.
|
|
* PeerInteractionCommand.cc: casted timeout value to long long int.
|
|
* SleepCommand.cc: casted timeout value to long long int.
|
|
* Data.cc: fixed memory leak.
|
|
* Data.cc: fixed toLLInt().
|
|
* BitfieldMan.cc: fixed memory leak.
|
|
* TorrentMan.cc: initialized storeDir to ".".
|
|
* TorrentMan.cc: fixed memory leak.
|
|
* TorrentMan.cc: corrected file paths of splitted files.
|
|
* PeerAbstractCommand.cc: casted timeout to long long int.
|
|
* main.cc: added delete(req) and delete(te->diskWriter).
|
|
* RequestSlot.cc: casted timeout value to long long int.
|
|
* Request.cc: fixed memory leak.
|
|
* PendingMessage.cc: make HAVE messages sent only when peer does not
|
|
have the piece.
|
|
* Peer.{h,cc}: added hasPiece(int index).
|
|
* main.cc: corrected addCommand.
|
|
|
|
2006-03-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* BitTorrent protocol support added.
|
|
* Release 0.3.0
|
|
|
|
2006-03-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* SocketCore.cc: remove the assignment of addrinfo.ai_addr.
|
|
|
|
2006-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* ChunkedEncoding.{h,cc}: fixed the bug that if chunk data is binary,
|
|
decoding did not work properly.
|
|
|
|
2006-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* DownloadEngine.h: included sys/time.h
|
|
* DownloadEngine.cc: remove sys/time.h
|
|
* Makefile.am (SUBDIRS): Add intl.
|
|
* configure.in (AC_CONFIG_FILES): Add intl/Makefile.
|
|
|
|
2006-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* main.cc: correct help message for --http-auth-scheme.
|
|
* main.cc: changed e-mail address for bug reports.
|
|
* ja.po: added japanese translation.
|
|
|
|
2006-03-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* SimpleLogger.cc: flush log file instead of stdout.
|
|
|
|
2006-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* main.cc: Fixed command-line option: max-tries
|
|
* HttpResponseCommand.cc: Make the request re-sent only if req->seg.sp
|
|
does not equal to seg.sp.
|
|
* DownloadCommand.cc: If EOF is got from the server and the total size
|
|
of file is not zero, then throw DlRetryEx.
|
|
* main.cc: Set the minium value of min-segment-size to 1024.
|
|
* HttpResponseCommand.cc: Fixed the bug that http segmented downloading
|
|
fails because of a regression since 0.2.0 release.
|
|
|
|
2006-03-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* HttpConnection.cc:
|
|
* common.h: defined the user agent name as macro
|
|
* DownloadEngine.{h, cc}:
|
|
* ConsoleDownloadEngine.{h, cc}: Console output message(size, speed)
|
|
is now generated by ConsoleDownloadEngine not by DownloadEngine.
|
|
* main.cc: Download complete/abort message is now generated by main.
|
|
* Makefile.am (SUBDIRS): Add m4.
|
|
(ACLOCAL_AMFLAGS): New variable.
|
|
(EXTRA_DIST): New variable.
|
|
* configure.in (AC_CONFIG_FILES): Add po/Makefile.in,
|
|
* gettext: added gettext functionality
|
|
|
|
2006-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* AbstractCommand.cc:
|
|
* DownloadCommand.{h, cc}: Aborted downloading commands now properly
|
|
unregister its cuid from SegmentMan.
|
|
* DownloadEngine.cc: .aria2 file was written when a downloading
|
|
failed with errors.
|
|
* HttpConnection.cc: Added "Proxy-Connection" header to proxy request.
|
|
Added "User-Agent" header to CONNECT proxy request.
|
|
Fixed "Proxy-Authorization" header. Now proxy authorization works
|
|
properly.
|
|
* Logger.h:
|
|
* SimpleLogger.{h,cc}: Changed the type of msg to const char*.
|
|
* ChunkedEncoding.cc: Added #include directive for strings.h
|
|
* Release 0.2.1
|
|
|
|
2006-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* Util.{h,cc}: added startsWith().
|
|
* CookieBox.cc: rewrited criteriaFind() using Util::startsWith() and
|
|
Util::endsWith().
|
|
* SocketCore.cc: struct addrinfo is now zero-initialized.
|
|
* common.h: added #include directive of limit.h.
|
|
* DownloadEngine.cc: added #include directive of sys/time.h and
|
|
algorithm.
|
|
* Exception.h: added #include directive of stdio.h.
|
|
* AbstractCommand.h: added #include directive of sys/time.h.
|
|
* DownloadCommand.h: added #include directive of sys/time.h.
|
|
* *.h: added #include directive of common.h to all base classes.
|
|
subclasses' one was removed.
|
|
* common.h: defined LONG_LONG_MAX and LONG_LONG_MIN if a compiler
|
|
does not define these macros.
|
|
|
|
2006-02-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* Release 0.2.0
|
|
* main.cc:
|
|
* HttpInitiateConnectionCommand.{h,cc}:
|
|
* prefs.h:
|
|
* HttpConnection.{h,cc}: added --http-proxy-method option.
|
|
We can now use GET command in http proxy.
|
|
|
|
2006-02-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* SplitSlowestSegmentSplitter.{h,cc}: This class provies algorithm
|
|
that splits slowest segment of SegmentMan::commands vector.
|
|
This is the default split algorithm of aria2.
|
|
* SplitFirstSegmentSplitter.{h,cc}: This class provides algorithm
|
|
that splits first segment of SegmentMan::commands vector.
|
|
* SegmentSplitter.{h,cc}: Added. This class provides split algorithm.
|
|
* DownloadCommand.{h,cc}: Added downloading speed calculation.
|
|
* Segment.h:
|
|
* SegmentMan.cc: Added speed field to Segment.h
|
|
* main.cc: -s option now affects all URLs in command-line arguemtns.
|
|
* HttpResponseCommand.cc: Fixed bug that segment file is not loaded.
|
|
* message.h: Change file size related %d to %lld.
|
|
|
|
2006-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* FtpInitiateConnectionCommand.{h,cc}:
|
|
* FtpNegotiationCommand.{h,cc}:
|
|
* FtpDownloadCommand.{h,cc}:
|
|
* FtpConnection.{h,cc}: Added FTP support
|
|
* SimpleLogger.cc: Log message now includes time information.
|
|
* main.cc: The value of --http-auth-scheme option is chagned from
|
|
'BASIC' to 'basic'
|
|
* main.cc: Added --timeout command-line option.
|
|
* main.cc: Added --min-segment-size command-line option.
|
|
* main.cc: Added --max-retries command-line option.
|
|
* prefs.h: option string constants are now defined in prefs.h
|
|
|
|
2006-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* AbstractCommand.cc: Fixed timeout bug in AbstractCommand
|
|
* SegmentMan.cc: Added totalSize entry to .aria2 file. No compatibility
|
|
with version 0.1.0's one.
|
|
|
|
2006-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
|
|
|
* configure.in: Added --enable-ssl option to configure script.
|
|
* HttpConnection.cc: Make Request-URI an absolute path. Some servers
|
|
cannot permit absoluteURI as Request-URI.
|
|
* HttpConnection.cc: Added Referer support.
|
|
* main.cc: Added referer command-line option.
|
|
* main.cc: Added rety-wait command-line option.
|
|
* Exception.h: Fixed formating bug in Exception::setMsg()
|
|
* SocketCore.{h,cc}:
|
|
* Socket.{h, cc}:
|
|
* Request.cc:
|
|
* InitiateConnectionCommandFactory.cc:
|
|
* HttpRequestCommand.cc: Added HTTPS support.
|
|
* SocketCore.{h,cc}: Added SocketCore. Socket becomes a handle class
|
|
for SocketCore.
|
|
* ChunkedEncoding.cc: Fixed bug in ChunkedEncoding: expanding buffer
|
|
size is wrong
|
|
* DownloadCommand.cc: Fixed bug in DownloadCommand: In Chunked
|
|
Encoding, it wrongly adds to Segment.ds buff length from the socket.
|
|
|
|
2006-02-17 Tatsuhiro Tsujikawa <tsujikawa at rednoah dot com>
|
|
|
|
* Release 0.1.0
|
|
|