)]}'
{
  "commit": "ca735b3aaa945626ba65a3e51145bfe4ecd9e222",
  "tree": "5fe88e398080a1287fefc10a8bbc54f7eb8c99ba",
  "parents": [
    "28337ff5438a640afa713d874d076e3a8a9150da"
  ],
  "author": {
    "name": "Eric Leblond",
    "email": "eric@inl.fr",
    "time": "Mon Mar 16 14:54:21 2009 +0100"
  },
  "committer": {
    "name": "Patrick McHardy",
    "email": "kaber@trash.net",
    "time": "Mon Mar 16 14:54:21 2009 +0100"
  },
  "message": "netfilter: use a linked list of loggers\n\nThis patch modifies nf_log to use a linked list of loggers for each\nprotocol. This list of loggers is read and write protected with a\nmutex.\n\nThis patch separates registration and binding. To be used as\nlogging module, a module has to register calling nf_log_register()\nand to bind to a protocol it has to call nf_log_bind_pf().\nThis patch also converts the logging modules to the new API. For nfnetlink_log,\nit simply switchs call to register functions to call to bind function and\nadds a call to nf_log_register() during init. For other modules, it just\nremove a const flag from the logger structure and replace it with a\n__read_mostly.\n\nSigned-off-by: Eric Leblond \u003ceric@inl.fr\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7182c06974f4a619fa232c1695b2a8a7dde10ec9",
      "old_mode": 33188,
      "old_path": "include/net/netfilter/nf_log.h",
      "new_id": "920997f1aff0ff11868f78fcd2bc5f31f41905d5",
      "new_mode": 33188,
      "new_path": "include/net/netfilter/nf_log.h"
    },
    {
      "type": "modify",
      "old_id": "27a78fbbd92bd63018ef9748e3d822ca0be2a35e",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ipt_LOG.c",
      "new_id": "acc44c69eb68ffb972cedc569cf3222b5c92b255",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ipt_LOG.c"
    },
    {
      "type": "modify",
      "old_id": "18a2826b57c6f2c7e16cd2c091ca68db772b61f6",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ipt_ULOG.c",
      "new_id": "d32cc4bb328afb51d84e913c8aabc6bd85855005",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ipt_ULOG.c"
    },
    {
      "type": "modify",
      "old_id": "37adf5abc51e85bb9d07ab4a668307b9b316da77",
      "old_mode": 33188,
      "old_path": "net/ipv6/netfilter/ip6t_LOG.c",
      "new_id": "7018cac4fddcda35183dbbb16977537fd5e3b0e6",
      "new_mode": 33188,
      "new_path": "net/ipv6/netfilter/ip6t_LOG.c"
    },
    {
      "type": "modify",
      "old_id": "fa8ae5d2659c6ad1fb13b7dbb20743d0cc1a8886",
      "old_mode": 33188,
      "old_path": "net/netfilter/nf_log.c",
      "new_id": "a228b5fbcf7c60ba8967031f7fc9dd255d2b5016",
      "new_mode": 33188,
      "new_path": "net/netfilter/nf_log.c"
    },
    {
      "type": "modify",
      "old_id": "fa49dc7fe100ffb0cd7a48e1b626c87019903197",
      "old_mode": 33188,
      "old_path": "net/netfilter/nfnetlink_log.c",
      "new_id": "3eae3fca29d87c010a0ec327d97db8c6834a630d",
      "new_mode": 33188,
      "new_path": "net/netfilter/nfnetlink_log.c"
    }
  ]
}
