Updated Makfefile.am to make 'make dist' work.
Now packaged filename is aria2c-VERSION.tar.bz2.
Added README, README.html, and aria2c.1.html to dist_doc_DATA.
Added LICENSE.OpenSSL to dist_noinst_DATA.
Large file support is now configured by configure script.
* configure.ac
Removed unsused source files
* src/
* test/
Removed PeerDecl.h and BtContextDecl.h. typedefs are removed to
Peer.h and BtContext.h respectively.
* src/Peer.h
* src/BtContext.h
Updated translations.
Added Polish, Thai, Indonesian, Norwegian Nynorsk, Hungarian
translations. Great thanks to all translators!;)
* po/*.{po, gmo}
Create MessageDigestHelper::staticSHA1DigestInit() which uses
statically declared sha1 MessageDigestContext.
* src/BtPieceMessage.cc: Use staticSHA1DigestInit() to avoid
initialization of short-lived MessageDigestContext.
* src/MessageDigestHelper.{h, cc}
* src/main.cc
Now DownloadCommand has a reference to MessageDigestContext to avoid
the initialization of MessageDigestContext every time in validating
chunk checksum.
* src/DownloadCommand.{h, cc}
Add a file descriptor which connected to fast peer(latency<1500)
to
select(). This change reduced CPU load.
* src/PeerInteractionCommand.cc
* src/DefaultBtInteractive.{h, cc}
* src/BtInteractive.h
Fixed possible busy loop if first 20 bytes are not received for
a few
minutes.
* src/MSEHandshake.{h, cc} (identifyHandshakeType)
* src/ReceiverMSEHandshakeCommand.cc
Fixed the bug that HAVE message is not sent for a piece they are
downloaded fom http/ftp server before any BitTorrent handshake
is done
with peers.
* src/DefaultBtInteractive.cc
Updated README. Added html version of README and man page.
* README
* README.html
* readme2html: Shell script to generate README.html from README
using
asciidoc.
* doc/aria2c.1.html
* doc/makeman: Added the line to generate aria2c.1.html
Fixed the bug that DH key exchange sometimes fails due to bad
handling
of the number of bytes required for storing public key and
shared
secret.
* src/LibgcryptDHKeyExchange.h
* src/LibsslDHKeyExchange.h: Also added function name to
handleError.
* src/MSEHandshake.cc
* test/DHKeyExchangeTest.cc
Fixed the bug that prevents aria2 from stopping other than by
pressing
Ctrl-C in BitTorrent download. It is reproducible using
--seed-time
option. aria2 doesn't stop even after --seed-time is satisfied
and
continues to output blank lines in the console.
* src/ReceiverMSEHandshakeCommand.cc
* src/PeerReceiveHandshakeCommand.cc
* src/PeerListenCommand.cc
Make room for future enchancements for IPv6 addresses.
Bump up version number of dht.dat file format to 2.
Not compatible with previous version.
* src/DHTRoutingTableSerializer.cc
* src/DHTRoutingTableDeserializer.cc
* test/DHTRoutingTableSerializerTest.cc
Fixed the bug that a return code is always 0. BUG#1897704
If error occurred during the download or there exist unfinished
downloads, aria2 returns with code 1.
* src/RequestGroupMan.{h, cc}
* src/MultiUrlRequestInfo.{h, cc}
* src/main.cc
IPv6 support for SocketCore class.
TODO: In SocketCore::establishConnection(), this is insufficient
to
determin the failure of connect() here because the socket is
non-blocking state. The next addresses should be tried after
select().
TODO: NameResolver still uses c-ares(<= 1.4)
ares_gethostbyname().
If c-ares 1.5 or newer is installed, ares_getaddrinfo() should
be used
instead which address family independent.
TODO: DHTRoutingTable{Deserializer,Serializer} currently saves
peer
information in a compact peer format which is for IPv4 only.
Some BitTorrent functions in PeerMessageUtil still depends on
IPv4 but
this is a spec of BitTorrent protocol.
* src/SocketCore.{h, cc}
* src/PeerMessageUtil.cc
* test/SocketCoreTest.cc
* test/PeerMessageUtilTest.cc
* test/DHTConnectionImplTest.cc
Handle IPv4-mapped addresses.
* src/DHTNode.cc: Now identity is determined by node id.
* src/DHTMessageTrackerEntry.cc
Because now PeerMessageUtil::unpackcompact() could fail, the
caller
should handle it.
* src/DHTRoutingTableDeserializer.cc
* src/DHTMessageFactoryImpl.cc
Change the unit of --stop option from a minute to a second.
* src/usage_text.h
* src/DownloadEngineFactory.cc
* src/OptionHandlerFactory.cc
* src/message.h
* src/TimedHaltCommand.cc
Determin _threadtholdSpeed in each constructor for
ActivePeerConnectionCommand and PeerReceiveHandshakeCommand.
* src/ActivePeerConnectionCommand.{h, cc}
* src/PeerReceiveHandshakeCommand.{h, cc}
* src/BtSetup.cc
* src/BtConstants.h
Added the ability to load nodes from torrent file. These nodes are
added to the routing table when downloading that torrent.
* src/BtContext.h
* src/DefaultBtContext.{h, cc}
* src/DHTSetup.cc
* src/DHTEntryPointNameResolveCommand.{h, cc}: Now accepts list of
hostname and port pair, and resolves all of them.
* src/NameResolver.{h, cc}: Added reset().
* src/RequestGroup.cc
* test/DefaultBtContextTest.cc
* test/MockBtContext.h
Removed assert() from DefaultBtContext and throw exception instead.
* src/DefaultBtContext.cc
Added DHTMessageDispatcherImpl. Now DHTMessageDispatcher is pure
virtual.
* src/DHTMessageDispatcher.h
* src/DHTMessageDispatcherImpl.{h, cc}
* src/DHTSetup.cc