)]}'
{
  "commit": "658ddaaf6694adf63f67451dec9ddeb87a7cb2d7",
  "tree": "33f917f23d7faa78e8dc9a23a57b7265facd2638",
  "parents": [
    "5b11b2e4bdef20e839d90dce96c5bbeafaf9616c"
  ],
  "author": {
    "name": "Shawn Lu",
    "email": "shawn.lu@ericsson.com",
    "time": "Tue Jan 31 22:35:48 2012 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Feb 01 12:43:54 2012 -0500"
  },
  "message": "tcp: md5: RST: getting md5 key from listener\n\nTCP RST mechanism is broken in TCP md5(RFC2385). When\nconnection is gone, md5 key is lost, sending RST\nwithout md5 hash is deem to ignored by peer. This can\nbe a problem since RST help protocal like bgp to fast\nrecove from peer crash.\n\nIn most case, users of tcp md5, such as bgp and ldp,\nhave listener on both sides to accept connection from peer.\nmd5 keys for peers are saved in listening socket.\n\nThere are two cases in finding md5 key when connection is\nlost:\n1.Passive receive RST: The message is send to well known port,\ntcp will associate it with listner. md5 key is gotten from\nlistener.\n\n2.Active receive RST (no sock): The message is send to ative\nside, there is no socket associated with the message. In this\ncase, finding listener from source port, then find md5 key from\nlistener.\n\nwe are not loosing sercuriy here:\npacket is checked with md5 hash. No RST is generated\nif md5 hash doesn\u0027t match or no md5 key can be found.\n\nSigned-off-by: Shawn Lu \u003cshawn.lu@ericsson.com\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": "567cca9b30df4c76f24cc4d7dfe3478d65f38bec",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_ipv4.c",
      "new_id": "90e47931e217cdf69ed1d39d73595d8fc6c47a03",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_ipv4.c"
    },
    {
      "type": "modify",
      "old_id": "c25018106ef2659caa38fcdb61c99934fab31fc0",
      "old_mode": 33188,
      "old_path": "net/ipv6/tcp_ipv6.c",
      "new_id": "d16414cb3421231bd800de6ce7e593b3cbc0db59",
      "new_mode": 33188,
      "new_path": "net/ipv6/tcp_ipv6.c"
    }
  ]
}
