)]}'
{
  "commit": "080774a243f56ce2195ace96fba3d18548ee48ce",
  "tree": "2065041cb2b85891ca45648122122796122c38dc",
  "parents": [
    "6f1cf16582160c4839f05007c978743911aa022b"
  ],
  "author": {
    "name": "Harald Welte",
    "email": "laforge@netfilter.org",
    "time": "Tue Aug 09 19:32:58 2005 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Mon Aug 29 15:31:49 2005 -0700"
  },
  "message": "[NETFILTER]: Add ctnetlink subsystem\n\nAdd ctnetlink subsystem for userspace-access to ip_conntrack table.\nThis allows reading and updating of existing entries, as well as\ncreating new ones (and new expect\u0027s) via nfnetlink.\n\nPlease note the \u0027strange\u0027 byte order: nfattr (tag+length) are in host\nbyte order, while the payload is always guaranteed to be in network\nbyte order.  This allows a simple userspace process to encapsulate netlink\nmessages into arch-independent udp packets by just processing/swapping the\nheaders and not knowing anything about the actual payload.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8f1bfb8d650b2dac7f1774e48b0040473d98064f",
      "old_mode": 33188,
      "old_path": "include/linux/netfilter/nfnetlink.h",
      "new_id": "ace7a7be0742da5a5d1be3aeaf06cb8873c77b8a",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter/nfnetlink.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb528e0e3bd93fd220b6786695fe941598f005b9",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter/nfnetlink_conntrack.h"
    },
    {
      "type": "modify",
      "old_id": "ae1270c97b508b075455dce093ae98881cc96ced",
      "old_mode": 33188,
      "old_path": "include/linux/netfilter_ipv4/ip_conntrack.h",
      "new_id": "ff2c1c6001f9aa303d1ddc7f42e3fa258ce32fd9",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter_ipv4/ip_conntrack.h"
    },
    {
      "type": "modify",
      "old_id": "46eeea1e2733e5c2295d463c55afdf38995bd8bd",
      "old_mode": 33188,
      "old_path": "include/linux/netfilter_ipv4/ip_conntrack_core.h",
      "new_id": "fbf6c3e41647c1cce0b755454c804f4f2087648b",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter_ipv4/ip_conntrack_core.h"
    },
    {
      "type": "modify",
      "old_id": "3692daa93decf3455368fc3bec5dec91fa1c40f0",
      "old_mode": 33188,
      "old_path": "include/linux/netfilter_ipv4/ip_conntrack_helper.h",
      "new_id": "8d69279ccfe46961d1356b822ba53f326bcc2f1f",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter_ipv4/ip_conntrack_helper.h"
    },
    {
      "type": "modify",
      "old_id": "e20b57c5e1b7685053be9a0ff5a814d65dab1580",
      "old_mode": 33188,
      "old_path": "include/linux/netfilter_ipv4/ip_conntrack_protocol.h",
      "new_id": "b6b99be8632a8709687e7b003858e1ee2f2de586",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter_ipv4/ip_conntrack_protocol.h"
    },
    {
      "type": "modify",
      "old_id": "129708c22386f5beb2d1276e818186dbb100b68f",
      "old_mode": 33188,
      "old_path": "include/linux/netfilter_ipv4/ip_nat_protocol.h",
      "new_id": "ef63aa991a0669ffd02843ca332dc267b81c427c",
      "new_mode": 33188,
      "new_path": "include/linux/netfilter_ipv4/ip_nat_protocol.h"
    },
    {
      "type": "modify",
      "old_id": "ff3393eba92433c5e5b541b5314a054468239cef",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/Kconfig",
      "new_id": "e47ba39eb6571a7a1e738feb567a0572e40078c9",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "45796d5924dd9c23c791ea246cffb4395c442423",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/Makefile",
      "new_id": "abf2a7d1a584ae89a3d81ee08f67b362fec7321f",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/Makefile"
    },
    {
      "type": "modify",
      "old_id": "caf89deae116363adc076180b86c8a8fb3a0b13d",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_conntrack_core.c",
      "new_id": "d9fddae8d787da08325e38c06cb9d2bd95e1e92e",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_conntrack_core.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f43ec18c91662eee1de5813dec3fa2477e71ebf6",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_conntrack_netlink.c"
    },
    {
      "type": "modify",
      "old_id": "dca1f63d6f516a7df665d023d1252a883503a6cf",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_conntrack_proto_icmp.c",
      "new_id": "3f90cb9979acb1ea1353d8ea673ee6a4d0b0161e",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_conntrack_proto_icmp.c"
    },
    {
      "type": "modify",
      "old_id": "3d5f878a07d12415adde9a6bb9f1337deab2089b",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_conntrack_proto_sctp.c",
      "new_id": "a875f35e576ddfd117a2ac4224f1a5e9feff3016",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_conntrack_proto_sctp.c"
    },
    {
      "type": "modify",
      "old_id": "a569ad1ee4d91d6acf2acc68ba8252d93201a546",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_conntrack_proto_tcp.c",
      "new_id": "c2bce22d4031ca587ae65fb3f5e40548ceebb59b",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_conntrack_proto_tcp.c"
    },
    {
      "type": "modify",
      "old_id": "6066eaf4d82588305d932b587e8408d9008e5515",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_conntrack_proto_udp.c",
      "new_id": "14130169cbfd46d0e50dd621baae9b7fc12b6738",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_conntrack_proto_udp.c"
    },
    {
      "type": "modify",
      "old_id": "f0880004115d12ee24802eae4068c3bd9cfd69a0",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_conntrack_standalone.c",
      "new_id": "ca97c3ac2f2a2ef0666d82a5f1d08dc71f00ee3d",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_conntrack_standalone.c"
    },
    {
      "type": "modify",
      "old_id": "ed4d731880f7fd53501c094fe0ed54da0c615d49",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_nat_core.c",
      "new_id": "567c802fecf00996abab43eeddd09aa4bb588a5e",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_nat_core.c"
    },
    {
      "type": "modify",
      "old_id": "6596c9ee1655914db4789691416d60aee56ea86c",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_nat_proto_icmp.c",
      "new_id": "38fdfc2093c40ba9c667168d68ead66d387f0744",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_nat_proto_icmp.c"
    },
    {
      "type": "modify",
      "old_id": "a98e36d2b3c627d66cec58ece9d2b173c98de71d",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_nat_proto_tcp.c",
      "new_id": "f03cd0f0c2bf6a563a751936afa3fb050cc413bf",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_nat_proto_tcp.c"
    },
    {
      "type": "modify",
      "old_id": "9f66e56256644e0756e82f73e70a412883de23b1",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_nat_proto_udp.c",
      "new_id": "7a4e66ecbc0a97e069536eaadb0680ad0a9ca3f3",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_nat_proto_udp.c"
    },
    {
      "type": "modify",
      "old_id": "f5525bd58d16f2e8acb6dd7c167a130ad8f57dfe",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_nat_proto_unknown.c",
      "new_id": "512d8f2fb824f64cc204961751edcef3f35bd35f",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_nat_proto_unknown.c"
    },
    {
      "type": "modify",
      "old_id": "9ecba979033acfc6715cd97321822962a5f5d1af",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_nat_standalone.c",
      "new_id": "89db052add81e4a61def654f00cc4bcc9d92f889",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_nat_standalone.c"
    },
    {
      "type": "modify",
      "old_id": "710acd77cc4c4caf08b8bc464e799943ed9fa1bf",
      "old_mode": 33188,
      "old_path": "net/netfilter/nfnetlink.c",
      "new_id": "b0ed5798184766182dccc7986397bad87a678cb1",
      "new_mode": 33188,
      "new_path": "net/netfilter/nfnetlink.c"
    }
  ]
}
