)]}'
{
  "commit": "429ac78cc64e0e29bab7cbc00ee991abcdec3f81",
  "tree": "829302b483390d1484959e4f5b01da2e89d002ba",
  "parents": [
    "74ecdc9e74eb96829e342a03531ba6647ce6bb3c"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Thu Jun 15 18:40:49 2006 +0000"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Thu Jun 15 18:40:49 2006 +0000"
  },
  "message": "[ospfd] Fix multicast membership drop bug\n\n2006-06-15 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* Reported by Milan Koci\n\t* ospf_interface.h: (struct ospf_if_info) Add reference counts\n\t  for multicast group memberships. Add various macros to help\n\t  manipulate/check membership state.\n\t* ospf_interface.c: (ospf_if_set_multicast) Maintain the\n\t  ospf_if_info reference counts, and only actually drop\n\t  memberships if it hits 0, to avoid losing membership when\n\t  OSPF is disabled on an interface with multiple active OSPF\n\t  interfaces.\n\t* ospf_packet.c: (ospf_{hello,read}) Use the new macros to\n\t  check/set\n\t  multicast membership.\n\t* ospf_vty.c: (show_ip_ospf_interface_sub) ditto.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "34d7c4df79c3c272da09013cd6637837252761e5",
      "old_mode": 33188,
      "old_path": "ospfd/ChangeLog",
      "new_id": "b7f2c95f5b59db308755cd5ce85384ee58daa012",
      "new_mode": 33188,
      "new_path": "ospfd/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "b94cfa3ac2144cb94f63501a8ed8a0d8fe422abc",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_interface.c",
      "new_id": "2c2c07497ca707db7b726086af3b3abd57587476",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_interface.c"
    },
    {
      "type": "modify",
      "old_id": "3c759405154accd3d5b66149a218ce4ea56fb156",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_interface.h",
      "new_id": "5a825ea5c819d0ada8f27e6d7846b68d95180bca",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_interface.h"
    },
    {
      "type": "modify",
      "old_id": "a842ca6856e2a32e70a33e12a7b78f06dfb063b4",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_packet.c",
      "new_id": "569f2513a71f1cad5f184c22550dc71dd7886645",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_packet.c"
    },
    {
      "type": "modify",
      "old_id": "8d6ff31fdb1f31949e2bba0ac464c27c2935d22a",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_vty.c",
      "new_id": "10580ab7ca19e546d6d1a663bcef9e41cf04356d",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_vty.c"
    }
  ]
}
