Added bittorrent key to the response of tellStatus XML-RPC method.
The associated value of the key is a struct and contains data
retrieved from .torrent file, such as name, announce-list,
comment, etc.
* doc/aria2c.1.txt
* src/XmlRpcMethodImpl.cc
* src/XmlRpcMethodImpl.h
* test/XmlRpcMethodTest.cc
Fixed the bug that cookie for domain a.b.c is not sent to the host
a.b.c if no other cookies are stored. Fixed the bug that
Cookie::markOriginServerOnly() is not called when cookies are
loaded from file/sqlite3 database.
* src/Cookie.h
* src/CookieStorage.cc
* src/NsCookieParser.cc
* src/Sqlite3MozCookieParser.cc
* test/CookieStorageTest.cc
* test/NsCookieParserTest.cc
* test/Sqlite3MozCookieParserTest.cc
* test/cookies.sqlite
* test/nscookietest.txt
Removed RequestGroup::initSegmentMan(). Guaranteed that either
both _pieceStorage and _segmentMan are initialized or they are
not.
* src/RequestGroup.cc
* src/RequestGroup.h
* test/BtDependencyTest.cc
Fixed the bug that causes segmentaiton fault when aria2 sees '404
not found' in the N times(N is where --max-file-not-found=N, N>0)
in a row without single '200 OK' response.
* src/RequestGroup.cc.
Added dir and files key to the response struct of aria2.tellStatus
XML-RPC method. The value associated with files key is the list
of files. Its element is the same struct used in aria2.getFiles
XML-RPC method. Added uris key to the response struct of
aria2.getFiles XML-RPC method. The value associated with uris key
is the list of URIs. Its element is the same struct used in
aria2.getUris XML-RPC method.
* doc/aria2c.1.txt
* src/XmlRpcMethodImpl.cc
* test/XmlRpcMethodTest.cc
Added aria2.getSessionInfo XML-RPC method. This method returns a
struct containing Session ID, which is generated each time when
aria2 is invoked.
* doc/aria2c.1.txt
* doc/xmlrpc/aria2rpc
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/XmlRpcMethodFactory.cc
* src/XmlRpcMethodImpl.cc
* src/XmlRpcMethodImpl.h
* test/XmlRpcMethodTest.cc
Now offset argument in aria2.tellWaiting and aria2.tellStopped
accepts a negative integer. 'offset' == -1 points last download
in the waiting queue and 'offset' == -2 points the download before
the last download, and so on. The downloads in the response are in
reversed order.
* doc/aria2c.1.txt
* src/XmlRpcMethodImpl.cc
* src/XmlRpcMethodImpl.h
* test/XmlRpcMethodTest.cc
Added --human-readable option. This option, when true is given,
prints sizes and speed in human readable format(e.g., 1.2Ki,
3.4Mi) in the console readout. The default value is true and it
looks exactly the same as aria2-1.8.0. So the 'new feature'
appears when false is given. In this case, sizes and speed are
printed without in bytes. No Ki, Mi units conversion is used.
This may be useful for a program to parse the output of aria2.
* doc/aria2c.1.txt
* src/ConsoleStatCalc.cc
* src/ConsoleStatCalc.h
* src/OptionHandlerFactory.cc
* src/main.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
Now --all-proxy, --http-proxy, --https-proxy and --ftp-proxy
option accepts empty string "". When "" is given, it erases
previously defined proxy.
* doc/aria2c.1.txt
* src/OptionHandlerImpl.h
* src/usage_text.h
* test/OptionHandlerTest.cc
Added --bt-metadata-only option. If true is given to this option,
aria2 downloads metadata only. The file(s) described in metadata
will not be downloaded. This option has effect only when
BitTorrent Magnet URI is used. See also --bt-save-metadata option.
* doc/aria2c.1.txt
* src/OptionHandlerFactory.cc
* src/UTMetadataPostDownloadHandler.cc
* src/download_helper.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
Fixed memory leak. Commands stored in std::deque<Command*> are not
deleted when exception is thrown. Make sure that when passing
std::deque<Command*> to function to store Commands, handle
exception and delete these Commands.
* src/AbstractCommand.cc
* src/CheckIntegrityCommand.cc
* src/FileAllocationCommand.cc
* src/RequestGroup.cc
* src/TrackerWatcherCommand.cc