)]}'
{
  "commit": "2be2c2c95c9a3747fd200e3ea3623607053d5299",
  "tree": "b3e2e6ee26565a351933c91bb8f31a752a3980fc",
  "parents": [
    "a1fc7e7228d7b8de05bc2cf074f112af757401d0"
  ],
  "author": {
    "name": "Florian Zschocke",
    "email": "florian.zschocke@devolo.de",
    "time": "Sat Dec 10 01:00:27 2016 +0100"
  },
  "committer": {
    "name": "Florian Zschocke",
    "email": "florian.zschocke@devolo.de",
    "time": "Mon Dec 12 14:25:41 2016 +0100"
  },
  "message": "Introduce SecureRandom wrapper for properly seeded static instances\n\nIntroduce our own wrapper `SecureRandom` around `java.security.SecureRandom`.\nThis a) makes sure that the PRNG is seeded on creation and not when\nrandom bytes are retrieved, and\nb) uses a static instance in the `UserModel` so that lags do not occur\nduring operation due to potentially seeding getting blocked on Unix\nwhen reading from the system\u0027s entropy pool. To keep the random data\nstill secure, the static instance will reseed all 24 hours, also a\nfunctionality of the wrapper class.\n\nThis fixes #1063 and extends and closes PR #1116\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "edbdf028bf7e533589c028f13f9e68db855c6208",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/models/UserModel.java",
      "new_id": "f8f7ed6dcf32d463ddd18e7234003c6e05fa231d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/models/UserModel.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "119533d410db1446d8133314dada70e64232c8c9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/utils/SecureRandom.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c4098c2ff9d95ca17a0bfe63bf8cc0bfe1e296d7",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gitblit/utils/SecureRandomTest.java"
    }
  ]
}
