commit 602a9d6ba3f8ee38c25448796ad51992f971da8c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-10

    Updated NEWS

commit 772588e727ce021ae4c1e2537581dafda9a11074
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-10

    Updated Russian, Hungarian and Chinese (Simplified)
    translation. Thanks to all translators.

commit 627754e681bedef0d6ba7b3bb925b9adfd14afbe
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-10

    Updated po templates.

commit 0ee2c1a65c0742d6fa05710c880c03d62ec3c474
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-10

    Updated for 1.10.9 release

commit 91a4f2d21068e24e4588a6fca49f5ebd9faa0ec0
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-10

    Bump up version number to 1.10.9.

commit 3e67079087577e8f3f4918c2c0822fc0420dc190
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-09
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Rewritten NAT check handling.
    
    We simplified PeerConnection::receiveHandshake().
    DefaultBtMessageReceiver and PeerReceiverHandshakeCommand look
    PeerConnection's buffer and do NAT check handling themselves.

commit 1818f2ed5537232316d8a9aa21d6fa6318c273a9
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Just preset IA to PeerConnection in receiver side.
    
    Since initiator cannot send payload stream before reading step2 from
    receiver, mseHandshake_->getBufferLength() should be 0.

commit 320ca4c5a1b42fc030eef42dc37c40ffcbd507e2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Throw exception if more than BtHandshakeMessage::MESSAGE_LENGTH is
    buffered when receiving handshake. Detect preset buffer without
    setting prevPeek_ = true.

commit e5c27034f31b48794382b695944abd77134d73a1
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Added assertion in shiftBuffer to check size.

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

    Use refreshInterval_ as timeout value of event polling.
    
    refreshInterval_ is now limited less than 1000ms.

commit 781a4220fc8c50cbf69743c5ddf527b3e69ddd96
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Bump up DHT version number to 3.

commit a2a91a2c74474b6d23be36c40ade755c8cb06723
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Shorten MAX_BUFFER_LENGTH of MSEHandshake.

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

    Drop connection if IA length > 68 (BtHandshakeMessage::MESSAGE_LENGTH).

commit acfb290eca6538aa0d1fb029fafceb2c1c2b7367
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    We don't need to call PeerConnection::sendPendingData() twice when
    sending piece message.

commit 3020087a75f301724ac24c3e8b8425221c759537
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Don't try legacy BitTorrent handshake when connection did not established.

commit ce2d401dce35b94c15120a4cac441a4614658e3d
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-09

    Eliminated SocketCore::peekData from MSEHandshake.

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

    Fixed the bug that making directory fails on Windows OS.
    
    On Windows, stat("C:/test/", ...) fails because of trailing "/".
    To handle "\" as path separator, "\" are replaced with "/"
    beforehand.

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

    Don't send announce_peer message with empty token in
    DHTPeerLookupTask. Replace old node ID with new node ID when response
    message is received in DHTAbstractNodeLookupTask.

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

    Drop old node from DHT routing table if node ID has changed.

commit 653951f70aeca5dac555efb623e2eaf6bbbca47f
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-07

    Drop connection if client and peer are both seeders.

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

    Added missing include.

commit 920583502e654e8ae3e47ecb8b5df515b2d072f2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2011-01-07
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2011-01-07

    Consider IP address and port when finding DHT node.

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

    Fixed the bug that peer is marked as seeder whenever it sends
    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.

commit e818f9c8a5b93791eeedeeb071bd0478ecad1205
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2010-12-19
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2010-12-19

    Use %lx for DWORD.
    
    GetLastError() returns DWORD, not C-String.
