commit 04caefa406d2041993eacd1b279b99f79585704d
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-14
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-14

    Fix test failure with --enable-libaria2

commit 4b6f4040acf73ff840ba9d54ddb35ff9772bf90e
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-13
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-13

    Update bash_completion

commit d624e0a7bddbb86ec1fba913364ff6fefd0885e6
Merge: b1e4752 f1de5ba
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-13
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-13

    Merge branch 'patch-1' of https://github.com/ITriskTI/aria2 into ITriskTI-patch-1

commit f1de5bac081868a083ebd4497cb6d0936f9b6151
Author:     ITriskTI <ITriskTI@gmail.com>
AuthorDate: 2014-07-12
Commit:     ITriskTI <ITriskTI@gmail.com>
CommitDate: 2014-07-12

    Update aria2c.rst

commit b1e475264b9dd1eff1c6c33f3d410b51dd4949d5
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-12
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-12

    Bump up version number to 1.18.6

commit 7fbd8a50ef96b704d756e2b79699dbed07d1450a
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-12
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-12

    Fix compile error and warning with clang

commit 3aaa5a7344ef631998df9a9c2bd6cf4fbca11ac8
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-12
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-12

    Fix file length information in RPC response when length > 2GB is unknown
    
    This commit fixes the bug that aria2.tellStopped RPC method returns
    total length and completedLength as 0 when file size is unknown in
    advance and turns out > 2GB in the end.  This commit and addresses the
    performance degradation in this case.

commit 620be59b1e04670fed73f0a914065f7df2ec3535
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-11
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-11

    Update pre built distribution READMEs

commit 93a5a00f955b91ba317e0581e626ddeb5e3d6ee8
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-11
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-11

    Update NEWS

commit 84bd18b9a12d284ee0f0a354fff97ba53caec0a8
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-07-11
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-07-11

    Merge crypto_* from upstream
    
    Revert "Fix typo"
    This reverts commit 4dfd8b884775737f85783976958f4e976b65a5fb.
    Revert "MinGW: Fix compiler warning with -Wstrict-aliasing"
    This reverts commit 897f0e87f4bd69bf6703a12feb326aeba53b0dcd.

commit 1da3af8869517f729d269ee87c1c0870de38f864
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-07-11
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-07-11

    makerelease-osx: Enable lto for selected libraries and aria2

commit 864cbbd3cdddc77471493b14e09f3044b1b0e235
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-07-08
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-07-11

    makerelease-osx: Explìcit make

commit 76b6526125a9b54133f7ba8ba8276a0faea4b734
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-07-08
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-07-11

    makerelease-osx: Update Sqlite3

commit efa268d49344bbdedc288b69a9e399470cb414e3
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-07-08
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-07-11

    makerelease-osx: Do not use implicit variables for CC/CXX

commit 897f0e87f4bd69bf6703a12feb326aeba53b0dcd
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-10

    MinGW: Fix compiler warning with -Wstrict-aliasing
    
    The error message is:
    
    warning: dereferencing type-punned pointer will break strict-aliasing
    rules [-Wstrict-aliasing]

commit 4dfd8b884775737f85783976958f4e976b65a5fb
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-10

    Fix typo

commit 852f2fb99a490157d23f15602e1be939cd7cc9b8
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-10
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-10

    MinGW: Fix compiler warning about winsock2.h and windows.h
    
    This commit fixes following compiler warning with mingw compiler:
    
    In file included from common.h:63:0,
                     from util_security.h:42,
                     from util_security.cc:36:
    /usr/share/mingw-w64/include/winsock2.h:15:2: warning: #warning
     Please include winsock2.h before windows.h [-Wcpp]
     #warning Please include winsock2.h before windows.h

commit e55b543b64316951cc7a6567b06cfd9ab82624a6
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-09
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-09

    Change bug report address to github issues

commit a3426821c8a7f9cf8d80a81726157d4eb844f661
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-01
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-02

    MultiDiskAdaptor: Handle short read

