)]}'
{
  "log": [
    {
      "commit": "9c42a6ebbc103a0a4be6af782388ad26e6c03556",
      "tree": "fcbdec3f26cb36539b9d66e1b8f4e63cfe1c3799",
      "parents": [
        "466c96562c6e39596dc441c30420b335f83f01ea"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Tue Jun 27 07:52:03 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Tue Jun 27 07:52:03 2006 +0000"
      },
      "message": "[lib] Centralise Zserv route type information, auto-generate redist strings\n\n2006-05-23 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* route_types.txt: New file, table of ZEBRA_ROUTE definitions.\n\t* route_types.awk: New script, to parse previous and generate\n\t  (for now) redistribute string defines.\n\t* Makefile.am: build route_types.h using previous two, ala\n\t  memtypes.h, include the script and table file in EXTRA_DIST.\n\t* command.h: pull in route_types.h, add a REDIST_STR define.\n"
    },
    {
      "commit": "86228fde807f4a13313e9828b8438f18a045a6ba",
      "tree": "a601ae20a73d4a1645a40ee15a28cfe595c31aee",
      "parents": [
        "213d8dadcae5edd424ef98bf0657874a4c44faf2"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu Mar 30 15:00:30 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu Mar 30 15:00:30 2006 +0000"
      },
      "message": "[lib] command.c exports host global, add it to header.\n\n2006-03-14 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* privs.c: (zprivs_caps_init) Change user IDs before lowering\n\t  privileges, while this seems to work on Linux, on Solaris\n\t  it rightfully refuses due to PRIV_PROC_SETID having been\n\t  dropped.\n\t* command.h: Add the struct host global exported from command.c\n"
    },
    {
      "commit": "6cf0cf0ca400062a03c10a92d60ec3013569a383",
      "tree": "d5a12023011770ccd6ef6b2ef8ea432c5c4f9eb3",
      "parents": [
        "15aa6a1a732eef1049dbc64d7ede9236772cafcf"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu Mar 30 14:43:17 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu Mar 30 14:43:17 2006 +0000"
      },
      "message": "[lib] Mark most arguments in DEFUN_CMD_FUNC_TEXT as potentially unused\n\n2006-03-30 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as\n\t  potentially being unused.\n"
    },
    {
      "commit": "34204aac424f8c29317d863d64f1c3bb4d241a50",
      "tree": "a7ad861d7b3454dbe96b6e7a31d7dbacc4ad24e3",
      "parents": [
        "35a60c2d3c217e3b835821a7f6ea458e2eff44cf"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Nov 03 09:00:23 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Nov 03 09:00:23 2005 +0000"
      },
      "message": "2005-11-03 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* zebra.h: BSD BYTE_ORDER define isn\u0027t available everywhere,\n\t  define if needs be.\n\t* checksum.h: new file. checksum.c exports in_cksum, provide\n\t  a header for it.\n\t* checksum.c: (in_cksum) callers shouldn\u0027t have to know it uses\n\t  a u_short internally, change to void *.\n\t* Makefile.am: Add checksum.h\n\t* command.h: remove bogus trailling slash.\n\t* md5.c: (general) Update it for the twentieth century. ANSI\n\t  declarations are widely supported now.. Don\u0027t include system\n\t  headers, only include zebra.h. Use POSIX types (the\n\t  alternative is to define u_int64_t in a portable way - rest\n\t  of Quagga needs same cleanup).\n\t  Make endian-conditional code be compiler conditional rather\n\t  than preprocessor conditional, so that breakage gets noticed\n\t  quicker.\n\t* md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable\n\t  compiler compatibility hack.\n"
    },
    {
      "commit": "1e83659026e5b9c5876273c83e86fd229dd98c88",
      "tree": "cad15dd7ea31d3c0e18f1c0cd868168a3391e01e",
      "parents": [
        "b40d939b477a08d79dbee947aea42ac652090f85"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Aug 22 22:39:56 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Aug 22 22:39:56 2005 +0000"
      },
      "message": "2005-08-22 Hugo Santos \u003chsantos@av.it.pt\u003e\n\n\t* command.h: (enum node_type) Add BGP_IPV6M_NODE\n\t* command.c: (node_parent) Handle BGP_IPV6M_NODE node\n\t  (config_exit, config_end) ditto\n\t* vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node\n"
    },
    {
      "commit": "8cc4198f9fabe5f10f5a773de1503d82f33a01fb",
      "tree": "77045da709ff66629bd12029b9ee17700360909b",
      "parents": [
        "e7fe8c88c3d552400e1ae3ae9243319ab95d6f2d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 06 21:25:49 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 06 21:25:49 2005 +0000"
      },
      "message": "2005-05-06 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* (general) extern and static\u0027ification of functions in code and\n\t  header.\n\t  Cleanup any definitions with unspecified arguments.\n\t  Add casts for callback assignments where the callback is defined,\n\t  typically, as passing void *, but the function being assigned has\n\t  some other pointer type defined as its argument, as gcc complains\n\t  about casts from void * to X* via function arguments.\n\t  Fix some old K\u0026R style function argument definitions.\n\t  Add noreturn gcc attribute to some functions, as appropriate.\n\t  Add unused gcc attribute to some functions (eg ones meant to help\n\t  while debugging)\n\t  Add guard defines to headers which were missing them.\n\t* command.c: (install_node) add const qualifier, still doesnt shut\n\t  up the warning though, because of the double pointer.\n\t  (cmp_node) ditto\n\t* keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived\n\t  fromn vty.h ones to fix some of the (long) \u003c 0 warnings.\n\t* thread.c: (various) use thread_empty\n\t  (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type\n\t* vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they\n\t  removed from ospfd/ospf_vty.h\n\t* zebra.h: Move definition of ZEBRA_PORT to here, to remove\n\t  dependence of lib on zebra/zserv.h\n"
    },
    {
      "commit": "9c5d8562f8d24574ba1f43881d47cbc8ffc62027",
      "tree": "816690e607e208aa66b257fb9ef01ae8bd80acb6",
      "parents": [
        "b45da6f01612e8ec1938cacfe0ea0ef34ad1afca"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 08 15:56:42 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 08 15:56:42 2005 +0000"
      },
      "message": "2005-03-08 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* command.c: (cmd_describe_command_real) sign compile warning fix\n\t  (cmd_complete_command_real) ditto.\n\t  (config_list_cmd) Don\u0027t list hidden or deprecated commands,\n\t  hiding these from tab completion is still to be done.\n\t* command.h: cmd attr enum should start at 1.\n"
    },
    {
      "commit": "3b0c5d9a56560cfbfb1a8f5b9e6cc71025eb5490",
      "tree": "a4b9c7506cb74223635135902e0479fda0b46fe2",
      "parents": [
        "c3d26c72982bc95906afb58fb46f1268bc915a3b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 08 10:43:43 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 08 10:43:43 2005 +0000"
      },
      "message": "2005-03-08 Jeroen Massar \u003cjeroen@unfix.org\u003e\n\n\t* vty.c: (vty_hello) display motd file, if set\n\t* command.h: add char *motdfile to struct host\n\t* command.c: (config_write_host) write out motdfile config\n\t  (banner_motd_file_cmd) new command, allow motd to be read from\n\t  file.\n\t  (no_banner_motd_cmd) free motdfile string, if needs be.\n\t  (cmd_init) init (struct host).motdfile. Add new motd file\n\t  commands.\n"
    },
    {
      "commit": "f6834d4c4031276361465dd19ef1918e239566c8",
      "tree": "67e9eb194ce4cef74654a888c0e165febc0010d2",
      "parents": [
        "8bfb0cba005b37c7b125fe2a34f1819e85d9f59c"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Jan 28 20:28:35 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Jan 28 20:28:35 2005 +0000"
      },
      "message": "2005-01-28 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* lib/command.h: Document behavior of argv_concat function.\n\t* lib/command.c: (argv_concat) Calculate total string length first so\n\t  we can call malloc just once (instead of realloc\u0027ing to add each\n\t  string element).\n\t  (do_echo,config_logmsg) Allow for possible NULL return value from\n\t  argv_concat.\n"
    },
    {
      "commit": "13bfca7a1059a73a836f4813170f296a82266211",
      "tree": "b22e29cb43472038769502685209badf3302e7dd",
      "parents": [
        "90b4214727b4e109a87bc99f9dfb4686e0c0a8b2"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jan 23 21:42:25 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jan 23 21:42:25 2005 +0000"
      },
      "message": "        * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will\n          use it as well.\n        * vtysh/vtysh.c: Implement walkup in node tree for vtysh as it already\n          works in vty.\n"
    },
    {
      "commit": "87d683b071dc7abfb30b666960ec480e64e19ce4",
      "tree": "ec56b3ce34f6871c4b3687681df2b97aa38da57a",
      "parents": [
        "b854038bd03e6c54b46d35bf4e40d0f39e30dfde"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jan 16 23:31:54 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jan 16 23:31:54 2005 +0000"
      },
      "message": "\t* command.[ch], vty.c: cmd_execute_command() function must not attempt\n\t  to walk up in the node tree if called from vtysh. Different daemons\n\t  might have commands with same syntax in different nodes (for example\n\t  \"router-id x.x.x.x\" commands in zebra/ospfd/ospf6d daemons).\n\n\t* vtysh.c: Reflect changes in lib. cmd_execute_command() should know\n\t  now that it\u0027s called from vtysh and must not attempt to walk up in\n\t  the node tree.\n\n\t[pullup candidate]\n"
    },
    {
      "commit": "274a4a4447b13f89f8237156a887d05a24a73cc6",
      "tree": "d5c2c6ee94bb77ef4346bcc07834808a75210bfd",
      "parents": [
        "5e76477456ce8bc4a1eeaccb5c5e1d3d99ab1300"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 15:39:31 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 15:39:31 2004 +0000"
      },
      "message": "2004-12-07 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* bgp_main.c: (main) The 2nd argument to openzlog has been removed.\n\t* isis_main.c: (main) The 2nd argument to openzlog has been removed.\n\t* ospf6_main.c: (main) The 2nd argument to openzlog has been removed.\n\t  Note that stdout logging will no longer be enabled by default when\n\t  not running as a daemon.\n\t* ospf_main.c: (main) The 2nd argument to openzlog has been removed.\n\t* rip_main.c: (main) The 2nd argument to openzlog has been removed.\n\t* ripng_main.c: (main) The 2nd argument to openzlog has been removed.\n\t* main.c: (main) The 2nd argument to openzlog has been removed.\n\t  So stdout logging will no longer be enabled by default.\n\t* irdp_main.c: (irdp_finish) Reduce severity of shutdown message\n\t  from LOG_WARNING to LOG_INFO.\n\t* vtysh.c: Make several functions static instead of global.\n\t  Added several commands to support destination-specific logging levels.\n\t  (vtysh_completion) This function is unused, so comment it out.\n\t* basic.texi: Document new logging features.  Separate basic config\n\t  commands from basic VTY commands.\n\t* log.h: Replace struct zlog flags and maskpri fields with maxlvl\n\t  array to support individual logging levels for each destination.\n\t  Remove the 2nd argument to openzlog since the default logging config\n\t  should be standardized inside the library.  Replaced the\n\t  zlog_set_flag and zlog_reset_flag functions with zlog_set_level.\n\t  And zlog_set_file now requires an additional log_level argument.\n\t  Declare zlog_proto_names for use inside command.c in the\n\t  \"show logging\" command.  Added defines useful for command\n\t  construction.\n\t* log.c: (vzlog) Decide where to send the message based on the\n\t  individual logging levels configured for each destination.\n\t  Remove support for ZLOG_STDERR since it was never actually used.\n\t  Support record-priority for terminal monitors.\n\t  (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific\n\t  logging levels.  Remove stderr support (was never used).  Added\n\t  support for terminal monitor logging.\n\t  (_zlog_assert_failed) Increase message severity to LOG_EMERG.\n\t  (openzlog) Remove 2nd argument since default config should be\n\t  standardized in library.  By default, terminal monitoring\n\t  is set to debug, and all other logging is disabled.\n\t  (zlog_set_flag,zlog_reset_flag) Removed.\n\t  (zlog_set_level) New function to replace zlog_set_flag and\n\t  zlog_reset_flag.  Supports destination-specific logging levels.\n\t  (zlog_set_file,zlog_reset_file) Support file-specific logging level.\n\t  (zlog_rotate) Log an error message if fopen fails, and support\n\t  new file-specific logging level.\n\t* command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that\n\t  command functions will be static instead of global.  Remove\n\t  declarations for config_exit and config_help.  Define new macros\n\t  DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can\n\t  have deprecated commands in vtysh.  Similarly, for completeness,\n\t  define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.\n\t  Also, fix bug in ALIAS_ATTR macro (didn\u0027t matter because it\n\t  was never used).\n\t* command.c: Make many functions static instead of global.\n\t  (facility_name,facility_match,level_match) New functions\n\t  to support enhanced destination-specific logging levels.\n\t  (config_write_host) Support new destination-specific logging levels.\n\t  (config_logmsg) Added new \"logmsg\" command to help test logging\n\t  system.\n\t  (show_logging) Added \"show logging\" command to show the current\n\t  configuration of the logging system.\n\t  (config_log_stdout_level) Support explicit stdout logging level.\n\t  (no_config_log_stdout) Now takes optional LEVEL arg.\n\t  (config_log_monitor,config_log_monitor_level,no_config_log_monitor)\n\t  New commands creating new \"log monitor\" commands to set terminal\n\t  monitoring log level.\n\t  (config_log_file_level) Support explicit file logging level.\n\t  (config_log_syslog_level) Support explicit syslog logging level.\n\t  (config_log_facility,no_config_log_facility) Implement new\n\t  \"log facility\" command.\n\t  (cmd_init) Add hooks for new commands: \"show logging\", \"logmsg\",\n\t  \"log stdout \u003clevel\u003e\", \"log monitor\", \"log monitor \u003clevel\u003e\",\n\t  \"no log monitor\", \"log file \u003cfilename\u003e \u003clevel\u003e\",\n\t  \"no log file \u003cfilename\u003e \u003clevel\u003e\", \"log syslog \u003clevel\u003e\",\n\t  \"log facility\", and \"no log facility\".\n\t* vty.h: Added a \"level\" argument to vty_log so it can support\n\t  \"log record-priority\".  Declare new function vty_log_fixed for\n\t  use in signal handlers.\n\t* vty.c: (vty_log,vty_log_out) Added a \"level\" argument to support\n\t  \"log record-priority\" for vty terminal monitors.\n\t  (vty_down_level) Use config_exit_cmd.func instead of calling\n\t  config_exit directly (since command functions will now be static\n\t  instead of global).\n\t  (vty_log_fixed) New function to send terminal monitor messages\n\t  from inside a signal handler.\n"
    },
    {
      "commit": "56f2069a03a1be9bfd7605e43aa0d899b0d5ed60",
      "tree": "f039affbe88bb557260802a2913915cc8ee73f5c",
      "parents": [
        "1210fa6674e36a6acbd44e571e681842c5838501"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 17:40:31 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 17:40:31 2004 +0000"
      },
      "message": "2004-12-03 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* command.h: Remove fields log_stdout and log_syslog from struct host,\n\t  since they are just trying to duplicate information in the\n\t  zlog_default structure.  Note that this fixes a bug since those\n\t  fields were not registering any logging that was established\n\t  in the initial call to openzlog (this affects only the zebra and\n\t  ospf6d daemons).  It is probably a bug to turn on any logging by\n\t  default in the call to openzlog.\n\t* command.c: (config_write_host) Get logging info from zlog_default\n\t  instead of now-removed fields host.log_stdout and host.log_syslog.\n\t  (config_log_stdout,no_config_log_stdout) Do not set now-removed field\n\t  host.log_stdout, since this info is recorded in zlog_default.\n\t  (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.\n\t  (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)\n\t  Do not set now-removed field host.log_syslog, since this info is\n\t  recorded in zlog_default.\n"
    },
    {
      "commit": "2557aed16aa98f90d70a14ad4546742c79af7668",
      "tree": "d3d6d892c9ff06653333a5bca1627da078b63930",
      "parents": [
        "48d6c69b345096425644b7796a7bc6b36bf0e974"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Nov 28 21:16:20 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Nov 28 21:16:20 2004 +0000"
      },
      "message": "DEFUN_DEPRECATED passes attribute to DEFUN as well.\n"
    },
    {
      "commit": "406d67165262a3f9443f395c7c85d8c3519309ef",
      "tree": "198c7eb16a8d70d677a23e20082a20b4a269dc69",
      "parents": [
        "ac1912327ea078f1336d54fdb1177592f94a7980"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 12:27:44 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 12:27:44 2004 +0000"
      },
      "message": "2004-10-22 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* command.h: Cleanup the defines a bit, add helper defines and\n\t  collapse all defines to use those. Add an attribute field to\n\t  cmd_element to support, eg hidden or deprecated commands, add\n          defun defines for such. All that\u0027s left to do is add logic\n          to command.c to check these attributes... ;)\n"
    },
    {
      "commit": "6590f2c3dc10acaa04cea3206fd00445e0a6145c",
      "tree": "6ca50941520649a19f7488a45a4ca2f9b7f84ef1",
      "parents": [
        "3fb9cd6ef456959b6eff939d5c316f6785c2dda4"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 19 20:40:08 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 19 20:40:08 2004 +0000"
      },
      "message": "Small copyright string and hostname related cleanup.\n"
    },
    {
      "commit": "42d498658d85e36a7e5910955e7425b1fa2afa69",
      "tree": "4745462eb34a84e32ef5d3e1586a3cb5a983626e",
      "parents": [
        "fd79ac918b8feaacebe9719adaac97dffb69137a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 13 05:22:18 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 13 05:22:18 2004 +0000"
      },
      "message": "2004-10-13 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* (global) more const\u0027ification.\n\t* sockunion.c: (sockunion_su2str) buffer should be sized\n          SU_ADDRSTRLEN.\n          (sockunion_log) do not return stack variables, strdup buf before\n          return.\n        * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied\n          values against ULONG_MAX is daft, when caller probably has passed\n          a type that can not hold ULONG_MAX. use a temporary long instead.\n          Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make\n\t  VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.\n"
    },
    {
      "commit": "a149411b85bbe74cde47d82193026b9401b29de0",
      "tree": "87e720d2fad17c0af227e3eda4db321718a7bacb",
      "parents": [
        "8552e37427c8c6f3b3f5e02e55e2a34b28604af6"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Oct 11 12:53:17 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Oct 11 12:53:17 2004 +0000"
      },
      "message": "Some more const string fixes.\n"
    },
    {
      "commit": "9035efaa924c69f4f4fcb1049c7dc4f43b9da980",
      "tree": "f81d25b0e069ad8fb5f2843172a4e60fa0d6cbdf",
      "parents": [
        "ddd119fd3d94e95dd44aa9fb3bc3fca4f26078a0"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 10 11:56:56 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 10 11:56:56 2004 +0000"
      },
      "message": "2004-10-10 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* version.h.in: (pid_output*) add const qualifier.\n\t* command.h: Change DEFUN func to take const char *[] rather\n          than char **, to begin process of fixing compile warnings in lib/.\n          Nearly all other changes in this commit follow from this change.\n        * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take\n          const void * and cast an automatic const char *p to it.\n          (buffer_putstr) add const\n        * command.c: (zencrypt) const qualifier\n          (cmd_execute_command_real) ditto\n          (cmd_execute_command_strict) ditto\n          (config_log_file) ditto.\n          Fix leak of getcwd() returned string.\n        * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.\n        * distribute.{c,h}: Update with const qualifier.\n          (distribute_free) use MTYPE_DISTRIBUTE_IFNAME\n          (distribute_lookup) Cast to char *, note that it\u0027s ok.\n          (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.\n          (distribute_get)  Cast to char *, note that it\u0027s ok.\n        * filter.c: Update with const qualifier.\n        * if.{c,h}: ditto.\n        * if_rmap.{c,h}: ditto.\n          (if_rmap_lookup) Cast to char *, note that it\u0027s ok.\n          (if_rmap_get) ditto.\n        * log.{c,h}: Update with const qualifier.\n        * plist.{c,h}: ditto.\n        * routemap.{c,h}: ditto.\n        * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.\n        * sockopt.c: (getsockopt_cmsg_data) add return for error case.\n        * vty.c: Update with const qualifier.\n"
    },
    {
      "commit": "ea8e9d972e8775f3e1c4e03fbacb18a42e8c4177",
      "tree": "0762c5ca1ae795080fb5ec9bc6cb54bffcc02748",
      "parents": [
        "e561a8eb365a77beb0dd1c4ac406f9de21543a74"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Oct 07 21:32:14 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Oct 07 21:32:14 2004 +0000"
      },
      "message": "Even more const strings and fix to bugfix.\n"
    },
    {
      "commit": "8c328f1106cf0498333c2d8a96940e7b4581e316",
      "tree": "9bf24cca6a68a9dd5d4dda586484e497d0c19ca6",
      "parents": [
        "98c91ac6ac085713c00af00a6ac41779be6b50b3"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 05 21:01:23 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 05 21:01:23 2004 +0000"
      },
      "message": "Number of warnings is down to 3 again in lib directory. A lot of const\u0027s\nadded to strings and a lot of int -\u003e unsigned int changes.\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": "9e867fe663c4eb43c36f35067c0dd092e8c83c14",
      "tree": "f29461b6a2dc8c38037dc0cf91e70392f9ed4ab2",
      "parents": [
        "eb5d44eb8dcf25a1b328e57d1eabb1f89e3bc59b"
      ],
      "author": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 08:56:18 2003 +0000"
      },
      "committer": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 08:56:18 2003 +0000"
      },
      "message": "Merge isisd into the Quagga\u0027s framework:\n  - add privs support\n  - use misc quagga\u0027s definitions\n  - make it compile\"able\"\n  - fix segfault cases related to hostname()\n  - add debug isis xxx command\n\nThis patch has been approved by Paul Jakma.\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"
    }
  ]
}
