)]}'
{
  "log": [
    {
      "commit": "b77971317724a97b72a8566b3a54d36ef7c76a07",
      "tree": "25e17e5ec53eb9625e2f872e3053913e10177973",
      "parents": [
        "25dac85507ca3a107351a9f84173b5bcaea8a450"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Jul 13 13:47:25 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Tue Jul 13 13:47:25 2004 +0000"
      },
      "message": "2004-07-13  Greg Troxel  \u003cgdt@poblano.ir.bbn.com\u003e\n\n\t* sigevent.c: Don\u0027t block SIGTRAP and SIGKILL.  Blocking SIGTRAP\n\tconfuses gdb, at least on NetBSD 2.0_BETA, where the block\n\tsucceeds.\n"
    },
    {
      "commit": "b9790b34c825e390c818044f6666f73beee1d373",
      "tree": "83d326652663957d7573a7ace0618b763289eacc",
      "parents": [
        "5510e83b395ccf19c07a89fee1baba958e3a580d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 14:05:47 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 14:05:47 2004 +0000"
      },
      "message": "2004-07-09 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * jhash.{c,h}: New files. Bob Jenkins\u0027 public domain hashing\n          function, as implemented in linux kernel by David Miller.\n"
    },
    {
      "commit": "5510e83b395ccf19c07a89fee1baba958e3a580d",
      "tree": "477f5510eb6652cb53f6fa84629ddd6cf6dbaa29",
      "parents": [
        "a3f71c5896ce1b555d11c0870e8267f67cbff68d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 14:00:01 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 14:00:01 2004 +0000"
      },
      "message": "2004-07-09 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * Merge Kunihiro\u0027s \u0027show route-map\u0027 change and add\n          compatibility aliases for route-map continue\n"
    },
    {
      "commit": "b06c14f2e7cac5a2170f9d64182a99dbbc413674",
      "tree": "e162fe01afcd24250a24d83f96e025eb76f7877b",
      "parents": [
        "f5ba387492ec163f1200d949a984f12ef88538ba"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 12:24:42 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 09 12:24:42 2004 +0000"
      },
      "message": "2004-07-09 Juris Kalnins \u003cjuris@mt.lv\u003e\n\n        * if.c: (if_cmp_func) fix for interface names where name is same,\n          but one has no number, eg \"devtyp\" and \"devtyp0\".\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": "138ce75fd0254072f27ecf38994a90276b276730",
      "tree": "381589b0aa5f3bd18855ed594e4c88811a31262e",
      "parents": [
        "beebba75167b33e05b5e02a41179ad0c13a0bcd7"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Jun 21 10:35:59 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Jun 21 10:35:59 2004 +0000"
      },
      "message": "2004-06-21 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ChangeLog: fix my last update config.h -\u003e zebra.h ;)\n        * zebra.h: Fix gcc check.\n"
    },
    {
      "commit": "02ff83c52592427623db0d8367ca9b3395fa321f",
      "tree": "0aa278809140486f55012a98616106fc995d91e6",
      "parents": [
        "51a8798e8d36dddfdeb6b0bfd01bf32a646e8bb1"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 11 11:27:03 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 11 11:27:03 2004 +0000"
      },
      "message": "2004-06-11 Sowmini Varadhan \u003csowmini.varadhan@sun.com\u003e\n\n        * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast\n          to u_char. (ipv6_access_list_remark_cmd) ditto.\n          if.c: ditto\n        * network.c: (readn/writen) pointer arg should be type u_char.\n        * plist.c: needs to include stream.h, not declare stream functions\n          internally.\n          (various) Add static qualifier to internal functions.\n          (prefix_list_type_str) extraneous breaks in switch statement.\n          (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast\n        * stream.h: depends on plist.h and export stream_put_prefix\n        * vty.c: (vty_\u003ctelnet option build functions\u003e) should use\n          unsigned char, telnet options are 0 -\u003e 255.\n        * zclient.c: various u_char\u003c-\u003echar type cleanups.\n        * zebra.h: Having to define CMSG_* can apply to more than just\n          BSDI_NRL.\n        * ripd.c: (rip_distribute_update_all) distribute list hook\n          function pointer prototype requires struct prefix_list * arg.\n          (rip_distribute_update_all_wrapper) update to pass required arg,\n          NULL.\n"
    },
    {
      "commit": "51a8798e8d36dddfdeb6b0bfd01bf32a646e8bb1",
      "tree": "fd1f6e63fc2ee07f7312b5f2409daa6fbe15cc2d",
      "parents": [
        "ca5e516c84cc2d35b6f6cd29f8ba9e835d3b72ba"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 09 10:36:05 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 09 10:36:05 2004 +0000"
      },
      "message": "2004-06-09 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* config.h: __attribute__ is a gcc\u0027ism\n"
    },
    {
      "commit": "5228ad27e2f3abe0ebb69f66607aedc048b94a13",
      "tree": "a65817a03150dbfeb56a1eaceab526f31be1cc1d",
      "parents": [
        "c2bfbcc38428b53e856617e1da8bbe9f8d2ee2fa"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 04 17:58:18 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 04 17:58:18 2004 +0000"
      },
      "message": "2004-06-04 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * type mismatch fixes\n"
    },
    {
      "commit": "6708fa3c3e6aef369be13f3915698f407107cae2",
      "tree": "32aa937b0761573d3dfcfdda8a9929f9794403cb",
      "parents": [
        "3e31cded7fd9b6a1bac06de2ee2e875a5c40074c"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue May 18 18:46:54 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue May 18 18:46:54 2004 +0000"
      },
      "message": "Start of new ospf6d merge from Zebra.\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": "225282994d74f767058886475d80fee95d450eae",
      "tree": "e32988fa60c177a1880357f9d0df4acd004f089f",
      "parents": [
        "4a7aac1bc609ee147492b228af9222f526e2ca2f"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 08 05:10:38 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 08 05:10:38 2004 +0000"
      },
      "message": "2004-05-08 Sowmini Varadhan \u003csowmini.varadhan@sun.com\u003e\n\n        * command.c: (sockunion_getsockname) use socklen_t for len.\n          (sockunion_getpeername) ditto.\n"
    },
    {
      "commit": "4a7aac1bc609ee147492b228af9222f526e2ca2f",
      "tree": "4f764b16562766422bca65ff2f6668a51757b9ec",
      "parents": [
        "5bd4189c17bad7a9e115ef573c0324c4b969a641"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 08 05:00:31 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 08 05:00:31 2004 +0000"
      },
      "message": "2004-05-08 Sowmini Varadhan \u003csowmini.varadhan@sun.com\u003e\n\n        * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ\n          from IPv4, and Solaris treats the MTU\u0027s differently.\n          Add connected_add_by_prefix, for use by later patch.\n        * if.c: (connected_add_by_prefix) Add prefix to connected list.\n          (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag\n          (if_dump) Dump mtu6 flag, for HAVE_IPV6.\n"
    },
    {
      "commit": "31fcdd3fef4df0496963f01416d8f4e41194569f",
      "tree": "7ebc860d9bae2bab52d3ffdb588328cb1d9d1108",
      "parents": [
        "8585d4e5e2b33f71e347db451df895cfaefdc3a4"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Apr 21 11:00:43 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Apr 21 11:00:43 2004 +0000"
      },
      "message": "2004-04-21 Boris Kovalenko \u003cboris@tagnet.ru\u003e\n\n        * daemon.c: (daemon) fix check for error return from setsid\n"
    },
    {
      "commit": "c49b30692d7a2379264dfd2d45c2d2ab16e8822c",
      "tree": "a379c072fdeea6e7ec4dca1970f5409bd63a2cfa",
      "parents": [
        "13b8baadb044a4ddd447cb7139a9d59fbb7983a5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Jan 19 21:23:37 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Jan 19 21:23:37 2004 +0000"
      },
      "message": "2004-01-19 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * sigevent.{c,h}: New files, implement event handled signals.\n          see signal_init() in sigevent.h.\n"
    },
    {
      "commit": "c32e1b5788b996f6c5a9521c1fc79f5640e10d99",
      "tree": "ad549cbfd8b73ff6852deed8c2a1946c814f9f57",
      "parents": [
        "9e867fe663c4eb43c36f35067c0dd092e8c83c14"
      ],
      "author": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 09:06:51 2003 +0000"
      },
      "committer": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 09:06:51 2003 +0000"
      },
      "message": "Add comments about isisd integration.\n"
    },
    {
      "commit": "3dbf99698a3be2e920871c3127ea089e061a127c",
      "tree": "8652a4b960116adc4cade4652729474ced8e5ba9",
      "parents": [
        "aa593d5e2638566ead1e69381e60639550991ff2"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 20:18:18 2003 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 20:18:18 2003 +0000"
      },
      "message": "Reorder free(f); unlink(f); to unlink before freeing.\n"
    },
    {
      "commit": "54aba54c10d7cc98023a49e3a8a3509cbd358867",
      "tree": "587880d48479ea7f4872f349c425e7582222d641",
      "parents": [
        "048ba1d0a99f4f25c3b5909273119dbc006b50ff"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 21 20:28:24 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 21 20:28:24 2003 +0000"
      },
      "message": "2003-08-20  Yasuhiro Ohara \u003cyasu@sfc.wide.ad.jp\u003e\n\n\t* command.c: Fix \u003ccr\u003e display problem for command line\n\t  description.\n"
    },
    {
      "commit": "e9af5c78a0110bd0066d54e3ece50ffa875cafc8",
      "tree": "56dd28244d3737d5debfcc12330e81b7023fda05",
      "parents": [
        "239a6718bac2fbad61cdd2fb3dc147d51c527b62"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 11:54:31 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 11:54:31 2003 +0000"
      },
      "message": "Update changelog  -\u003e fix from Anil Madhavapeddy\n"
    },
    {
      "commit": "445f143525ffd8b465aa31cb83b2dd38b9741ef7",
      "tree": "177df41fcf4d0e23f57443781b4521ac9fd1cc77",
      "parents": [
        "d748032f10058182bcd10ca7fe244d6918b68f14"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 16 19:00:31 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 16 19:00:31 2003 +0000"
      },
      "message": "Update Changelogs\n"
    },
    {
      "commit": "718e3744195351130f4ce7dbe0613f4b3e23df93",
      "tree": "bac2ad39971cd43f31241ef123bd4e470f695ac9",
      "parents": [],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "message": "Initial revision\n"
    }
  ]
}
