)]}'
{
  "commit": "00959ade36acadc00e757f87060bf6e4501d545f",
  "tree": "9bfe790d4a8b63b0e6653388da73dfd777eea8ff",
  "parents": [
    "1003489e06c04d807c783a8958f2ccc9aed7a244"
  ],
  "author": {
    "name": "Dmitry Kozlov",
    "email": "xeb@mail.ru",
    "time": "Sat Aug 21 23:05:39 2010 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Sat Aug 21 23:05:39 2010 -0700"
  },
  "message": "PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol)\n\nPPP: introduce \"pptp\" module which implements point-to-point tunneling protocol using pppox framework\nNET: introduce the \"gre\" module for demultiplexing GRE packets on version criteria\n     (required to pptp and ip_gre may coexists)\nNET: ip_gre: update to use the \"gre\" module\n\nThis patch introduces then pptp support to the linux kernel which\ndramatically speeds up pptp vpn connections and decreases cpu usage in\ncomparison of existing user-space implementation\n(poptop/pptpclient). There is accel-pptp project\n(https://sourceforge.net/projects/accel-pptp/) to utilize this module,\nit contains plugin for pppd to use pptp in client-mode and modified\npptpd (poptop) to build high-performance pptp NAS.\n\nThere was many changes from initial submitted patch, most important are:\n1. using rcu instead of read-write locks\n2. using static bitmap instead of dynamically allocated\n3. using vmalloc for memory allocation instead of BITS_PER_LONG + __get_free_pages\n4. fixed many coding style issues\nThanks to Eric Dumazet.\n\nSigned-off-by: Dmitry Kozlov \u003cxeb@mail.ru\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5b8baa1d70eacc4ddfdff02f184f1bedb9dd639",
      "old_mode": 33188,
      "old_path": "MAINTAINERS",
      "new_id": "43c9efcd8e1082f9d905119555aff76597020ef4",
      "new_mode": 33188,
      "new_path": "MAINTAINERS"
    },
    {
      "type": "modify",
      "old_id": "5a6895320b48a8d7774acfb4e6b239713cc6bd9d",
      "old_mode": 33188,
      "old_path": "drivers/net/Kconfig",
      "new_id": "9b2a72089a685f678faa26064608bb4ca0fa353f",
      "new_mode": 33188,
      "new_path": "drivers/net/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "56e8c27f77cebe9ef3b9ac3c1284f7e2975f8448",
      "old_mode": 33188,
      "old_path": "drivers/net/Makefile",
      "new_id": "0b371083d481a5a24c62641a431d8c0d9f7b6bbc",
      "new_mode": 33188,
      "new_path": "drivers/net/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "761f0eced724642cbfa33f0441ca12ea80eef222",
      "new_mode": 33188,
      "new_path": "drivers/net/pptp.c"
    },
    {
      "type": "modify",
      "old_id": "1925e0c3f1623e0d515a22ac6cbc01074fd83e68",
      "old_mode": 33188,
      "old_path": "include/linux/if_pppox.h",
      "new_id": "1525b2156b2a1b07604de8b9d2b9dc6090256150",
      "new_mode": 33188,
      "new_path": "include/linux/if_pppox.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82665474bcb7c6e1389b2741fd9eda141f617270",
      "new_mode": 33188,
      "new_path": "include/net/gre.h"
    },
    {
      "type": "modify",
      "old_id": "7c3a7d19124995fd89034a4db2254566aab4cdfd",
      "old_mode": 33188,
      "old_path": "net/ipv4/Kconfig",
      "new_id": "7458bdae7e9f84f1f82184616a4947e4dccc8e10",
      "new_mode": 33188,
      "new_path": "net/ipv4/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "80ff87ce43aac6a350bbe8e973f91e8eb58e14e9",
      "old_mode": 33188,
      "old_path": "net/ipv4/Makefile",
      "new_id": "4978d22f9a75eafe3fe10d8cf93f6e8a2a7f647a",
      "new_mode": 33188,
      "new_path": "net/ipv4/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b546736da2e19754f6f92932abd3043f409b04ec",
      "new_mode": 33188,
      "new_path": "net/ipv4/gre.c"
    },
    {
      "type": "modify",
      "old_id": "945b20a5ad5006b6a8ebf84b22756f7573436c1f",
      "old_mode": 33188,
      "old_path": "net/ipv4/ip_gre.c",
      "new_id": "85176895495a790329fd9c8ba863f6092322d7ac",
      "new_mode": 33188,
      "new_path": "net/ipv4/ip_gre.c"
    }
  ]
}