commit 8750d7be99be5b59aef460e1e70519986ba50564
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-07-01
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-07-02

    Disard cache when checking checksum
    
    This will slow down checksum checking but does not thrash cache.

commit 0b6501043a88dedd3936dce4b10bacd96e63909b
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-07-01
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-07-01

    Compat with libuv 0.11 (Unstable)
    
    Fixes #241

commit 0c8a2659ea8c52f0e91f0eec28c3250c54a6460a
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-06-10
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-06-24

    Drop WinMessageDigestImpl.
    
    The algorithms the `CryptProv` on Windows supports does not currently
    include SHA-224, so there is a "dark spot" in this implementation. Also
    on Win XP < SP3, most of the SHA-2 family is not actually supported.
    All other implementation provide support for MD5, SHA-1 and all of the
    SHA-2 family, hence drop the incomplete WinMessageDigest implementation
    in favor of any other supported implementation (at least the internal
    implementation is always available at compile-time).

commit 85876699954e64e2a19b137d71d9434caa9d6514
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-06-10
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-06-24

    Fix big endianess support in InternalMessageDigest and PBKDF2
    
    - Replace sha1/md5 implementation by ones from https://github.com/nmaier/crypto
    - Add endianess functionality fro https://github.com/nmaier/crypto
    
    Closes GH-239

commit 60032bf0abc7a8cbb83e649d5cb5cebe803f7f94
Merge: 06a8bf6 bb3f3ba
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-22
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-22

    Merge pull request #242 from ORiON-/master
    
    typo fix.

commit bb3f3bafd5beaaa7dcf9dc2f9811f1fa68970dcd
Author:     ORiON- <ORiON.1337@gmail.com>
AuthorDate: 2014-06-21
Commit:     ORiON- <ORiON.1337@gmail.com>
CommitDate: 2014-06-21

    typo fix.
    
    added missing space.

commit 06a8bf6e0ad44821724440cd5d779db1094b2507
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-21
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-21

    Pause download only when RPC is enabled

commit 4b9b1784f1387d4ca8df497e5d39aa50adad11fd
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-21
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-21

    Document --pause-metadata option in man page

commit e2932608fc4960977691b09ec8a696044c6a0371
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-21
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-21

    Add --pause-metadata option
    
    This option pauses downloads created as a result of metadata
    download. There are 3 types of metadata downloads in aria2: (1)
    downloading .torrent file. (2) downloading torrent metadata using
    magnet link. (3) downloading metalink file.  These metadata downloads
    will generate downloads using their metadata. This option pauses these
    subsequent downloads.

commit 2b02fac2d5f677dc6d099f550fd94fe8dac18bb2
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-06-10

    Improve compiler/platform/libs information in logs
    
    Add and use usedCompilerAndPlatform().  This adds compiler information to
    INFO logs and the --version output, and may be helpful when trying to
    diagnose/reproduce user-reported problems.
    
    Also make INFO logs include usedLibs() output.
    
    Closes #235

commit 570bc24fb98d72d1bce9261fdc29139224ec86ec
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-08

    Fix use-after-free on exit with multi-file torrent download + DHT
    
    DefaultPieceStorage may be referenced by one of DHT task (e.g.,
    DHTPeerLookupTask), after RequestGroup was deleted, and even after
    RequestGroupMan was deleted.  DefaultPieceStorage has a reference to
    MultiDiskAdaptor which calls RequestGroupMan object on destruction.
    So when DHT task is destroyed, DefaultPieceStorage is destroyed, which
    in turn destroys MultiDiskAdaptor.  DHT task is destroyed after
    RequestGroupMan was destroyed, MultiDiskAdaptor will use now freed
    RequestGroupMan object, this is use-after-free.

commit 442e460055fdf045cc70c87fac9f0dd481ad55e2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-08

    Fix bug that zero length file is not opened when flushing cache
    
    This bug was only seen when MultiDiskAdaptor was used.

