)]}'
{
  "log": [
    {
      "commit": "615210a03ecf36e1c55ffb7101d53e5c231c2f43",
      "tree": "16b5d6fca3409c8f658df11a55cd1067c1b59035",
      "parents": [
        "323aa08f01489dd3ab0aa11eca16f58ab13a8ff0"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Fri Mar 17 17:05:01 2017 -0700"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Fri Mar 17 17:05:17 2017 -0700"
      },
      "message": "openssl: compatibility with BoringSSL\n\nChange-Id: Ic5a2bacf9e8756c24f78b4d59a50cfec460ba5f2\n"
    },
    {
      "commit": "323aa08f01489dd3ab0aa11eca16f58ab13a8ff0",
      "tree": "502b8f6f9ed8f3507b772061da81fea8aa0284c6",
      "parents": [
        "20a545d37d0da1148a0582a3789bdb374ed51f80"
      ],
      "author": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 22:29:14 2017 +0100"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 22:29:14 2017 +0100"
      },
      "message": "tests/openssh_server/authorized_keys: add key_rsa_encrypted.pub\n"
    },
    {
      "commit": "20a545d37d0da1148a0582a3789bdb374ed51f80",
      "tree": "e22d61f727b18ed56a428de39ca67305f483f3d1",
      "parents": [
        "aefc5db56a23de1167af06d3b361c056ace3198a"
      ],
      "author": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 00:34:06 2017 +0100"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 00:51:37 2017 +0100"
      },
      "message": "tests: add simple test for passphrase-protected PEM file support\n"
    },
    {
      "commit": "aefc5db56a23de1167af06d3b361c056ace3198a",
      "tree": "0093b1e65d624c8c6c08cf8b2e1bcc7183feb74f",
      "parents": [
        "fe963dfd3a9e5b091f0142ccad779ed45bda8db4"
      ],
      "author": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 00:15:31 2017 +0100"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 00:15:31 2017 +0100"
      },
      "message": "os400qc3: enable passphrase-protected PEM file support using pem.c\n"
    },
    {
      "commit": "fe963dfd3a9e5b091f0142ccad779ed45bda8db4",
      "tree": "cb9975c2904069aefc9c93dfcec2a30d2b070894",
      "parents": [
        "386e012292a96fcf0dc6861588397845df0aba2c"
      ],
      "author": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 00:14:36 2017 +0100"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 00:14:36 2017 +0100"
      },
      "message": "pem: fix indentation and replace assert after 386e012292\n"
    },
    {
      "commit": "386e012292a96fcf0dc6861588397845df0aba2c",
      "tree": "d85398ae63359eaf88687f06ec6a736b56f20902",
      "parents": [
        "674299c346e4028068db22defb47ba631f0af51a"
      ],
      "author": {
        "name": "Keno Fischer",
        "email": "kfischer@college.harvard.edu",
        "time": "Wed Jul 20 18:49:21 2016 -0400"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Thu Mar 02 00:12:06 2017 +0100"
      },
      "message": "pem: add passphrase-protected PEM file support for libgcrypt and wincng\n\nSince they use our own PEM parser which did not support encrypted\nPEM files, trying to use such files on these backends failed.\nFix that by augmenting the PEM parser to support encrypted PEM files.\n"
    },
    {
      "commit": "674299c346e4028068db22defb47ba631f0af51a",
      "tree": "0960bbefcceb4d6276a0c6e528b9ff8dee455dcd",
      "parents": [
        "2de14f8f9ac6bb48c0ec596fd501bcec11cedbfc"
      ],
      "author": {
        "name": "Thomas",
        "email": "madwizard-thomas@users.noreply.github.com",
        "time": "Mon Feb 13 10:02:25 2017 +0100"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Wed Mar 01 23:09:33 2017 +0100"
      },
      "message": "misc: use time constant implementation for AES CTR increment\n"
    },
    {
      "commit": "2de14f8f9ac6bb48c0ec596fd501bcec11cedbfc",
      "tree": "bef0d3602748661128184ff9bc703b4436841c9d",
      "parents": [
        "e378d2e30a40bd9bcee06dc3a4250f269098e200"
      ],
      "author": {
        "name": "Thomas",
        "email": "madwizard-thomas@users.noreply.github.com",
        "time": "Wed Feb 08 18:09:58 2017 +0100"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Wed Mar 01 23:09:16 2017 +0100"
      },
      "message": "wincng: add AES CTR mode support (aes128-ctr, aes192-ctr, aes256-ctr)\n"
    },
    {
      "commit": "e378d2e30a40bd9bcee06dc3a4250f269098e200",
      "tree": "f6ae3cea7f1bf0c9bb75976fba90447fe4acf912",
      "parents": [
        "b3f9557f520802ee022cea47c024d08fd481eaca"
      ],
      "author": {
        "name": "Thomas",
        "email": "madwizard-thomas@users.noreply.github.com",
        "time": "Fri Feb 10 20:39:01 2017 +0100"
      },
      "committer": {
        "name": "Marc Hoersken",
        "email": "info@marc-hoersken.de",
        "time": "Wed Mar 01 23:00:32 2017 +0100"
      },
      "message": "openssl: move shared AES-CTR code into misc\n"
    },
    {
      "commit": "b3f9557f520802ee022cea47c024d08fd481eaca",
      "tree": "07266dc2e624087506e9d307f82480ed83d866ee",
      "parents": [
        "f7daf3185a4e889fcd5272858db97764a279da1e"
      ],
      "author": {
        "name": "Alex Crichton",
        "email": "alex@alexcrichton.com",
        "time": "Tue Dec 20 12:42:47 2016 -0800"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Dec 20 23:34:43 2016 +0100"
      },
      "message": "kex: acknowledge error code from libssh2_dh_key_pair()\n\nFixes a segfault using ssh-agent on Windows\n\nThis commit fixes a segfault seen dereferencing a null pointer on\nWindows when using ssh-agent. The problem ended up being that errors\nweren\u0027t being communicated all the way through, causing null pointers to\nbe used when functions should have bailed out sooner.\n\nThe `_libssh2_dh_key_pair` function for WinCNG was modified to propagate\nerrors, and then the two callsites in kex.c of\n`diffie_hellman_sha{1,256}` were updated to recognize this error and\nbail out.\n\nFixes #162\nCloses #163\n"
    },
    {
      "commit": "f7daf3185a4e889fcd5272858db97764a279da1e",
      "tree": "6d6764264e4116b141648c4f85548a133c5b74c5",
      "parents": [
        "5abceec5719dddfa9252aa4b5da1acb81392b386"
      ],
      "author": {
        "name": "monnerat",
        "email": "monnerat@users.noreply.github.com",
        "time": "Sun Nov 27 19:39:00 2016 +0100"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sun Nov 27 18:39:00 2016 +0000"
      },
      "message": "Implement Diffie-Hellman computations in crypto backends. (#149)\n\nNot all backends feature the low level API needed to compute a Diffie-Hellman\r\nsecret, but some of them directly implement Diffie-Hellman support with opaque\r\nprivate data. The later approach is now generalized and backends are\r\nresponsible for all Diffie Hellman computations.\r\nAs a side effect, procedures/macros _libssh2_bn_rand and _libssh2_bn_mod_exp\r\nare no longer needed outside the backends."
    },
    {
      "commit": "5abceec5719dddfa9252aa4b5da1acb81392b386",
      "tree": "2ff44b15ea5d327e164196d96af8f8932b335875",
      "parents": [
        "ab8f0bc0bf3d2d14580ca98805b8ed9ac3bc8bcb"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:32:39 2016 +0100"
      },
      "committer": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:32:39 2016 +0100"
      },
      "message": "acinclude.m4: The mbedtls crypto backend actually requires libmbedcrypto\n\nExamples can\u0027t be linked with libmbedtls but need libmbedcrypto, and\nany users of libssh2 which use libtool and libssh2.la would encounter\nthe same problem.\n\nThis changes the mbedtls detection to search for libmbedcrypto, which\nis the actual dependency for the backend.\n"
    },
    {
      "commit": "ab8f0bc0bf3d2d14580ca98805b8ed9ac3bc8bcb",
      "tree": "ae48d005133e6a0368dff927ff03ed042402fd72",
      "parents": [
        "5621a97e38b8a98c4777f22c67519cc0a7344561"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:25:16 2016 +0100"
      },
      "committer": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:25:16 2016 +0100"
      },
      "message": "acinclude.m4: Add CPPFLAGS\u003d-I$prefix-dir/include in LIBSSH2_LIB_HAVE_LINKFLAGS\n\nThis is absolutely neccessary for header files to be found when\nAC_LIB_HAVE_LINKFLAGS searches for libraries.\n"
    },
    {
      "commit": "5621a97e38b8a98c4777f22c67519cc0a7344561",
      "tree": "b1dc5dbf6701464bdb423d8252f02aca62e5b700",
      "parents": [
        "ddb0c658565af312a9f81fbd891ddd9b847e031a"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:23:53 2016 +0100"
      },
      "committer": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:23:53 2016 +0100"
      },
      "message": "acinclude.m4: Make saved variables in LIBSSH2_LIB_HAVE_LINKFLAGS uniform\n"
    },
    {
      "commit": "ddb0c658565af312a9f81fbd891ddd9b847e031a",
      "tree": "415da69dff7fddc5fcca3d7b1f42be40770a07b8",
      "parents": [
        "8dc9f4c1566dc2812a358c44244420365e155f5f"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:20:02 2016 +0100"
      },
      "committer": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Nov 16 22:20:02 2016 +0100"
      },
      "message": "docs/HACKING.CRYPTO: Improve documentation for autoconf build system\n"
    },
    {
      "commit": "8dc9f4c1566dc2812a358c44244420365e155f5f",
      "tree": "a432ad9cc2a8e64a02b93f6a49130dc1c344eb0c",
      "parents": [
        "028a0ba4ed435070beba153f643292d3cea2d88c"
      ],
      "author": {
        "name": "Alex Arslan",
        "email": "ararslan@comcast.net",
        "time": "Wed Nov 16 00:45:38 2016 -0800"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Wed Nov 16 08:45:38 2016 +0000"
      },
      "message": "Check for netinet/in.h in the tests cmake file (#148)\n\n"
    },
    {
      "commit": "028a0ba4ed435070beba153f643292d3cea2d88c",
      "tree": "d16ec56faeb2601a1a5a0d8197c4c6aaf94ebfe1",
      "parents": [
        "c8c1b4a050e14479d4435cb3fd37b6a8ee8d549e"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick@monnerat.net",
        "time": "Sun Nov 13 08:48:49 2016 +0100"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sun Nov 13 18:14:50 2016 +0000"
      },
      "message": "Define new Diffie-Hellman context for mbedTLS\n"
    },
    {
      "commit": "c8c1b4a050e14479d4435cb3fd37b6a8ee8d549e",
      "tree": "12bd00b6d321110218f1d53978c94a894c00713f",
      "parents": [
        "c81b2384ac66f85b823763805902860e23ce0bc1"
      ],
      "author": {
        "name": "monnerat",
        "email": "monnerat@users.noreply.github.com",
        "time": "Sat Nov 12 19:15:49 2016 +0100"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 12 18:15:49 2016 +0000"
      },
      "message": "Make libssh2 work again on os400. (#118)\n\n* os400: minimum supported OS version is now V6R1.\r\nDo not log compiler informational messages.\r\n\r\n* Implement crypto backend specific Diffie-Hellman computation.\r\n\r\nThis feature is now needed on os400 because the QC3 library does not\r\nimplement bn_mod_exp() natively. Up to now, this function was emulated using\r\nan RSA encryption, but commits ca5222ea819cc5ed797860070b4c6c1aeeb28420 and\r\n7934c9ce2a029c43e3642a492d3b9e494d1542be (CVE-2016-0787) broke the emulation\r\nbecause QC3 only supports RSA exponents up to 512 bits.\r\n\r\nHappily, QC3 supports a native API for Diffie-Hellman computation, with\r\nopaque random value: this commit implements the use of this API and, as a\r\nside effect, enables support of this feature for any other crypto backend that\r\nwould use it.\r\n\r\nA \"generic\" Diffie-Hellman computation internal API supports crypto backends\r\nnot implementing their own: this generic API uses the same functions as before.\r\n\r\n* Fix typos in docs/HACKING.CRYPTO.\r\n"
    },
    {
      "commit": "c81b2384ac66f85b823763805902860e23ce0bc1",
      "tree": "5ddd2e0fd6b26a2d0af433e835fe7bb7bad4d704",
      "parents": [
        "e70e71a3b18b43064b03e460a645dac152c9122c"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Fri Nov 11 00:15:46 2016 +0100"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 12 10:46:06 2016 +0000"
      },
      "message": "acinclude.m4: Fixup OpenSSL EVP_aes_128_ctr() detection\n"
    },
    {
      "commit": "e70e71a3b18b43064b03e460a645dac152c9122c",
      "tree": "643167839f12f39174a38c8096176fa837f173ce",
      "parents": [
        "e83bbc48abcc77c3128e304df6de27a4621ed3b7"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Fri Oct 28 03:41:50 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 12 10:46:06 2016 +0000"
      },
      "message": "configure.ac: Add --with-crypto\u003d instead of many different --with-$backend\n\nThe new --with-crypto option replaces the previous backend-specific\n--with-{openssl,libgcrypt,mbedtls,wincng} options and fixes some issues.\n\n* libgcrypt or mbedtls would previously be used whenever found, even\n  if configure was passed --without-libgcrypt or --without-mbedtls.\n\n* If --with-$backend was specified then configure would not fail even\n  if that library could not be found, and would instead use whichever\n  crypto library was found first.\n\nThe new option defaults to `auto`, which makes configure check for all\nsupported crypto libraries in turn, choosing the first one found, or\nexiting with an error if none can be found.\n"
    },
    {
      "commit": "e83bbc48abcc77c3128e304df6de27a4621ed3b7",
      "tree": "7c17f84f4fc1e2e81a448317a7bbdd9f73915d95",
      "parents": [
        "a68356418d503c0546bd475fb4e363954add1c84"
      ],
      "author": {
        "name": "Tony Kelman",
        "email": "tony@kelman.net",
        "time": "Sat Nov 12 02:41:48 2016 -0800"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 12 10:41:48 2016 +0000"
      },
      "message": "Build mbedtls from source on Travis (#133)\n\n* Revert \"Revert \"travis: Test mbedtls too\"\"\r\n\r\nThis reverts commit c4c60eac5ca756333034b07dd9e0b97741493ed3.\r\n\r\n* travis: Build mbedtls from source on Travis\r\n\r\nUse TOOLCHAIN_OPTION when calling cmake on mbedtls\r\n\r\n* tests: only run DSA tests for non-mbedtls\r\n\r\ncrypto backends\r\n"
    },
    {
      "commit": "a68356418d503c0546bd475fb4e363954add1c84",
      "tree": "2625b7730f501ed53d5be72b7a4e107f4abe3b9e",
      "parents": [
        "6b0a09bc114af8892b443665d77e13c1f1236e20"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Fri Oct 28 03:22:01 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 05 22:18:04 2016 +0000"
      },
      "message": "configure.ac src/Makefile.am: Remove dead AM_CONDITIONAL(OS400QC3)\n\nAccording to os400/README400 this backend can not be built\nwith configure+make, and the conditional is hard coded to false.\n"
    },
    {
      "commit": "6b0a09bc114af8892b443665d77e13c1f1236e20",
      "tree": "ab0be99b7e857f5c1756bb4a5271e05a9b57ba5f",
      "parents": [
        "b3636eaad5e46e999914e264cdbfaf4092bfe513"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Oct 26 18:17:57 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 05 22:18:04 2016 +0000"
      },
      "message": "configure.ac: Add -DNDEBUG to CPPFLAGS in non-debug builds\n\nThere are a few uses of assert() in channel.c, sftp.c and transport.c.\n"
    },
    {
      "commit": "b3636eaad5e46e999914e264cdbfaf4092bfe513",
      "tree": "7bfdabde3b5e5f698bb547c994e3cd3a8556af28",
      "parents": [
        "3806115d3d8dc678f3ae602853be03c1928dd21f"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Oct 26 15:28:52 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 05 22:18:04 2016 +0000"
      },
      "message": "src/global.c: Fix conditional AES-CTR support\n\nMost of libssh2 already has conditional support for AES-CTR according to\nthe LIBSSH2_AES_CTR crypto backend #define, but global.c needed fixing.\n"
    },
    {
      "commit": "3806115d3d8dc678f3ae602853be03c1928dd21f",
      "tree": "0beb8094b6b22d32bc628c710330c0d8ff67b9e3",
      "parents": [
        "8a7232be6108245bf4b49dba4b74d4a063bdf8bc"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Oct 26 15:24:06 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 05 22:18:04 2016 +0000"
      },
      "message": "src/crypto.h src/userauth.c: Fix conditional RSA support\n\nMost of libssh2 already has conditional support for RSA according to\nthe LIBSSH2_RSA crypto backend #define, but crypto.h and userauth.c\nneeded a few small fixes.\n"
    },
    {
      "commit": "8a7232be6108245bf4b49dba4b74d4a063bdf8bc",
      "tree": "aa5e54c9771c74d84847270ff83b1ed6bab33c96",
      "parents": [
        "ef60f292d219fe6339b9ea46fc2e5cad203094dc"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Oct 26 15:16:31 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 05 22:17:02 2016 +0000"
      },
      "message": "src/kex.c: Cast libssh2_sha{1,256}_update data arguments properly\n\nThe update functions take a const unsigned char * but were called\nwith (const) char * in some places, causing unneccessary warnings.\n"
    },
    {
      "commit": "ef60f292d219fe6339b9ea46fc2e5cad203094dc",
      "tree": "3102bdc592f401e7c4a7a20801dc4e55a8da272a",
      "parents": [
        "ced924b78a40126606797ef57a74066eb3b4b83f"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Wed Oct 26 15:04:29 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sat Nov 05 22:17:02 2016 +0000"
      },
      "message": "docs/HACKING.CRYPTO: Fix two type typos\n"
    },
    {
      "commit": "ced924b78a40126606797ef57a74066eb3b4b83f",
      "tree": "39edc0db606b9bd3a583b0ef32914751d2319d60",
      "parents": [
        "1d8db1d854e58c913976c9207a7925675a9f4f74"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "siarheit@google.com",
        "time": "Mon Oct 31 09:04:33 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 21:58:07 2016 +0000"
      },
      "message": "acinclude.m4: fix ./configure --with-libgcrypt\n\nThe change fixes passing of bogus gcrypt prefix.\nReproducible as:\n\n    $ ./configure --with-libgcrypt\n    $ make V\u003d1\n    ...\n    /bin/sh ../libtool  --tag\u003dCC   --mode\u003dlink gcc  -g -O2 -Iyes/include -version-info 1:1:0 -no-undefined -export-symbols-regex \u0027^libssh2_.*\u0027 -lgcrypt  -lz -Lyes/lib -o libssh2.la -rpath /usr/local/lib channel.lo comp.lo crypt.lo hostkey.lo kex.lo mac.lo misc.lo packet.lo publickey.lo scp.lo session.lo sftp.lo userauth.lo transport.lo version.lo knownhost.lo agent.lo libgcrypt.lo pem.lo keepalive.lo global.lo   -lgcrypt\n    ../libtool: line 7475: cd: yes/lib: No such file or directory\n    libtool:   error: cannot determine absolute directory name of \u0027yes/lib\u0027\n\nThese\n    -Iyes/include\n    -Lyes/lib\ncome from libgcrypt code autodetection:\n  if test -n \"$use_libgcrypt\" \u0026\u0026 test \"$use_libgcrypt\" !\u003d \"no\"; then\n     LDFLAGS\u003d\"$LDFLAGS -L$use_libgcrypt/lib\"\n     CFLAGS\u003d\"$CFLAGS -I$use_libgcrypt/include\"\n\nI assume it\u0027s a typo to use yes/no flag as a prefix and changed\nit to \u0027$with_libgcrypt_prefix\u0027.\n\nReported-by: Mikhail Pukhlikov \u003ccynede@gentoo.org\u003e\nSigned-off-by: Sergei Trofimovich \u003csiarheit@google.com\u003e\n"
    },
    {
      "commit": "1d8db1d854e58c913976c9207a7925675a9f4f74",
      "tree": "bc0793154363d94372b1c4ac516db876984f93a9",
      "parents": [
        "18fd7a089483faf0c32accb598fb79116e3edf4e"
      ],
      "author": {
        "name": "Zenju",
        "email": "zenju@gmx.de",
        "time": "Wed Aug 31 00:45:52 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 21:50:24 2016 +0000"
      },
      "message": "libssh2_sftp_init hang: last error not set\n\nThe problem is that the original if statement simply returns NULL, but does not set the session last error code. The consequence is that libssh2_sftp_init() also returns NULL and libssh2_session_last_errno(sshSession) \u003d\u003d LIBSSH2_ERROR_NONE.\r\n\r\nIn my test the LIBSSH2_ERROR_EAGAIN is coming from sftp.c row 337:\r\n            if(4 !\u003d sftp-\u003epartial_size_len)\r\n                /* we got a short read for the length part */\r\n                return LIBSSH2_ERROR_EAGAIN;\r\n\r\nwith \"partial_size_len \u003d\u003d 0\". Not sure if this is expected."
    },
    {
      "commit": "18fd7a089483faf0c32accb598fb79116e3edf4e",
      "tree": "4267ff6550f1479ea768b10d3ae68947f8ce2d27",
      "parents": [
        "33637f136e6e470486df950932ae17ae07b8b4b2"
      ],
      "author": {
        "name": "Aidan Hobson Sayers",
        "email": "aidanhs@cantab.net",
        "time": "Sat Feb 27 19:58:42 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 21:05:20 2016 +0000"
      },
      "message": "docs: correctly describe channel_wait_eof\n\nchannel_wait_eof waits for channel-\u003eremote.eof, which is set on\nreceiving a `SSH_MSG_CHANNEL_EOF` message. This message is sent\nwhen a party has no more data to send on a channel.\n"
    },
    {
      "commit": "33637f136e6e470486df950932ae17ae07b8b4b2",
      "tree": "e7819a6a0cd8fb7f1a5e03c0dc34a6b7e2a35769",
      "parents": [
        "84172e5188fb73d719242cf52a29da8d83a27355"
      ],
      "author": {
        "name": "Zenju",
        "email": "zenju@gmx.de",
        "time": "Sat Nov 05 22:04:03 2016 +0100"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 21:04:03 2016 +0000"
      },
      "message": "Fix MSVC 14 compilation warning (#92)\n\n1\u003e  sftp.c\r\n1\u003elibssh2-files\\src\\sftp.c(3393): warning C4456: declaration of \u0027retcode\u0027 hides previous local declaration\r\n1\u003e  libssh2-files\\src\\sftp.c(3315): note: see declaration of \u0027retcode\u0027"
    },
    {
      "commit": "84172e5188fb73d719242cf52a29da8d83a27355",
      "tree": "2bd9729126b46baa15957f0b6440780c373d2148",
      "parents": [
        "fdfcb2f9e63d7cff7a09e938e87f5a33bc24771d"
      ],
      "author": {
        "name": "Salvador Fandino",
        "email": "sfandino@yahoo.com",
        "time": "Wed May 11 11:56:59 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 19:45:33 2016 +0000"
      },
      "message": "LIBSSH2_ERROR_CHANNEL_WINDOW_FULL: add new error code\n\nIn order to signal that the requested operation can not succeed\nbecause the receiving window had been exhausted, the error code\nLIBSSH2_ERROR_BUFFER_TOO_SMALL has been reused but I have found\nthat in certain context it may be ambigous.\n\nThis patch introduces a new error code,\nLIBSSH2_ERROR_CHANNEL_WINDOW_FULL, exclusive to signal that condition.\n"
    },
    {
      "commit": "fdfcb2f9e63d7cff7a09e938e87f5a33bc24771d",
      "tree": "7005dad25827ebb159d7ba5c53112c14fc68419c",
      "parents": [
        "d013a6b07064c7dd9f0fac08d3bf451c6c4beaee"
      ],
      "author": {
        "name": "Salvador Fandino",
        "email": "sfandino@yahoo.com",
        "time": "Mon May 09 13:48:31 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 19:45:33 2016 +0000"
      },
      "message": "channel_wait_eof: handle receive window exhaustion\n\nUntil now, in blocking mode, if the remote receiving window is\nexhausted this function hangs forever as data is not read and the\nremote side just keeps waiting for the window to grow before sending\nmore data.\n\nThis patch, makes this function check for that condition and abort\nwith an error when it happens.\n"
    },
    {
      "commit": "d013a6b07064c7dd9f0fac08d3bf451c6c4beaee",
      "tree": "f64c19f59517b7ba3c4a070acaa31587e3f5b4e9",
      "parents": [
        "56dffb0262c9c4388c5efb7100e2db2023187f1e"
      ],
      "author": {
        "name": "Salvador Fandino",
        "email": "sfandino@yahoo.com",
        "time": "Mon May 09 13:20:40 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 19:45:33 2016 +0000"
      },
      "message": "channel_wait_closed: don\u0027t fail when unread data is queued\n\nThis function was calling channel_wait_eof to ensure that the EOF\npacket has already been received, but that function also checks that\nthe read data queue is empty before reporting the EOF. That caused\nchannel_wait_closed to fail with a LIBSSH2_ERROR_INVAL when some data\nwas queued even after a successful call to libssh2_channel_wait_eof.\n\nThis patch changes libssh2_channel_wait_closed to look directly into\nchannel-\u003eremote.eof so that both libssh2_channel_wait_eof and\nlibssh2_channel_wait_closed bahave consistently.\n"
    },
    {
      "commit": "56dffb0262c9c4388c5efb7100e2db2023187f1e",
      "tree": "4654acab7d5a7016272e56d0397c58f06eeaf3aa",
      "parents": [
        "d75e9c5c0db75e87715d6fdd410e76296b53b886"
      ],
      "author": {
        "name": "Salvador Fandino",
        "email": "sfandino@yahoo.com",
        "time": "Mon May 09 13:17:54 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Nov 05 19:45:33 2016 +0000"
      },
      "message": "channel_wait_eof: fix debug message\n"
    },
    {
      "commit": "d75e9c5c0db75e87715d6fdd410e76296b53b886",
      "tree": "0d7b71cdcf09cf43384b3742df274fdfbfc5b813",
      "parents": [
        "30e9c1347e3b8baa2951db612f05e6d87fc8e2f2"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Oct 25 08:50:06 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Oct 25 08:50:06 2016 +0200"
      },
      "message": "libssh2.h: start working on 1.8.1\n"
    },
    {
      "commit": "30e9c1347e3b8baa2951db612f05e6d87fc8e2f2",
      "tree": "3f7b10136659959df415e3206b65c6792c5b2758",
      "parents": [
        "e9207ee2d1a80d0713ab48d010823f1f8dbf6c4e"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Oct 25 08:43:39 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Oct 25 08:43:39 2016 +0200"
      },
      "message": "RELEASE-NOTES: adjusted for 1.8.0\n"
    },
    {
      "commit": "e9207ee2d1a80d0713ab48d010823f1f8dbf6c4e",
      "tree": "2ad57793c599c732001c074e35bc60bc11de10f1",
      "parents": [
        "29bcf75fb1f30706e85e32856e61dd0f184fdbc8"
      ],
      "author": {
        "name": "Kamil Dudka",
        "email": "kdudka@redhat.com",
        "time": "Thu Oct 20 17:22:31 2016 +0200"
      },
      "committer": {
        "name": "Kamil Dudka",
        "email": "kdudka@redhat.com",
        "time": "Thu Oct 20 17:32:27 2016 +0200"
      },
      "message": "Revert \"aes: the init function fails when OpenSSL has AES support\"\n\nThis partially reverts commit f4f2298ef3635acd031cc2ee0e71026cdcda5864\nbecause it caused the compatibility code to call initialization routines\nredundantly, leading to memory leakage with OpenSSL 1.1 and broken curl\ntest-suite in Fedora:\n\n88 bytes in 1 blocks are definitely lost in loss record 5 of 8\n   at 0x4C2DB8D: malloc (vg_replace_malloc.c:299)\n   by 0x72C607D: CRYPTO_zalloc (mem.c:100)\n   by 0x72A2480: EVP_CIPHER_meth_new (cmeth_lib.c:18)\n   by 0x4E5A550: make_ctr_evp.isra.0 (openssl.c:407)\n   by 0x4E5A8E8: _libssh2_init_aes_ctr (openssl.c:471)\n   by 0x4E5BB5A: libssh2_init (global.c:49)\n"
    },
    {
      "commit": "29bcf75fb1f30706e85e32856e61dd0f184fdbc8",
      "tree": "2deaaf78ebfd844e29249a6cff113477810c8231",
      "parents": [
        "15851ba78ecb897c843690ae1c8dfe03f0cdb99d"
      ],
      "author": {
        "name": "Charles Collicutt",
        "email": "cac04@users.noreply.github.com",
        "time": "Wed Oct 19 08:49:37 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Wed Oct 19 09:49:37 2016 +0200"
      },
      "message": "libssh2_wait_socket: Fix comparison with api_timeout to use milliseconds (#134)\n\nFixes #74"
    },
    {
      "commit": "15851ba78ecb897c843690ae1c8dfe03f0cdb99d",
      "tree": "a5d56f2c7f4b458c7adb3f26e9bef951a784f6fc",
      "parents": [
        "c4c60eac5ca756333034b07dd9e0b97741493ed3"
      ],
      "author": {
        "name": "Charles Collicutt",
        "email": "cac04@users.noreply.github.com",
        "time": "Wed Oct 19 08:46:41 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Wed Oct 19 09:46:41 2016 +0200"
      },
      "message": "Set err_msg on _libssh2_wait_socket errors (#135)\n\n"
    },
    {
      "commit": "c4c60eac5ca756333034b07dd9e0b97741493ed3",
      "tree": "255cea9de05e9d41b6790491f40b1054972252e2",
      "parents": [
        "e46b4f944842267449ac18f42bb3de64a3e60bd1"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Oct 17 10:15:16 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Oct 17 10:15:16 2016 +0200"
      },
      "message": "Revert \"travis: Test mbedtls too\"\n\nThis reverts commit 3e6de50a24815e72ec5597947f1831f6083b7da8.\n\nTravis doesn\u0027t seem to support the mbedtls-dev package\n"
    },
    {
      "commit": "e46b4f944842267449ac18f42bb3de64a3e60bd1",
      "tree": "b340f1aeb34ffd8058a9aa14b8b4ab334a6e023a",
      "parents": [
        "42941b44f8c9ce79588ea22e4b9bf221c7019285"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Oct 17 09:43:38 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Oct 17 09:46:18 2016 +0200"
      },
      "message": "maketgz: support \"only\" to only update version number locally\n\nand fix the date output locale\n"
    },
    {
      "commit": "42941b44f8c9ce79588ea22e4b9bf221c7019285",
      "tree": "3137fa69710d9a71626ce7645f24666c7d32179b",
      "parents": [
        "1b808234e394a323625860686179236a22961627"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 07:59:47 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 08:06:35 2016 +0200"
      },
      "message": "configure: make the --with-* options override the OpenSSL default\n\n... previously it would default to OpenSSL even with the --with-[crypto]\noptions used unless you specificly disabled OpenSSL. Now, enabling another\nbackend will automatically disable OpenSSL if the other one is found.\n"
    },
    {
      "commit": "1b808234e394a323625860686179236a22961627",
      "tree": "4c9fcde31e21a4d4ccc6ccfbdf1cb5d00513208c",
      "parents": [
        "dc8f7ca3abd8edca998ff610f00b4c2d3f7c873e"
      ],
      "author": {
        "name": "Keno Fischer",
        "email": "kfischer@college.harvard.edu",
        "time": "Mon Sep 26 17:38:24 2016 -0400"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 08:06:35 2016 +0200"
      },
      "message": "docs: Add documentation on new cmake/configure options\n"
    },
    {
      "commit": "dc8f7ca3abd8edca998ff610f00b4c2d3f7c873e",
      "tree": "74116975bbc515b61df336ee73a21be1507dac7e",
      "parents": [
        "3e6de50a24815e72ec5597947f1831f6083b7da8"
      ],
      "author": {
        "name": "Keno Fischer",
        "email": "kfischer@college.harvard.edu",
        "time": "Mon Sep 26 17:13:59 2016 -0400"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 08:06:35 2016 +0200"
      },
      "message": "configure: Add support for building with mbedtls\n"
    },
    {
      "commit": "3e6de50a24815e72ec5597947f1831f6083b7da8",
      "tree": "d23438c58b5e69e086ffd8fecf8d4da943e6e9a3",
      "parents": [
        "186f1a2d75560d960bc9ec0e727c14328f51ca4a"
      ],
      "author": {
        "name": "wildart",
        "email": "wildart@gmail.com",
        "time": "Sun May 08 18:06:17 2016 -0400"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 08:06:34 2016 +0200"
      },
      "message": "travis: Test mbedtls too\n"
    },
    {
      "commit": "186f1a2d75560d960bc9ec0e727c14328f51ca4a",
      "tree": "c033cfa502026a5eec39c78ae84472c0882cb966",
      "parents": [
        "289e9482e4d0f0d13f58aa555e6f82d4e52140dd"
      ],
      "author": {
        "name": "wildart",
        "email": "wildart@gmail.com",
        "time": "Mon Sep 26 17:02:35 2016 -0400"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 08:06:29 2016 +0200"
      },
      "message": "crypto: add support for the mbedTLS backend\n\nCloses #132\n"
    },
    {
      "commit": "289e9482e4d0f0d13f58aa555e6f82d4e52140dd",
      "tree": "0f1e157858aaa552df87f0bce111cf6771ac07df",
      "parents": [
        "aa2ae0c3597927e5ecb078945256055e28212ab2"
      ],
      "author": {
        "name": "wildart",
        "email": "wildart@gmail.com",
        "time": "Mon Sep 26 17:02:04 2016 -0400"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 08:02:55 2016 +0200"
      },
      "message": "cmake: Add CLEAR_MEMORY option, analogously to that for autoconf\n"
    },
    {
      "commit": "aa2ae0c3597927e5ecb078945256055e28212ab2",
      "tree": "541d4ba2c0ab45e5ba0985fae42faa5bd5994f93",
      "parents": [
        "7b2c445349c45f27460ce910df513eb9c7ddf901"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 00:17:29 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 00:17:29 2016 +0200"
      },
      "message": "README.md: fix link typo\n"
    },
    {
      "commit": "7b2c445349c45f27460ce910df513eb9c7ddf901",
      "tree": "ad81ba7321ef40fa61378c17e92e29a6892147b1",
      "parents": [
        "64ebfd8182a9b6e637e65c3059e3798e199274b3"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 00:16:45 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Sep 27 00:16:45 2016 +0200"
      },
      "message": "README: markdown version to look nicer on github\n"
    },
    {
      "commit": "64ebfd8182a9b6e637e65c3059e3798e199274b3",
      "tree": "f8365050bba21a63cec9f18b7da73781a9c937c8",
      "parents": [
        "32d0965ca4eb8b96d406d4ba57dbd9caf3f184d2"
      ],
      "author": {
        "name": "Taylor Holberton",
        "email": "taylorcholberton@gmail.com",
        "time": "Mon Sep 05 06:28:51 2016 -0400"
      },
      "committer": {
        "name": "Viktor Szakats",
        "email": "vszakats@users.noreply.github.com",
        "time": "Mon Sep 05 12:28:51 2016 +0200"
      },
      "message": "openssl: add OpenSSL 1.1.0 compatibility\n\n"
    },
    {
      "commit": "32d0965ca4eb8b96d406d4ba57dbd9caf3f184d2",
      "tree": "e739166bf5c4ccb1b6d3032ebaadf76653f2f2ea",
      "parents": [
        "daf2cc1470113c1396300359f956a769a07579b5"
      ],
      "author": {
        "name": "Antenore Gatta",
        "email": "antenore@simbiosi.org",
        "time": "Sun Sep 04 00:44:24 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sun Sep 04 00:44:24 2016 +0200"
      },
      "message": "tests: HAVE_NETINET_IN_H was not defined correctly (#127)\n\nFixes #125"
    },
    {
      "commit": "daf2cc1470113c1396300359f956a769a07579b5",
      "tree": "d7f7b03bc7e7c1f9e750eaeeffd5340f6c4726e4",
      "parents": [
        "ef8063b9240881c8df2db8d32218ca01b28754f9"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sun Aug 21 10:41:23 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sun Aug 21 10:41:23 2016 +0200"
      },
      "message": "SECURITY: fix web site typo\n"
    },
    {
      "commit": "ef8063b9240881c8df2db8d32218ca01b28754f9",
      "tree": "088093060c8249f2acca8983f1139cf9c15988cc",
      "parents": [
        "cf80f2f4b5255cc85a04ee43b27a29c678c1edb1"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sat Aug 20 17:36:59 2016 +0200"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sat Aug 20 17:37:25 2016 +0200"
      },
      "message": "SECURITY: security process\n"
    },
    {
      "commit": "cf80f2f4b5255cc85a04ee43b27a29c678c1edb1",
      "tree": "7cc18b054ee2d4577daa6c0760dd0534dc5c53c3",
      "parents": [
        "1fc7c8571efe024e0e51989272a132f9a7faaef1"
      ],
      "author": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sun Aug 14 16:03:25 2016 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 14 16:03:25 2016 +0100"
      },
      "message": "Basic dockerised test suite.\n\nThis introduces a test suite for libssh2. It runs OpenSSH in a Docker\r\ncontainer because that works well on Windows (via docker-machine) as\r\nwell as Linux. Presumably it works on Mac too with docker-machine, but\r\nI\u0027ve not tested that.\r\n\r\nBecause the test suite is docker-machine aware, you can also run it\r\nagainst a cloud provider, for more realistic network testing, by setting\r\nyour cloud provider as your active docker machine. The Appveyor CI setup\r\nin this commit does that because Appveyor doesn\u0027t support docker\r\nlocally."
    },
    {
      "commit": "1fc7c8571efe024e0e51989272a132f9a7faaef1",
      "tree": "eea14551b26707f604b004ab3679898bf03b4cae",
      "parents": [
        "7934c9ce2a029c43e3642a492d3b9e494d1542be"
      ],
      "author": {
        "name": "Viktor Szakats",
        "email": "vszakats@users.noreply.github.com",
        "time": "Tue Jul 12 22:53:08 2016 +0200"
      },
      "committer": {
        "name": "Kamil Dudka",
        "email": "kdudka@redhat.com",
        "time": "Wed Aug 03 10:15:59 2016 +0200"
      },
      "message": "misc.c: Delete unused static variables\n\nCloses #114\n"
    },
    {
      "commit": "7934c9ce2a029c43e3642a492d3b9e494d1542be",
      "tree": "2ef1a8f3d92aa1a08ec1d45025b029c7b9b88061",
      "parents": [
        "ded55537acbfda9756667e054c22972842633cf4"
      ],
      "author": {
        "name": "Will Cosgrove",
        "email": "will@panic.com",
        "time": "Fri Apr 08 15:54:03 2016 -0700"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sat Apr 09 00:54:03 2016 +0200"
      },
      "message": "Merge pull request #103 from willco007/patch-2\n\nFix for security issue CVE-2016-0787"
    },
    {
      "commit": "ded55537acbfda9756667e054c22972842633cf4",
      "tree": "26ae87c4445a687fa0c0ca4d0adc0e18bd78b2e6",
      "parents": [
        "4138f1e412732f14a731a0e52ce2d0e470e4d996"
      ],
      "author": {
        "name": "Zenju",
        "email": "zenju@gmx.de",
        "time": "Sat Apr 02 12:19:04 2016 +0200"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "github@lammy.co.uk",
        "time": "Sat Apr 02 11:19:04 2016 +0100"
      },
      "message": "Fix MSVC 14 compilation errors\n\nFor _MSC_VER \u003d\u003d 1900 these macros are not needed and create problems:\r\n\r\n\r\n\r\n1\u003eC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h(1925): warning C4005: \u0027snprintf\u0027: macro redefinition (compiling source file libssh2-files\\src\\mac.c)\r\n\r\n1\u003e \\win32\\libssh2_config.h(27): note: see previous definition of \u0027snprintf\u0027 (compiling source file libssh2-files\\src\\mac.c)\r\n\r\n1\u003eC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt\\stdio.h(1927): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration (compiling source file libssh2-files\\src\\mac.c)"
    },
    {
      "commit": "4138f1e412732f14a731a0e52ce2d0e470e4d996",
      "tree": "42e1d8a48ecb528cbcc74ed96253bfaf632bad2f",
      "parents": [
        "7b9a9a782d69c097f69a1992023bde9e4ead046f"
      ],
      "author": {
        "name": "Brad Harder",
        "email": "brad.harder@gmail.com",
        "time": "Sat Mar 26 23:57:14 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sat Mar 26 23:57:14 2016 +0100"
      },
      "message": "_libssh2_channel_open: speeling error fixed in channel error message\n"
    },
    {
      "commit": "7b9a9a782d69c097f69a1992023bde9e4ead046f",
      "tree": "3788fb4bfce26613ed1d97b0bcaae20e276e8c96",
      "parents": [
        "e6278aa2a6f96e3ea26a378c241b40dbcba54838"
      ],
      "author": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Tue Mar 15 21:35:04 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Tue Mar 15 22:09:13 2016 +0000"
      },
      "message": "Link with crypt32.lib on Windows.\n\nMakes linking with static OpenSSL work again.  Although it\u0027s not\nrequired for dynamic OpenSSL, it does no harm.\n\nFixes #98.\n"
    },
    {
      "commit": "e6278aa2a6f96e3ea26a378c241b40dbcba54838",
      "tree": "767cafb0bc6db04267fa365d1f87edad15bd27bb",
      "parents": [
        "a239e637c957928a2748a9a557aee87b75717440"
      ],
      "author": {
        "name": "Craig A. Berry",
        "email": "craigberry@mac.com",
        "time": "Sun Mar 13 13:29:16 2016 -0500"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Tue Mar 15 21:58:26 2016 +0000"
      },
      "message": "Tweak VMS help file building.\n\nPrimarily this is handling cases where top-level files moved into\nthe docs/ directory.  I also corrected a typo and removed the\nclaim that libssh2 is public domain.\n"
    },
    {
      "commit": "a239e637c957928a2748a9a557aee87b75717440",
      "tree": "17c91f3311e6571c7aded88821b6b61508829e6b",
      "parents": [
        "8a903d108386bd603d47e00c9610f047c12cc32b"
      ],
      "author": {
        "name": "Craig A. Berry",
        "email": "craigberry@mac.com",
        "time": "Sun Mar 13 10:20:10 2016 -0500"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Tue Mar 15 21:57:45 2016 +0000"
      },
      "message": "Build with standard stat structure on VMS.\n\nThis gets us large file support, is available on any VMS release\nin the last decade and more, and gives stat other modern features\nsuch as 64-bit ino_t.\n"
    },
    {
      "commit": "8a903d108386bd603d47e00c9610f047c12cc32b",
      "tree": "d9dce4146af65ced3444d26bcce421afe43e9e57",
      "parents": [
        "f6a4ccf22bb35ebc810d872676354def9c37bee1"
      ],
      "author": {
        "name": "Craig A. Berry",
        "email": "craigberry@mac.com",
        "time": "Sat Mar 12 18:46:04 2016 -0600"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Tue Mar 15 21:57:13 2016 +0000"
      },
      "message": "Update vms/libssh2_config.h.\n\nVMS does have stdlib.h, gettimeofday(), and OpenSSL.  The latter\nis appropriate to hard-wire in the configuration because it\u0027s\ninstalled by default as part of the base operating system and\nthere is currently no libgcrypt port.\n"
    },
    {
      "commit": "f6a4ccf22bb35ebc810d872676354def9c37bee1",
      "tree": "fe0c526b575e64c939f5d117ada5f68ecf725533",
      "parents": [
        "0268b974a76fdd32d4c08fee702b980dde9834a8"
      ],
      "author": {
        "name": "Craig A. Berry",
        "email": "craigberry@mac.com",
        "time": "Sat Mar 12 18:32:21 2016 -0600"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Tue Mar 15 21:56:47 2016 +0000"
      },
      "message": "VMS can\u0027t use %zd for off_t format.\n\n%z is a C99-ism that VMS doesn\u0027t currently have; even though the\ncompiler is C99-compliant, the library isn\u0027t quite.  The off_t used\nfor the st_size element of the stat can be 32-bit or 64-bit, so\ndetect what we\u0027ve got and pick a format accordingly.\n"
    },
    {
      "commit": "0268b974a76fdd32d4c08fee702b980dde9834a8",
      "tree": "82d99e150405726ac57d16045b2e1a96782c42d9",
      "parents": [
        "a8dff80726114ff9304ee18cf18de5fcc70f9e87"
      ],
      "author": {
        "name": "Craig A. Berry",
        "email": "craigberry@mac.com",
        "time": "Sat Mar 12 18:11:33 2016 -0600"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Tue Mar 15 21:55:56 2016 +0000"
      },
      "message": "Normalize line endings in libssh2_sftp_get_channel.3.\n\nSomehow it got Windows-style CRLF endings so convert to just LF,\nfor consistency as well as not to confuse tools that will regard\nthe \\r as content (e.g. the OpenVMS help librarian).\n"
    },
    {
      "commit": "a8dff80726114ff9304ee18cf18de5fcc70f9e87",
      "tree": "fc4da3073d051c615e62775461bf8ab7ac5f74af",
      "parents": [
        "433c327ee2b7cdf83b38848b6e9473f93366ed6d"
      ],
      "author": {
        "name": "Dan Fandrich",
        "email": "dan@coneharvesters.com",
        "time": "Mon Feb 29 23:54:11 2016 +0100"
      },
      "committer": {
        "name": "Dan Fandrich",
        "email": "dan@coneharvesters.com",
        "time": "Mon Feb 29 23:55:29 2016 +0100"
      },
      "message": "libgcrypt: Fixed a NULL pointer dereference on OOM\n"
    },
    {
      "commit": "433c327ee2b7cdf83b38848b6e9473f93366ed6d",
      "tree": "455a0d2ba9a80b89387d7220b88c1c7c1a860ec7",
      "parents": [
        "7faa0e466fd8135b2a2dbf58225cf939b66a85cf"
      ],
      "author": {
        "name": "Viktor Szakats",
        "email": "vszakats@users.noreply.github.com",
        "time": "Wed Feb 24 08:39:59 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Wed Feb 24 23:44:13 2016 +0100"
      },
      "message": "url updates, HTTP \u003d\u003e HTTPS\n\nCloses #87\n"
    },
    {
      "commit": "7faa0e466fd8135b2a2dbf58225cf939b66a85cf",
      "tree": "d018f5dbfb320d84a4b3f86290611faf68133304",
      "parents": [
        "6d553a7bb94966466c4db0abf9a26660e786a275"
      ],
      "author": {
        "name": "Dan Fandrich",
        "email": "dan@coneharvesters.com",
        "time": "Tue Feb 23 21:23:14 2016 +0100"
      },
      "committer": {
        "name": "Dan Fandrich",
        "email": "dan@coneharvesters.com",
        "time": "Tue Feb 23 21:23:48 2016 +0100"
      },
      "message": "RELEASE-NOTES: removed some duplicated names\n"
    },
    {
      "commit": "6d553a7bb94966466c4db0abf9a26660e786a275",
      "tree": "ed26a8f788ed29002b7a7e965ca53eb4ece8a1f2",
      "parents": [
        "da6676483b5ffac1b0466c32dbc5ba7c89958faf"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 23 08:52:47 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 23 08:52:47 2016 +0100"
      },
      "message": "web: the site is now HTTPS\n"
    },
    {
      "commit": "da6676483b5ffac1b0466c32dbc5ba7c89958faf",
      "tree": "4b63b8dc8a830be1618d65801fe24bff81041ec7",
      "parents": [
        "ca5222ea819cc5ed797860070b4c6c1aeeb28420"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 23 08:21:18 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 23 08:25:01 2016 +0100"
      },
      "message": "RELEASE-NOTES: 1.7.0 release\n"
    },
    {
      "commit": "ca5222ea819cc5ed797860070b4c6c1aeeb28420",
      "tree": "de3e291a53ff7f5b6f75764ada586a027a04257f",
      "parents": [
        "d453f4ce3c87c4dbe1f86be4913d0018bb602b42"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:52:20 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 23 08:23:19 2016 +0100"
      },
      "message": "diffie_hellman_sha256: convert bytes to bits\n\nAs otherwise we get far too small numbers.\n\nReported-by: Andreas Schneider\n\nCVE-2016-0787\n"
    },
    {
      "commit": "d453f4ce3c87c4dbe1f86be4913d0018bb602b42",
      "tree": "fd7888bd473b1e2d7ebbaf933aa5ac748a74eb63",
      "parents": [
        "1fcf849e15ffda99cc30b6d23b8d378f501225a2"
      ],
      "author": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Thu Feb 18 21:54:02 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Thu Feb 18 21:56:04 2016 +0000"
      },
      "message": "Allow CI failures with VS 2008 x64.\n\nAppveyor doesn\u0027t support this combination.\n"
    },
    {
      "commit": "1fcf849e15ffda99cc30b6d23b8d378f501225a2",
      "tree": "ef20cb7f205367df869490494d0449c8470c5e4f",
      "parents": [
        "65a4528d17438b4856443762f283ed87b60462c9"
      ],
      "author": {
        "name": "Viktor Szakats",
        "email": "vszakats@users.noreply.github.com",
        "time": "Wed Feb 10 02:26:52 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 16 00:11:32 2016 +0100"
      },
      "message": "GNUmakefile: list system libs after user libs\n\nOtherwise some referenced WinSock functions will fail to\nresolve when linking against LibreSSL 2.3.x static libraries\nwith mingw.\n\nCloses #80\n"
    },
    {
      "commit": "65a4528d17438b4856443762f283ed87b60462c9",
      "tree": "fbdf06e3d0e9e0eae926ff7fb4bf19077a9bccbf",
      "parents": [
        "0ffb3bfafe0eb1c8e44edcbf1fdf23f968ace461"
      ],
      "author": {
        "name": "Viktor Szakats",
        "email": "vszakats@users.noreply.github.com",
        "time": "Sun Feb 14 23:53:11 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 16 00:08:43 2016 +0100"
      },
      "message": "openssl: apply new HAVE_OPAQUE_STRUCTS macro\n\nCloses #81\n"
    },
    {
      "commit": "0ffb3bfafe0eb1c8e44edcbf1fdf23f968ace461",
      "tree": "4d484b5a28192bc45449ba76f0312f1901bdacb6",
      "parents": [
        "30221cfe5d6a678fec7992699f40f2b697fbd958"
      ],
      "author": {
        "name": "Viktor Szakats",
        "email": "vszakats@users.noreply.github.com",
        "time": "Wed Feb 10 17:19:11 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Tue Feb 16 00:08:08 2016 +0100"
      },
      "message": "openssl: fix LibreSSL support after OpenSSL 1.1.0-pre1/2 support\n"
    },
    {
      "commit": "30221cfe5d6a678fec7992699f40f2b697fbd958",
      "tree": "4feffb6c32f8cf87a47e9798dd4521a17756ed17",
      "parents": [
        "fb2840bc9c90046a3c3428fde981798dc9891de6"
      ],
      "author": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 22:12:10 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 22:12:10 2016 +0000"
      },
      "message": "sftp.h: Fix non-C90 type.\n\nuint64_t does not exist in C90.  Use libssh2_uint64_t instead.\n"
    },
    {
      "commit": "fb2840bc9c90046a3c3428fde981798dc9891de6",
      "tree": "521351a0cb6d44a69cf89437cace40301d4c5228",
      "parents": [
        "78043ff25db31a98588757cb12fa146cc8f50ac6"
      ],
      "author": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 21:38:12 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 21:38:12 2016 +0000"
      },
      "message": "Exclude sshd tests from AppVeyor.\n\nThey fail complaining that sshd wasn\u0027t invoked with an absolute path.\n"
    },
    {
      "commit": "78043ff25db31a98588757cb12fa146cc8f50ac6",
      "tree": "fadd63de9c60e00edd2f25a3f2d5bf380ea3c107",
      "parents": [
        "5eac3edda5923aed922975a4e431f5dabb8021b4"
      ],
      "author": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 20:57:03 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 20:57:03 2016 +0000"
      },
      "message": "Test on more versions of Visual Studio.\n"
    },
    {
      "commit": "5eac3edda5923aed922975a4e431f5dabb8021b4",
      "tree": "014995ed2d08626e8b52282f2d6606a62b81b953",
      "parents": [
        "298f056fd6931e5e8bedc4fce5142a46c8f9f4b9"
      ],
      "author": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 20:49:31 2016 +0000"
      },
      "committer": {
        "name": "Alexander Lamaison",
        "email": "alexander.lamaison@gmail.com",
        "time": "Sun Feb 14 20:49:31 2016 +0000"
      },
      "message": "Fix Appveyor builds.\n"
    },
    {
      "commit": "298f056fd6931e5e8bedc4fce5142a46c8f9f4b9",
      "tree": "d7d78a7c7d6392912f805f6cf155a03c56a3f9af",
      "parents": [
        "652ae4d1347433ec5f6f0df64c787d65e3d98590"
      ],
      "author": {
        "name": "Viktor Szakats",
        "email": "vszakats@users.noreply.github.com",
        "time": "Sat Feb 13 17:02:23 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Sun Feb 14 10:56:37 2016 +0100"
      },
      "message": "openssl: add OpenSSL 1.1.0-pre3-dev compatibility\n\nby using API instead of accessing an internal structure.\n\nCloses #83\n"
    },
    {
      "commit": "652ae4d1347433ec5f6f0df64c787d65e3d98590",
      "tree": "54bf6a1ec274b23c9c8b9ac335a802841f13df11",
      "parents": [
        "996b04ececdf6b91045b9bf1d77941208a06fa5f"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Fri Feb 12 16:19:26 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Fri Feb 12 16:19:26 2016 +0100"
      },
      "message": "RELEASE-NOTES: synced with 996b04ececdf\n"
    },
    {
      "commit": "996b04ececdf6b91045b9bf1d77941208a06fa5f",
      "tree": "f497d82b750c1959298b95064dad31e92935a746",
      "parents": [
        "8d568d6c3bf790e0b5aff648a484a8d7abebce47"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Fri Feb 12 16:19:06 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Fri Feb 12 16:19:06 2016 +0100"
      },
      "message": "include/libssh2.h: next version is 1.7.0\n"
    },
    {
      "commit": "8d568d6c3bf790e0b5aff648a484a8d7abebce47",
      "tree": "eaa08536fe497bddee65bfb92376bca5ff7b5e48",
      "parents": [
        "ae484b426c419188f95a90cfa98c8324f3b32806"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 14:00:37 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 14:00:37 2016 +0100"
      },
      "message": "configure: build \"silent\" if possible\n"
    },
    {
      "commit": "ae484b426c419188f95a90cfa98c8324f3b32806",
      "tree": "cbb78f755c364bb1be59ff539248f01a9bf1edd4",
      "parents": [
        "85dbd4c1367b8f712b0ad8145f35ec1ee802fe06"
      ],
      "author": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:56:40 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:57:14 2016 +0100"
      },
      "message": "sftp: re-indented some minor stuff\n"
    },
    {
      "commit": "85dbd4c1367b8f712b0ad8145f35ec1ee802fe06",
      "tree": "c1b023dd47573949ff5db349550302bd525a053d",
      "parents": [
        "d7e25b4729af86e714599663d6d36b3c478c8490"
      ],
      "author": {
        "name": "Jakob Egger",
        "email": "jakob@eggerapps.at",
        "time": "Thu Feb 04 12:10:47 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:57:14 2016 +0100"
      },
      "message": "sftp.c: ensure minimum read packet size\n\nFor optimum performance we need to ensure we don\u0027t request tiny packets.\n"
    },
    {
      "commit": "d7e25b4729af86e714599663d6d36b3c478c8490",
      "tree": "d210515f40e2d8ad0fa00e88098d42d73c5fb6ed",
      "parents": [
        "e12fe7146232cda4e1e1c68e100e7dc8cde3d37b"
      ],
      "author": {
        "name": "Jakob Egger",
        "email": "jakob@eggerapps.at",
        "time": "Thu Feb 04 12:13:54 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:57:14 2016 +0100"
      },
      "message": "sftp.c: Explicit return values \u0026 sanity checks\n"
    },
    {
      "commit": "e12fe7146232cda4e1e1c68e100e7dc8cde3d37b",
      "tree": "8296ec781d8764cc0b6274beea310516b4a3f92d",
      "parents": [
        "992de2fbfaa434e3048ccf41a1a8966b05cc170a"
      ],
      "author": {
        "name": "Jakob Egger",
        "email": "jakob@eggerapps.at",
        "time": "Thu Jan 14 13:57:33 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:57:14 2016 +0100"
      },
      "message": "sftp.c: Check Read Packet File Offset\n\nThis commit adds a simple check to see if the offset of the read\nrequest matches the expected file offset.\n\nWe could try to recover, from this condition at some point in the future.\nRight now it is better to return an error instead of corrupted data.\n"
    },
    {
      "commit": "992de2fbfaa434e3048ccf41a1a8966b05cc170a",
      "tree": "820c27400bde8b3e067cb2e2e03a875c785935a5",
      "parents": [
        "77c48d4e26873f2348d1210fdcd4b2c605c7b484"
      ],
      "author": {
        "name": "Jakob Egger",
        "email": "jakob@eggerapps.at",
        "time": "Wed Jan 13 14:59:21 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:57:14 2016 +0100"
      },
      "message": "sftp.c: Don\u0027t return EAGAIN if data was written to buffer\n"
    },
    {
      "commit": "77c48d4e26873f2348d1210fdcd4b2c605c7b484",
      "tree": "79e5600c6ac3a23c8f8e8fcb269a1fa22a6fbb44",
      "parents": [
        "0d60964632198b795bc6945776f85f592fd653a6"
      ],
      "author": {
        "name": "Jakob Egger",
        "email": "jakob@eggerapps.at",
        "time": "Wed Jan 13 14:07:40 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:57:09 2016 +0100"
      },
      "message": "sftp.c: Send at least one read request before reading\n\nThis commit ensures that we have sent at least one read request before\nwe try to read data in sftp_read().\n\nOtherwise sftp_read() would return 0 bytes (indicating EOF) if the\nsocket is not ready for writing.\n"
    },
    {
      "commit": "0d60964632198b795bc6945776f85f592fd653a6",
      "tree": "aeea15636dacbc6d0f283f6d08964e3419ac1525",
      "parents": [
        "60874670efe76ae3e8e3a58c48a5daa58d7e8e31"
      ],
      "author": {
        "name": "Jakob Egger",
        "email": "jakob@eggerapps.at",
        "time": "Wed Jan 13 14:02:14 2016 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Thu Feb 11 13:54:10 2016 +0100"
      },
      "message": "sftp.c: stop reading when buffer is full\n\nSince we can only store data from a single chunk in filep,\nwe have to stop receiving data as soon as the buffer is full.\n\nThis adresses the following bug report:\nhttps://github.com/libssh2/libssh2/issues/50\n"
    },
    {
      "commit": "60874670efe76ae3e8e3a58c48a5daa58d7e8e31",
      "tree": "8863386b1e0d0999447a3c4d6ece5628c3f2b601",
      "parents": [
        "77d825ac9378bdd62aebb69d5e406393acb1490c"
      ],
      "author": {
        "name": "Salvador Fandiño",
        "email": "sfandino@yahoo.com",
        "time": "Sat Dec 05 21:16:13 2015 +0100"
      },
      "committer": {
        "name": "Salvador Fandiño",
        "email": "sfandino@yahoo.com",
        "time": "Thu Jan 21 09:23:37 2016 +0100"
      },
      "message": "agent_disconnect_unix: unset the agent fd after closing it\n\n\"agent_disconnect_unix\", called by \"libssh2_agent_disconnect\", was\nleaving the file descriptor in the agent structure unchanged. Later,\n\"libssh2_agent_free\" would call again \"libssh2_agent_disconnect\" under\nthe hood and it would try to close again the same file descriptor. In\nmost cases that resulted in just a harmless error, but it is also\npossible that the file descriptor had been reused between the two\ncalls resulting in the closing of an unrelated file descriptor.\n\nThis patch sets agent-\u003efd to LIBSSH2_INVALID_SOCKET avoiding that\nissue.\n\nSigned-off-by: Salvador Fandiño \u003csfandino@yahoo.com\u003e\n"
    },
    {
      "commit": "77d825ac9378bdd62aebb69d5e406393acb1490c",
      "tree": "c8664b1c72efb38ea2c5c1edaf888773e8eb73ea",
      "parents": [
        "b60fb64b1794811469bb5d5f58fe9a003ef5fea1"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:55:33 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:42:57 2016 +0100"
      },
      "message": "os400qc3: support encrypted private keys\n\nPKCS#8 EncryptedPrivateKeyinfo structures are recognized and decoded to get\nvalues accepted by the Qc3 crypto library.\n"
    },
    {
      "commit": "b60fb64b1794811469bb5d5f58fe9a003ef5fea1",
      "tree": "b0911ac574a959fc573be32d8adc9d5a96f0988a",
      "parents": [
        "0de1cba67142a4bab8b6b0471bc31cba8271f95f"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:46:49 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400qc3: New PKCS#5 decoder\n\nThe Qc3 library is not able to handle PKCS#8 EncryptedPrivateKeyInfo structures\nby itself. It is only capable of decrypting the (encrypted) PrivateKeyInfo\npart, providing a key encryption key and an encryption algorithm are given.\nSince the encryption key and algorithm description part in a PKCS#8\nEncryptedPrivateKeyInfo is a PKCS#5 structure, such a decoder is needed to\nget the derived key method and hash, as well as encryption algorith and\ninitialisation vector.\n"
    },
    {
      "commit": "0de1cba67142a4bab8b6b0471bc31cba8271f95f",
      "tree": "0e47e1eee66150e3319fb8f465c9778e5dde2227",
      "parents": [
        "2ddcaf2db82df712eaba4db750d7ea22f9ce5a2b"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:43:13 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400qc3: force continuous update on non-final hash/hmac computation\n"
    },
    {
      "commit": "2ddcaf2db82df712eaba4db750d7ea22f9ce5a2b",
      "tree": "510c58fd512980a021cdbd97937ad66ad8a1c79d",
      "parents": [
        "0f15724e72fd0d3963e5f9b36391d945b44f00bd"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:25:42 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400qc3: Be sure hmac keys have a minimum length\n\nThe Qc3 library requires a minimum key length depending on the target\nhash algorithm. Append binary zeroes to the given key if not long enough.\nThis matches RFC 2104 specifications.\n"
    },
    {
      "commit": "0f15724e72fd0d3963e5f9b36391d945b44f00bd",
      "tree": "69fcbd456c9d048e33436cff9ddece8f5ad09942",
      "parents": [
        "57692b6b1099fb1551acc8f6e2729b40d1dd62f6"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:20:16 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400qc3: Slave descriptor for key encryption key\n\nThe Qc3 library requires the key encryption key to exist as long as\nthe encrypted key is used. Its descriptor token is then kept as an\n\"encrypted key slave\" for recursive release.\n"
    },
    {
      "commit": "57692b6b1099fb1551acc8f6e2729b40d1dd62f6",
      "tree": "30d2d45fe0bf7d38e125f4fc59cf8b8abf8b2cdf",
      "parents": [
        "92a3ac4673b2b35b75beeaff23857a7ac6ebdcd7"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:15:30 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400qc3.c: comment PEM/DER decoding\n"
    },
    {
      "commit": "92a3ac4673b2b35b75beeaff23857a7ac6ebdcd7",
      "tree": "93951554c404b4fa37b53ac49cdc888e7b689615",
      "parents": [
        "72453b7367d240dd4b7f3c8ea6544b7fb255eec9"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:06:39 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400qc3.c: improve ASN.1 header byte checks\n"
    },
    {
      "commit": "72453b7367d240dd4b7f3c8ea6544b7fb255eec9",
      "tree": "ad9db7a9828a662d4060d39a998e105e64a960d7",
      "parents": [
        "8b720f342fd42fd84879f6cef5d1a6423dbbcd98"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 14:02:02 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400qc3.c: improve OID matching\n"
    },
    {
      "commit": "8b720f342fd42fd84879f6cef5d1a6423dbbcd98",
      "tree": "cbaa82fda8dc7081e2c82a5b09d6acd832ebd3e3",
      "parents": [
        "e2985f0a6723b0c4c266edac921dd59db7dc7ced"
      ],
      "author": {
        "name": "Patrick Monnerat",
        "email": "patrick.monnerat@dh.com",
        "time": "Wed Dec 09 13:53:05 2015 +0100"
      },
      "committer": {
        "name": "Daniel Stenberg",
        "email": "daniel@haxx.se",
        "time": "Mon Jan 18 13:35:28 2016 +0100"
      },
      "message": "os400: os400qc3.c: replace malloc by LIBSSH2_ALLOC or alloca where possible\n"
    }
  ],
  "next": "e2985f0a6723b0c4c266edac921dd59db7dc7ced"
}
