commit 7679302965513a567ca021777d93916bbcd709b3
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-19

    Updated Russian translation. Thanks to all translators.

commit 46ac6c5df5662fa14cb6f47c449e1c1608948d15
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-18

    Updated po templates.

commit d8585fd6eb7511f1f6bca962f77518dfd0c981c8
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-18

    Updated doc

commit c1c3f2d77a1107fad8fb54ddc90c4c4c5b3af75f
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-18

    Return text/javascript as Content-Type if jsoncallback is given.

commit e0b42f2795ab37b21321e7b790578bef27dba109
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-18

    Updated doc for 1.11.0 release

commit 3d2fa5954e91a9e8aa1561a21ac7750e5717c3ad
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-18

    Rewritten SocketBuffer::BufEntry and SocketBuffer::send()

commit 18d51a3e209feea71313bfdfbd89ff5c502ab6b8
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-17

    Removed logging RPC request.

commit 46eced8ada6b497d3d6ac0e5f83ea117c9d58554
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-17

    Fixed compile error and unit test error without SSL library.

commit 821dbbff1f68980751a56956c89c998e0fbafb5a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-17

    Fixed compile error with --disable-bittorrent

commit 6e818a06dc9d716a7d925349c85dda2a3c07b429
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-17

    Replaced gid_t with a2_gid_t cause gid_t is commonly used as group ID.

commit 09c120da9b50cd5355336966eaeafc7296efecd8
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-17

    Updated gettext to 0.18

commit e00b5dcf1ba2174ddd918f4633ce5cf3a401b90d
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-17

    Bump up version number to 1.11.0

commit fbbd7d993e35b53decafb478ff4cd98eff897c36
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-17

    Updated bash_completion

commit b9a37f48cf21dba83359525d9f20f77aa88e4f11
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Updated doc.

commit 73572712d81e83f98bafcfcbd9be50f3297b5feb
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Use .meta4 instead of .metalink as suffix when saving metalink XML
    uploaded by RPC.

commit 4f3542a931afbff99105919cdb0eca6c9177b6be
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Documented error code 30.

commit 5f58e5ac339e31d579a6118575febd96e4b15c2c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Updated README

commit 69316358cf1db18e71402dee5077df2071fbe889
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Renamed XML-RPC Interface section as RPC Interface. Documented
    JSON-RPC.

commit 046bee87a2eb60d4e864da2227ca581282fdd955
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Code cleanup

commit 15730aa560f9fb39afd528c86fa9b50f8cbadf1c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Fixed the bug that JSONP callback function name is not encoded
    properly.

commit dfdf98d2f7d969f0295d940e7101befd2dbaf7a3
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Fixed segmentation fault when JSON-RPC request cannot be parsed or is
    invalid.

commit f999c2bcaeb0e3b5dea6cb9a7d8fb52fb54be1e5
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Added test for JSON-RPC GET request without params parameter.

commit bb9ad97c5c2263b4ccdecca661bef026438e8c5d
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Allow empty params in GET request.

commit da0ab67324ad0bd7fa3defde1ddb8d266fba3674
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-16

    Delegate jsonRpc_ to child method in system.multicall.

commit e874a5c56a23494b6b7b593c49c9bd21ba98d412
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-14

    Updated man page according to the changes in RPC related options.

commit 3ddb68f34077159a1ee4ae87d663971a0f21fb1b
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-14

    Deprecated --enable-xml-rpc and --xml-rpc-* option. Introduced
    --enable-rpc and --rpc-* option instead.
    
    --enable-xml-rpc and --xml-rpc-* option can be used but warning
    message will be shown. The help tag #xml-rpc was replaced with #rpc.

commit f0cfbb21c1c0e68aef0de8e2380ac744be832d13
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-14

    Renamed classes in abstract layer of RPC service from XmlRpc* to Rpc*.
    
    Now JSON-RPC is available by default regardless of XML library.
    XML-RPC becomes available when XML library is available.

commit 5a1fb3875fdb27076e71a87e35359aad0aba108c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-14

    Added XmlRpcResponseTest. Set null as id if id is not sent.
    
    Removed unused XmlRpcResponse::toJsonBatch(). Set default value false
    to gzip argument of xmlrpc::toJsonBatch().

commit bf01bb84b6b96fe2cba529f588e29a9038c0daf6
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-14

    Added JSONP support. Callback query parameter is "jsoncallback".

commit feb4e2e53a368baa64dffd5e2182204548fe86d5
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-14

    Hide operator<<(char c);

commit b46e7a953b3123aa44ab265eee17378574f8d76e
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-14

    encodeJsonAll: Fixed stream error when gzip=true.