commit e2ff45f32686b9844ccd84d53b1f081fa9896596
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-06
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-06

    AnnounceList, AnnounceTier: Code cleanup using C++11 features

commit aff92b5115e322574f885cdd32f65c745cc343c1
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-05
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-05

    SocketRecvBuffer: Cleanup with C++11 features

commit 0aac49d55e80a5cab4001ca39d81295c713c47a5
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-05
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-05

    Update README.android

commit 0ee8104953ddce66a0bc9d48e17242c8cf04aca7
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-05
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-05

    Small code cleanup for SocketBuffer

commit c0e4381780ae05969aea56a1a11f598f5edce3d8
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-04
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-04

    util::parseIntSegments: Return SegList<int>

commit 007b890fe4d61f3f2cf26dce9f466b3b0fc709d2
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-04
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-04

    bittorrent::computeFastSet: Return std::vector

commit d1d5ea5b21c1a94b09bbca807ccb0ef6162b6a85
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-04
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-04

    DownloadContext, FileEntry: Use move semantics to path parameter in ctor

commit 9b54272190a333f83fb6c7f66875341627e21a70
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-04
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-04

    FileEntry::getUris: Return std::vector<std::string>

commit 4f3c526dcdf5fce74dd12be1c882f6c47d1829ec
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-04
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-04

    Support PREF_DIR change for Metalink files
    
    Reworked previous commit adeead6f0396e2f8551d1182972e277728fd6c8b, and
    now support changing PREF_DIR for Metalink downloads.

commit adeead6f0396e2f8551d1182972e277728fd6c8b
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-03
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-03

    Revert to existing "proper" coding style
    
    The rule is simple: don't try to change the coding style of the
    existing codebase.

commit 83f4bced07909fb553c11c860816aa6db3de9615
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-06-03
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-06-03

    Fix assertion failure when dir option of paused HTTP/FTP download is changed
    
    When the directory is changed via aria2.changeOption RPC method, we
    directly change first FileEntry's path using FileEntry::setPath().  If
    there is no PREF_OUT option is given, basically file name is unknown,
    so we just set empty string and let the next run determine the correct
    file name and new directory is applied there.  But previous code does
    not reset length property of FileEntry, so the unexpected code path is
    taken when unpaused and its path expects path is not empty string.
    This commit fixes this issue by setting length to 0 using
    FileEntry::setLength().

commit b1a8df4cd9bcc50c6e67796910175a8dd3029808
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-31
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-31

    Disable PBKDF2 load test
    
    Closes #236

commit 631f37433a8fda03eb057e9f01e2811111c60d5e
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-05-31
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-05-31

    Save session only when there is change since the last serialization
    
    This is a slight optimization not to cause useless disk access.  This
    only applies to saving session automatically (see
    --save-session-interval).  aria2.saveSession and serialization at the
    end of the session are always performed as before.
    
    When serialization, we first check that whether there is any change
    since the last serialization.  To do this, we first calculate hash
    value of serialized content without writing into file.  Then compare
    this value to the value of last serialization.  If they do not match,
    perform serialization.

commit 998fba3264c1e896a249f140cb6060cc35c7d6bc
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-05-31
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-05-31

    Revert "Save session only when there is change since the last serialization"
    
    This reverts commit 1944d8db58555c08b5f069a2e987fcfdd5aad997.

commit 1944d8db58555c08b5f069a2e987fcfdd5aad997
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-05-30
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-05-30

    Save session only when there is change since the last serialization
    
    This is a slight optimization not to cause useless disk access.  This
    only applies to saving session automatically (see
    --save-session-interval).  aria2.saveSession and serialization at the
    end of the session are always performed as before.

commit 8ada3283f284cde4b2c3ab06bda0882fdf9ee91c
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-05-30
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-05-30

    Fix comment for conditional

commit 1528a0a054f8ee7c3267150e0bc0d956821e4bc6
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-30
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-30

    Damn typos (when RST2HTML)

