)]}'
{
  "commit": "62687ff1cd3d4460cdbd4b0fbf1e3298fe277ad2",
  "tree": "6bea5c1cf07d9d702c95fabe356fcec418b91398",
  "parents": [
    "b38309a4ee831a440ef78f8a27db584f2f8e8276"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Sat Aug 23 14:27:06 2008 +0100"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul@quagga.net",
    "time": "Sat Aug 23 14:27:06 2008 +0100"
  },
  "message": "[vty] Add support for a \u0027restricted mode\u0027 with anonymous vty connections\n\n\t* lib/command.h: Add a RESTRICTED_NODE, intended for use with\n\t  anonymous, \u0027no login\u0027 vtys, to provide a subset of \u0027view\u0027 mode\n\t  commands.\n\t* lib/command.c: Add RESTRICTED_NODE bits, nothing special, just\n\t  following VIEW_NODE.\n\t* lib/vty.c: (vty_auth) enable authentication should fall back to\n\t  restricted/view node as appropriate.\n\t  (vty_create) init vty\u0027s to restricted/view node as appropriate,\n\t  for the \u0027no login\u0027 case.\n\t  (vty_{no_,}restricted_mode_cmd) config commands to enable\n\t  \u0027anonymous restricted\u0027 in vty configuration.\n\t  (vty_config_write) \u0027anonymous restricted\u0027 config.\n\t  (vty_init) Install some commands to restricted mode, and the\n\t  \u0027anonymous restricted\u0027 config commands into VTY_NODE.\n\t* bgpd/*.c: Install some of the safe(r) BGP commands into\n\t  \u0027restricted mode\u0027, i.e. lookup commands of non-sensitive data.\n\t  Useful with looking-glass route-servers.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4dd5d946340e6cff3c64325b3cf2ab04943d2677",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_nexthop.c",
      "new_id": "22e48db05cd94e9cf795256899240bc29c7cc37d",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_nexthop.c"
    },
    {
      "type": "modify",
      "old_id": "4a642e34f3b19a0fd5cd2a111300d84b01875a7d",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_route.c",
      "new_id": "9ff64654de844c9d931d7c8eaac74643533f16cc",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_route.c"
    },
    {
      "type": "modify",
      "old_id": "908673730453cf6014a9e9ea8bc6772a58145df5",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_vty.c",
      "new_id": "9237cb0d37a29c4a993b9c521779ef06afdb4753",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_vty.c"
    },
    {
      "type": "modify",
      "old_id": "f3d96ede0134f26cd3a53cb356eb9ac02cf82408",
      "old_mode": 33188,
      "old_path": "lib/command.c",
      "new_id": "4887f94fbddfb09b775cafc49b052efa310265c8",
      "new_mode": 33188,
      "new_path": "lib/command.c"
    },
    {
      "type": "modify",
      "old_id": "a72537881d4105c85acb3b55a62115b6ede858fa",
      "old_mode": 33188,
      "old_path": "lib/command.h",
      "new_id": "d093df3cbe8ad9e2897d55a259af7abf8650687c",
      "new_mode": 33188,
      "new_path": "lib/command.h"
    },
    {
      "type": "modify",
      "old_id": "28b3d89693b90e979e5402ae20af2272b2c24cb5",
      "old_mode": 33188,
      "old_path": "lib/memory.c",
      "new_id": "f5d0cba6b2cc9b05b0bd35e9142cd5688b9a2825",
      "new_mode": 33188,
      "new_path": "lib/memory.c"
    },
    {
      "type": "modify",
      "old_id": "32084713ee2989312edb86f79cb388ba3adbb8ee",
      "old_mode": 33188,
      "old_path": "lib/vty.c",
      "new_id": "14a36c162385765261a8c94dee554c087c1c29c9",
      "new_mode": 33188,
      "new_path": "lib/vty.c"
    }
  ]
}
