)]}'
{
  "commit": "a378c558d64867008f4344490e3df4706e965fa7",
  "tree": "5116604d4b0e995537cee174d9174a650307691a",
  "parents": [
    "82a02d946a4bf7da11dc0c6be3c4b0b2d52bd378"
  ],
  "author": {
    "name": "Alistair Strachan",
    "email": "astrachan@google.com",
    "time": "Tue May 28 17:18:36 2019 -0700"
  },
  "committer": {
    "name": "Lorenzo Colitti",
    "email": "lorenzo@google.com",
    "time": "Wed May 29 04:24:37 2019 +0000"
  },
  "message": "Try OPNS/OLAC before PPTP/L2TP\n\nWhen the PPTP/L2TP path was introduced, support for the features was\ndetermined simply by opening a socket with the appropriate upstream\nsocket protocol types. However, it was later found that older kernels\nhad bugs in their PPTP implementation which silently broke Android\u0027s use\nof the ppp tunnel, and must not be used.\n\nUnfortunately, some devices ship with CONFIG_PPTP or CONFIG_L2TP enabled\n*in addition* to the CONFIG_PPPOPNS or CONFIG_PPPOLAC Android\nextensions, but lacked the upstream fixes to PPTP/L2TP. This meant that\nmtpd would prefer the broken PPTP/L2TP features over the working\nOPNS/OLAC features.\n\nOn newer kernels, which do not have broken PPTP/L2TP implementations, we\nhave explicitly removed the Android OPNS/OLAC changes. This means even\nif we \"prefer\" the deprecated method, it will never be used, and\nPPTP/L2TP will always be used instead, which is what we want.\n\nThis change maximizes compatibility with older broken kernels without\nsacrificing use of the modern path on kernels without the bugs.\n\nBug: 116424816\nChange-Id: Ic64426c76135b717a1da7013bc03501c03d19a6b\nMerged-In: Ic64426c76135b717a1da7013bc03501c03d19a6b\n(cherry picked from commit 1b5fc73ae98d5e3b7d2c1f10d9dcbc2749355d3e)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1d6171e05758a7cb2ef71ae6f069945b35f7f2b9",
      "old_mode": 33188,
      "old_path": "l2tp.c",
      "new_id": "ae6088d14c0c8686171868a81ff37f7503550102",
      "new_mode": 33188,
      "new_path": "l2tp.c"
    },
    {
      "type": "modify",
      "old_id": "80eb24a6bb6e9e464d5f1f1d0bdb676590fee98b",
      "old_mode": 33188,
      "old_path": "pptp.c",
      "new_id": "7a58a27cf12c5006ac4f656805ad58490e8c7d1c",
      "new_mode": 33188,
      "new_path": "pptp.c"
    }
  ]
}
