)]}'
{
  "commit": "3b3eadc13817aabffd2f32f3038ecc1b7e92f78f",
  "tree": "204ae2eb3f582a27e50502bd7239024c70a68299",
  "parents": [
    "be5cba5d680de96518d9cbf2ce31973594757b47"
  ],
  "author": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Thu Feb 27 18:52:06 2014 +0000"
  },
  "committer": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Sun Mar 23 14:55:50 2014 +0000"
  },
  "message": "Resilience against GerritOAuth and JSESSIONID cookies lost\n\nGitHub plugin uses two main cookies to cache OAuth\ninformation:\n- GerritOAuth to enrich HTTP requests with auth headers used by\n  Gerrit HTTP authentication\n- JSESSIONID to get session objects with GitHub client objects\n\nWhen GerritOAuth or JSESSIONID expire, a transparent GitHub OAuth\nrenegotiation is needed to recreate them through a new authentication\nchallenge. OAuth scope is now stored in the GerritOAuth cookie in order\nto re-create the same scope-level previously own.\n\nNOTE: GerritOAuth is typically short lived to avoid\n      security leak of the OAuth information. JSESSIONID could be lost\n      because of workload balancing or failover.\n\nChange-Id: I874c4ae75f2b238dccb0ec8c164628c28f1b5f01",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "459b9dad8ed4924e936c28ecdb2dbb84333963fb",
      "old_mode": 33188,
      "old_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogin.java",
      "new_id": "da86a0282d52de689c6aa5d87ffa299166e792b1",
      "new_mode": 33188,
      "new_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogin.java"
    },
    {
      "type": "modify",
      "old_id": "d886b82909873e79eda9f603394eb7d5f4067003",
      "old_mode": 33188,
      "old_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCookie.java",
      "new_id": "54fee4f38aae9729ddbc91533921841ef95774ee",
      "new_mode": 33188,
      "new_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCookie.java"
    },
    {
      "type": "modify",
      "old_id": "65cd93ebbdf380df3a9b4ee7e65791ef5959feb8",
      "old_mode": 33188,
      "old_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCookieProvider.java",
      "new_id": "185002c5b59c582498005f970651ae12c13d4d0b",
      "new_mode": 33188,
      "new_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCookieProvider.java"
    },
    {
      "type": "modify",
      "old_id": "ba057ff03a2e722108aa63d6947cd8f5a60b3389",
      "old_mode": 33188,
      "old_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java",
      "new_id": "fa604dbc9670b535b694bf80c8cd30a4b3db84cd",
      "new_mode": 33188,
      "new_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java"
    },
    {
      "type": "modify",
      "old_id": "5fd96b506598e6a4e750e45b812a7db1c6cd6922",
      "old_mode": 33188,
      "old_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java",
      "new_id": "d0d705f011427e4ff051a281c9367f406af725fd",
      "new_mode": 33188,
      "new_path": "github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java"
    }
  ]
}