commit 8a9fa9a692e15396285cd0a4d993eb7882ae6898
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-10

    Added JSON-RPC 2.0 batch call.

commit bc7ac15d7e71b83c501b6863111f9cafa7f83028
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-10

    Fixed error message in json::decode()

commit 7338a2503547ae1310d018d0fc2903fb85b309ea
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-03-09
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-03-09

    Added initial JSON-RPC support.
    
    JSON-RPC is enabled using --enable-xml-rpc. We are implementing
    JSON-RPC based on JSON-RPC 2.0 draft spec.

commit d541b350d21cd7747479f21b7c4b6d363248a450
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-26
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-26

    Set DEFAULT_REFRESH_INTERVAL 1000 to update console readout more
    smoothly.

commit 59f251ba14edbe984453004efe0788dca62d8dd3
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-25
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-25

    Fixed rounding error in DownloadEngine::run().
    
    This fixes the bug that executeCommand() with Command::STATUS_ALL is
    not called in every interval correctly because of rounding error in
    timer.

commit f8f651e8db8e3814297d85d0a86a1aca47d9f010
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-25
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-25

    Refresh buckets at DHT initialization without checking serialized
    time.
    
    Checking serialized time does not work if you stop aria2 as soon as it
    started DHT. The serialized time in dht.dat will be updated, but
    buckets are not updated and still old. When you restart aria2 again,
    it does not refresh buckets because serialized time is recent.

commit 655b59e350c830993f5e353ba7766ed46ab13e8b
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-25
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-25

    Retry get_peers if connection is low.
    
    To eliminate unresponsive node, we have to contact them 5
    times. Therefore the maximum number of retry is 10. It is very
    annoying when it takes some time to get first peer, so retry quickly
    (5 seconds delay).

commit f16aef227dc50ac7883e4e8e362aa274e0bee4e7
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-19
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-19

    Fixed compile error with c-ares 1.7.0

commit b21cce00021e6f46de4daa27e204a70cc36a9040
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-18

    Use pkg-config for libcares. Dropped c-ares pre-1.5 support.

commit bf74f8f0092a69c234075fa9f441fa58682e13a2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-18

    Renamed libz.m4 as zlib.m4

commit 395212f47f5ce74edb7ca9b31df72b201423b3f3
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-18

    Replaced HAVE_LIBSSL with HAVE_OPENSSL

commit 7230fbd2f780023b269fc940a286cd064fbe98b2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-18

    Replaced HAVE_LIBZ with HAVE_ZLIB

commit 5b62fa9ab1d8baff8400fd49c79218659edecb71
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-18

    Use PKG_CONFIG_PATH along with PKG_CHECK_MODULES in openssl.m4 and libz.m4.
    
    Replaced LIBZ_LIB and LIBZ_CPPFLAGS with ZLIB_LIB and ZLIB_CFLAGS
    respectively.

commit 3f125dce2184e12c0f626f9acaaf4130f7eb4a74
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-18

    Use LIBS and CPPFLAGS instead of substituting them individually per
    library.

commit d3d1293974485ea3ff8ee69737ee0b0996f93149
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-18

    Check the availability of ares_set_servers and ares_addr_node.

commit 838601329688156a6b29fd201e57f885bf53a5e1
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-16

    Updated doc about recent change for aria2.addTorrent and
    aria2.addMetalink XML-RPC method.

commit 1698b2c7b1b6b474425842e57f89a33a68442e04
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-16

    Save downloads added by aria2.addTorrent or aria2.addMetalink in
    --save-session file.
    
    Uploaded data are saved as file named hex string of sha1 hash of
    uploaded data plus extension(".torrent" for torrent and ".metalink"
    for metalink). For example,
    0a3893293e27ac0490424c06de4d09242215f0a6.torrent. The directory where
    these files are saved is specified by --dir option. These file paths
    are written in --save-session file.

commit a21fb350a0ad354bd2a63f609295d16394e383eb
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-14

    Fixed the bug that causes segmentation fault when unpause RequestGroup
    which has resolved BtDependency.

commit eb6a81127920688113bfbf1355f0039e1ab31e48
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-12
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-12

    Look for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH to
    get user's home directory in MinGW32 build.
    
    Usually HOME environment variable is defined in *nix like OSes, but
    not in Windows. So in MinGW32 build, if HOME is not defined, we also
    look for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH.

commit 22a6ec6a15fc3e0657fe3b10de692bb066964c91
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-11
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-12

    Fixed the bug that DownloadContext::basePath_ is not
    escaped. Percent-encode non UTF-8 strings in torrent file and Magnet
    URI.