commit c4d91b2299a5f621cb53509425b637accab986cc
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-30
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-30

    Fix build without rst2html and without existing README.html
    
    Fixes regression from #221

commit d2e38aab3626d3564f24b7ec1aacb54a4e1f086c
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Use _setmode to set binary mode in mingw
    
    The _CRT_fmode stuff was never working correctly anyway, and is entirely
    unsupported in mingw-w64 these days, it seems.

commit 3c55400d233edf42ffa3dde1fbf636c5b7c5c439
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-28
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Silence deprecation warning about daemon() on OSX

commit b9fe4119c0f7165669e87cb1423efb030eb96c4d
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-28
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    New round of clang-modernize

commit c8ccb434288dff750ff7a8d22d0551043b1eb1e5
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Consistent style in util_security

commit 77f0f1395c1076eedabe6e5661f7b8f3e5166d60
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Consistent style in the platform TLS implementations

commit 8cada4976504da98a45fd68bcc461cab92eff9a0
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Cleanup AbstractCommand take 2
    
    Decided to keep the 'if(' -> 'if (' stuff, as I formatted the whole file
    and so it is internally consistent within the file. Also, too much
    hassle.

commit e57d330111ddc338323ce6ad462724f373b50478
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Cleanup HttpHeaderProcessor take 2
    
    Decided to keep the 'if(' -> 'if (' stuff, as I formatted the whole file
    and so it is internally consistent within the file. Also, too much
    hassle.

commit 48ec56a64dc6e0ca7a66681bb617d7d0c7e0e991
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Revert "Cleanup HttpHeaderProcessor::parse"
    
    This reverts commit 047b49b7a02f14c714360efd1f7fe20c33f5850d.

commit 6240345fd5ed90f2293bf401473ba02c94475d23
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-29
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-29

    Revert "Cleanup AbstractCommand"
    
    This reverts commit 0465aa54557e802156d1df0661c29d2aadb5541d.

commit 0465aa54557e802156d1df0661c29d2aadb5541d
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-27

    Cleanup AbstractCommand
    
    In my quest to explore the code and understand it, why not clean it up
    in the progress. Most formatting provided by clang-format. ;)
    Aside from formatting, also extracted some method and unnested some
    control structs.

commit 6e546245e4ecf2b084cdb78afff20c0e7492dd9a
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-27

    Sort and cleanup src/Makefile.am

commit 047b49b7a02f14c714360efd1f7fe20c33f5850d
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-27

    Cleanup HttpHeaderProcessor::parse

commit d72df551baa21002d325b4af7252a24efb6336c7
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-27

    Document setUri() in FileEntry does not need to check the return value.

commit 15cb9e12b277cc66c148d4380752379d58fb70b7
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-27

    Remove unused variable in LibgcryptMessageDigestImpl

commit fd8dc921fe682c2339ad23c83fd456e430fcbf3c
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-27

    Initialize DownloadEngine::tokenAverageDuration_ to something.

commit f8db60e54e59a4e2e0a4e258ab5ba2c88ba4dfa9
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-26
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-26

    OSX: Use F_NOCACHE instead of F_GLOBAL_NOCACHE
    
    The latter persists for the lifetime of the file, while the former
    affects only the current descriptor.

commit dd8e4b0ad0ddf3e6ca80f6ef3c0fb73c06843fb9
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-26
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-26

    Remove spurious CXX11_OVERRIDE to make cov-build happy.

commit a82f08765e9be6f65ae5338dc27611fd9d7c715f
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-24
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-25

    Fix (unknown length) downloads larger than 2GiB
    
    Closes #215

commit 64b1fefb78ed8a44bf26d7937c1b23f211b8df52
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-23
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-23

    Add missing include in util_security.h
    
    Fixes #231

commit f7cc24d6cfc4835154a948ad727b5f22e7c7c377
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-22
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-22

    Internally use HMAC in http auth
    
    To at least get constant time compare.
    Also fix incorrect parsing of the creds (were incorrectly stripped).
    Also add unit tests.

