)]}'
{
  "commit": "1f2c2743ac188b909114a1bf054a9a41a0cd5635",
  "tree": "a55fdbddb1c4f5ea4476fd44ccf2fb988cafd819",
  "parents": [
    "aa2737a08a284953908e131894accd25bf627d53"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Mon Jul 10 07:45:13 2006 +0000"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Mon Jul 10 07:45:13 2006 +0000"
  },
  "message": "[ospfd] cleanup NSM neighbour delete through a new Deleted NSM state\n\n2006-07-07 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy\n\t  state indicating the neighbour is to be deleted.\n\t* ospf_nsm.c: (general) Use the NSM_Deleted state to delete\n\t  neighbours, thus allowing code to be slightly more obvious\n\t  in its flow.\n\t  (nsm_timer_set) Add NSM_Deleted. Add another timer the code\n\t  missed.\n\t  (nsm_kill_nbr) No need for special case call to nsm_change_state\n\t  anymore.\n\t  Make the assert and error-handling for same case more readable\n\t  (Andrew Schorr)\n\t  Remove the call to ospf_nbr_delete, nsm_change_state can do\n\t  this generally now via NSM_Deleted.\n\t  (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events\n\t  that can lead to nsm_kill_nbr all now transition the NBR to\n\t  NSM_Deleted and the general change_state function can be left\n\t  to do the work.\n\t  (ospf_nsm_event) Special casing of events and early-return can\n\t  be removed now.\n\t  On transition into Deleted, delete the nbr.\n\t* ospf_dump.c: (ospf_nsm_state_msg) Add Deleted.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b4f7d3e74b90ed2574b802c8a353a85167029dca",
      "old_mode": 33188,
      "old_path": "ospfd/ChangeLog",
      "new_id": "7c374fb82467ec08c41e852cf2169a34643ff6d7",
      "new_mode": 33188,
      "new_path": "ospfd/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "47b76fcb2c9ffb235579ac5cf055ce059f547515",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_dump.c",
      "new_id": "b8dc7951b9c027ee5c4c650298bd4510def383c2",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_dump.c"
    },
    {
      "type": "modify",
      "old_id": "fb736eba78539407b664c391ada3fd358403029f",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_nsm.c",
      "new_id": "56f818659011490d90d8bf457c83620337cfafa6",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_nsm.c"
    },
    {
      "type": "modify",
      "old_id": "fe42f7a0a8c565de63eea1ca31fd3ebb45fdb88f",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_nsm.h",
      "new_id": "1121dae6108a856084fe72d0cc58a6dfc2fc2264",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_nsm.h"
    }
  ]
}
