)]}'
{
  "log": [
    {
      "commit": "86f1fd9615391485baf37afe1055b7d8bf64b4a8",
      "tree": "3a18671a9a94e952fabcb5ecca70c0bc80bcb523",
      "parents": [
        "220d0c0ea3a3aab81836a6aad4137aa40270512d"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Jan 10 14:20:43 2005 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Jan 10 14:20:43 2005 +0000"
      },
      "message": "2005-01-10  Greg Troxel  \u003cgdt@fnord.ir.bbn.com\u003e\n\n        * ospf_packet.h: Remove commented out definition of\n        OSPF_MAX_PACKET; neither it or the uncommented one are used any more.\n\n        * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication\n        when deciding if an update will fit.\n        (ospf_packet_authspace): Factor out calculation of size required\n        for authentication.\n        (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.\n        Don\u0027t confuse readers that there is a macro.\n"
    },
    {
      "commit": "3dc56b5bd3fa2aacc427505feaa9cd1366e7ebe8",
      "tree": "a1c9855ec0d2a918f31c444c3d0d4228fedb0f50",
      "parents": [
        "cc49eb5a5f970b7405762d3f8a2def179e0022b4"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Dec 30 15:11:19 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Thu Dec 30 15:11:19 2004 +0000"
      },
      "message": "2004-12-30 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_network.c: Improve all setsockopt error messages to give detailed\n\t  information on the arguments.\n"
    },
    {
      "commit": "17eaa728aae282e373b98a8d193c5c48c24e1a0f",
      "tree": "a629736bfc2e0a07152a1d539df7f604e576c619",
      "parents": [
        "b87f772abe45b24f3aeefc807d0a2e4344ec0754"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 29 21:04:48 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 29 21:04:48 2004 +0000"
      },
      "message": "2004-12-29 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_packet.c: (ospf_db_desc) Reduce severity of \"Negotiation done\"\n\t  messages from LOG_WARNING to LOG_INFO, since this seems to be\n\t  normal.\n"
    },
    {
      "commit": "b87f772abe45b24f3aeefc807d0a2e4344ec0754",
      "tree": "0a18d319acddbaa7a759e760a460e0751e03ac73",
      "parents": [
        "be21024692560b48a77e691fe31c16bb854376de"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 29 20:41:26 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 29 20:41:26 2004 +0000"
      },
      "message": "2004-12-29 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_packet.c: (ospf_read) Always look up the interface if\n\t  ospf_recv_packet returns NULL ifp, since some platforms such\n\t  as Solaris 8 appear to support ifindex retrieval but don\u0027t.\n"
    },
    {
      "commit": "be21024692560b48a77e691fe31c16bb854376de",
      "tree": "e94897471606e1f0fc4e0778959ce7c1186d78f0",
      "parents": [
        "b30c5e67a20b1a092faa56fe349171eb1da386b0"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Wed Dec 29 20:12:59 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Wed Dec 29 20:12:59 2004 +0000"
      },
      "message": "add XXX comment that perhaps we need to recover from short headers.\n"
    },
    {
      "commit": "fe71a97da23e2282bc92f647227d5c97c73e3bc8",
      "tree": "d812d9a1b98b0a1e9c1621194bf58dba097d6e3b",
      "parents": [
        "16f6511e94c3765725b196aacaf6053385bca8a3"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Dec 22 16:16:02 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Dec 22 16:16:02 2004 +0000"
      },
      "message": "Show sums of checksums in \"show ip ospf\" output. Okayed by Paul and James\nR. Leu (author of original idea).\n"
    },
    {
      "commit": "c6b878195752f25e3c943184d2baa11f2b14f53a",
      "tree": "2bf618c4c9bce1c8d71ce178754baee3e7fc15c6",
      "parents": [
        "dfbb91241850117729f9ebcc37207260dc50146b"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Dec 22 13:09:59 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Dec 22 13:09:59 2004 +0000"
      },
      "message": "Fix \"show ip ospf\" output. If router is configured as \"translate-never\", we\nsay so - we can never be translator.\n"
    },
    {
      "commit": "1d8062884fb47475c91fdcade912281ef0ac81b3",
      "tree": "0b8b674445255f5c22091dcfdbcbde85f20c1cef",
      "parents": [
        "9a30ee5606fce86ac266839dccb1169af6e73d08"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Dec 22 09:43:20 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Dec 22 09:43:20 2004 +0000"
      },
      "message": "Show debug configuration in vtysh.\n"
    },
    {
      "commit": "bc18d616ad7d1d580e1e04c28eab2cd9afb67fad",
      "tree": "2177945097bf719604b066c35724b55606ad7eae",
      "parents": [
        "766a0ca3dcb824fc9283be89bb57e47132b26826"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 15 15:07:19 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Dec 15 15:07:19 2004 +0000"
      },
      "message": "2004-12-15 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_interface.h: Declare new function ospf_default_iftype.\n\t* ospf_interface.c: (ospf_default_iftype) New function to centralize\n\t  this logic in one place.\n\t* ospf_zebra.c: (ospf_interface_add) Use new function\n\t  ospf_default_iftype.\n\t* ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic\n\t  by using new function ospf_default_iftype.\n"
    },
    {
      "commit": "3aa8d5f9893c182eb27f0f6ab354a77edbf1b9f0",
      "tree": "b2cc0ac454542e114bf3fcb4d85c62d9074903f1",
      "parents": [
        "3378d2099440cb3a14dc7531a3221d4140e186e2"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Dec 11 18:00:06 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Dec 11 18:00:06 2004 +0000"
      },
      "message": "2004-12-11 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_packet.c: (ospf_db_desc) Should be static, not global.\n\t  (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning\n\t  messages to include identifying information (e.g. router id).\n\t* ospf_nsm.c: (nsm_change_state) Improve info message to include\n\t  router id and state names.\n"
    },
    {
      "commit": "3fb9de74bbd3de3a264c20b1b486f9853f908c79",
      "tree": "ff02a6c1259d49646c2e12efe4975503926902e4",
      "parents": [
        "09c3adb9e9f41d4698025e3a70cfa71e54e003e4"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Dec 09 16:30:04 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Dec 09 16:30:04 2004 +0000"
      },
      "message": "       * ospf_apiserver.c (ospf_apiserver_term): Obtain struct\n        ospf_apiserver * from listnode.  Remove unused variables.  Follows\n        suggestion from Jay Fenlason.\n"
    },
    {
      "commit": "91f3e525a95d6a86f916872116af162eb3bdae5d",
      "tree": "c9944157d5cde3acf11850420012814214f8488c",
      "parents": [
        "f4436f7bb8234f86a1a38e2d8497b70a448a7246"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Dec 09 14:51:03 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Dec 09 14:51:03 2004 +0000"
      },
      "message": "ospf_apiserver_term:\n  Remove unused variable.\n\n  Add comment: this is seriously broken, and needs fixing.  It appears\n  likely to segfault if ever called.  Comments please - should I make\n  the fix I suggest in the comment?  -gdt\n"
    },
    {
      "commit": "f4436f7bb8234f86a1a38e2d8497b70a448a7246",
      "tree": "c92d79e64baf36912260617b238f9158f3ba5ffb",
      "parents": [
        "6a250b099fe25627e32e5ca58f5677ba5227f816"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Dec 09 14:49:51 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Dec 09 14:49:51 2004 +0000"
      },
      "message": "add comments about warnings\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "64511f394a90602a31cbe1660be426c16439322c",
      "tree": "197fd4d90a7c6a4b627a67a078e8ff6d1f2372cb",
      "parents": [
        "039b95776979c74f7d02719800f9d742338e815b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 31 18:01:13 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 31 18:01:13 2004 +0000"
      },
      "message": "2004-10-31 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_packet.c: (ospf_ls_upd_packet_new) Format for size_t should\n          be ld.\n\t* ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of\n\t  THREAD_ARG to store an integer, but it should at least use same\n          same type to retrieve the value. Assert value is sane.\n"
    },
    {
      "commit": "37ccfa3defa0a3cfb89ac16488ac762246416d23",
      "tree": "d02df9826286f9d6016ff79da6aeabb09548cfc6",
      "parents": [
        "2bfc7c05dde63f828a06892e33abcae2e30dd18a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 31 11:24:51 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 31 11:24:51 2004 +0000"
      },
      "message": "2004-10-31 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_packet.c: (ospf_write_frags) Add debug output\n\t  (ospf_write) set type early, so we can pass it to\n\t  ospf_write_frags.\n\t  (ospf_ls_upd_packet_new) print size in debug output when too large\n\t  packet is encountered.\n"
    },
    {
      "commit": "4ccb2c46c51c382f1a1d34f1f6814725c7d972e5",
      "tree": "05deadb30fb8c54d567da3c75761342be2e228dd",
      "parents": [
        "06f953f7abd1ac10e059fc756878ac135bb76c58"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 22:52:33 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 22:52:33 2004 +0000"
      },
      "message": "- credit rix for fixing openbsd\n"
    },
    {
      "commit": "06f953f7abd1ac10e059fc756878ac135bb76c58",
      "tree": "c18b23bb5b309ca9940c00f173028b4be85abd88",
      "parents": [
        "4927cf0bf0828f2c4a9bda30f3c890d1835c7370"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 17:00:38 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 17:00:38 2004 +0000"
      },
      "message": "2004-10-22 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospfd/ospf_packet.c: setsockopt_pktinfo -\u003e setsockopt_ifindex\n\t* zebra/irdp_main.c: ditto\n"
    },
    {
      "commit": "ac1912327ea078f1336d54fdb1177592f94a7980",
      "tree": "0c1f6707631855387c9babee1ebe7e92e3fa4cf0",
      "parents": [
        "23b9c61e5bb60d557b07dc1d7c4d7614f63dc009"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 12:05:17 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 22 12:05:17 2004 +0000"
      },
      "message": "2004-10-22 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()\n          function.\n        * ospf_packet.c: (ospf_read) manually look up ifindex\n          if system could not have returned one, eg openbsd.\n"
    },
    {
      "commit": "3fb9cd6ef456959b6eff939d5c316f6785c2dda4",
      "tree": "e350cb3ef7b20b8bbccfb1aa9309152311e845bd",
      "parents": [
        "5ae35f45f1292dce3a01f241accafeb2e59b10cc"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 19 19:44:43 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 19 19:44:43 2004 +0000"
      },
      "message": "OK. Here it is - PtP patch from Andrew J. Schorr. No problems with ospfd,\nripd might need some more testing though.\n"
    },
    {
      "commit": "c75105ab6e6eeac0b013eab186c97641984f68cc",
      "tree": "ea221df06e957de7e83f379c9b45f578762736e7",
      "parents": [
        "d68614db1dc36a6814fee33f584417b1441a83e4"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Oct 13 10:33:26 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Oct 13 10:33:26 2004 +0000"
      },
      "message": "Make initializing smux connection configurable - \"smux peer OID\" command\ninitializes connection, and \"no smux peer\" command terminates it. Fixes\nbugzilla #47 and #112.\n"
    },
    {
      "commit": "d68614db1dc36a6814fee33f584417b1441a83e4",
      "tree": "0522831d0dfd9a4f23959532e3110f46fc88b49c",
      "parents": [
        "43fb1352a1cc9ef05ac7124d18099ed6f8c3986a"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Oct 13 09:32:48 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Oct 13 09:32:48 2004 +0000"
      },
      "message": "Unbreak compilation with ospfapi disabled. We should seriously think about\nreducing various configure options.\n"
    },
    {
      "commit": "f4d58ce5aa0da64fd136c5747ff371d46736490a",
      "tree": "942bd00e2c53a22dd7f0c057d489b13ce1d7c4bd",
      "parents": [
        "54aa6b2d796416ed0d606c49bf4a0f1e62b93401"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 12 06:13:54 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Oct 12 06:13:54 2004 +0000"
      },
      "message": "Unbreak ospfclient compilation.\n"
    },
    {
      "commit": "c3abdb722d35eb93ca72078a7da1b4661accab27",
      "tree": "b89076220a74f3ca9c5e408331d4f2206bbdaed1",
      "parents": [
        "e2ea9fef99392299d6291067522eef0d99e1714c"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Oct 11 16:27:03 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Oct 11 16:27:03 2004 +0000"
      },
      "message": "Disable ospfapi init by default.\n"
    },
    {
      "commit": "6c83567192ada1a66822c3f35580ce6a85f51ac9",
      "tree": "39ef09859fae79b7c7e234a671bf2e04f8e9264a",
      "parents": [
        "6b33361187feeb8c9c257ec149b4f75238af6c48"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 11 11:00:30 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 11 11:00:30 2004 +0000"
      },
      "message": "2004-10-11 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* (global) Const char update and signed/unsigned fixes.\n\t* (various headers) size defines should be unsigned.\n\t* ospf_interface.h: remove duplicated defines, include the\n\t  authoritative header - though, these defines should probably\n          be moved to a dedicated header, or ospfd.h.\n\t* ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.\n\t* ospf_packet.c: (ospf_write) cast result of shift to unsigned.\n"
    },
    {
      "commit": "6b33361187feeb8c9c257ec149b4f75238af6c48",
      "tree": "41f383954c59ad166991014834e0dbe43639e345",
      "parents": [
        "9076fbd333cbd39b0fae7848de533dfe376af7fe"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 11 10:11:25 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 11 10:11:25 2004 +0000"
      },
      "message": "2004-10-11 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order\n\t  remove ntohs that should have dissappeared. Take struct ip\n\t  as argument, caller has to know there\u0027s an IP header at start of\n\t  stream anyway.\n\t* ospf_dump.h: update declaration of ospf_ip_header_dump.\n\t* ospf_packet.c: (ospf_write) correct call to\n\t  sockopt_iphdrincl_swab_htosys which was munging the header.\n\t  (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.\n\t  (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as\n\t  we have it.\n"
    },
    {
      "commit": "eb1ce6059a00f3f0dd92c965aa5982907b54c00d",
      "tree": "ebd6583ba2f2f9909c25653d0349662e08c26ecf",
      "parents": [
        "2e864cfa12724ec20e82f0a24e1be5929e3a0cef"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Oct 08 08:17:22 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Oct 08 08:17:22 2004 +0000"
      },
      "message": "Compiler warnings fixes round 1.\n"
    },
    {
      "commit": "54ade99658ea95bf9207b5547fe6a7b97e64c97a",
      "tree": "7e800471cc271728b36ab3fccaf86c13c27c3a16",
      "parents": [
        "6ad96ea16ee54578391bb4ca88d047ac9d3654fc"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Oct 07 19:38:20 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Oct 07 19:38:20 2004 +0000"
      },
      "message": "2004-10-07  Greg Troxel  \u003cgdt@claude.ir.bbn.com\u003e\n\n        * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don\u0027t\n        use of variable names \u0027node\u0027 and \u0027nextnode\u0027 to avoid possible\n        conflict with list macros.  Move variable declaration inside for\n        loop after a statement to top of function.\n"
    },
    {
      "commit": "aa20c6f1799a7ca86afb19aee246356c5499e87a",
      "tree": "4d04f9660755a242671552f0c430d8f12e4d9135",
      "parents": [
        "7fd63b3843b502dfc0c3d023bca1191b298ca332"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Oct 07 14:19:36 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Oct 07 14:19:36 2004 +0000"
      },
      "message": "2004-10-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_snmp.c: Missed list typedef update\n\t* ospf_dump.c: Include sockopt.h for header swab functions.\n"
    },
    {
      "commit": "18b12c387e2bcd8a0e81a8d2635c1ef52c8a9a7d",
      "tree": "1fe5f83b587e2848ddb981c625faa5c27ed57662",
      "parents": [
        "96e27c9928b5078526f2a7564700dbdafe2c8d42"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Oct 05 14:38:29 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Oct 05 14:38:29 2004 +0000"
      },
      "message": "2004-10-05 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_packet.c: replace ospf_swap_iph_to... with\n          sockopt_iphdrincl_swab_...\n"
    },
    {
      "commit": "18a6dce6f83dd20caf1f36c8e840868ff0bf6dbd",
      "tree": "ff832cbf6fe2b239bde06268820587bec671ae6d",
      "parents": [
        "a49c0ff6771975eeb1bd7da923a9dc830200cf65"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Oct 03 18:18:34 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Oct 03 18:18:34 2004 +0000"
      },
      "message": "Common router id.\n"
    },
    {
      "commit": "6a99f83175d7b5b5868fb82328d569672b8bb9a4",
      "tree": "447f98abc31a7260bb2b354809312e4e6fdfda96",
      "parents": [
        "9172ee0e5dc8c6f6929821fb1433699700e53114"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Sep 27 12:56:30 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Sep 27 12:56:30 2004 +0000"
      },
      "message": "2004-09-27 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER\n\t  Apply to offset too. Print ip_cksum, lets not worry about\n\t  possible 2.0.37 compile problems.\n\t* ospf_packet.c: (ospf_swap_iph_to{n,h}) Use\n\t  HAVE_IP_HDRINCL_BSD_ORDER.\n\t  (ospf_recv_packet) ditto.\n\t  (ospf_write) Fixup iov argument to ospf_write_frags.\n"
    },
    {
      "commit": "68defd6ddbc840f4877a817dd651a243a398049d",
      "tree": "41ef70f45a02bf5ffc6d4be6b1261010cda1979d",
      "parents": [
        "0dae85e67ada6044ce895b3e64a3a223776eab5b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Sep 27 07:27:13 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Sep 27 07:27:13 2004 +0000"
      },
      "message": "2004-09-27 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_packet.c: (ospf_write) (struct msghdr).msg_name is caddr_t\n\t  on most platforms.\n\t  (ospf_recv_packet) ditto. And msg_flags is not always there\n          memset struct then set fields we care about rather than\n          initialise all fields individually.\n"
    },
    {
      "commit": "c9e52be3f4d98943b67fbbe5d9a7ccd823b88326",
      "tree": "d4045a946af3be8bbdc303162778e8c44057e2f9",
      "parents": [
        "e473b032b860444b9656cee1654b0120f77b52b1"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 26 16:09:34 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 26 16:09:34 2004 +0000"
      },
      "message": "Compiler warnings fixes.\n"
    },
    {
      "commit": "1603c06ba3ad07b8f9380209a137569abe3700e1",
      "tree": "75c26cd35b85585810e4ebe555d37f24d751971e",
      "parents": [
        "a257068354604e1d20391a6b69bdd2ba02945754"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:23:24 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:23:24 2004 +0000"
      },
      "message": "2004-09-24 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_apiserver.{c,h}: (ospf_apiserver_term) loops calling\n          ospf_apiserver_free, which deletes referenced nodes from\n          apiserver_list, fixed.\n"
    },
    {
      "commit": "a257068354604e1d20391a6b69bdd2ba02945754",
      "tree": "f86aa449dd56df391ca5355b0182f56e389ed7f8",
      "parents": [
        "0bfeca3f000ea9bec0ca167f5c9cc3927ac370a9"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:09:57 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:09:57 2004 +0000"
      },
      "message": "forgot to commit changelog..\n"
    },
    {
      "commit": "0bfeca3f000ea9bec0ca167f5c9cc3927ac370a9",
      "tree": "fa06880cdd05b72005b9ee21e4c9b0b9fd59db1d",
      "parents": [
        "87d6f87aec1920ca785de465282a772f9e459af8"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:07:54 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:07:54 2004 +0000"
      },
      "message": "2004-09-24 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_packet.c: (ospf_write) ifdef fragmentation support.\n          move actual fragmentation out to a new, similarly ifdefed, function.\n\t  (ospf_write_frags) fragmented write support, moved from previous.\n"
    },
    {
      "commit": "87d6f87aec1920ca785de465282a772f9e459af8",
      "tree": "005eeed9ca8a62226a12392d28b1ab60a7cac9d4",
      "parents": [
        "52dc7ee65f8d887b0730abc0a5d44d27fc6ecafd"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:01:38 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:01:38 2004 +0000"
      },
      "message": "2004-09-24 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_apiserver.{c,h}: lists typedef removal cleanup.\n          update some list loops to LIST_LOOP. some miscellaneous indent\n          fixups.\n          (ospf_apiserver_unregister_opaque_type) fix listnode_delete of\n          referenced node in loop.\n        * ospf_interface.h: lists typedef removal cleanup.\n        * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list\n          loops to LIST_LOOP. miscellaneous style and indent fixups.\n        * ospf_te.{c,h}: ditto\n\t* ospf_packet.c: lists typedef removal cleanup.\n"
    },
    {
      "commit": "52dc7ee65f8d887b0730abc0a5d44d27fc6ecafd",
      "tree": "a557339540c56dd3953c29a50ca0e48c1911efc8",
      "parents": [
        "44983cf8a9c587dfbcad294b9dfe4dccbb68ba98"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Sep 23 19:18:23 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Sep 23 19:18:23 2004 +0000"
      },
      "message": "Remove usage of evil list and listnode typedefs.\n"
    },
    {
      "commit": "68b7339ad88c10d20738f8dd0bf6bb6388474970",
      "tree": "ebe39408c3ab8f0b30df54c4020c454c305cdd63",
      "parents": [
        "4fc7085cfa36103b491aec130346f1a632187849"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Sep 12 14:21:37 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Sep 12 14:21:37 2004 +0000"
      },
      "message": "2004-09-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_packet.c: Fix bugzilla #107\n          (ospf_packet_max) get rid of the magic 88 constant\n          (ospf_swab_iph_ton) new function. set ip header to network order,\n          taking BSDisms into account.\n          (ospf_swab_iph_toh) the inverse.\n          (ospf_write) Add support for IP fragmentation, will only work on\n          linux though, other kernels make it impossible. get rid of the\n          magic 4 constant.\n          (ospf_make_ls_upd) Bound check to end of stream, not to\n          interface mtu.\n          (ospf_ls_upd_packet_new) New function, allocate upd packet\n          taking oversized LSAs into account.\n          (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,\n          rather than statically allocating mtu sized packet buffer, which\n          actually was wrong - it didnt take ip header into account, which\n          should not be included in packet buffer.\n          (ospf_ls_upd_send_queue_event) minor tweaks and remove\n          TODO comment.\n"
    },
    {
      "commit": "630e48072a4a4685a7c04a7b73ae9170d2f0844a",
      "tree": "1a343e551a0ce24d8c8c93aa62860742749355ee",
      "parents": [
        "94755ea13e9466fc4590994b551dc23a44571622"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Aug 31 17:28:41 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Aug 31 17:28:41 2004 +0000"
      },
      "message": "Assorted changes from work at BBN.  Most are minor, and several are in\nsupport of more significant changes not in this commit.  The last item\nin the ChangeLog below may be needed for p2mp to work correctly.\n\n2004-08-31  David Wiggins  \u003cdwiggins@bbn.com\u003e\n\n\t* hash.c (hash_iterate): Save next pointer before calling\n\tprocedure, so that iteration works even if the called procedure\n\tdeletes the hash backet.\n\n\t* linklist.h (listtail): new macro, not yet used.\n\n2004-08-31  David Wiggins  \u003cdwiggins@bbn.com\u003e\n\n\t* ospf_spf.c (ospf_spf_calculate): Many more comments and debug\n\t  print statements.  New function ospf_vertex_dump used in debugging.\n\n2004-08-31  David Wiggins  \u003cdwiggins@bbn.com\u003e\n\n\t* ospf_spf.h (struct vertex): Comments for flags and structure members.\n\n2004-08-31  David Wiggins  \u003cdwiggins@bbn.com\u003e\n\n\t* ospf_route.c: When finding an alternate route, log cost as well.\n\n2004-08-31  David Wiggins  \u003cdwiggins@bbn.com\u003e\n\n\t* ospf_interface.c (ospf_lookup_if_params): Initialize af in\n\tstruct prefix allocated on stack.\n\n2004-08-31  David Wiggins  \u003cdwiggins@bbn.com\u003e\n\n\t* ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send\n\tacks to AllSPFRouters, rather than All-DR.\n"
    },
    {
      "commit": "7b90143f14ba21f6bd3ff2c8b60f69500f46c0e8",
      "tree": "f226a2bf777f2396eb572b9cbdd4bb11429033b9",
      "parents": [
        "df43a137236e7df433fbd3c633245459d4fd951b"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Aug 31 13:37:42 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Aug 31 13:37:42 2004 +0000"
      },
      "message": "Fix for Bugzilla #108.\n"
    },
    {
      "commit": "df43a137236e7df433fbd3c633245459d4fd951b",
      "tree": "8c6fd437c0c2dda0b71fb05d0cc62d6a7875f4c0",
      "parents": [
        "f2bdee97582ed0f869a09c17c9c060a9d52e1064"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Aug 31 12:04:33 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Aug 31 12:04:33 2004 +0000"
      },
      "message": "Please, tell me truth about what debugging status you are displaying.\n"
    },
    {
      "commit": "d7d93997315472f2f1f40012795e31604db95491",
      "tree": "3161675e2d3f96491d3bbb57b1f6e28153d9ae00",
      "parents": [
        "7225687afa5a7c7efafbea9b737673762daaa395"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Aug 27 12:03:42 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Aug 27 12:03:42 2004 +0000"
      },
      "message": "2004-08-27  David Wiggins  \u003cdwiggins@bbn.com\u003e\n\n        * ospf_spf.c (ospf_nexthop_calculation): Initialize address family\n          in on-stack struct prefix_ipv4.  Fixes point-to-multipoint SPF\n          calculation.\n"
    },
    {
      "commit": "e304982e498e58ca77e8c7dd8f1bf83f1e50ca27",
      "tree": "9acefd51f0a452b3a1c9bd6b4a568c898a2c83f4",
      "parents": [
        "d0deca68371c222d1b2ff3fcf61312506395861c"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Aug 26 13:19:40 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Aug 26 13:19:40 2004 +0000"
      },
      "message": "fix typo in previous commit\n"
    },
    {
      "commit": "d0deca68371c222d1b2ff3fcf61312506395861c",
      "tree": "387b78bd5cf21d645f33617ea4b5bb7eb58ce613",
      "parents": [
        "afa43b23925175ff750d91bbd1c639b47bcb597e"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Aug 26 13:14:07 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Aug 26 13:14:07 2004 +0000"
      },
      "message": "2004-08-26  Greg Troxel  \u003cgdt@fnord.ir.bbn.com\u003e\n\n\t* ospf_packet.c (ospf_recv_packet): adjust size declaration of\n\tbuffer used to get interface index so that it compiles on other\n\tthan Linux and includes the required alignment space.  Probably\n\tthis was only working on sparc/sparc64 because most of sockaddr_dl\n\twas not being written.\n"
    },
    {
      "commit": "863082d528befe5e6093b120f0f11fb4e4aac455",
      "tree": "482aa7abd1912830f6386db5d58b18d3a7851c0d",
      "parents": [
        "2abb1cf3c8e3a313eaddc53501b4469a8f42b9b0"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 19 04:43:43 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 19 04:43:43 2004 +0000"
      },
      "message": "2004-08-19 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_packet.c: update to match sockopt renames.\n"
    },
    {
      "commit": "75ee0b8eed29619b98c67dcb5f6b10e1c8f201ae",
      "tree": "ebbf492147767a7161e48cb2ece2e0d36b061abe",
      "parents": [
        "049207c31d9b5da023c6c2e3689b771010098f94"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 05 09:10:31 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 05 09:10:31 2004 +0000"
      },
      "message": "2004-08-04 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.\n          Compare only against list head - all nexthops must be same cost\n          anyway, fixes a reference-listnode-after-delete bug noted by\n          Kir Kostuchenko.\n          (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all\n          candidates attached to root.\n"
    },
    {
      "commit": "48fe13bfd73b5e080aaf9d8964b4c07f030bf24a",
      "tree": "04f5a6d9cfd182edfffa66b0797b23e88d1ccc36",
      "parents": [
        "fbe31d82581e82f59ddacff0e1db41d2f7c3baf6"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 27 17:40:44 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 27 17:40:44 2004 +0000"
      },
      "message": "2004-07-27 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from\n          last fix for ospfd wedging due to oversize LSAs: dont list loop on\n          ospf_ls_upd_queue_send() - guaranteed segfault.\n"
    },
    {
      "commit": "36c64efdfa81b04741fbc75929649973a5334055",
      "tree": "c31fe5f44efe8ba91d31e970e03e83672bdb63c6",
      "parents": [
        "41c14a1fc3c97f8cfcb4ef8f8bce12a2d9ad29df"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 27 11:19:11 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 27 11:19:11 2004 +0000"
      },
      "message": "2004-07-27 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out\n          the LSA as then free_opaque_info_per_id() can never unlock (and\n          free) the LSA. Reported by Gunnar Stigen.\n"
    },
    {
      "commit": "b7a97f825768bb3e617cb115540c74b65914e628",
      "tree": "7614897d5d668291f854b5283daf424b55a12853",
      "parents": [
        "33f92320e8a6b078a5972d05c8f49487d8edf19c"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Jul 23 16:23:56 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Jul 23 16:23:56 2004 +0000"
      },
      "message": "(somewhat unrelated cleanups, but all are very minor)\n\n2004-07-23  Greg Troxel  \u003cgdt@poblano.ir.bbn.com\u003e\n\n\t* */Makefile.am: Use ../dir/libfoo.la, rather than \"-L../dir\n\t-lfoo\", to avoid linking against installed libraries from a\n\tprevious version.\n\n\t* {lib,ospfd,ospfclient}/Makefile.am: explicitly define the shared\n\tlibrary version number to be 0.0\n\n\t* configure.ac: remove spurious , so extract.pl is chmod\u0027d +x.\n\n\t* HACKING: explain shared library versioning rules\n"
    },
    {
      "commit": "2dd8bb4e9b296782f361008b5aa959ac51e16a4c",
      "tree": "d8a0925a7f2216ce8700d66b18981cb151138b9e",
      "parents": [
        "4f7baa0e434053c9f9a70f526be1514ea47cd274"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 23 15:13:48 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 23 15:13:48 2004 +0000"
      },
      "message": "2004-07-23 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_network.c: Replace PKTINFO/RECVIF with call to\n          setsockopt_pktinfo\n        * ospf_packet.c: Use getsockopt_pktinfo_ifindex and\n          SOPT_SIZE_CMSG_PKTINFO_IPV4.\n"
    },
    {
      "commit": "59ea14c6c9c877a7b9c9cc1555e3079acd9200e9",
      "tree": "2d4842a8982e7fd2ff6f6c5cbb3522e62d729a31",
      "parents": [
        "aa9af78c6f29cb37fb54b9875aad19105a72ae1d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jul 14 20:50:36 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jul 14 20:50:36 2004 +0000"
      },
      "message": "2004-07-14 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for\n          problem reported by Peter Frost amongst others, where function\n          will spin indefinitely if update list contains LSAs greater than\n          MTU-headers or other condition leading to update list never being\n          cleared. Problem of what to do with these LSAs remains.\n          (ospf_make_ls_upd) add comment about large LSA problem,\n          indentation cleanup.\n"
    },
    {
      "commit": "9f9aebdd152bb9ac3f020d21170c53dd0bcec71d",
      "tree": "1569971c28eea774b03c9119c83412a38e05c802",
      "parents": [
        "e01f9cbb87123217ac6d88c12ddb784fca9cc5b7"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 17:52:39 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 17:52:39 2004 +0000"
      },
      "message": "cvsignore *.libs in build dirs\n"
    },
    {
      "commit": "e3bee3b4cdc3a9b108d7b331c99705ffdb071dc4",
      "tree": "7e6d84fc6454445596f88e24a5aa0beeeccfcb17",
      "parents": [
        "b06c14f2e7cac5a2170f9d64182a99dbbc413674"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 12:38:23 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 12:38:23 2004 +0000"
      },
      "message": "Update cvsignore\u0027s for *.lo and *.la - libtool files\n"
    },
    {
      "commit": "b2c1b282181af2244e738e9ea93296de17299bdc",
      "tree": "ee1f3dab6634ede9fe402bd0568244c079140d76",
      "parents": [
        "87efd646ffef693235d9d29b005a1467373c51bd"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Jul 01 12:35:36 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Thu Jul 01 12:35:36 2004 +0000"
      },
      "message": "Compile libospf shared as well.\n"
    },
    {
      "commit": "87efd646ffef693235d9d29b005a1467373c51bd",
      "tree": "85d43e323abb1de6b1ddb6e889f9d580fdb8546d",
      "parents": [
        "f2bfdee5f9db5363fcd13763eca3fda729067d57"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Wed Jun 30 17:36:11 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Wed Jun 30 17:36:11 2004 +0000"
      },
      "message": "Add libtool support.\n\nlibzebra and libospfapiclient are now built shared, and linked shared\nwith the daemons.  This reduces the memory needed when running\nmultiple daemons; each daemon is at least 150k smaller.  Static\nlibraries are still built, and libtool should use them on platforms\nwhich don\u0027t have shared libaries.  As with autoconf, the user of a\ndistribution does not need libtool; one just needs that to build from\nCVS.\n\nlibospf.a is still a non-shared library, and still installed, not\nbecause that makese sense, but because I don\u0027t understand why it is\nthe way it is now.\n\nNote that the tree was tagged \u0027libtool-before\u0027 just before this commit.\n"
    },
    {
      "commit": "beebba75167b33e05b5e02a41179ad0c13a0bcd7",
      "tree": "83b72a338e29f7f6cff2b83fd2c71e8615f9f8e5",
      "parents": [
        "320ec10a24d8dd81d0aa011dc92e07877e4e02f8"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jun 20 21:00:27 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jun 20 21:00:27 2004 +0000"
      },
      "message": "Remove ifdef\u0027s HAVE_NSSA. NSSA support is stable enough.\n"
    },
    {
      "commit": "320ec10a24d8dd81d0aa011dc92e07877e4e02f8",
      "tree": "867cc29d5981b58bad9392cb7eb471daeb8250a1",
      "parents": [
        "6c0f9a782a7be49de53b5ae00980990d96edbf03"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jun 20 19:54:37 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Jun 20 19:54:37 2004 +0000"
      },
      "message": "Removing code which looked at current dir for config file before attempting\nto read system one.\n"
    },
    {
      "commit": "d26ca6a976421b09ee6c4e5ac699075b6f549584",
      "tree": "447ea71cea6be30ec26194069e7d61acd211ba8a",
      "parents": [
        "074a917aeb16061440d932c1f3ffccd7afc475a1"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 06 15:25:35 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 06 15:25:35 2004 +0000"
      },
      "message": "CVS ignore Linux NFS silly-delete .nfs* files\n"
    },
    {
      "commit": "553ff11329835054314f6c9ce61da7d3e2477b19",
      "tree": "11140105b2b1a6c70fd58601d7b6f9f609385152",
      "parents": [
        "8ba85bc0716e9823b12c48167781f81c7565977a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 06 09:41:00 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 06 09:41:00 2004 +0000"
      },
      "message": "2004-06-06 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.\n          ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format.\n"
    },
    {
      "commit": "0c2be26c735870c28ec7985ca1d24d96ae63ae45",
      "tree": "a9bcbdbb3e46be5e2d335461fdf9c2c73a0ab505",
      "parents": [
        "dc0b5ce220387b3982d7120ce2273a9094e6a778"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon May 31 14:16:54 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon May 31 14:16:54 2004 +0000"
      },
      "message": "2004-05-31 Sagun Shakya \u003csagun.shakya@sun.com\u003e\n\n        * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if\n          index is out of range.\n          ospf_flood.c: endianness fix\n          ospf_lsa.c: Missing ntohl\u0027s on (struct lsa *)-\u003edata-\u003els_seqnum\n          in various places.\n"
    },
    {
      "commit": "dd669bb0e7102a5896925f98203fa991560748b7",
      "tree": "80edd1c4792789a41226af378d8fb99f444b88b6",
      "parents": [
        "2a56df976d3fb0800921ef561c346b85e7acb6be"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon May 10 07:43:59 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon May 10 07:43:59 2004 +0000"
      },
      "message": "* Make updating redistributions work if prefix list is changed and it\u0027s\n  used in route-map used to filter redistributions.\n* Move ospf_prefix_list_update() function from ospfd.c to ospf_zebra.c.\n"
    },
    {
      "commit": "0a5893596774554f039222c481d235de0f35d99e",
      "tree": "065ba74422d21193637d6e3f8b52c0eaa09a13bf",
      "parents": [
        "225282994d74f767058886475d80fee95d450eae"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 08 11:48:26 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 08 11:48:26 2004 +0000"
      },
      "message": "2004-05-08 Paul Jakma \u003cpaul@dishone.st\u003e\n\n       * bgp_zebra.c: (bgp_interface_address_add) sync to zclient changes\n         (bgp_interface_address_delete) ditto.\n         (bgp_zebra_announce) ditto.\n         (bgp_zebra_withdraw) ditto.\n       * isis_zebra.c: Sync with zclient changes.\n       * zclient.c (zapi_ipv4_route) Follow Sowmini\u0027s lead and describe\n         message format.\n       * ospf6_zebra.c: Sync to zclient changes\n       * ospf_zebra.c: Sync with lib/zclient changes\n       * rip_zebra.c: sync with zclient changes.\n       * rip_interface.c: ditto.\n       * ripng_{interface,zebra}.c: sync with zclient changes\n\n\n2004-05-08 Sowmini Varadhan \u003csowmini.varadhan@sun.com\u003e\n\n       * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route\n         (zapi_ipv4_delete) ditto.\n         (zapi_ipv4_route) add/delete a route by way of cmd arg.\n         (zapi_ipv6_add) collapsed into zapi_ipv6_route.\n         (zapi_ipv6_delete) ditto.\n         (zapi_ipv6_route) add/delete a route by way of cmd arg.\n         (zebra_interface_address_delete_read) collapsed into\n         zebra_interface_address_read.\n         (zebra_interface_address_delete_read) ditto.\n         (zebra_interface_address_read) read address add/delete messages\n         by way of type argument. Describe command message format.\n         (zebra_interface_add_read) Unconditionally read new ifmtu6 field.\n         Describe command message format.\n         (zebra_interface_state_read) Unconditionally read new ifmtu6 field.\n         (zclient_redistribute_set) Collapsed into zclient_redistribute\n         (zclient_redistribute_unset) ditto\n         (zclient_redistribute) set/unset redistribution.\n         (zclient_redistribute_default_set) Collapsed into\n         zclient_redistribute_default.\n         (zclient_redistribute_default_unset) ditto.\n         (zclient_redistribute_default) Redistribute default set/unset.\n       * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add\n         zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add\n         zclient_redistribute. Ditto for\n         zclient_redistribute_default_{set/unset}.\n"
    },
    {
      "commit": "5bd4189c17bad7a9e115ef573c0324c4b969a641",
      "tree": "3597b84769bd28b2e9cc3791c3be14ff53dde406",
      "parents": [
        "cd59da682f2a68cc4b2d1ba272bf02bb4d9f60e2"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed May 05 17:29:24 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed May 05 17:29:24 2004 +0000"
      },
      "message": "2004-05-05 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is\n          defined. Warn at compile and runtime. Use\n          IPTOS_PREC_INTERNETCONTROL otherwise.\n"
    },
    {
      "commit": "cd59da682f2a68cc4b2d1ba272bf02bb4d9f60e2",
      "tree": "778dd44bb56e48fb6d127106cb7c769b54b11497",
      "parents": [
        "d3f0d6210119ff520c286c89bd614838cc6cbf8e"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed May 05 17:26:55 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed May 05 17:26:55 2004 +0000"
      },
      "message": "2004-05-05 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospf_interface.c: (ospf_vl_set_params) Catch changes of interface\n          address for either end of a virtual-link, and hence potential cost\n          changes.\n"
    },
    {
      "commit": "d3f0d6210119ff520c286c89bd614838cc6cbf8e",
      "tree": "dce792feac0f39ebeb463e41224f419258e6a81d",
      "parents": [
        "239389ba30e21de22e6c2dd708f44ece11b5807a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed May 05 15:27:15 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed May 05 15:27:15 2004 +0000"
      },
      "message": "2004-05-05 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_packet.c:  (ospf_associate_packet_vl) cleanup, move\n          some of the checks up to ospf_read, return either a\n          virtual link oi, or NULL.\n          (ospf_read) Cleanup, make it responsible for checks. Remove\n          the nbr lookup - moved to ospf_neighbor. Adjust all nbr\n          lookups to use new wrappers exported by ospf_neighbor.\n        * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.\n        * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface\n          neighbour table by router-id for virtual-link ospf_interfaces,\n          not by peer_addr (which breaks for asymmetric vlinks)\n          (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with\n          above.\n"
    },
    {
      "commit": "a0a397615cb7da4b23a71cef267064380f78dca4",
      "tree": "dfe91b59829952f5883239a6b81a39f996e54819",
      "parents": [
        "31fcdd3fef4df0496963f01416d8f4e41194569f"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Apr 23 08:51:10 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Apr 23 08:51:10 2004 +0000"
      },
      "message": "Don\u0027t ignore reject/bh routes. Discussed with Paul in IRC.\n"
    },
    {
      "commit": "8585d4e5e2b33f71e347db451df895cfaefdc3a4",
      "tree": "13f85f63c040734587f208f85f58e42d8b03e653",
      "parents": [
        "9b87e41cae05e2d79519426af1a3f4a732c669a0"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Apr 20 17:25:12 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Apr 20 17:25:12 2004 +0000"
      },
      "message": "Some ospfd fixes - [quagga-dev 1032], [quagga-dev 1048], [quagga-dev 1058].\n"
    },
    {
      "commit": "9e1be242e41ccfd2191a7d163053b9c24deaf2e0",
      "tree": "8227505bc79fa8e2e9b4e94b08fb292b31f83da2",
      "parents": [
        "52930766277e57fcc2332e35cefd2bd07bb7ed16"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Apr 20 03:50:59 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue Apr 20 03:50:59 2004 +0000"
      },
      "message": "Fix debug message and make it conditional.\n"
    },
    {
      "commit": "52930766277e57fcc2332e35cefd2bd07bb7ed16",
      "tree": "e7ec4cf6fb6199700099d4d0e9a74cd4b95e4415",
      "parents": [
        "c266ac78eecae0af8599a4503589fd8d0eb2b402"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Apr 19 18:26:53 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Apr 19 18:26:53 2004 +0000"
      },
      "message": "Ooops. Check if area-id format is valid.\n"
    },
    {
      "commit": "c266ac78eecae0af8599a4503589fd8d0eb2b402",
      "tree": "5f3480f70009750f736d504f18374d42943213fc",
      "parents": [
        "808c0a7f790370d43edb336ee442d43694469380"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Apr 19 17:31:00 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Apr 19 17:31:00 2004 +0000"
      },
      "message": "****! What else I will discover while documenting this code? Remove useless\nwarnings and update documentation.\n"
    },
    {
      "commit": "d355bfa7806c77ec40e789dfb8226778ec7c36f5",
      "tree": "2ee5a4bbf85191ac0a2a5ce2af3cacf8b68789fb",
      "parents": [
        "81b81822da6e90f9f04645d63f70ac0a5a924ff4"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Apr 08 07:43:45 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Apr 08 07:43:45 2004 +0000"
      },
      "message": "2004-04-08 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_spf.h: Add backlink field to struct vertex\n        * ospf_spf.h: (ospf_vertex_new) initialise backlink\n          (ospf_lsa_has_link) return index of link back to\n          vertex V from candidate vertex W, or -1 if no link exists.\n          (ospf_spf_next) save backlink index for candidate vertex\n        * ospf_interface.c: (ospf_vl_set_params) Use the backlink index\n          to determine correct address for virtual-link peers. Fall back\n          to older \"pick first link\" method if no backlink index exists.\n"
    },
    {
      "commit": "128d31d34220192c27c2d1d8eff91e0471c5237c",
      "tree": "7c668f7be9196439d8160a87c5fd9baea2a566df",
      "parents": [
        "1666d353474b7dca951837c3f46c3f16170d11ee"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Apr 04 12:52:33 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Apr 04 12:52:33 2004 +0000"
      },
      "message": "[quagga-dev 1005] bugzilla #86: ospf_recv_packet will fail on Solaris/x86\n"
    },
    {
      "commit": "f571dab0c677ca4f3328ea944cc59ab2269c9a5d",
      "tree": "dcdb8086dd98dd956b0ba9ba9479d4fc2bd3388a",
      "parents": [
        "37318657e5af8774a7a1446157f99496e887719f"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Mar 22 08:55:25 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Mar 22 08:55:25 2004 +0000"
      },
      "message": "Readded SIGTERM handling into sigevent stuff. Fixes bugzilla #85.\n"
    },
    {
      "commit": "37318657e5af8774a7a1446157f99496e887719f",
      "tree": "6cea823dc916f10ad1d9a6d318c6233e4127eccd",
      "parents": [
        "66e31693289d956f59758155faf86cab88853bae"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Mar 20 20:06:15 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Mar 20 20:06:15 2004 +0000"
      },
      "message": "Fixing ospf6d as well and move Changelog entry from ospfd to general one.\n"
    },
    {
      "commit": "42ed9da7b646ce4b05ffafcae805a3018fb6f164",
      "tree": "bc0e07510546d644d1e297ed44350f7c74e8072e",
      "parents": [
        "158cdad448eee409025b91ee152c505a62840cc3"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Mar 20 18:59:59 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Mar 20 18:59:59 2004 +0000"
      },
      "message": "Fix segfault in ospfd - [quagga-dev 980].\n"
    },
    {
      "commit": "0d85b9958d6db05fb9d81afbee96332f142654bd",
      "tree": "fb0f35cb44254bdfd9b2d907800b1ec513bfc232",
      "parents": [
        "f1d92e17ab5f1475018e353ce72e94ebe7a81a44"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Mar 18 19:18:33 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Mar 18 19:18:33 2004 +0000"
      },
      "message": "Amir\u0027s fix case where opaque capability is switched \"ON -\u003e OFF -\u003e ON\".\n[quagga-dev 843]\n"
    },
    {
      "commit": "5e4fa1646cafe9e6f8dd78501bea0d2fe1eafdb4",
      "tree": "6f2aa13346f91f0924ada9cb9696589264a90552",
      "parents": [
        "253e9336982599957514ad87610e8cd58822fc7a"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Mar 16 14:38:36 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Mar 16 14:38:36 2004 +0000"
      },
      "message": "2004-03-16 David Young \u003cdyoung@pobox.com\u003e\n\n\t* (many) reference \u003clib/version.h\u003e rather than \"version.h\",\n\tbecause version.h is a generated file and not present in the\n\tsource tree when using objdir builds.\n\n(committed by gdt)\nworks fine with normal builds; didn\u0027t try objdir\n"
    },
    {
      "commit": "fa2b17e39499a77f41a719035a588b7fb63cec63",
      "tree": "3356703917aaa8359e0106ae3c2340ee6eea0e1f",
      "parents": [
        "caa6f8ac7d07f8cd3269255e6dce6d248f74af62"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Mar 04 17:45:00 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Mar 04 17:45:00 2004 +0000"
      },
      "message": "Many warning fixes from PC Drew ([quagga-dev 940]) and removing using PAGER\nfrom vtysh ([quagga-dev 932]).\n"
    },
    {
      "commit": "7f352b860eeca47cf9a3535654cd72a26fbedfda",
      "tree": "b9c3acc01c2463ea36e2a4d234b2194feef5fe23",
      "parents": [
        "cfeab480d57ae7de5df458cc12d69c1505bb7524"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Feb 19 19:37:47 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Feb 19 19:37:47 2004 +0000"
      },
      "message": "2004-02-19 Sowmini Varadhan \u003csowmini.varadhan@sun.com\u003e\n\n        * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range\n          should be configured with the highest cost path within the range,\n          not lowest.\n"
    }
  ],
  "next": "940b01aa6a8d9a2dd12fd121a39f9b53d23081ad"
}