commit d02ee723bd58840ffdc514f1037af06bf6c30510
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-19
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-20

    Improve aria2.rst and usage texts a bit.
    
    (Keep in mind that I'm not a native speaker either)
    - Fix some typos.
    - Fix some grammar stuff.
    - Clarify some things.
    - Add a new paragraph or two...

commit 17f03e8f294d36e1bfedd62a5394ad22625fe355
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-19
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-20

    Fix some typos in README.rst

commit 855dfa0e2f8ca7869d28d2afc21fed2e3790549a
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-17
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-20

    Authorize RPC multicalls only once.
    
    Cache the auth status afterwards and just assume the token still matches
    (within the same request, of course).

commit 88b61f2eb97faa5fad1a0dd882ef1d1ade48c8df
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-17
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-20

    Adjust RPC token processing time
    
    Make it consume a bit less time.

commit bb50de13361af26d58e8afef45cb7a003b7ef940
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-17
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-20

    Improve write cache failures error reporting

commit fd3348cc88f65f0a9ba51de5011880de0fd7463d
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-19
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-20

    Use -pipe when GCC

commit 5c07f0109e6f84691a6ce25bd3cdd0e4c08c9648
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-05-08
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-08

    Fix F_PREALLOC based allocation on some OSX versions

commit 1dd7409c4e83082e15d0c7d5966435e231c000dd
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-22
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-08

    Fix unused function warning about generateRandomDataUrandom in mingw-w64

commit a0f275a9f196a4867be9bbc969912084629957d6
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-22
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-05-08

    Remove unused function getWin32Handle

commit f60e55cece6eeee5357b68557ba8ddd4f8051b74
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-05-08
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-05-08

    Use index.html as filename for conditional-get when file is missing in URI
    
    Previously we disabled conditional-get if file part is missing in URI.
    But we use constant string "index.html" in this case, so we can do the
    same to determine the modification time.  In this patch, if we have
    file part in URI, we are not going to set absolute file path in
    FileEntry, since it prevents content-disposition from working.

commit 84f1a15e10e7d6a916cc872cb84d0a4384d61c47
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-05-01
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-05-01

    Check negative number from Integer::i() where it is not allowed

commit 4c2ad69a75ca83076fa3072225a0677d04908463
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-04-30
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-04-30

    Ignore negative metadata size in extended handshake

commit 6c3a33d9586dc9b7a51ea93dcef94ec88f01164c
Merge: 6020756 82dad90
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-04-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-04-27

    Merge branch 'master' of github.com:tatsuhiro-t/aria2

commit 6020756d2e3d9a9c310139639aaed4c2149c9201
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-04-27
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-04-27

    Always add README.html to dist_doc_DATA
    
    rst2html is required to produce README.html from README.rst.  We
    include generated README.html to distribution.  And rst2html is not
    required when compiling sources in distribution and always README.html
    is available.

commit 82dad90ff3fe1438ce5d578dcf50bc82e5c96e9b
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-19
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-19

    Validate token using PBKDF2-HMAC-SHA1.
    
    This change should make token validation more resilient to:
     - timing attacks (constant time array compare)
     - brute-force/dictionary attacks (PBKDF2)
    
     Closes #220

commit 98ba096951247b7e2119afe6ba4e4ddd7d4a4485
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-19
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-19

    Add util::security (compare, HMAC, PBKDF2)
    
    See #220

commit 37a84182b740fde50b481e8aeef7e331266d94c4
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-18
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-18

    makerelease-osx: Do not build universal by default

commit cd204ff525759b2b6a2a645fb9aaba62424b8733
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-17
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-17

    Add --disable-websocket

commit 010131161ebdea22e5b6eb4fd0740e8e6da3df67
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-17
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-17

    Remove ENABLE_MESSAGE_DIGEST, since we got the internal md, always

commit befd799d177c2860ea4e9c6cf8c744342c394427
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-14
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-17

    configure: Do not check for nettle/gcrypt when appletls or wintls

commit 67aa993ca94f6647d4b0acb7a3112bd486ff09f9
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-04-17
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-04-17

    Enable wintls by default and remove its experimental status

commit 83691981e3a2d93a35e8e80b80e1175891799082
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-04-15
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-04-15

    mingw32: Enable wintls and compile with GMP
    
    By enabling wintls, we can use Windows certificate store to validate
    server's certificate.  Previously, we built windows build using
    openssl and since we don't bundle CA certificates, aria2 fails to
    validate server's certificate unless user setups their CA
    certificates.  GMP provides fast big integer calculations, whic is
    used in BitTorrent encryption.

commit e4135ca669c94acbc1a8ad8ef673aaa4d9cfd993
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    Fix typo: BitTorr(r)ent

commit aa02545fbaa4a2d2a8e341d0776636059a3000ef
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    Use mpz_pown_sec where available

commit ead6685b1825938222e39a5f65fcdb0c35497ced
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    Warn (or error with explicit --with-libgmp) if gmp is not actually found

commit b223bbf3081ff87c1fe9bb479666c9a4ff4ce375
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    makerelease-osx: GMP --enable-fat

commit 7e4644927f6ff8601bbca750201d1a6df299c089
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    makerelease-osx: Explicitly put arch include and lib into flags.
    
    For libgmp

commit c694a0579778bf49bd9b039ed93f203cdacef2ab
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-12
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    Fix some warnings

commit 18c35f56b82640652d615891da7858f51720e872
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-12
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    AppleTLS: Enable BEAST mitigations in ST
    
    Only available in 10.9+, but since we might be building on a previous
    version but running on 10.9+, always try to set the option.

commit e195dc5f009da11c3b9c46506909b241073c71b4
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-12
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    AppleTLS: Update cipher suites
    
    Also make the suite selection more sane.

commit 39d66bd560055780f2f76ec2a672733275dc7411
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    WinTLS: Improve error reporting

commit 51beb4bfa7014c3107f9f3326128f1f6e20770d7
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    WinTLS: Move some defines out of the header

commit 219fd5b4b7c371a19b05f5178a4989c8079499a9
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    WinTLS: Make ca-file rejection a warning

commit 8d55e305612cb4b6b934e53eef340dfed6a3d78d
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-13
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    WinTLS: Use SCH_USE_STRONG_CRYPTO
    
    See: #217

commit 0a51b8d172d3b51f8ff74f5410d936667aca4de2
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-12
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-13

    WinTLS: Accept chains with no revocation information.
    
    This is kind what browser do anyway (IE, Firefox, Chrome tested), what
    AppleTLS does, what GnuTLS does and what OpenSSL does. Actually, most
    browsers will also be OK with the CRL/OCSP provider being offline.
    WinTLS will still fail in that case.
    
    Should revocation information be available in the trust chain (CRL or
    OCSP) the certificate still will be checked!
    
    "Real" CAs, aka. those provided by the OS or system CA bundle, usually
    provide revocation information and are thus still checked.
    It should be mostly (only?) custom (organization) CAs that lack
    revocation information, but those users might want to use aria2 in their
    intranets and VPNs anyway ;)
    
    See #217

commit 13a202df070dd58bb930549c62627dcd97b02b86
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-04-12
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-12

    Fix GnuTLS 2.x compatiblity
    
    Closes GH-216

commit 2d9bf0f3744d2987f138f550794314bc3eef216b
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-03-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-12

    AppleTLS: Use newer, non-deprecated API in 10.8+

commit 7600886d3d96be1f6f88dfc79a72c960f6d4934c
Author:     Nils Maier <maierman@web.de>
AuthorDate: 2014-03-27
Commit:     Nils Maier <maierman@web.de>
CommitDate: 2014-04-12

    Implement falloc equivalent in OSX

commit a95674aef3a0c7caeb65d43d59a4b585d86589ed
Author:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
AuthorDate: 2014-04-09
Commit:     Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
CommitDate: 2014-04-09

    Update doc
