)]}'
{
  "log": [
    {
      "commit": "d1db06faa82a331fb6729064290ecbc61a969b88",
      "tree": "432832dbfd8438a51140630cb0005fc75e54352a",
      "parents": [
        "d2c1f16be47a3d60555219a92dad8639f381d553"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 22:01:48 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 22:01:48 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.h: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "d2c1f16be47a3d60555219a92dad8639f381d553",
      "tree": "662cd144ac4f838c65a5e6397363699768b3b76d",
      "parents": [
        "6b51474d91024a4a0e82fccdd55580ce9b3f5561"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 21:10:20 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 21:10:20 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "6b51474d91024a4a0e82fccdd55580ce9b3f5561",
      "tree": "93e340952621ac948f0788c5b9ff7bed588a613a",
      "parents": [
        "8325cd7f42d0b494d4866f69013c713bbaef7619"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 21:03:23 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 21:03:23 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "8325cd7f42d0b494d4866f69013c713bbaef7619",
      "tree": "70823756c4630b8d610cce546e068ccc29561b9f",
      "parents": [
        "478ba054aa04293821d86953a8455b7221cba39e"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 20:47:40 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 20:47:40 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "478ba054aa04293821d86953a8455b7221cba39e",
      "tree": "bec35cafb8867aba0562a240d57c282863b63519",
      "parents": [
        "8c2e200a4654b43594ae79e384fb44497958519b"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 20:41:23 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 20:41:23 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "8c2e200a4654b43594ae79e384fb44497958519b",
      "tree": "b04922abc9a1565b13b7147ecd463d1843a153b3",
      "parents": [
        "557865c28e34e9172477e9fab025e7888f62dad7"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 20:08:54 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 20:08:54 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "557865c28e34e9172477e9fab025e7888f62dad7",
      "tree": "151705cd67bda4e7f838856abbe34c96acaf5376",
      "parents": [
        "c610681284be58ec2e39867379bdf2ca3047f464"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:59:11 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:59:11 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "c610681284be58ec2e39867379bdf2ca3047f464",
      "tree": "b467991efbc337a2366b78b8ace6baf6e2ae6542",
      "parents": [
        "2e23ab2e41c299bd8d070183bb1c31628ab582f9"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:51:16 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:51:16 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "2e23ab2e41c299bd8d070183bb1c31628ab582f9",
      "tree": "a75ae3080585b2832deb209cb5d97dc5f27becaa",
      "parents": [
        "5d6c37798317cece827dca7f4b539fa0387b5eb9"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:46:50 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:46:50 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "5d6c37798317cece827dca7f4b539fa0387b5eb9",
      "tree": "c09349025c5549b316a2de264bc3f9b2de4b7de2",
      "parents": [
        "9b0e25c07763181e73d41d8816762a8aeeb2ad37"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:24:06 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:24:06 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "9b0e25c07763181e73d41d8816762a8aeeb2ad37",
      "tree": "aa20ab25195a851b775678c6a06634896c0cb9d5",
      "parents": [
        "2a42e285ed1b3891a479e52bf0bab958d68ca18e"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:06:51 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 19:06:51 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "2a42e285ed1b3891a479e52bf0bab958d68ca18e",
      "tree": "7f58188e992943424474199f11849f04ce62c665",
      "parents": [
        "e588f21f2adae26eaee8789bacc3a45002e86e94"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 18:43:03 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 18:43:03 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "e588f21f2adae26eaee8789bacc3a45002e86e94",
      "tree": "35ec71ed8391ef0568b594a3f821d91b20a33c3c",
      "parents": [
        "60925303c585735b7d52252c00fa4a7340690f31"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 18:12:06 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 18:12:06 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "60925303c585735b7d52252c00fa4a7340690f31",
      "tree": "8061894f032b57db05656d03f0eb836e5417c765",
      "parents": [
        "e84cc647f194593ebd1805422376f2a30e3e06e3"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 17:45:02 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 17:45:02 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "e84cc647f194593ebd1805422376f2a30e3e06e3",
      "tree": "1a2fcbc233df7d3c143d13fce2b19c83da63bccc",
      "parents": [
        "b9e7028fb2f626e1d345c6d52ace0567a410647f"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 17:28:56 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 17:28:56 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "b9e7028fb2f626e1d345c6d52ace0567a410647f",
      "tree": "5a17a8485604b8f860ccabb43f1f6bbab82069d1",
      "parents": [
        "b6178002270192fe3ab2403dafac12e5babe11e6"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 17:14:45 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 08 17:14:45 2004 +0000"
      },
      "message": "2004-12-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* prefix.c: (prefix_copy) Error message before abort should\n\t  have severity LOG_ERR, not LOG_INFO.\n\t* memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.\n"
    },
    {
      "commit": "b6178002270192fe3ab2403dafac12e5babe11e6",
      "tree": "6b9c352d814185e16a353d17752059eb995019e0",
      "parents": [
        "8ddca7040da413cd283a4beba4634744f4e61ac8"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 21:12:56 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 21:12:56 2004 +0000"
      },
      "message": "2004-12-07 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "8ddca7040da413cd283a4beba4634744f4e61ac8",
      "tree": "b0ff51f03f511a6c882c59272dff5134bf6b360f",
      "parents": [
        "82146b88915ca614ee1c28659478d6e310d84110"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 18:53:52 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 18:53:52 2004 +0000"
      },
      "message": "2004-12-07 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "82146b88915ca614ee1c28659478d6e310d84110",
      "tree": "f0dc71770433f2bb458f38595790a0b2b34ff9ec",
      "parents": [
        "274a4a4447b13f89f8237156a887d05a24a73cc6"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 17:15:55 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 17:15:55 2004 +0000"
      },
      "message": "2004-12-07 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* command.c: (config_write_host) Note that \"log trap\" is deprecated\n\t  when writing out the config.\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": "5e76477456ce8bc4a1eeaccb5c5e1d3d99ab1300",
      "tree": "6a05e47a55e4afce73b653e00f9abfd34f860511",
      "parents": [
        "2cac10935b6e2aabeb480d6769be01d9eec7101f"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 19:03:33 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 19:03:33 2004 +0000"
      },
      "message": "2004-12-03 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* HACKING: Indicate that header files should be consulted for\n\t  documentation, particularly logging levels in lib/log.h.\n\t* log.h: Document appropriate use of syslog logging priorities\n\t  inside quagga.\n"
    },
    {
      "commit": "2cac10935b6e2aabeb480d6769be01d9eec7101f",
      "tree": "bfcbd7d167305749d4abed6833499da0c1353f67",
      "parents": [
        "56f2069a03a1be9bfd7605e43aa0d899b0d5ed60"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 18:01:04 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 18:01:04 2004 +0000"
      },
      "message": "Need RCS Id keyword.\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": "1210fa6674e36a6acbd44e571e681842c5838501",
      "tree": "e75978f4294db08b452e2694cfd9074d8ebe2cd4",
      "parents": [
        "887c44a4f3d8219dc5b1c52b5dcde1f31d52b73d"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 16:43:24 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 16:43:24 2004 +0000"
      },
      "message": "2004-12-03 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message\n\t  from LOG_NOTICE to LOG_DEBUG.\n"
    },
    {
      "commit": "887c44a4f3d8219dc5b1c52b5dcde1f31d52b73d",
      "tree": "5c0ef5fe1d3948c56e6abf2ffd3c9811e92f0f2e",
      "parents": [
        "bec595ada58ebfa98ad49220f29ab28b58549094"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 16:36:46 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Dec 03 16:36:46 2004 +0000"
      },
      "message": "2004-12-03 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* bgp_main.c: (sigint) Use zlog_notice for termination message.\n\t  (main) Use zlog_notice for startup announcement.\n\t* isis_main.c: (sigint,sigterm) Use zlog_notice for termination message.\n\t  (terminate) This function should be static, not global.\n\t  (main) Use zlog_notice for startup announcement, and remove\n\t  ifdef ZEBRA_VERSION.\n\t* version.h.in: Remove declaration for pid_output_lock, this function\n\t  is now static, not global.\n\t* pid_output.c: (pid_output_lock) This function should be static, not\n\t  global.  And remove \"old umask\" error message, since it was really\n\t  an unimportant debug message, not an error.\n\t  (pid_output) Need to declare static function pid_output_lock.\n\t* ospf6_main.c: (sigint,sigterm) Use zlog_notice for termination\n\t  message.\n\t  (main) Remove commented-out call to pid_output_lock (which should\n\t  never be called other than from inside pid_output).  And use\n\t  zlog_notice to print the startup message, which now includes\n\t  the vty port.\n\t* ospf_main.c: (sigint) Use zlog_notice for termination message.\n\t  (main) Issue a startup announcement using zlog_notice.\n\t* rip_main.c: (sigint) Use zlog_notice for termination message.\n\t  (main) Add a startup announcement using zlog_notice.\n\t* ripng_main.c: (sighup) Remove spurious terminating message.\n\t  (sigint) Use zlog_notice for termination message.\n\t  (main) Issue a startup announcement using zlog_notice.\n\t* main.c: (sigint) Use zlog_notice for termination message.\n\t  (main) Add a startup announcement using zlog_notice.\n"
    },
    {
      "commit": "bec595ada58ebfa98ad49220f29ab28b58549094",
      "tree": "277b0e46c07121b6be7e68a694b4849de51a5383",
      "parents": [
        "b9c35001dfa81e6cddfac0b36549b1ed4b84b5e7"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 30 22:38:43 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 30 22:38:43 2004 +0000"
      },
      "message": "2004-11-30 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning\n\t  message and in comment.\n\t  (ospf_db_desc) Warning message that a packet is being discarded\n\t  should give the router id of the packet source.  Fix spelling\n\t  of packet in two warning messages.\n\t  (ospf_ls_req) Warning message that a link state request is being\n\t  discarded should give the router id of the neighbor that sent it.\n"
    },
    {
      "commit": "b9c35001dfa81e6cddfac0b36549b1ed4b84b5e7",
      "tree": "77c13bdb04f79c96653f62662b1fb791d32540cb",
      "parents": [
        "7d149b8e48ef72021aefddf44f400bccaf391870"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sun Nov 28 23:04:51 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sun Nov 28 23:04:51 2004 +0000"
      },
      "message": "Fix comment for zlog_backtrace_sigsafe: it now supports syslog logging\non systems where /dev/log is a unix datagram socket.\n"
    },
    {
      "commit": "7d149b8e48ef72021aefddf44f400bccaf391870",
      "tree": "67a7aeda5a2d98aabcafabe9e936a5711076ad41",
      "parents": [
        "2557aed16aa98f90d70a14ad4546742c79af7668"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sun Nov 28 23:00:01 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sun Nov 28 23:00:01 2004 +0000"
      },
      "message": "2004-11-28 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* log.h: Remove several unused fields from struct zlog.  Add comments\n\t  for other fields, and add one new field syslog_options that is\n\t  used in the new syslog_sigsafe implementation.\n\t* log.c: (syslog_sigsafe) New function to send syslog messages in\n\t  an async-signal safe way that can be used inside a signal handler.\n\t  (syslog_connect) New function to connect to syslog daemon inside a\n\t  signal handler.  This function supports only systems where /dev/log\n\t  is a unix datagram socket (e.g. not Solaris).\n\t  (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.\n\t  (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is\n\t  enabled.\n\t  (openzlog) Save syslog_options for use in syslog_sigsafe.\n\t  (num_append) Fix bug: handle 0 properly.\n\t  (hex_append) New function to print a u_long in hex format.\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": "48d6c69b345096425644b7796a7bc6b36bf0e974",
      "tree": "ad132074b26d440c8db8e3558361b144c187595e",
      "parents": [
        "5b85facc638d219a7281b75bec8a08dcf79a46ce"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 20:52:59 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 20:52:59 2004 +0000"
      },
      "message": "2004-11-26 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* log.c, log.h, memory.c: Change function name from zlog_backtrace_safe\n\t  to the more self-explanatory zlog_backtrace_sigsafe.\n"
    },
    {
      "commit": "5b85facc638d219a7281b75bec8a08dcf79a46ce",
      "tree": "3f12c2b86c5ea322c72511304af81596bb89cdae",
      "parents": [
        "063ee52af64472474af2fa4b3cb2ba9ced746b9f"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 19:36:42 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 19:36:42 2004 +0000"
      },
      "message": "2004-11-26 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* debug.[ch]: Remove unused files.\n\t* Makefile.am: Remove references to debug.c and debug.h\n\t* ospf_main.c: Remove #include \"debug.h\" (was not being used, and\n\t  lib/debug.h has now been deleted).\n"
    },
    {
      "commit": "063ee52af64472474af2fa4b3cb2ba9ced746b9f",
      "tree": "d9d0f9dac723159cefd21d350195fabe286032e5",
      "parents": [
        "d1c51d7c27a1c5f5c838ef5f09e98e33527bfddc"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 18:11:14 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 18:11:14 2004 +0000"
      },
      "message": "2004-11-26 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* log.c: (zlog_backtrace) New function to log a backtrace.\n\t  (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.\n\t  Unfortunately, this function does not support syslog logging yet.\n\t  (zlog_signal) Move backtrace code into separate function\n\t  zlog_backtrace_safe.\n\t  (_zlog_assert_failed) Call zlog_backtrace before aborting.\n\t* log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.\n\t* memory.c: (zerror) Call zlog_backtrace before aborting.\n"
    },
    {
      "commit": "d1c51d7c27a1c5f5c838ef5f09e98e33527bfddc",
      "tree": "445bf17ab157f7f5d0ed52cc1873cc15d5737256",
      "parents": [
        "546e20d6754a0a4c6bc48d642b5bfb4a3db6d7c3"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 14:14:30 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 14:14:30 2004 +0000"
      },
      "message": "2004-11-26 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* Makefile.am: Need to add zassert.h to pkginclude_HEADERS.\n"
    },
    {
      "commit": "546e20d6754a0a4c6bc48d642b5bfb4a3db6d7c3",
      "tree": "3bd96758136cff028812ede48132ae052d4a55cd",
      "parents": [
        "b3c8c4650216e128189d26755b93f711b5be9327"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 13:22:38 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 26 13:22:38 2004 +0000"
      },
      "message": "Remove unused va_list variable that was introduced by mistake in the last patch\nto stdarg handling.\n"
    },
    {
      "commit": "b3c8c4650216e128189d26755b93f711b5be9327",
      "tree": "0d82aecf6b812b2d8712d1344ca38050961113b3",
      "parents": [
        "2680aa2b2b8e87a8af50906dec8ee5a942f8266e"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Nov 26 12:55:51 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Nov 26 12:55:51 2004 +0000"
      },
      "message": "Fix compile.\n"
    },
    {
      "commit": "2680aa2b2b8e87a8af50906dec8ee5a942f8266e",
      "tree": "a8a9acd321152ea80587da2cfa79bfcdd64207b3",
      "parents": [
        "c065230a4c617a1cdf8813dd25384bcc9591f61a"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Nov 25 20:54:46 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Nov 25 20:54:46 2004 +0000"
      },
      "message": "Merge svn revisions 1208, 1222 and 1228 from Zebra cvs.\n"
    },
    {
      "commit": "c065230a4c617a1cdf8813dd25384bcc9591f61a",
      "tree": "42285fe5604e43ada3b53ac9a77ba1e3c4464b52",
      "parents": [
        "accb156b9b1c3f4b46ab01f8850200f450fc40d8"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Nov 25 19:33:48 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Nov 25 19:33:48 2004 +0000"
      },
      "message": "Make group to run daemon as configurable. Fixes #2 from Bugzilla #64.\n"
    },
    {
      "commit": "accb156b9b1c3f4b46ab01f8850200f450fc40d8",
      "tree": "464c4c08badb058f2cbc3c715087f9bb2dcba4f5",
      "parents": [
        "4cf0d0df23f7a35a3c1570c94ba08fa96d47bfc1"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Nov 25 19:21:07 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Nov 25 19:21:07 2004 +0000"
      },
      "message": "Unbreak vtysh - don\u0027t add comments inside of DEFUN, it breaks extract.pl.\n"
    },
    {
      "commit": "4cf0d0df23f7a35a3c1570c94ba08fa96d47bfc1",
      "tree": "9894529e896b82cf957cb60c03be04f4fe9d91ea",
      "parents": [
        "e5879ca1d8ea26870dbf74f330f5e6f5a9c93bfa"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 25 17:14:34 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 25 17:14:34 2004 +0000"
      },
      "message": "2004-11-25 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* zebra.h: If not C99 and there\u0027s no va_copy macro and there is\n\t  a __va_copy macro, define va_copy as __va_copy.\n"
    },
    {
      "commit": "e5879ca1d8ea26870dbf74f330f5e6f5a9c93bfa",
      "tree": "890045008a54c7b046395417f7ece40c9426ef3f",
      "parents": [
        "ad4d974d06ba3344e2e0df3277f7e0c42f018a4e"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 25 16:07:53 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 25 16:07:53 2004 +0000"
      },
      "message": "2004-11-25 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should\n\t  set l_whence to SEEK_SET, not SEEK_END.  And after writing new\n\t  pid to file, must ftruncate to eliminate any extraneous bytes left\n\t  over from the last time a pid was written.\n"
    },
    {
      "commit": "ad4d974d06ba3344e2e0df3277f7e0c42f018a4e",
      "tree": "17f417d142dda46926dcd8ce7fdc259572315cef",
      "parents": [
        "101ec7099a0c725f8836f51e2f9ad2138eb43502"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 24 18:20:30 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 24 18:20:30 2004 +0000"
      },
      "message": "In zlog_signal, should probably check the return code from backtrace, just\nto be safe.\n"
    },
    {
      "commit": "101ec7099a0c725f8836f51e2f9ad2138eb43502",
      "tree": "8cb6731e527174866b31b97fabaa615fc2e82bad",
      "parents": [
        "cee3df1e4b1b8103bf81e5281a46aab7881f93df"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 24 18:05:15 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 24 18:05:15 2004 +0000"
      },
      "message": "In zlog_signal, change type of size since backtrace actually returns an int.\n"
    },
    {
      "commit": "cee3df1e4b1b8103bf81e5281a46aab7881f93df",
      "tree": "40d7cc8c22da9634739256a9d577b140b41730b8",
      "parents": [
        "b9e0ee31864c94c729fb6b6f6b2ccbc79dbcd474"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 24 17:14:49 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 24 17:14:49 2004 +0000"
      },
      "message": "2004-11-24 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* zassert.h: New header file to declare a quagga-specific assert macro.\n\t* log.c: (_zlog_assert_failed) New function called when assert fails\n\t  to log the error and abort.\n\t* zebra.h: Include \"zassert.h\" instead of \u003cassert.h\u003e.\n\t* regex.c: Include \"zassert.h\" instead of \u003cassert.h\u003e.\n\t* dict.c: Include \"zassert.h\" instead of \u003cassert.h\u003e.\n"
    },
    {
      "commit": "b9e0ee31864c94c729fb6b6f6b2ccbc79dbcd474",
      "tree": "bdd7ec775e1c79564f502ce97b368a50f40eaeb5",
      "parents": [
        "59a06a915da9129a4e756c2b4d42449aa71a0ee4"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Nov 24 05:53:53 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Nov 24 05:53:53 2004 +0000"
      },
      "message": "2004-11-24 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* TODO: Add source routing, zebra filtering and lib/ documenting.\n"
    },
    {
      "commit": "59a06a915da9129a4e756c2b4d42449aa71a0ee4",
      "tree": "44090f696cbec97cab5e5b090b22c7431a5d6490",
      "parents": [
        "d246bd965898f0ba6781f2b2048af9a5eba079d3"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 23 18:19:14 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 23 18:19:14 2004 +0000"
      },
      "message": "2004-11-23 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* sigevent.c: (signal_init) Set up some default signal handlers\n\t  so that processes will issue an error message before terminating\n\t  or dumping core.\n\t  (trap_default_signals) New function to set up signal handlers\n\t  for various signals that may kill the process.\n\t  (exit_handler) Call zlog_signal, then _exit.\n\t  (core_handler) Call zlog_signal, then abort.\n\t* log.h: Declare new function zlog_signal.\n\t* log.c: (zlog_signal) New function to log information about\n\t  a received signal before the process dies.  Try to log a\n\t  backtrace also.\n\t  (quagga_signal_handler,signal_set) Should be static.\n"
    },
    {
      "commit": "d246bd965898f0ba6781f2b2048af9a5eba079d3",
      "tree": "80ed32d986e3845d041cc2bc08bcc2b03a8ec75d",
      "parents": [
        "8686fc746cad9fda26812c88df5faaff0f418650"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 23 17:35:08 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 23 17:35:08 2004 +0000"
      },
      "message": "2004-11-23 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* log.c: (vzlog) Take a single va_list argument and use va_copy\n\t  as necessary for multiple traversals.\n\t  (zlog) Pass only one va_list to vzlog.\n\t  (zlog_*,plog_*) Use a macro for boilerplate code; pass only one\n\t  va_list to vzlog.\n\t  (zlog_set_file) Remove unused 2nd argument (flags).\n\t  (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.\n\t* log.h: Remove ZLOG_*_INDEX defines (no longer used).\n\t  Remove unused 2nd argument from zlog_set_file prototype.\n\t  Fix prototype for zlog_rotate.\n\t* command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.\n\t* vty.c: (vty_out) Fix stdarg usage to perform multiple traversals\n\t  properly.\n\t  (vty_log) Must use va_copy for multiple traversals of va_list arg.\n"
    },
    {
      "commit": "8686fc746cad9fda26812c88df5faaff0f418650",
      "tree": "7020bb9b8f8abf0409b564298d601d9b742a5a7c",
      "parents": [
        "9c3f5e6b5de7d9ef5b88246d7486fa9f9afae149"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Nov 23 17:19:21 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Nov 23 17:19:21 2004 +0000"
      },
      "message": "Note C99 requirement.\n"
    },
    {
      "commit": "9c3f5e6b5de7d9ef5b88246d7486fa9f9afae149",
      "tree": "f0dba3611485c7722ba0dc38afcc16001239ad9d",
      "parents": [
        "38c2cfee1bbcfd3bce688035c45e0ee66751f530"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Nov 23 12:21:16 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Nov 23 12:21:16 2004 +0000"
      },
      "message": "note that OpenBSD versions are for 3.6.\n"
    },
    {
      "commit": "38c2cfee1bbcfd3bce688035c45e0ee66751f530",
      "tree": "10a9ac76bf2daa436629689a5f4db98471561f2f",
      "parents": [
        "00c8dc799933c569305e47fc9219f2df7a4c295d"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 22 20:14:33 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 22 20:14:33 2004 +0000"
      },
      "message": "Note OpenBSD versions (thanks to Gernot W. Schmied).\n\nNote that texinfo is not really needed, since quagga.info is in CVS,\nand explain the situation.\n"
    },
    {
      "commit": "00c8dc799933c569305e47fc9219f2df7a4c295d",
      "tree": "2ba8ea5ba231e3417d662a5916e05d9e2e62a010",
      "parents": [
        "6099b3b56956322567323c11fd698b2328c6826b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 22 18:06:59 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 22 18:06:59 2004 +0000"
      },
      "message": "2004-11-22 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* bgpd.8: escape -/+ signs, reported by ESR to bug-zebra.\n"
    },
    {
      "commit": "6099b3b56956322567323c11fd698b2328c6826b",
      "tree": "fa537bd0eaa9f7d824f39445eabc928db59050ca",
      "parents": [
        "ae5e24d8678f1e3a60dde58d3382c5ba73d6bb27"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Nov 20 02:06:59 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Nov 20 02:06:59 2004 +0000"
      },
      "message": "2004-11-19 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* global: Replace strerror with safe_strerror.  And vtysh/vtysh.c\n\t  needs to include \"log.h\" to pick up the declaration.\n"
    },
    {
      "commit": "ae5e24d8678f1e3a60dde58d3382c5ba73d6bb27",
      "tree": "fdc23e828988dd7a0c53941fe22a8fd9daa5f4cc",
      "parents": [
        "ca35976927190883368ef3bd32bbf9f174575bd6"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 19 23:43:10 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 19 23:43:10 2004 +0000"
      },
      "message": "Fix previous change to use new function safe_strerror instead of strerror.\n"
    },
    {
      "commit": "ca35976927190883368ef3bd32bbf9f174575bd6",
      "tree": "aa3b9fa981719c48f0418abb06355e88ee39dbcb",
      "parents": [
        "ff29bb31505b485e8ffa561e21d075d28ac7d5e7"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 19 23:40:16 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 19 23:40:16 2004 +0000"
      },
      "message": "2004-11-19 David Young \u003cdyoung@pobox.com\u003e\n\n\t* log.c: (safe_strerror) New function: safe wrapper for strerror.\n"
    },
    {
      "commit": "ff29bb31505b485e8ffa561e21d075d28ac7d5e7",
      "tree": "20fa0d8bea625c82f5e347b3fadecc93a1112ef0",
      "parents": [
        "48577196af0cd83272cb885ac018d19e30058653"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 19 18:29:22 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 19 18:29:22 2004 +0000"
      },
      "message": "2004-11-19 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* sockopt.c: (setsockopt_so_recvbuf) Stop error message from being\n\t  printed every time.\n"
    },
    {
      "commit": "48577196af0cd83272cb885ac018d19e30058653",
      "tree": "5eeecab312ea89381ce8130d64973dc6ef3dc894",
      "parents": [
        "996ac2dcb3dc40d1ba4192c119e252dbb84390f0"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Nov 19 06:41:49 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Nov 19 06:41:49 2004 +0000"
      },
      "message": "Make quagga.info in cvs actually useful for those who haven\u0027t latest\nmakeinfo:\n* Don\u0027t attempt to generate it after every ./configure.\n* Don\u0027t remove it while cleaning up.\n"
    },
    {
      "commit": "996ac2dcb3dc40d1ba4192c119e252dbb84390f0",
      "tree": "a0f6e9e41acb3f43234d607a18e3a2586d469685",
      "parents": [
        "0cdb8dd2c42b9e71c320ac155c065e64cb8c89e4"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Wed Nov 17 17:59:52 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Wed Nov 17 17:59:52 2004 +0000"
      },
      "message": "add note about alignment in LS updates due to opaque LSAs.\n"
    },
    {
      "commit": "0cdb8dd2c42b9e71c320ac155c065e64cb8c89e4",
      "tree": "dc4a1388f5dee13cf24dadbdc6122271994fb003",
      "parents": [
        "f858e49beba6a9b79b41ad26d29b431c12fdf2f8"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Nov 17 06:58:31 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Nov 17 06:58:31 2004 +0000"
      },
      "message": "2004-11-17 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* INSTALL.quagga.txt: texinfo version corrected, so section on\n          that 4.7-x being unknown is not needed.\n"
    },
    {
      "commit": "f858e49beba6a9b79b41ad26d29b431c12fdf2f8",
      "tree": "bd0868a0ee2ba2025fa215d357f45d6b7d8bc8de",
      "parents": [
        "56d1d2027bc6746e1a051067b24a792595292909"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 16 14:25:30 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Nov 16 14:25:30 2004 +0000"
      },
      "message": "2004-11-16 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* memory.h: Fix prototype for memory_init().\n\t* memory.c: Declare many functions and data structures static instead\n\t  of global.  Fix prototype for memory_init().\n"
    },
    {
      "commit": "56d1d2027bc6746e1a051067b24a792595292909",
      "tree": "17a3252c6afc5424fa755c5055d05edc41c93a17",
      "parents": [
        "cbf566e639a882e9075f61cbca8246e32a9a43fc"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 15 21:56:53 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 15 21:56:53 2004 +0000"
      },
      "message": "2004-11-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* quagga.info: Add generated file to CVS, as it requires most recent\n          texinfo to build, until such time as texinfo 4.7 is more\n          prevalent.\n"
    },
    {
      "commit": "cbf566e639a882e9075f61cbca8246e32a9a43fc",
      "tree": "16a4199025381aeb2f82b7220268ae50519d2cee",
      "parents": [
        "697877eb8bf90860bcc1a00d5748abb13212fb35"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Mon Nov 15 19:43:16 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Mon Nov 15 19:43:16 2004 +0000"
      },
      "message": "Note that autoreconf should be invoked as \u0027autoreconf -i\u0027.\n"
    },
    {
      "commit": "697877eb8bf90860bcc1a00d5748abb13212fb35",
      "tree": "1ea93dddd79084ade2ffb991d15dea3ae73180aa",
      "parents": [
        "69e1325faf47762fd08917b8f20a20abb59d41e6"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 19:23:47 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 19:23:47 2004 +0000"
      },
      "message": "Note that \u003cdollar\u003eId:$ should be included in all files.\n"
    },
    {
      "commit": "69e1325faf47762fd08917b8f20a20abb59d41e6",
      "tree": "60d6df8c1d754c84fa3108a5f19bbf91cb084ab1",
      "parents": [
        "fbb6709986ee29b57a8a6103c592de80647ead00"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 18:51:15 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 18:51:15 2004 +0000"
      },
      "message": "Rationalize CMSG_SPACE usage:\n\n  in lib/zebra.h, ensure that RFC3542-required CMSG_SPACE and CMSG_LEN\n  are defined.  Warn if alignment assumptions are made, since they are\n  i386-centric.\n\n  in lib/sockopt.h, declare that sockopt sizes are without\n  CMSG_SPACE-required padding - just simple sizeof.\n\n  in ospfd/ospf_packet.c, simply use CMSG_SPACE\n\nThis should remove all instances of CMSG_ALIGN from the source code.\nThis is a nonstandard, though rational, construct; quagga should use\nonly those defines in RFC3542.\n"
    },
    {
      "commit": "fbb6709986ee29b57a8a6103c592de80647ead00",
      "tree": "d718749585978f2d8bcd768c288d1244b3bfce3b",
      "parents": [
        "3764c0c0f9a60fe77338870346f24a68fcec269b"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 17:29:11 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 17:29:11 2004 +0000"
      },
      "message": "Make explicit that bumping required tool versions needs thought.\n"
    },
    {
      "commit": "3764c0c0f9a60fe77338870346f24a68fcec269b",
      "tree": "c1560418a033d3ca297b4a3686526f658719b621",
      "parents": [
        "7fa25ff6aa2b6f235cdf0e6784b36cf6d516cfd4"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 17:26:47 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 17:26:47 2004 +0000"
      },
      "message": "Note that either BSD make or GNU make works, and note versions.\n\nAdjust required texinfo version to 4.7 from 4.7-4.\nClarify quagga.info build process.\n"
    },
    {
      "commit": "7fa25ff6aa2b6f235cdf0e6784b36cf6d516cfd4",
      "tree": "97eabaeaee5d83819991d9c8e26f47a61442dce3",
      "parents": [
        "8bed780be262f0dfecffdbb1fa10bc7484c987f1"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Mon Nov 15 16:12:32 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Mon Nov 15 16:12:32 2004 +0000"
      },
      "message": "2004-11-15 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* memory.c: (zerror) Use zlog_err instead of fprintf to stderr.\n\t  Instead of exiting, log currenty memory usage and then abort.\n\t  (log_memstats) New function to log memory statistics, called by\n\t  zerror.\n\t  (show_memory_all) Loop over new mlists array instead of calling\n\t  show_memory_vty separately for each memory_list.\n"
    },
    {
      "commit": "8bed780be262f0dfecffdbb1fa10bc7484c987f1",
      "tree": "29e7eadc4a0ceb4909a21dd6ef8876fe9bc19d90",
      "parents": [
        "788dab10f51f55670dd49f990a016b838e92b9da"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 15:34:50 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Nov 15 15:34:50 2004 +0000"
      },
      "message": "Add $Id:$.\n\nAdd \u0027philosophy\u0027 note about balance between modern and being ok for\nthose tracking stable.\n\nquestion 4.7-4 as a texinfo version (no such nomenclature on texinfo\nsite - something specific to some Linux distribution?).\n\nNote that NetBSD provides texinfo 4.6 in the base system.\n"
    },
    {
      "commit": "788dab10f51f55670dd49f990a016b838e92b9da",
      "tree": "594089dd7e3f0dfaf529d66a847f44a613e069f3",
      "parents": [
        "fbaf39e9b00580e8df2d5d50f97643b42caf1868"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 15 11:48:37 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 15 11:48:37 2004 +0000"
      },
      "message": "2004-11-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_{apiserver,te}.c: ospf_lsa_free\u0027s should be ospf_lsa_unlock.\n"
    },
    {
      "commit": "fbaf39e9b00580e8df2d5d50f97643b42caf1868",
      "tree": "6289ce481228249931c98b331f06c960bc46cc59",
      "parents": [
        "05e85fa947f3775ac7417f5aa7111d056971bb18"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 15 00:45:44 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 15 00:45:44 2004 +0000"
      },
      "message": "2004-11-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* routeserver.texi: Strip ctrl-M from line endings, note by\n\t  sigma@smx.pair.com\n"
    },
    {
      "commit": "05e85fa947f3775ac7417f5aa7111d056971bb18",
      "tree": "2c2cef5c91516c4d38233a5a4d8ad8d7cb163436",
      "parents": [
        "9104f569a64db99cb7547b55488f3e4c8395ee58"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 10:52:19 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 10:52:19 2004 +0000"
      },
      "message": "2004-11-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to\n          ignore stub area summary default. Even so it seems a strange\n          check, add a comment to that effect.\n"
    },
    {
      "commit": "9104f569a64db99cb7547b55488f3e4c8395ee58",
      "tree": "3ef432ab7e7d9c8f035fe7d26a47b1b180c2158c",
      "parents": [
        "95d3184c40b27d89e592f1455e37a25f97d9b7f7"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 10:30:21 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 10:30:21 2004 +0000"
      },
      "message": "2004-11-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* INSTALL.quagga.txt: Some quagga specific INSTALL notes.\n\t* README: s/GNU Zebra/Quagga/ and refer to IS-IS support.\n"
    },
    {
      "commit": "95d3184c40b27d89e592f1455e37a25f97d9b7f7",
      "tree": "2b52e6e0e08d06fc5359ec5a664f10fc1e978a14",
      "parents": [
        "f31293af1dd1dbdbf4f51e63a640325a129935a2"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 09:44:03 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 09:44:03 2004 +0000"
      },
      "message": "2004-11-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* INSTALL: update-autotools, autoreconf -i will install this, remove\n\t  the file so it always matches the autoconf which created\n          configure (ie the quagga snapshot producing host).\n"
    },
    {
      "commit": "f31293af1dd1dbdbf4f51e63a640325a129935a2",
      "tree": "7445195de51684ead260029c843b7c746f2ac791",
      "parents": [
        "670bbf196b264cce7ce1b6f025d872c9a9db8f3e"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 09:27:04 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 09:27:04 2004 +0000"
      },
      "message": "- urg, fix the missing close bracket from previous commit\n"
    },
    {
      "commit": "670bbf196b264cce7ce1b6f025d872c9a9db8f3e",
      "tree": "6372b775d7e8c25485e4b36544ea83b694fd7b70",
      "parents": [
        "85fb1e6dc3c133860d8404c3b233acade91acb05"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 09:05:00 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 12 09:05:00 2004 +0000"
      },
      "message": "2004-11-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* configure.ac: Fix AC_CONFIG_FILES, the chmod seems to run for\n          every input file, should be only be for vtysh/extract.pl, so that\n\t  should be a seperate AC_CONFIG_FILES.\n"
    },
    {
      "commit": "85fb1e6dc3c133860d8404c3b233acade91acb05",
      "tree": "6c73f029567460d920c4ddabb30292c5838c8faa",
      "parents": [
        "7966b97ce3ffd5c02d70ee352553a1fb099c52a9"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 11 14:03:39 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 11 14:03:39 2004 +0000"
      },
      "message": "2004-11-11 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* vtysh.c: (vtysh_client_execute) Fix flaws in detecting trailing\n\t  \u0027\\0\u0027 chars and command return code.\n"
    },
    {
      "commit": "7966b97ce3ffd5c02d70ee352553a1fb099c52a9",
      "tree": "f25591959d66ce881e69aafe65624bb2008751c0",
      "parents": [
        "976d8c734bc1568ac05b968954ed3c3dc5796b9a"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 10 22:02:05 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 10 22:02:05 2004 +0000"
      },
      "message": "2004-11-10 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n        * redhat/quagga.spec.in: add comments showing how to get gcc verbosity\n"
    },
    {
      "commit": "976d8c734bc1568ac05b968954ed3c3dc5796b9a",
      "tree": "f261b02cbea081d22f1de5a426a209532b536940",
      "parents": [
        "5932020bb11c1b5447f4aa4423062f275ab1fa94"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 10 15:40:09 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Nov 10 15:40:09 2004 +0000"
      },
      "message": "Remove unused dont_more variable in vty_flush and add return 0 to vtysh_write.\n"
    },
    {
      "commit": "5932020bb11c1b5447f4aa4423062f275ab1fa94",
      "tree": "5c23a5b805cb1d1701c9f2290c192ac7ba5a5640",
      "parents": [
        "1b074dd28a04f4734e37d420c95c492affe24bc1"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Nov 09 01:54:03 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Nov 09 01:54:03 2004 +0000"
      },
      "message": "2004-11-09 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX\n\t  and cache{1,2}.. into arrays of tables and hence collapse\n          bgp_scan_ipv{4,6} into a single bgp_scan function. Tested, though\n          a long time ago (and this change was hand-merged).\n"
    },
    {
      "commit": "1b074dd28a04f4734e37d420c95c492affe24bc1",
      "tree": "a2c4edb9ff254481cc04876590f3c0c2031eb6cd",
      "parents": [
        "36002ae5c82d67217f2247cfec99cd258c052a93"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 17:38:30 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 17:38:30 2004 +0000"
      },
      "message": "2004-11-08 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* configure.ac: bump version to 0.97.3, release imminent.\n"
    },
    {
      "commit": "36002ae5c82d67217f2247cfec99cd258c052a93",
      "tree": "62e008203d8279d8699aca153f6137307fb8ed38",
      "parents": [
        "b86718ea99cce28f4376af89a6c49b9ca6d77b7c"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 17:36:29 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 17:36:29 2004 +0000"
      },
      "message": "- use makeinfo --html to generate quagga.html\n"
    },
    {
      "commit": "b86718ea99cce28f4376af89a6c49b9ca6d77b7c",
      "tree": "23ffcae4a451da3ab6d03ed02f25978f07431970",
      "parents": [
        "e050db2678b9ff002cd8b06da3db4d35bf2e1837"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 17:34:07 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 17:34:07 2004 +0000"
      },
      "message": "Oops, wrong date on changelog entries..\n"
    },
    {
      "commit": "e050db2678b9ff002cd8b06da3db4d35bf2e1837",
      "tree": "eaaa3eafb493884b9edcd9eec5d192876779f066",
      "parents": [
        "2265d20c1a568c7633d086ccf0233761ff942a2c"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 16:28:39 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 16:28:39 2004 +0000"
      },
      "message": "2004-11-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* Makefile.am: Add routeserver.texi to quagga_TEXINFOS.\n\t  Add quagga.info to clean files list (would have thought automake\n          would have done this, but it doesnt seem to)\n"
    },
    {
      "commit": "2265d20c1a568c7633d086ccf0233761ff942a2c",
      "tree": "f8b74d86a5b5e386ffec2e41f2025064aac423e4",
      "parents": [
        "3e6064f8384e5477593b8af0442931ca5930918b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 15:43:21 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 15:43:21 2004 +0000"
      },
      "message": "2004-11-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* buffer.c: Add missing include of log.h.\n\t  (buffer_flush_available) written is compared against\n\t  mostly against unsigned types, only for the writev do we need\n          signed compare, so declare it as size_t and cast it to ssize_t\n          just for the error compare when we\u0027ve called writev.\n\t* buffer.h: Add comment that buffer data sizes really should be\n          size_t.\n"
    },
    {
      "commit": "3e6064f8384e5477593b8af0442931ca5930918b",
      "tree": "9c4f6f81cda37bd789646564b3e73198b2b9e2ee",
      "parents": [
        "53916edd9f35316ece7ac68ff2b2053d6c4df71b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 12:08:35 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 12:08:35 2004 +0000"
      },
      "message": "2004-11-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* quagga.texi: include routeserver.texi. TODO: integrate the current\n          multiple-instance orientated bgpd route-server section with the\n          new route-server docs.\n"
    },
    {
      "commit": "53916edd9f35316ece7ac68ff2b2053d6c4df71b",
      "tree": "6c367919344b49711c5323e4796ebd335b250a96",
      "parents": [
        "14c17fd8254807648546d3bbe28db657b5979eef"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 11:53:09 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 08 11:53:09 2004 +0000"
      },
      "message": "- ignore missing, depcomp and install-sh, the recently removed files.\n"
    },
    {
      "commit": "14c17fd8254807648546d3bbe28db657b5979eef",
      "tree": "69964205d871d37478532749b91ae149d55521a9",
      "parents": [
        "b35e5b4efc3c359e7b4f89e4423eaccabd51067b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 22:34:23 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 22:34:23 2004 +0000"
      },
      "message": "2004-11-06 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* configure.ac: Arguments to AC_OUTPUT is deprecated, use\n          AC_CONFIG_FILES instead. Rearrange the order slightly to put the\n          Makefiles first (silly aesthetic thing, dont know why I had to do\n          this ;) ). Add doc/defines.texi to the list.\n\t* NEWS: bgp route-server support added, refer to docs.\n\t* update-autotools: call automake with --add-missing and --copy,\n          former is important for obvious reasons, latter for dist files,\n          and --gnu to enable whatever extra goodness checks.\n\t* {depcomp, install-sh, missing}: removed, auto-generated files.\n"
    },
    {
      "commit": "b35e5b4efc3c359e7b4f89e4423eaccabd51067b",
      "tree": "c3f73089863c4c087c40b26cc2f92b4f20b44f94",
      "parents": [
        "0df63b52bd6e94b765a2156dac3e26ac5f14dd68"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 22:27:27 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 22:27:27 2004 +0000"
      },
      "message": "2004-11-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/version.h.in: add autoconf configure_input output var\n"
    },
    {
      "commit": "0df63b52bd6e94b765a2156dac3e26ac5f14dd68",
      "tree": "66ee31761fff5a6e711bf5d884ac37f501b02dde",
      "parents": [
        "6a22b1fc58e3690764bf7aa74d1549f26c315367"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 22:12:23 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 22:12:23 2004 +0000"
      },
      "message": "* Sun Nov 07 2004 Paul Jakma \u003cpaul@dishone.st\u003e\n- Fix with_ipv6 set to 0 build\n"
    },
    {
      "commit": "6a22b1fc58e3690764bf7aa74d1549f26c315367",
      "tree": "3524a6a05340be54f0ad31fddb2df4119d696bec",
      "parents": [
        "0c3368a8da771423da4c59a9ccd65d9eb4f7af6a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 19:39:13 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 19:39:13 2004 +0000"
      },
      "message": "2004-11-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* Makefile.am: Add automatic rule to build pdf\u0027s from eps figures.\n\t  Clean *.pdf. Add rule for quagga.pdf (as the eps.pdf pattern\n          probably otherwise will override automake\u0027s rule for quagga.pdf)\n\t* overview.texi: URL was causing TeX overfull, put on newline.\n\t* quagga.texi: Put the copyright notice into @copying section, as\n\t  is proper. Strip trailling space from the main menu lines.\n\t* rip(ng)?d.texi: Minor reformatting.\n\t* Add the route server docs.\n\t* bgpd.texi: remove unneeded page breaks. The 6Bone example\n          overflows though.\n"
    },
    {
      "commit": "0c3368a8da771423da4c59a9ccd65d9eb4f7af6a",
      "tree": "60ad681115372956c5acca38641ab88a38715cb1",
      "parents": [
        "76b89b4a9cba0ce19033458f69f76f4130e9c628"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 19:00:16 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 07 19:00:16 2004 +0000"
      },
      "message": "2004-11-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* Add the route server docs.\n\t* routeserver.texi: new file, texinfo\u0027fied and slightly modified\n          version of the original TeX from James Luis Rubio.\n\t* fig-*.eps: new files, diagrammes.\n"
    },
    {
      "commit": "76b89b4a9cba0ce19033458f69f76f4130e9c628",
      "tree": "38546628efecddf769ff0e387a392c447abf8111",
      "parents": [
        "1f8f61a7d51c59f392f897d6654cac28ae08ea70"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Nov 06 17:13:09 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Nov 06 17:13:09 2004 +0000"
      },
      "message": "2004-11-06 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* defines.texi.in: New file, texi variables should be set here,\n          autoconf substitution is available. Define common AUTHORS,\n          COPYRIGHT_YEAR and COPYRIGHT_STR vars.\n\t* (global): Make use of makeinfo node pointer auto-creation\n          to avoid having to fully specify links for nodes, so we only have\n          to specify current node name - simplifies text slightly.\n          Remove extraneous newlines which appear to cause extra blank pages\n          to be added in output.\n          Update copyright strings which appear in various places to\n          use the new COPYRIGHT_STR texinfo variable.\n\t  Change url to uref, the former need not output an actual\n\t  hyperlink depending on version of texinfo, the latter should if\n\t  supported by the format (eg PDF).\n\t* texinfo.tex: Update to a more recent version. previous file\n\t  was many many years old. This file should possibly be removed\n          altogether, and allowed to be installed by automake.\n        * quagga.texi: Make use of automake\u0027s version.texi feature to\n          have VERSION and some other vars auto-defined. include\n          defines.texi. Change copyright strings to use the COPYRIGHT_STR\n          variable.\n\t* install.texi: Make the privs section an actual section. Ditto for\n\t  the Linux notes.\n\t* overview.texi: Supply URL for Quagga, where format allows. Tidy up\n          one or two paragraphs slightly.\n\t  Update the section on supported platforms.\n\t  Remove the ZNOG list stuff, direct reader to the website for\n          further information on email lists.\n\t* vtysh.texi: Update the integrated config file section. Make the\n\t  commands sections so correct PDF indexes are built.\n"
    },
    {
      "commit": "1f8f61a7d51c59f392f897d6654cac28ae08ea70",
      "tree": "f72deb54a95db8b1eb0d939880d8b74ee5b84229",
      "parents": [
        "6639a04da2c5ac6bfa0d5eff006637fb6f1372ee"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 05 23:38:20 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Nov 05 23:38:20 2004 +0000"
      },
      "message": "2004-11-05 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* HACKING: Expand on ChangeLogs, eg current practice for certain\n          directories and certain other meta-data is not to maintain a\n          ChangeLog. Expand on the commit message, IMHO, commit message\n          should always be ChangeLog for files where ChangeLog is kept.\n\t  Solaris is supported on any platform (with, at moment, an\n          additional patch).\n"
    },
    {
      "commit": "6639a04da2c5ac6bfa0d5eff006637fb6f1372ee",
      "tree": "8841c4f47f61c6a67703cefc265164f5666c3a79",
      "parents": [
        "95e74e54bfd2fac8f6787b7c3670f7e057daa3e9"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Nov 05 18:42:27 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Nov 05 18:42:27 2004 +0000"
      },
      "message": "2004-11-05 Phil Spagnolo \u003cphillip.a.spagnolo@boeing.com\u003e\n       * ospf6_flood.c:  When adding a thread to retransmit an lsa after\n    rxmt_interval, the ospf6d used thread_add_event().  However,\n    thread_add_event() executes immediately and ignores the delay parameter.\n    This was causing unnecesary unicast LSU sends.  Adding the thread has\n    been changed to use thread_add_timer() which will expire after delay.\n    After the fix results appear consistent with expectation.\n"
    },
    {
      "commit": "95e74e54bfd2fac8f6787b7c3670f7e057daa3e9",
      "tree": "d3405c69702103e05ec1f7f435876b9d9e110cbc",
      "parents": [
        "18323bb2dd65db0bc4cb2a97ec29b97cbb51d73b"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 05 13:24:12 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 05 13:24:12 2004 +0000"
      },
      "message": "spelling: s/supress/suppress/\n"
    },
    {
      "commit": "18323bb2dd65db0bc4cb2a97ec29b97cbb51d73b",
      "tree": "617b35f513a87ec55ff8bb2fe191155c290a5fc7",
      "parents": [
        "a2c0a57b219d419541467dca88376cf74874a2d5"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Nov 05 13:17:20 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Nov 05 13:17:20 2004 +0000"
      },
      "message": "Adjust per-directory vs global ChangeLog to match current practice.\n\nSpelling fixes.\n\nAdd Solaris on 64-bit to list of \u0027supported\u0027 platforms.\n\nList NetBSD/sparc64 as a \u0027future\u0027 platform - there aren\u0027t enough users\nto make it really supported, but it\u0027s good at exposing latent bugs\n(e.g router advertisement formatting on BSD, and LSA alignment\nissues).\n\nNote explicitly that ospf6d and isisd are in \u0027testing\u0027 rather than\n\u0027stable\u0027.  (Feel free to correct - just wanted to get more explicit.)\n\nAdd note questioning current relevance of isisd.sf.net - is our repo\nthe canonical place now?\n"
    },
    {
      "commit": "a2c0a57b219d419541467dca88376cf74874a2d5",
      "tree": "907e30d0f1320cea35b8624446844ab5024e31de",
      "parents": [
        "5a64665039dc98c341fd8d50458ec2a72c5ebbf5"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Nov 05 12:59:21 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Nov 05 12:59:21 2004 +0000"
      },
      "message": "spelling: s/supress/suppress/\n"
    },
    {
      "commit": "5a64665039dc98c341fd8d50458ec2a72c5ebbf5",
      "tree": "e89689f085b7b8eed09a0558e2a80dadb4826033",
      "parents": [
        "f3ae74cdf0768d0bd35f26f728f72439f2d8bd6f"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 05 01:25:55 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 05 01:25:55 2004 +0000"
      },
      "message": "2004-11-04 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* vty.h: Remove fields in struct vty that were related to VTY_CONTINUE\n\t  capabilities (that were used only in bgpd/bgp_route.c and are now\n\t  removed).  Also remove some other fields that were not being\n\t  used at all.\n\t* vty.c: (vty_execute) Do not test for obsolete status values VTY_START\n\t  and VTY_CONTINUE.\n\t  (vty_read) Remove calls to vty-\u003eoutput_func since that was part\n\t  of the VTY_CONTINUE infrastructure that has been removed.\n\t  (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.\n\t  (vty_close) Remove code to cancel vty-\u003et_output thread, since that\n\t  thread was never actually used.\n\t* bgp_route.c: Remove all code related to VTY_CONTINUE; this feature\n\t  is deprecated because the output did not represent a single point\n\t  in time.  All output needs to be generated inline and buffered\n\t  by the library code.\n\t  (route_vty_out,route_vty_out_tag,damp_route_vty_out,\n\t   flap_route_vty_out) Remove code to count number of lines of output,\n\t   since this was only useful for VTY_CONTINUE behavior.\n\t  (bgp_show_callback) Removed.\n\t  (bgp_show_table) Remove hooks for VTY_CONTINUE callback support.\n\t  As a result, there\u0027s a new output_arg argument to this function.\n\t  Make function static.\n\t  (bgp_show) Make function static and add a new output_arg argument.\n\t  Change all functions that call bgp_show or bgp_show_table to\n\t  pass the new output_arg argument (that used to be passed inside\n\t  vty-\u003eoutput_arg).\n\t* bgp_mplsvpn.c: Remove declarations of functions defined in\n\t  bgp_route.c; these declarations belong in bgp_route.h.\n\t* bgp_route.h: Declare 3 global functions used in both bgp_route.c\n\t  and in bgp_mplsvpn.c.\n"
    },
    {
      "commit": "f3ae74cdf0768d0bd35f26f728f72439f2d8bd6f",
      "tree": "f2bbe7f50336f1387cdddc0783573aeab1a2e41a",
      "parents": [
        "49ff6d9d7a9ef9419dd7aab58ac9f7806e3e1040"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Nov 04 20:35:31 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Nov 04 20:35:31 2004 +0000"
      },
      "message": "2004-11-04 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospfd.c: (ospf_network_match_iface) revert to previous network\n          statement match behaviour.\n"
    },
    {
      "commit": "49ff6d9d7a9ef9419dd7aab58ac9f7806e3e1040",
      "tree": "bb9e1d36b5bef56d2e47c69b6bab1ef54cf9696e",
      "parents": [
        "62d8e96a06e664c929a164bfb66b515d1c6877a8"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 04 19:26:16 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Nov 04 19:26:16 2004 +0000"
      },
      "message": "2004-11-04 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* vty.c: Vtysh connections to daemons should use buffering.\n\t  (vty_out) Remove exception for vty_shell_serv, just use buffer_write.\n\t  (vty_new) Increase output buffer size to 4096 rounded up to a\n\t  multiple of pagesize.\n\t  (vtysh_read) After command has been executed and all output buffered,\n\t  call buffer_flush_available and schedule further writes if the\n\t  buffers are not yet empty.\n\t  (vtysh_write) New function to flush output to vtysh when the socket\n\t  is writeable.\n\t  (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh\n\t  clients.  Also, should save read thread in vty-\u003et_read so the\n\t  thread can be cancelled in vty_close.\n\t* buffer.h: In struct buffer_data, remove unused \"parent\" field.\n\t  Convert \"unsigned char *data\" to \"unsigned char data[0]\" to save\n\t  a malloc.  Declare new function buffer_flush_available that works\n\t  with non-blocking sockets.\n\t* buffer.c: (buffer_data_new) Use a single malloc now that data is\n\t  a variable-size array at end of structure.\n\t  (buffer_data_free) Just a single free now that data is part of the\n\t  structure.\n\t  (buffer_write) Simplify the logic to make behavior more transparent.\n\t  (buffer_flush) Decrease b-\u003elength as data is written out.\n\t  (buffer_flush_vty_all) Decrease b-\u003elength as buffers are freed.\n\t  (buffer_flush_vty) Decrease b-\u003elength as data is written out.\n\t  (buffer_flush_available) New function to flush non-blocking sockets.\n"
    },
    {
      "commit": "62d8e96a06e664c929a164bfb66b515d1c6877a8",
      "tree": "62c02b3284bbd08b1e5fe384f08ce0eff18c967c",
      "parents": [
        "3c035aa8716efa6f677e43435c5eb9bac6825518"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Nov 02 20:26:45 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Nov 02 20:26:45 2004 +0000"
      },
      "message": "2004-11-02 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points\n\t  to it. Add convenience pointer to msg-\u003emsg_iov[1], and use this,\n\t  fixing the unfortunate borkenness introduced in moving of this code\n\t  to a function.\n\t  (ospf_write) remove iovp and fix up call to previous.\n\t  (ospf_ls_upd_packet_new) cast size to long int - unfortunately\n          glibc\u0027s size_t format modifier is not portable.\n"
    },
    {
      "commit": "3c035aa8716efa6f677e43435c5eb9bac6825518",
      "tree": "ea28fd6b6beadd72d3619315dc66ee0d03a3f7d3",
      "parents": [
        "e064d6d9c3c3319c62fe4fac3e4e5f7a1941a98c"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Nov 02 18:59:49 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Nov 02 18:59:49 2004 +0000"
      },
      "message": "- Add .arch-ids and .arch-inventory to cvsignore, to allow one to use arch\n  with CVS trees.\n"
    }
  ],
  "next": "e064d6d9c3c3319c62fe4fac3e4e5f7a1941a98c"
}
