)]}'
{
  "commit": "ca16218df74a43491e34a577db5023c89a7e79c8",
  "tree": "5aaee14da68863f7d7eb80fad46c83bebfc4fb8c",
  "parents": [
    "1f377b0202dfc4653f7717de964b628a369a9526"
  ],
  "author": {
    "name": "paul",
    "email": "paul",
    "time": "Mon Sep 12 16:58:52 2005 +0000"
  },
  "committer": {
    "name": "paul",
    "email": "paul",
    "time": "Mon Sep 12 16:58:52 2005 +0000"
  },
  "message": "2005-09-12 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR\n\t  support.\n\t* connected.c: (connected_withdraw) new function. withdraw a\n\t  connected subnet address set from zebra, and pass information\n\t  along to clients.\n\t  (connected_announce) similar, but to announce a new connected\n\t  subnet address set.\n\t  (connected_check_ipv4) renamed to connected_check, as its\n\t  AFI independent.\n\t  (connected_add_ipv{4,6}) Remove the connected address announce\n\t  stuff, use connected_announce instead.\n\t  If connected_check indicates address is already present,\n\t  treat it as an implicit withdraw of the existing address, ie\n\t  remove the old address details and replace with the new\n\t  details.\n\t  (connected_delete_ipv{4,6}) Use connected_withdraw.\n\t  (connected_check_ipv6) deleted in favour of connected_check.\n\t* connected.h: Rename connected_check_ipv4 to connected_check.\n\t  delete connected_check_ipv6.\n\t* interface.c: Use connected_check rather than the AFI specific\n\t  symbols.\n\t* kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a\n\t  rib delete event for the existing route, before adding route\n\t  again.\n\t  (kernel_read) we can handle RTM_CHANGE now.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "61b8b41ab393ed81d494ea823bbd2fc9bde399be",
      "old_mode": 33188,
      "old_path": "zebra/ChangeLog",
      "new_id": "6225ce1a87357670db4e2c55415310384e2f6208",
      "new_mode": 33188,
      "new_path": "zebra/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "6826908884935a430c49317f6fcfbfbec9a21011",
      "old_mode": 33188,
      "old_path": "zebra/connected.c",
      "new_id": "7599d24dd61ba011fc280a99f57fb6f949a1204d",
      "new_mode": 33188,
      "new_path": "zebra/connected.c"
    },
    {
      "type": "modify",
      "old_id": "726092aec47adfb1316174eb222f91e6fb270b27",
      "old_mode": 33188,
      "old_path": "zebra/connected.h",
      "new_id": "73166eb5a1b273913100596a34302e2e2f9a5bcf",
      "new_mode": 33188,
      "new_path": "zebra/connected.h"
    },
    {
      "type": "modify",
      "old_id": "92e43d97e0cd07cff8d2d895f540637244adab0a",
      "old_mode": 33188,
      "old_path": "zebra/interface.c",
      "new_id": "49fffcf5de8dade19ec021a17d6172d8ebb27be2",
      "new_mode": 33188,
      "new_path": "zebra/interface.c"
    },
    {
      "type": "modify",
      "old_id": "fe7411eed1e3269fda3c5fe7cca954ffccb1be77",
      "old_mode": 33188,
      "old_path": "zebra/kernel_socket.c",
      "new_id": "f391d53a05a34dbd1df5c7f86649f2e94143eed3",
      "new_mode": 33188,
      "new_path": "zebra/kernel_socket.c"
    }
  ]
}
