)]}'
{
  "commit": "dd13b010368f85dfa59364ba87bfe8ae930b2832",
  "tree": "f7f0a8fa77858674564aeb614499f40dd3c6dcd8",
  "parents": [
    "55871d04793d9c069ee277b1e98794b88d92ed80"
  ],
  "author": {
    "name": "Patrick McHardy",
    "email": "kaber@trash.net",
    "time": "Mon Apr 14 11:15:52 2008 +0200"
  },
  "committer": {
    "name": "Patrick McHardy",
    "email": "kaber@trash.net",
    "time": "Mon Apr 14 11:15:52 2008 +0200"
  },
  "message": "[NETFILTER]: nf_nat: kill helper and seq_adjust hooks\n\nConnection tracking helpers (specifically FTP) need to be called\nbefore NAT sequence numbers adjustments are performed to be able\nto compare them against previously seen ones. We\u0027ve introduced\ntwo new hooks around 2.6.11 to maintain this ordering when NAT\nmodules were changed to get called from conntrack helpers directly.\n\nThe cost of netfilter hooks is quite high and sequence number\nadjustments are only rarely needed however. Add a RCU-protected\nsequence number adjustment function pointer and call it from\nIPv4 conntrack after calling the helper.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9a10092e358cacead0c968e694eb2b0f426d4cbf",
      "old_mode": 33188,
      "old_path": "include/linux/netfilter_ipv4.h",
      "new_id": "650318b0c405b2669fcfe413eb7a73f9b4628240",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter_ipv4.h"
    },
    {
      "type": "modify",
      "old_id": "58dd22687949ca807a89e8bd9c913636cdc248bf",
      "old_mode": 33188,
      "old_path": "include/net/netfilter/nf_nat_helper.h",
      "new_id": "237a961f40e1fb23a20951ea166dacd8053790fc",
      "new_mode": 33188,
      "new_path": "include/net/netfilter/nf_nat_helper.h"
    },
    {
      "type": "modify",
      "old_id": "a65b845c5f1596ec5d7732b6d84508f1133eef3f",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c",
      "new_id": "41e79613eb0a211fa370d2650fac5e691d95ea37",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c"
    },
    {
      "type": "modify",
      "old_id": "9320c7ac5729b3e43c72e8fed574d7510b096221",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/nf_nat_core.c",
      "new_id": "25c3efe4207e221bc0a9a1c9a3f7b75ef5599816",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/nf_nat_core.c"
    },
    {
      "type": "modify",
      "old_id": "2fca727aa8ba1b9ff7bcdee6978b36a64be3c387",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/nf_nat_helper.c",
      "new_id": "11976ea2988493eee1b108aceb677da3d5637250",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/nf_nat_helper.c"
    },
    {
      "type": "modify",
      "old_id": "a366b5865b9c3c3b0556a5ebb772097b64299ac4",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/nf_nat_standalone.c",
      "new_id": "b7dd695691a0858bf20bda8b4f756e05f585ab1f",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/nf_nat_standalone.c"
    }
  ]
}
