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

    Updated bash_completion

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

    Updated Chinese (Simplified), Ukrainian and Brazilian Portuguese
    translation. Thanks to all translators.

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

    Small updates.

commit 2176066c087214bfbbc52c5ef6466855ad77b875
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-31
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-31

    Documented Metalink/HTTP in README.asciidoc

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

    Make --metalink-location option available with --disable-metalink

commit bd3956293995bcbbb76e6c8686b4ac8dfd3c9ed4
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-31
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-31

    Updated NEWS for 1.12.1 release.

commit afdbda8f105d2c096fb054b82f8a390fe20437dc
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-30
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-30

    Initialize libgcrypt.
    
    We relied initialization of libgcrypt on gnutls_global_init(), but
    recent change in gnutls, which changes default crypto backend from
    libgcrypt to libnettle, leaves libgcrypt uninitialized if it uses
    libnettle as backend(and this is likely because libnettle is chosen by
    default). To fix this issue, we simply initialize libgcrypt on our
    own.

commit 70eeebfae9049ecd0f4c26a2d7bde8822895c14b
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-29
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-29

    Retry DHT get_peers task if the number of peers in PeerStorage is less
    than max peers.
    
    Added virtual size_t countPeer() const to PeerStorage.

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

    Throw exception with error message if gnutls_global_init() failed.

commit 932c258755a439daacc222fea124b0c921a9eb1a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-28
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-28

    Added log message when checksum validation failed.

commit 4ea28cb8377bc7b4654e6ae0216db6a7425d12c9
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-27

    Don't send basic auth header to service operated on differenct port.
    
    When --http-auth-challenge=true, aria2 only sends basic auth header
    when requested. Old implementation sends basic auth header to service
    operated in different port in successive request. This change avoid
    this bug.

commit 02292feaba560e379acec7f7477a0c50c679d0dc
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-27

    Consistent naming scheme for hash type and digest for Piece.

commit 03f0774482075c9777ad5733e7e285d792a76360
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-27

    Consistent naming scheme for hash type and digest for DownloadContext.

commit 7b86b294c97fbe3eba66b5b994a689598fa0879b
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-27

    Consistent naming scheme for hash type and digest.

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

    Use HttpHeader::getIterator() instead of HttpHeader::get()

commit c536e460aa893b20d0ff4d85b2e99b7f9e563d81
Merge: 3b9a751 a533437
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-27

    Merge branch 'rfc6249'

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

    Implemented Metalink/HTTP in HTTP download.
    
    Link header fields from first Metalink server is utilized as described
    in rfc6249. We only set digest from Digest header field to
    DownloadContext only when PieceStorage is not initialized(in other
    words, before file size is known). After PieceStorage is initialized,
    Digest header field is used to check the value is the same in digest
    in DownloadContext.  Current implementation only handles
    rel=duplicate.

commit 67e91c3431a4c89a76093e33cd121f89f5550fb7
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-27

    HttpResponse::getDigest() now returns all Digest.
    
    In addition, HttpResponse::getMetalinkHttpEntries() does not check
    validity of URI. It is checked when we add it to FileEntry.

commit 7c317de4e74a73e8ce55585f69bba6d4db5e6899
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-26
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-26

    Added Metalink/HTTP Link and Digest header field parser.

commit 9ff60ac47706c97035f9949754b7723af2887b7a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-26
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-26

    Added struct for Metalink/HTTP

commit 3b9a75175729d8534e6c08763e182e3d5e89de12
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-25
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-25

    Lowcase PREF_METALINK_LOCATION before split.

commit 5a4a627d722b2b03bd37dfc416a3271bd6500093
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-25
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-25

    Remove Metalink content-type after first server response.
    
    We don't accept Metalink content-type after first server response.

commit 9fc4384c133d961df67471ef96d80629c5b6a71a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-24
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-24

    Updated Russian translation of aria2 man page.
    
    Thanks to ITriskTI for translation.

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

    Bump up version number to 1.12.1

commit a6b7ef5f0764e07b54bd638ba0ee73dc7ff83e6f
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-22
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-22

    Eliminated static variable from LpdReceiveMessageCommand.
    
    BtRegistry now holds LpdMessageReceiver.

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

    Fixed the bug due to dangling pointers in RequestGroup.
    
    RequestGroup holds a poitner to btRuntime_ and peerStorage_. After
    removing them from BtRegistry, we failed to set 0 to them.  When
    program access them, it goes undefined world, such as random crash.
    We found this bug when pasuing download and valgrind warned memory
    corruption.

commit c58f736bb91f55fb68151c5c7d977911f993b1ab
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-21
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-21

    BtRegistry now holds BitTorrent TCP server port.
    
    Because BitTorrent TCP server port is global configuration, it is not
    preferable that per download resource BtRuntime holds it.  We also
    refactored and eliminated ugly static variable in PeerListenCommand.
    If TCP port is necessary, we inject it to them directly.

commit f0cd83f809ea679ab035f5827dba93a3ee25c59b
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-21
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-21

    Added log message to clarify error for BitTorrent server socket.

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

    Loosen the condition where maxOutstandingRequest_ is increased.

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

    Set UB_MAX_OUTSTANDING_REQUEST 256

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

    Removed --enable-direct-io option.
    
    Added #deprecated and #help help tag.

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

    Set NO_DEFAULT_VALUE as the default value of --enable-direct-io.

commit 0eda667605b8e6b932a8a13cd9cd0e2a3c03dbe3
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-16

    Added #deprecated help tag.

commit 493342826124d5a69d77edb328a271005a4dd3d6
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-16

    Removed ENABLE_DIRECT_IO macro.

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

    Deprecated --enable-direct-io option.
    
    Modified DeprecatedOptionHandler so that it can have replacing
    OptionHandler.

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

    Removed deprecated options.
    
    Removed --enable-xml-rpc, --xml-rpc-listen-all, --xml-rpc-listen-port,
    --xml-rpc-max-request-size, --xml-rpc-user, --xml-rpc-passwd.

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

    Removed use of O_DIRECT because it performs bad.

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

    Managed user cuid in Piece.
    
    Previous implementation does not store information which Command cuid
    uses which Piece.  Mark Piece acquired by SegmentMan by setting
    Piece::setUsedBySegment(true).

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

    Define SHUT_WR as SD_SEND for MinGW32

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

    Increased max # of in-flight request in BitTorrent.

commit 44c379eaa88d5b2489fbb83d04fff0992d6f83b1
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-16
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-16

    Do nothing if block has already acquired.
    
    This happens in end-game mode.

commit ee1223210d3524ba61be43f437c0d85c6f36d2fc
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-13
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-13

    Added --log option to aria2rpc

commit 5703835784f2d6e4258956777a5072084853bdcb
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-07-06
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-07-06

    Use GNUTLS_SHUT_WR instead of GNUTLS_SHUT_RDWR
    
    We don't read the response from peer about this.

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

    Call shutdown() with SHUT_WR before close to avoid TCP RST.
