)]}'
{
  "commit": "a2c4ebc4fac75c0889489e4bed5a0aa89f8193f1",
  "tree": "ef2e5029954e41dfbd56e3b0a398394b38eb1df8",
  "parents": [
    "005ff334d485c4ca231d7ee8396d3eb979a9ce59"
  ],
  "author": {
    "name": "Lance Bragstad",
    "email": "lbragstad@gmail.com",
    "time": "Mon Oct 05 20:34:39 2015 +0000"
  },
  "committer": {
    "name": "Lance Bragstad",
    "email": "lbragstad@gmail.com",
    "time": "Wed Nov 11 05:19:09 2015 +0000"
  },
  "message": "Fix race condition when changing passwords\n\nThis patch makes it so that there is a one second wait when changing a password\nwith Keystone. This is done because when we lose sub-second precision with\nFernet tokens there is the possibility of a token being issued and revoked\nwithin the same second. Keystone will err on the side of security and return a\n404 NotFound when validating a token that was issued in the same second as a\nrevocation event.\n\nFor example, it is possible for a revocation event to happen at .000001, but it\nwill be stored in MySQL as .000000 because of sub-second truncation. A token can\nbe created at .000002, but the creation time of that token, according to\nFernet, will be .000000, because Fernet tokens don\u0027t have sub-second precision.\nWhen that token is validated, it will appear invalid even though it was created\n*after* the revocation event.\n\nChange-Id: Ied83448de8af1b0da9afdfe6ce9431438215bfe0\nCloses-Bug: 1473567\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3b89b66105c8645f383e94e6eca39f930cc0578b",
      "old_mode": 33188,
      "old_path": "tempest/api/identity/v2/test_users.py",
      "new_id": "50aaa25208a00bb386f26333bde469d5f09cc986",
      "new_mode": 33188,
      "new_path": "tempest/api/identity/v2/test_users.py"
    },
    {
      "type": "modify",
      "old_id": "a1f664f2d6d23db12f28ef49adba55a77cc080fc",
      "old_mode": 33188,
      "old_path": "tempest/api/identity/v3/test_users.py",
      "new_id": "14a866f2aaee787916b8d3e6d42f45e947e0d51f",
      "new_mode": 33188,
      "new_path": "tempest/api/identity/v3/test_users.py"
    }
  ]
}
