)]}'
{
  "commit": "ddf1c26ca3cfd31ed11a40909bdadc6b823f0697",
  "tree": "e536e458dc628c11a50a756020a2c99d2d6e2533",
  "parents": [
    "efc1e725778b55917962092ee9d0f735c9ef54dc"
  ],
  "author": {
    "name": "gdt",
    "email": "gdt",
    "time": "Sun Jan 04 01:02:55 2004 +0000"
  },
  "committer": {
    "name": "gdt",
    "email": "gdt",
    "time": "Sun Jan 04 01:02:55 2004 +0000"
  },
  "message": "Really ripngd should either leave groups on down interfaces, or keep\ntrack of on which interfaces joins have occurred.  This is complicated\nby the possible lack of a clear behavior spec on whether interfaces\nkeep their joined group lists across a down/up/down transition.  (On\nNetBSD, they do.)\n\n2004-01-03  Greg Troxel  \u003cgdt@ahi.ir.bbn.com\u003e\n\n        * ripng_interface.c (ripng_multicast_join): If IPV6_JOIN_GROUP\n        returns EADDRINUSE, consider the join successful.  This happens\n        when an interface goes down and comes back because\n        ripng_multicast_leave does not invoke the LEAVE_GROUP operation if\n        the interface is down.  Solves problem of ripng stopping working\n        on an interface which goes down and then comes back up (on NetBSD).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa1351030d72b9b89d46ebd60403499ba38dee1d",
      "old_mode": 33188,
      "old_path": "ripngd/ChangeLog",
      "new_id": "f5a3078755368efb47cf999cff4730f8a236843b",
      "new_mode": 33188,
      "new_path": "ripngd/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "b4299eb07af9025bd4fe520189bc895347c82c35",
      "old_mode": 33188,
      "old_path": "ripngd/ripng_interface.c",
      "new_id": "7437f70fa5d6e0af6c080c655db8a9f04bf21240",
      "new_mode": 33188,
      "new_path": "ripngd/ripng_interface.c"
    }
  ]
}