commit 7f21099ee70a3588d22c27866c7363d6fe672bd3
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-09
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-09

    Documented that aria2 accepts ftp:// and https:// scheme in proxy URI.

commit 1a9d3b77119e0da66007ec111f0d4b987c585123
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-09
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-09

    Added Date, Expires and Cache-Control response header field to XML-RPC response headers.

commit ffce1848cae817b6120db432d236daa12eacd266
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-08

    Don't retry peer lookup.
    
    We can handle shortage of peer by short interval.

commit aa4232ca8bc1e632e9bae020188a7521348cf970
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-08

    Use rp instead of res.

commit 4c2a9eb715c86995c813f9268ebd829f770765f6
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-08

    Documented --async-dns-server option in man page.

commit 297858280ba996b4e59a388e07766d547f10e3b9
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-08

    Moved PREF_ASYNC_DNS_SERVER to the next to PREF_ASYNC_DNS.

commit f0682a98c0c22a9ef1a47e54d19244c9b4b9d208
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-08

    Added --async-dns-server option.
    
    This option accepts comma separated list of DNS server address used in
    asynchronous DNS resolver. Usually asynchronous DNS resolver reads DNS
    server addresses from /etc/resolv.conf. When this option is used, it
    uses DNS servers specified in this option instead of ones in
    /etc/resolv.conf. You can specify both IPv4 and IPv6 address. This
    option is useful when the system does not have /etc/resolv.conf and
    user does not have the permission to create it.

commit cf546810e464e0e53bfe5c6f710f768a5fafcf68
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-08

    Don't call DownloadEngine::markBadIPAddress() when DNS query was timeout.

commit af4e47329b9049ac3f3b392f74c36499a2d4ada5
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-08

    Call calculateStatistics() after global::wallclock.reset().
    
    Inside calculateStatistics(), global::wallclock is used and if
    calculateStatistics() is called after waitData(), it may use quite old
    global::wallclock value.

commit 3574f6bd7d773f75ae41fa69ea539325c54b525e
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-07

    Accept https:// and ftp:// in proxy options and environment variables.

commit 954d595ee86f8d8d78be994733e10ec3b24c2afb
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-07

    Code cleanup

commit 97fde60f3e9a0e3f2a28bcdccf6e003ac7c04740
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-07

    Added upper limit of the number of peer added by each addPeer(vector) call.

commit 656f8cf9013b2668d3a8682bb2ba9f092d9a9732
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-07

    Don't calculate maxPeerListSize based on --bt-max-peers.
    
    Always use MAX_PEER_LIST_SIZE by default.

commit 6c44f6b8ebb17ad93f91b8ffad18f4b0ee13670c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-07

    Removed unused member variable peers_.

commit 8eb1de9ef817ea7134a5bf922e64e217fa9993ff
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-07

    Get peers from DHT more frequently when the size of peer list is 0.

commit 2666bc8170a5d7866acbe3112fdf6a426ef73255
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-05
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-05

    Renamed MessageDigestHelper as message_digest_helper
    
    Static member variables in MessageDigestHelper class are now functions
    under message_digest namespace.

commit 38202a5565703659ae599dd23f5d63e2bb99a355
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-05
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-05

    Renamed MetalinkHelper as metalink_helper.
    
    Static member functions in MetalinkHelper class is now functions under
    metalink namespace.

commit 2373c6220585b153d09eecc65973cadd50229a72
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-02-05
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-02-05

    Moved some static member variables which are not exposed as public to unnamed namespace.

commit 8902c2a8399f1f2234e9598697de2f91d6c4295e
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-31
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-31

    Rewritten DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >&)

commit 27974108f059d2e4ac2767c304fdbd8358caad07
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-30
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-30

    Fixed overflow in the calculation of progress percentage for file
    allocation and hash check when off_t is 32bit.

commit be1e168082f0c8ad5c94e53f34574a4964ebe306
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-29
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-29

    Updated usage of --conditional-get option.

commit 1b9329c67c3fdacba048b529a6ad4245b8cefb0c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-29
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-29

    Accept HTTP 304 reply as success when If-None-Match request-header
    field is specified using --header option.
    
    When --conditional-get is used, --allow-overwrite is now required to
    overwrite existing file.

commit 7a6ec762ef44376d209ab20275dd78d468d7af3e
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-29
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-29

    Added cast to time_t.

commit 2ba2511dd5b9fd41f6d9b5672408fbcc56a6a5a2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-29
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-29

    Check presence of ar.
    
    This change allows configure to find appropriate ar at cross compile.

commit b49a558c4ef5ac4e45923ca36b5d950a896d255d
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-27

    Fixed compile error on 32bit systems.

commit 43dd3861a5f3894b5249a55dbef47a91fe126f4a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-20
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-20

    Updated copyright year.

