| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
extension handshake with metadata size.
Peer must be marked as seeder only when client has not got metadata
yet. This bug causes aria2 shutdowns connection early when it gets
have message from a peer because it wrongly recognizes the peer as
seeder.
|
| | |
|
| |
|
|
|
|
| |
We added 2 macros A2_TEST_DIR and A2_TEST_OUT_DIR to pass tests in
`make distcheck`. A2_TEST_DIR refers to test directory. All output
files by unit tests are now created under A2_TEST_OUT_DIR directory.
|
| |
|
|
|
|
| |
stackTrace.
Also changed errno to errNum in stackTrace.
|
| |
|
|
| |
RequestGroup::lastErrorCode_.
|
| |
|
|
| |
downloaderrorcode::Value as error_code::Value.
|
| |
|
|
|
|
|
| |
To generate these files, run 'autoreconf -i'.
Since libgnutls.m4 is no longer distributed, we removed
AM_PATH_LIBGNUTLS from configure.ac.
|
| |
|
|
|
|
|
|
| |
Removed unused FileEntry::setupDir()
* src/FileEntry.cc
* src/FileEntry.h
* test/FileEntryTest.cc
|
| |
|
|
|
|
|
| |
Fixed unittest error
* test/OptionHandlerTest.cc
|
| |
|
|
|
|
|
|
|
|
|
| |
Made strings which are only used in comparison plain C strings.
* src/HttpHeader.cc
* src/HttpHeader.h
* src/Netrc.cc
* src/Netrc.h
* test/HttpHeaderTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Cleaned up Possible Values in usage help. More than 2 values are
delimited by ", ".
* src/NameMatchOptionHandler.h
* src/OptionHandler.cc
* src/OptionHandler.h
* src/OptionHandlerFactory.cc
* src/OptionHandlerImpl.cc
* test/OptionHandlerTest.cc
|
| |
|
|
|
|
| |
Replaced StringFormat with fmt
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced BNode with DHTBucketTreeNode which is 2 times efficient.
* src/BNode.cc: Removed
* src/BNode.h: Removed
* src/DHTBucketTree.cc
* src/DHTBucketTree.h
* src/DHTRoutingTable.cc
* src/DHTRoutingTable.h
* src/Makefile.am
* test/BNodeTest.cc: Removed
* test/DHTBucketTreeTest.cc
* test/Makefile.am
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced HttpHeader::responseStatus_ with HttpHeader::statusCode_.
statusCode_ is of type int.
* src/AbstractProxyResponseCommand.cc
* src/FtpNegotiationCommand.cc
* src/HttpHeader.cc
* src/HttpHeader.h
* src/HttpHeaderProcessor.cc
* src/HttpResponse.cc
* src/HttpResponse.h
* src/HttpResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* src/util.cc
* src/util.h
* test/HttpHeaderProcessorTest.cc
* test/HttpHeaderTest.cc
* test/HttpResponseTest.cc
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
|
| |
Added .cc file for classes/structs that only provided by header
file. Defined non-POD classes' ctor, dtor in .cc file. Moved
implementation code in header file to .cc file for major
classes/strucsts.
|
| |
|
|
|
|
|
|
| |
Removed SharedHandle::isNull(). Instead we added operator* and
operator unspecified_bool_type. Removed use of WeakHandle and
replaced with raw pointer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To match the behavior of friend operator functions in
SharedHandle.h to std::tr1::shared_ptr, we intentionally broke
these functions and modified code so that our code does not depend
on old behavior.
* src/AbstractCommand.cc
* src/DHTAbstractNodeLookupTask.h
* src/DHTBucket.cc
* src/DHTMessageReceiver.cc
* src/DHTNodeLookupEntry.cc
* src/DHTRoutingTable.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultPeerStorage.cc
* src/DefaultPieceStorage.cc
* src/DownloadContext.cc
* src/EpollEventPoll.cc
* src/Event.h
* src/HttpConnection.cc
* src/KqueueEventPoll.cc
* src/MultiDiskAdaptor.cc
* src/PeerAbstractCommand.cc
* src/PieceStatMan.cc
* src/PollEventPoll.cc
* src/PortEventPoll.cc
* src/SegmentMan.cc
* src/SelectEventPoll.cc
* src/SelectEventPoll.h
* src/ServerStatMan.cc
* src/SharedHandle.h
* src/UnknownLengthPieceStorage.cc
* src/a2functional.h
* src/option_processing.cc
* src/version_usage.cc
* test/BNodeTest.cc
* test/DHTAnnouncePeerMessageTest.cc
* test/DHTBucketTest.cc
* test/DHTFindNodeMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/DHTIDCloserTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTPingMessageTest.cc
* test/DefaultBtRequestFactoryTest.cc
* test/DefaultPeerStorageTest.cc
* test/SequentialPickerTest.cc
* test/SingletonHolderTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced MessageDigestContext with MessageDigest. Cleaned up
unnecessary functions in MessageDigestHelper.
* src/BtPieceMessage.cc
* src/Checksum.h
* src/DHTTokenTracker.cc
* src/DownloadCommand.cc
* src/DownloadCommand.h
* src/HashFuncEntry.h
* src/IteratableChecksumValidator.cc
* src/IteratableChecksumValidator.h
* src/IteratableChunkChecksumValidator.cc
* src/IteratableChunkChecksumValidator.h
* src/LibgcryptMessageDigestImpl.cc
* src/LibgcryptMessageDigestImpl.h
* src/LibsslMessageDigestImpl.cc
* src/LibsslMessageDigestImpl.h
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/Makefile.am
* src/MessageDigest.cc
* src/MessageDigest.h
* src/MessageDigestHelper.cc
* src/MessageDigestHelper.h
* src/MessageDigestImpl.h
* src/MetalinkParserController.cc
* src/Piece.cc
* src/Piece.h
* src/UTMetadataDataExtensionMessage.cc
* src/bittorrent_helper.cc
* src/messageDigest.cc: Removed
* src/messageDigest.h: Removed
* src/util.cc
* src/version_usage.cc
* test/BittorrentHelperTest.cc
* test/GZipDecoderTest.cc
* test/GZipDecodingStreamFilterTest.cc
* test/IteratableChecksumValidatorTest.cc
* test/IteratableChunkChecksumValidatorTest.cc
* test/Makefile.am
* test/MessageDigestHelperTest.cc
* test/MessageDigestTest.cc
* test/Metalink2RequestGroupTest.cc
* test/MetalinkProcessorTest.cc
* test/PieceTest.cc
* test/TestUtil.cc
* test/TestUtil.h
* test/UTMetadataDataExtensionMessageTest.cc
* test/UTMetadataPostDownloadHandlerTest.cc
|
| |
|
|
|
|
|
|
|
|
| |
Return empty range if byte-range-resp-spec or instance-length is
"*" in Content-Range header to prevent aria2 from emitting error
failing to convert "*" to a integer.
* src/HttpHeader.cc
* test/HttpHeaderTest.cc
|
| |
|
|
|
|
| |
Made #include guard consistent for c++ header files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use unnamed namespace instead of static keyword.
* src/AbstractCommand.cc
* src/AdaptiveURISelector.cc
* src/Base64.cc
* src/BitfieldMan.cc
* src/BtDependency.cc
* src/ConsoleStatCalc.cc
* src/ContentTypeRequestGroupCriteria.cc
* src/CookieStorage.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTRoutingTableDeserializer.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultPeerStorage.cc
* src/DefaultPieceStorage.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/EpollEventPoll.cc
* src/ExpatMetalinkProcessor.cc
* src/ExpatXmlRpcRequestProcessor.cc
* src/FileEntry.cc
* src/HttpRequest.cc
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/KqueueEventPoll.cc
* src/LongestSequencePieceSelector.cc
* src/MetalinkParserStateV3Impl.cc
* src/MetalinkParserStateV4Impl.cc
* src/MultiDiskAdaptor.cc
* src/MultiUrlRequestInfo.cc
* src/OptionParser.cc
* src/PeerSessionResource.cc
* src/PortEventPoll.cc
* src/Request.cc
* src/RequestGroupMan.cc
* src/SelectEventPoll.cc
* src/SessionSerializer.cc
* src/SimpleLogFormatter.cc
* src/Sqlite3CookieParser.cc
* src/TrackerWatcherCommand.cc
* src/XML2SAXMetalinkProcessor.cc
* src/Xml2XmlRpcRequestProcessor.cc
* src/XmlRpcMethod.cc
* src/XmlRpcMethodImpl.cc
* src/XmlRpcResponse.cc
* src/base32.cc
* src/bencode2.cc
* src/bittorrent_helper.cc
* src/download_helper.cc
* src/main.cc
* src/messageDigest.cc
* src/option_processing.cc
* src/util.cc
* test/AnnounceListTest.cc
* test/BtRegistryTest.cc
* test/DHTBucketTest.cc
* test/DHTRoutingTableTest.cc
* test/DefaultBtAnnounceTest.cc
* test/FileEntryTest.cc
* test/FtpConnectionTest.cc
* test/MSEHandshakeTest.cc
* test/MagnetTest.cc
* test/XmlRpcMethodTest.cc
* test/array_funTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Use std::numeric_limits<time_t> instead of checking of
sizeof(time_t).
* src/NsCookieParser.cc
* src/Sqlite3CookieParser.cc
* src/cookie_helper.cc
* test/CookieHelperTest.cc
* test/CookieStorageTest.cc
* test/NsCookieParserTest.cc
|
| |
|
|
|
|
|
| |
Added testcase for File::mkdirs().
* test/FileTest.cc
|
| |
|
|
|
|
|
| |
Fixed compile error without sqlite3
* test/CookieStorageTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Retrieve last access time from sqlite3 cookie database.
* src/CookieStorage.cc
* src/Sqlite3CookieParser.cc
* src/Sqlite3CookieParser.h
* src/Sqlite3CookieParserImpl.cc
* test/Sqlite3CookieParserTest.cc
* test/chromium_cookies.sqlite
* test/cookies.sqlite
|
| |
|
|
|
|
|
|
| |
Rewritten util::split()
* src/util.h
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced util::split(a,b,c) and util::split(a,b) with
util::divide()
* src/ExpatMetalinkProcessor.cc
* src/FtpConnection.cc
* src/HttpHeader.cc
* src/HttpResponse.cc
* src/HttpServer.cc
* src/OptionParser.cc
* src/ParameterizedStringParser.cc
* src/ServerStatMan.cc
* src/magnet.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
|
|
| |
Added util::lowercase() and util::uppercase().
* src/cookie_helper.cc
* src/util.cc
* src/util.h
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
| |
Added test cases for util::parseUIntNoThrow() and
util::parseLLIntNoThrow().
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use util::strip() instead of util::trim()
* src/ExpatXmlRpcRequestProcessor.cc
* src/FeatureConfig.cc
* src/HttpHeader.cc
* src/MetalinkParserStateV3Impl.cc
* src/OptionHandlerImpl.h
* src/ServerStatMan.cc
* src/UriListParser.cc
* src/Xml2XmlRpcRequestProcessor.cc
* src/bittorrent_helper.cc
* src/cookie_helper.cc
* src/messageDigest.cc
* src/util.cc
* src/util.h
* test/FeatureConfigTest.cc
* test/HttpRequestTest.cc
* test/UriListParserTest.cc
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
|
| |
Added util::strip()
* src/util.cc
* src/util.h
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
| |
Added tests to HttpRequestTest about trailing slash of cookie
path.
* test/HttpRequestTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewritten Cookie class and Cookie parser based on
http://tools.ietf.org/html/draft-ietf-httpstate-cookie-14 with
some modifications. When parsing cookie date, match time first so
that it parses asctime() format. The request-path must be ends
with '/' so that request-path '/foo/' path-matches cookie-path
'/foo' and '/foo/' in the proposed algorithm.
* src/Cookie.cc
* src/Cookie.h
* src/CookieParser.cc: Removed
* src/CookieParser.h: Removed
* src/CookieStorage.cc
* src/CookieStorage.h
* src/HttpResponse.cc
* src/Makefile.am
* src/Makefile.in
* src/MultiUrlRequestInfo.cc
* src/NsCookieParser.cc
* src/NsCookieParser.h
* src/Sqlite3CookieParser.cc
* src/Sqlite3CookieParser.h
* src/a2functional.h
* src/cookie_helper.cc
* src/cookie_helper.h
* src/util.cc
* src/util.h
* test/CookieBoxFactoryTest.cc: Removed
* test/CookieHelperTest.cc
* test/CookieParserTest.cc: Removed
* test/CookieStorageTest.cc
* test/CookieTest.cc
* test/HttpRequestTest.cc
* test/Makefile.am
* test/Makefile.in
* test/NsCookieParserTest.cc
* test/Sqlite3CookieParserTest.cc
* test/TestUtil.cc
* test/TestUtil.h
* test/a2functionalTest.cc
* test/chromium_cookies.sqlite
* test/cookies.sqlite
* test/nscookietest.txt
|
| |
|
|
|
|
|
|
|
|
|
| |
Supported ANSI C's asctime() format in Time::parseHTTPDate().
Added Time::parseAsctime(). Changed order of application of parse
functions. I could not remember why parseRFC850() was tried first.
* src/TimeA2.cc
* src/TimeA2.h
* test/TimeTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use inet_ntoa if inet_ntop is not available. Since inet_ntoa does
not handle IPv6 address, IPv6 support is limited in this
case. Fixed unit test error under mingw32.
* configure.ac
* src/AsyncNameResolver.cc
* src/SocketCore.cc
* src/bittorrent_helper.cc
* test/BittorrentHelperTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTRoutingTableDeserializerTest.cc
* test/DHTRoutingTableSerializerTest.cc
* test/DefaultBtAnnounceTest.cc
* test/Metalink2RequestGroupTest.cc
* test/UTPexExtensionMessageTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Execute 5 DHT tasks concurrently in each task queue.
* src/DHTTaskExecutor.cc
* src/DHTTaskExecutor.h
* src/DHTTaskQueueImpl.cc
* src/DHTTaskQueueImpl.h
* src/Makefile.am
* test/DHTTaskExecutorTest.cc
* test/Makefile.am
* test/MockDHTTask.h
|
| |
|
|
|
|
|
|
|
|
|
| |
Rewritten util::escapePath(). Now it does not replace bad chars:it
performs percent-encode against them. util::fixTaintedBasename()
now replaces "/" with "%2F". Added 0x7f as bad chars in
util::detectDirTraversal().
* src/util.cc
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Non-UTF8 filenames are now percent-encoded. For example, filename
for http://example.org/%90%A2%8AE will be %90%A2%8AE because it is
Shift_JIS. The comments and name in .torrent file in XML-RPC
response are percent-encoded if they are not UTF-8.
* src/FtpNegotiationCommand.cc
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/util.cc
* src/util.h
* test/BittorrentHelperTest.cc
* test/UtilTest.cc
|
| |
|
|
|
|
|
|
|
|
| |
Renamed TripletGet as TupleGet. Renamed TripletNthType as
TupleNthType. Renamed Triplet2Pair as Tuple2Pair.
* src/RequestGroupMan.cc
* src/Triplet.h
* test/TripletTest.cc
|
| |
|
|
|
|
|
|
| |
Rewritten TripletNthType.
* src/Triplet.h
* test/TripletTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Sort usedHosts by least used and faster download speed.
* src/Makefile.am
* src/RequestGroupMan.cc
* src/Triplet.h
* test/Makefile.am
* test/TripletTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added keys parameter to aria2.tellStatus, aria2.tellActive,
aria2.tellWaiting and aria2.tellStopped XML-RPC method. 'keys' is
array of string. If it is specified, the response contains only
keys in 'keys' array. If 'keys' is empty or not specified, the
response contains all keys. This is useful when you just want
specific keys and avoid unnecessary transfers. For example,
*aria2.tellStatus*("1", ["gid", "status"]) returns 'gid' and
'status' key. Made get*Param() functions XmlRpcRequest's
methods and changed portions of the code that were affected by
this change.
* doc/aria2c.1.txt
* src/Makefile.am
* src/XmlRpcMethodImpl.cc
* src/XmlRpcMethodImpl.h
* src/XmlRpcRequest.cc
* src/XmlRpcRequest.h
* test/XmlRpcMethodTest.cc
|
| |
|
|
|
|
|
| |
Fixed compile error without zlib
* test/Makefile.am
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Removed ChunkedDecoder. Moved GZipDecodingStreamFilter to under
'if HAVE_LIBZ'.
* src/ChunkedDecoder.cc
* src/ChunkedDecoder.h
* src/Makefile.am
* test/ChunkedDecoderTest.cc
* test/Makefile.am
|
| |
|
|
|
|
|
| |
Added missing MockSegment.h to test/Makefile.am
* test/Makefile.am
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced V_TRUE with A2_V_TRUE. Replaced V_FALSE with A2_V_FALSE.
* src/AbstractCommand.cc
* src/HttpResponseCommand.cc
* src/Option.cc
* src/OptionHandlerFactory.cc
* src/OptionHandlerImpl.h
* src/TrackerWatcherCommand.cc
* src/download_helper.cc
* src/main.cc
* src/prefs.cc
* src/prefs.h
* test/AuthConfigFactoryTest.cc
* test/DefaultBtProgressInfoFileTest.cc
* test/DownloadHelperTest.cc
* test/HttpRequestTest.cc
* test/OptionHandlerTest.cc
* test/UTMetadataPostDownloadHandlerTest.cc
* test/XmlRpcMethodTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved URI parser code to uri.h, uri.cc to provide fast URI parser
without Request object initialization.
* src/Makefile.am
* src/Request.cc
* src/uri.cc
* src/uri.h
* test/Makefile.am
* test/RequestTest.cc
* test/UriTest.cc
|
| |
|
|
|
|
|
|
|
|
| |
Allow '@' in username and password embedded in URI. It should be
percent-encoded but many people use their mail address as an
username and forget about PE.
* src/Request.cc
* test/RequestTest.cc
|