)]}'
{
  "log": [
    {
      "commit": "60b815eb26c4e94e07524a508433e6f66a6d6183",
      "tree": "650f56393e782850844b59e618fc698aa678d5d0",
      "parents": [
        "bb7feff0af6c8519df45a4f40f06cdd819fe70d0"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Feb 04 06:53:46 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Feb 04 06:54:24 2015 +0100"
      },
      "message": "vtysh: add missing pimd define\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "596470f2a410fb58109fd880f04362984ffd7c69",
      "tree": "d5eac65e626b688e44451efbf32f4a9518fa5a27",
      "parents": [
        "871dbcfede60a8d2d286728bcbd88f27c2035b87"
      ],
      "author": {
        "name": "Leonard Herve",
        "email": "leonard.herve@yahoo.fr",
        "time": "Tue Aug 11 15:45:26 2009 -0300"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Feb 04 06:07:49 2015 +0100"
      },
      "message": "[pim] pim commands added to vtysh\n"
    },
    {
      "commit": "feb6c53eacf630bf18d29e1994f65e567dbdd985",
      "tree": "4401c28048c69cdbced6be4ab1cd3bbd496b50af",
      "parents": [
        "831aeb9a87d9071829758caf11130aee5578f9c2"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 07 04:58:49 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "vtysh: Vtysh support for babeld.\n"
    },
    {
      "commit": "57fb974856b9ae143ca5642e279d181a45bbdd10",
      "tree": "5008d2b2fc2b061747d7afaf27c4f3f197f8ed93",
      "parents": [
        "0fbd62a17c53f1e2695c0f96ffb437cd079abacb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen.hemminger@vyatta.com",
        "time": "Mon Jul 28 12:19:04 2008 -0700"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Jun 18 20:18:24 2009 +0100"
      },
      "message": "[vtysh] Make vtysh more useable for scripting\n\nAdd environment variable (VTYSH_LOG) for logging.\nIf a command fails, exit with non-zero exit code and don\u0027t\ncontinue multipart commands.\n"
    },
    {
      "commit": "7514fb7739f74311830e9ddd1381d0d228224f61",
      "tree": "4d4b9a4fdfcea4cb6fa496085327f1aae9a9a380",
      "parents": [
        "5fa05099567bbe42aae87a9bef8fd630b3666a4d"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Wed May 02 16:05:35 2007 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Wed May 02 16:05:35 2007 +0000"
      },
      "message": "[zebra] Routemap support on received routes, with \u0027set src\u0027 command (linux)\n\n2007-05-01 David L Stevens \u003cdlstevens@us.ibm.com\u003e\n\n\t* (general) These changes collectively add route-map and\n\t  prefix-list support to zebra and fix a bug in \"show\n\t  route-map\" (with no argument).\n\t* doc/main.texi: added route-map, prefix-list, ip protocol\n\t  and set src documentation\n\t* lib/command.h: added PROTOCOL_NODE type\n\t* lib/log.c: (proto_name2num) new function, protocol name to\n\t  number translation.\n\t* lib/routemap.c: (vty_show_route_map) fixed \"show route-map\"\n\t  without route-map name\n\t* lib/routemap.h: added RMAP_ZEBRA type\n\t* lib/zebra.h: added proto_name2num() prototype\n\t* vtysh/extract.pl.in: added VTYSH_ZEBRA flag for route-map and\n\t  plist\n\t* vtysh/Makefile.am: added zebra_routemap.c\n\t* vtysh/vtysh.h: added VTYSH_ZEBRA flag to VTYSH_RMAP\n\t* zebra/connected.c: (connected_up_ipv4) added src preference argument\n\t  to rib_add_ipv4()\n\t* zebra/kernel_socket.c: (rtm_read) ditto\n\t* zebra/main.c: added prefix list initialization\n\t* zebra/Makefile.am: added zebra_routemap.c source file\n\t* zebra/rib.h: added generic address union \"g_addr\" and use in\n\t  existing places that had an explicit union.\n\t  Added \"src\" to struct nexthop.\n\t  Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4.\n\t* zebra/rt_netlink.c: (netlink_routing_table) set preferred source on\n\t  netlink messages.\n\t  (netlink_route_change) ditto\n\t  (netlink_route_multipath) ditto.\n\t* zebra/rtread_getmsg.c: (handle_route_entry) added (NULL) src to\n\t  rib_add_ipv4() call.\n\t* zebra/rtread_proc.c: (proc_route_read) ditto\n\t* zebra/zebra_rib.c: (nexthop_ipv4_add) add src argument.\n\t  (nexthop_ipv4_ifindex_add) ditto\n\t  (rib_add_ipv4) ditto\n\t  (nexthop_active_check) Add route-map processing.\n\t* zebra/zebra_routemap.c: new file for zebra route-map commands.\n\t* zebra/zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol\n\t  (vty_show_ip_route_detail) added \"src\" printing\n\t  (vty_show_ip_route) ditto\n\t  (show_ip_protocol_cmd) new command, list routemaps.\n\t  (config_write_protocol) write out routemap protocl config.\n\t  (zebra_vty_init) Install the new routemap protocol commands.\n\t* zebra/zserv.c: (zread_ipv4_add) added (NULL) src arg\n\t  (zebra_init) init zebra route-maps.\n\t* zebra/zserv.h: add zebra_route_map_init\n"
    },
    {
      "commit": "f366ad31ae6bf7e2fb7271cf8eab6dee4af3baf9",
      "tree": "452f3071f7e1dc71d056bd476481bb008f6f435e",
      "parents": [
        "171eee31edbddbd8906447dc8725e0513227d013"
      ],
      "author": {
        "name": "Andrew J. Schorr",
        "email": "ajschorr@alumni.princeton.edu",
        "time": "Thu Jul 27 18:01:41 2006 +0000"
      },
      "committer": {
        "name": "Andrew J. Schorr",
        "email": "ajschorr@alumni.princeton.edu",
        "time": "Thu Jul 27 18:01:41 2006 +0000"
      },
      "message": "[vtysh] Never skip authentication, and add support for multiple -c commands\n\n2006-07-27 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* vtysh.1: Document new options -d and -E, and note that now multiple\n\t  -c options may be supplied, with embedded linefeed now supported.\n\t  In BUGS section, remove warning about vtysh causing a daemon\n\t  to freeze, since this has been fixed.\n\t* vtysh_main.c: (usage) Add new -d and -E options.  And note that\n\t  -c can be used multiple times, possibly with embedded linefeeds.\n\t  (longopts) Add new -d and -E options.\n\t  (main) Add new -d and -E options, and create a linked list to\n\t  support multiple -c options.  Do not call vtysh_connect_all until\n\t  after vtysh_read_config(config_default) and vtysh_auth have\n\t  succeeded.  This prevents the vtysh.conf file from configuring\n\t  any daemons, and it ensures that authentication has been passed\n\t  before we send any commands to any daemons.  Call vtysh_connect_all\n\t  with any daemon name supplied with -d.  If it is unable to connect\n\t  to any daemons, issue an error message and exit immediately.\n\t  When used in -c mode, call vtysh_execute(\"enable\") before\n\t  executing the commands in order to match interactive behavior.\n\t  And detect embedded linefeed chars in -c commands and break them up\n\t  appropriately.\n\t* vtysh.h: (vtysh_connect_all) Fix proto to reflect new\n\t  daemon_name argument, and that it now returns an integer -- the\n\t  number of daemons to which we were able to connect.\n\t* vtysh.c: (vtysh_connect_all) Add a new daemon_name argument.\n\t  If supplied, connect only to that daemon.  And return\n\t  the number of daemons to which we were able to connect.\n\t  (vtysh_prompt): Performance enhancement -- make struct utsname\n\t  static so we call uname to get the hostname only once.\n"
    },
    {
      "commit": "b1aa147d09b0e06992cdb39ed11b46df0a3b984f",
      "tree": "786c03a44c77ebedf98616053157fdbfa5d4135a",
      "parents": [
        "afb8b6055c5e54be762e220cf9b7b65a22266733"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Jan 28 21:11:46 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Jan 28 21:11:46 2005 +0000"
      },
      "message": "2005-01-28 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* vtysh.h: Remove obsolete VTYSH_INDEX_* defines.  Fix many prototypes\n\t  for functions with no arguments (must specify argument list as void).\n\t* vtysh.c: Enhance vtysh_client array to include the daemon\u0027s name\n\t  and bitmask and socket path (in addition to the fd).  This allows\n\t  us to use loop constructs for various operations that need to be\n\t  applied to all client daemons, and it facilitates better error\n\t  messages.  Also fix some prototypes with void argument lists.\n\t  (vclient_close) Issue a warning message indicating which daemon\u0027s\n\t  socket is being closed.\n\t  (vtysh_execute_func,vtysh_config_from_file) Use a for loop to\n\t  call vtysh_client_execute.\n\t  (vtysh_write_terminal,write_config_integrated) Use a for loop to\n\t  call vtysh_client_config.\n\t  (vtysh_write_memory) Use a for loop to call vtysh_client_execute.\n\t  (vtysh_show_daemons) Use a for loop.\n\t  (vtysh_connect) The struct vtysh_client is now statically initialized,\n\t  so do not initialize it here.\n\t  (vtysh_connect_all) Use a for loop to call vtysh_connect.  Set\n\t  ripd_client pointer for use in vtysh_exit_ripd_only.\n"
    },
    {
      "commit": "dda095222f30c8bee6edc46f2c1babb66f9e699d",
      "tree": "25b33dc3ed6fc992f5cf8b8e055da1ddc8d2b747",
      "parents": [
        "ea8e9d972e8775f3e1c4e03fbacb18a42e8c4177"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Oct 07 21:40:25 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Oct 07 21:40:25 2004 +0000"
      },
      "message": "Vtysh compiles cleanly as well.\n"
    },
    {
      "commit": "e7168df4eff0d377621c45deb32cfcfa72e0dd83",
      "tree": "86c4017761ffd8cfdbc16223915a9f537844c4f2",
      "parents": [
        "eef1fe11b89c5ec3c035ff6e4a9acfbc5780b539"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Oct 03 20:11:32 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Oct 03 20:11:32 2004 +0000"
      },
      "message": "Big vtysh cleanup. See changelogs for details.\n"
    },
    {
      "commit": "67e29abc5800ec77a3ee36add6adfe5fa8c38351",
      "tree": "73a93502607cac89fa3634997832b0068774fe53",
      "parents": [
        "9a0962651b0837b5678da0ef88715ec438f9dcb5"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Aug 26 22:21:31 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Aug 26 22:21:31 2004 +0000"
      },
      "message": "More vtysh fixes. Specifying configuration from command line works now.\n"
    },
    {
      "commit": "95e735b54408177a8a6659da342f17d487dfeb2c",
      "tree": "579aa332966e9c6d5b580d46ec40ab8fa3e158f0",
      "parents": [
        "c89f64948d629a80d2ca87796a922172514e448f"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Aug 26 13:08:30 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Aug 26 13:08:30 2004 +0000"
      },
      "message": "Vtysh cleanup part 2. No any functional changes yet except VTYSH_INTERFACE.\n"
    },
    {
      "commit": "c25e458a4de6b3fc9089fbc21b0ef4a6ba8e6018",
      "tree": "40cee762b8d411d8c0c9d19851e2f804811256ad",
      "parents": [
        "c32e1b5788b996f6c5a9521c1fc79f5640e10d99"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Dec 23 10:39:08 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Dec 23 10:39:08 2003 +0000"
      },
      "message": "*** empty log message ***\n"
    },
    {
      "commit": "73ffb25bec41d729b0dac34d17b6ccd4aa25803b",
      "tree": "69906ad70c8dd767c51677480f8034a3be3f5edd",
      "parents": [
        "147193a28a19f2f98545b14ad38935423415f53e"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Apr 19 15:49:49 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Apr 19 15:49:49 2003 +0000"
      },
      "message": "Hasso Tepper\nhttp://hasso.linux.ee/zebra/ht-routemap-18042003_5.patch\nTrivial fixes to sync daemon\u0027s route-map commands to have same syntax. Fixes\na lot of errors with \"match ...\" and \"set ...\" commands when using vtysh.\n"
    },
    {
      "commit": "05b3ff565a4285136db9563357b8f64892928355",
      "tree": "236f7daad6236e7be449cef91a7a3df881f0f9fd",
      "parents": [
        "55ea381fd0fd12e827a649c9f6437ecf67b9fa5f"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Apr 07 16:06:21 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Apr 07 16:06:21 2003 +0000"
      },
      "message": "Removed stray hard coded vty socket paths\n"
    },
    {
      "commit": "718e3744195351130f4ce7dbe0613f4b3e23df93",
      "tree": "bac2ad39971cd43f31241ef123bd4e470f695ac9",
      "parents": [],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "message": "Initial revision\n"
    }
  ]
}