commit fe40876546a49768c28d3854fadc071ea2129f11
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-20
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-20

    Added aria2.removeDownloadResult XML-RPC method.
    
    The method signature is aria2.removeDownloadResult(gid).  This method
    removes completed/error/removed download denoted by gid from
    memory. This method returns "OK" for success.

commit 1ea01e84b22b0a5a8a3553e131ca0cd03203b8bc
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-20
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-20

    Use IP address of data connection to connect to the remote server in
    passive mode.

commit 1d71626bea62f10e723609e32dce46fb86179749
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-20
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-20

    Supported multi-line HTTP header field value.
    
    See http://tools.ietf.org/html/rfc2616#section-4.2

commit 7a857e1913339c915aa103a00a7b3f4be19016e3
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-19
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-19

    Updated bash_completion to include --retry-wait option.

commit 2873953f30dc6101a3a38797e514522d9d9e6456
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-18
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-18

    Changed the default value of --retry-wait to 0 for backward
    compatibility.
    
    Also updated usage doc.

commit 426e57a1809625123383c8768455e0d32ee3c23d
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-17

    Don't check permission of .netrc file in MinGW32 build.

commit 6644501db7a8dc33be5ad3e8c2c817d8129d097f
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-17

    Fixed bug that --retry-wait option does not work in aria2rpc.

commit 21e4e15e835f6fe154c3f4162f25cbd9d9af9fab
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-17

    Documented --retry-wait option.

commit 79ccd42eaf25880afcc6795594c48193d2705b2a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-17

    Added --retry-wait option to aria2rpc

commit b0ed9b3bd10026c72fd53e9f5846dd5dabeebfa7
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-17

    Added retry-wait option to -i list options.

commit f2a63fa06a931333ac2e4a3a5d36a56418b4b6cd
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-17

    Added --retry-wait option.
    
    This option was once existed in aria2 but erased on 2009-09-20.  Now
    it is resurrected once again.  We choose 2 as default value, but there
    is no good theory behind it.  Now we retry HTTP download when remote
    server returns 503 Service Unavailable if --retry-wait > 0. We also
    added error code 29: HTTP_SERVICE_UNAVAILABLE.

commit 4824b09237e049ac7d912cdaa4a8a041eedd5dab
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Reverted comment which was removed unintentionally. Moved 2
    DownloadEngine related lines outside of #ifdef ENABLE_MESSAGE_DIGEST.

commit 90d94953d7cb8226708d4b13de58ff0059345aa2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Don't show metadata download and paused download in "Download Results".

commit 9fe35495fd9e58ce0afe72ad2b5150a2eb0347b5
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Fixed doc

commit 2c3187451f027aabe22324dd0159c8066348b4bc
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Don't pool connection if the command has multiple segments.
    
    This means it did HTTP pipelined request. If this response is for the
    first request, then successive response may arrived to the socket.

commit 97d0b71dd49fff4932085a206d2e3e8fe658788f
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Don't use SocketCore::isReadable() repeatedly.
    
    We can know whether data is available by inspecting 2nd argument of
    SocketCore::readData() because we use non-blocking I/O.

commit 63fe7874daa45ad32475b2e9f04087ecb7621347
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Handle the situation when remote server returns Connection: close
    after several pipelined requests.
    
    We call Request::setMaxPipelinedRequest(1) if Connection: close is
    received. Also call Request::supportsPersistentConnection(true) and
    Request::setMaxPipelinedRequest(1) when closing the connection.

commit b2f27e6548ec5f13a0f5776612cb512cb0d30d4e
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Check !SocketRecvBuffer::bufferEmpty() in ctor.
    
    Also treat !SocketRecvBuffer::bufferEmpty() as data is available.

commit e60181d1ad73ef2ca873d8d2ba0e13a932f0751a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Removed SocketCore::peekData()

commit 629099d40d1d6675772aa1082ff0b9b27e9c522c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Eliminated SocketCore::peekData() from HttpServer.

commit d030dd5a3f025434291558673cdad64ab3c9bbbc
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Code cleanup

commit ea1b4b3ee533146763245ecbbb4a31e3ed791498
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-16

    Eliminated SocketCore::peekData() form HTTP/FTP downloads.
    
    We introduced SocketRecvBuffer which buffers received bytes. Since
    HTTP response header and response body are divided with \r\n, we have
    to buffer up several bytes to find this delimiter. We use
    SocketRecvBuffer to hold these bytes and only consumes header and
    passes SocketRecvBuffer, which may contain head of response body, to
    next Command.  Since FTPConnection doesn't use SocketCore::peekData(),
    we left it as is.
