)]}'
{
  "commit": "14e50e57aedb2a89cf79b77782879769794cab7b",
  "tree": "46cbdab9c8007cea0821294c9d397214b38ea4c8",
  "parents": [
    "04efb8787e4d8a7b21a61aeb723de33154311256"
  ],
  "author": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Thu May 24 18:17:54 2007 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Thu May 24 18:17:54 2007 -0700"
  },
  "message": "[XFRM]: Allow packet drops during larval state resolution.\n\nThe current IPSEC rule resolution behavior we have does not work for a\nlot of people, even though technically it\u0027s an improvement from the\n-EAGAIN buisness we had before.\n\nRight now we\u0027ll block until the key manager resolves the route.  That\nworks for simple cases, but many folks would rather packets get\nsilently dropped until the key manager resolves the IPSEC rules.\n\nWe can\u0027t tell these folks to \"set the socket non-blocking\" because\nthey don\u0027t have control over the non-block setting of things like the\nsockets used to resolve DNS deep inside of the resolver libraries in\nlibc.\n\nWith that in mind I coded up the patch below with some help from\nHerbert Xu which provides packet-drop behavior during larval state\nresolution, controllable via sysctl and off by default.\n\nThis lays the framework to either:\n\n1) Make this default at some point or...\n\n2) Move this logic into xfrm{4,6}_policy.c and implement the\n   ARP-like resolution queue we\u0027ve all been dreaming of.\n   The idea would be to queue packets to the policy, then\n   once the larval state is resolved by the key manager we\n   re-resolve the route and push the packets out.  The\n   packets would timeout if the rule didn\u0027t get resolved\n   in a certain amount of time.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e12a8ce0b9b30737a39edbeaea90ba9edca76557",
      "old_mode": 33188,
      "old_path": "include/net/dst.h",
      "new_id": "82270f9332db94077bb6d95bcca2f2ef0010c636",
      "new_mode": 33188,
      "new_path": "include/net/dst.h"
    },
    {
      "type": "modify",
      "old_id": "4fa5dfe886c4e387a094b2a244a788b4f20e744c",
      "old_mode": 33188,
      "old_path": "include/net/ipv6.h",
      "new_id": "78a0d06d98d5420b2094b4c5a78b9d62c1cfdc10",
      "new_mode": 33188,
      "new_path": "include/net/ipv6.h"
    },
    {
      "type": "modify",
      "old_id": "b29712033dd4a2ba246d8b9ccb3c1dface442459",
      "old_mode": 33188,
      "old_path": "net/core/sysctl_net_core.c",
      "new_id": "f34aca041a25b8b9aacfc18b17717f3a1bb15c63",
      "new_mode": 33188,
      "new_path": "net/core/sysctl_net_core.c"
    },
    {
      "type": "modify",
      "old_id": "64eac2515aa2554205534426b5f1cfcf7626931e",
      "old_mode": 33188,
      "old_path": "net/dccp/ipv6.c",
      "new_id": "31737cdf156a5e657760278c557cbb861d2961f7",
      "new_mode": 33188,
      "new_path": "net/dccp/ipv6.c"
    },
    {
      "type": "modify",
      "old_id": "df9fe4f2e8cc5df95fc43c3fe1c271d8d480ac89",
      "old_mode": 33188,
      "old_path": "net/ipv4/route.c",
      "new_id": "8603cfb271f2c49d673d6ac24999872597a2f080",
      "new_mode": 33188,
      "new_path": "net/ipv4/route.c"
    },
    {
      "type": "modify",
      "old_id": "403eee66b9c5e4303e22fc2712eb67340a244b32",
      "old_mode": 33188,
      "old_path": "net/ipv6/datagram.c",
      "new_id": "b1fe7ac5dc9006795e871621179bf4d20f58cd9b",
      "new_mode": 33188,
      "new_path": "net/ipv6/datagram.c"
    },
    {
      "type": "modify",
      "old_id": "009a1047fc3fab58b87c95a62591606e75d7c2a8",
      "old_mode": 33188,
      "old_path": "net/ipv6/raw.c",
      "new_id": "a58459a766849fe71e2fa4c08cb67dd65e78aa03",
      "new_mode": 33188,
      "new_path": "net/ipv6/raw.c"
    },
    {
      "type": "modify",
      "old_id": "b46ad53044bac791e48cb164002a48f9455f1195",
      "old_mode": 33188,
      "old_path": "net/ipv6/route.c",
      "new_id": "1324b06796c0b10aeb8915daebece85e55c854ed",
      "new_mode": 33188,
      "new_path": "net/ipv6/route.c"
    },
    {
      "type": "modify",
      "old_id": "e2f25ea43b6871edab1f9324afc994ef3c2ba216",
      "old_mode": 33188,
      "old_path": "net/ipv6/tcp_ipv6.c",
      "new_id": "4f06a51ad4fd73ebd6406a1cadb4b1840e6db8ca",
      "new_mode": 33188,
      "new_path": "net/ipv6/tcp_ipv6.c"
    },
    {
      "type": "modify",
      "old_id": "a7ae59c954d5a2d68f7d18c6bdb3addf1abcbdaf",
      "old_mode": 33188,
      "old_path": "net/ipv6/udp.c",
      "new_id": "d1fbddd172e76c277625254641e59ae884488f0a",
      "new_mode": 33188,
      "new_path": "net/ipv6/udp.c"
    },
    {
      "type": "modify",
      "old_id": "d0882e53b6fced18c5a4f2ef4b87b38c2a0716c7",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_policy.c",
      "new_id": "b8bab89616a069e22ff82c7fac1d00d44acef9c3",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_policy.c"
    }
  ]
}
