)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "21c99c3af7490e8173f8a2fa71dcc7141def1aed",
      "old_mode": 33188,
      "old_path": "docs/HACKING.CRYPTO",
      "new_id": "381b2a9cd8db2029e8c877801d9d20b1ae889421",
      "new_mode": 33188,
      "new_path": "docs/HACKING.CRYPTO"
    },
    {
      "type": "modify",
      "old_id": "1d47a1dd8ecb4ddc50e056d57980c525b7c173bb",
      "old_mode": 33188,
      "old_path": "os400/initscript.sh",
      "new_id": "a18e24cfeb99e8f22fb853abae3ea60ef1ed9479",
      "new_mode": 33188,
      "new_path": "os400/initscript.sh"
    },
    {
      "type": "modify",
      "old_id": "95e4d9187b1d72a218f6d55ed9bd9273fa25890c",
      "old_mode": 33188,
      "old_path": "src/kex.c",
      "new_id": "c0f926099865faea3ba44777b49b556cd3ff0688",
      "new_mode": 33188,
      "new_path": "src/kex.c"
    },
    {
      "type": "modify",
      "old_id": "11d6ad2dc564cf2836a75c0eb1fafa2b3d077264",
      "old_mode": 33188,
      "old_path": "src/libgcrypt.h",
      "new_id": "2a3f8d1ff5307844789173752e898c1047b983b2",
      "new_mode": 33188,
      "new_path": "src/libgcrypt.h"
    },
    {
      "type": "modify",
      "old_id": "b4296a221a19acde3ad494837062f16e6401ec42",
      "old_mode": 33188,
      "old_path": "src/libssh2_priv.h",
      "new_id": "0dab7357cc25c8ac7584783a77ceb90b5482834e",
      "new_mode": 33188,
      "new_path": "src/libssh2_priv.h"
    },
    {
      "type": "modify",
      "old_id": "3ca71fa8a4ce2152d987fca52e88be9451acf757",
      "old_mode": 33188,
      "old_path": "src/openssl.h",
      "new_id": "fba045478316ebd016e0c2c9d464979420cbb854",
      "new_mode": 33188,
      "new_path": "src/openssl.h"
    },
    {
      "type": "modify",
      "old_id": "f8e46aba935405b6ef03caa862666d027318f00f",
      "old_mode": 33188,
      "old_path": "src/os400qc3.c",
      "new_id": "74fe64b46fc858a56fae322bbc8b7cd426ae3874",
      "new_mode": 33188,
      "new_path": "src/os400qc3.c"
    },
    {
      "type": "modify",
      "old_id": "dbaa581f603cf8020a95e127065b7e9c3d92d1b8",
      "old_mode": 33188,
      "old_path": "src/os400qc3.h",
      "new_id": "2e2f56a9ffb8082815b73b7737dcf5b2518761f2",
      "new_mode": 33188,
      "new_path": "src/os400qc3.h"
    },
    {
      "type": "modify",
      "old_id": "5219db7f8a8d17126286cc64c589eb625bffc1f5",
      "old_mode": 33261,
      "old_path": "src/wincng.h",
      "new_id": "1e9c3ba6bbc97acbabce7993a661a0bda542fee5",
      "new_mode": 33261,
      "new_path": "src/wincng.h"
    }
  ]
}
