)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "940b01aa6a8d9a2dd12fd121a39f9b53d23081ad",
      "tree": "ae20e672855d840076d0f4fb531586c8f8160e8d",
      "parents": [
        "6ad23f05e36e743b89fc5a9a41e3db7eccb917fb"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Feb 17 20:07:30 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Feb 17 20:07:30 2004 +0000"
      },
      "message": "2004-02-17 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface\n          params, nor the interface structure, if an interface delete\n          message is received from zebra.\n        * ospf_interface.c: (ospf_if_delete_hook) Delete the interface\n          params and interface, ie that which was previously removed in\n          (ospf_interface_delete) above.\n"
    },
    {
      "commit": "6a8da8521d35165e9a859c84605f864feb9132d7",
      "tree": "1a1c410220605eb8e83b57ea650b7ea00d91c272",
      "parents": [
        "4a1a2716632c29f05fce8324e4c41bc67cde18c6"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Feb 13 17:40:51 2004 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Fri Feb 13 17:40:51 2004 +0000"
      },
      "message": "add an XXX at a point where ifindex_num is assumed to be one w/o\nchecking.\n"
    },
    {
      "commit": "2db3d05da3ac6b1ff9452a5f291bfc39a719d1c6",
      "tree": "41cceb234a9b0cfb6410574689cd800671456b55",
      "parents": [
        "cb05eb285f28524ada2df62c5522dcf47acb841b"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Feb 11 21:52:13 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Feb 11 21:52:13 2004 +0000"
      },
      "message": "Don\u0027t crash when attempting to read path-\u003eoi-\u003eifp if oi doesn\u0027t exist any\nmore. I\u0027m not sure if this read should be attempted at all, but I\u0027m trying\nto keep code safe AND stable.\n"
    },
    {
      "commit": "bb8ff1e7fe7d25a03b9f81bfd23f10347423e860",
      "tree": "c46cc3b8ffa7de0e9798f2f626202a9ba95fb898",
      "parents": [
        "071fcedb308f6b868b613453a0f78d12566f57a5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Aug 12 06:00:30 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Aug 12 06:00:30 2003 +0000"
      },
      "message": "2003-08-11 Yasuyuki Haga \u003cyasuhaga@nifty.ne.jp\u003e\n\n\t* ospfd/ospf_zebra.c: (ospf_zebra_delete) Set ifindex if no nexthop\n\t  supplied. log if no (ifindex || nexthop) supplied.\n"
    },
    {
      "commit": "d8e1d6bcc372d163fea7394a96f5c794315e3b9a",
      "tree": "1bff3b086c15226238cb3df7f777d8803a344011",
      "parents": [
        "96735eeafe4713b60700915dd2fb6dcbd0f09c8f"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Aug 10 04:04:41 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Aug 10 04:04:41 2003 +0000"
      },
      "message": "2003-08-10 Yasuyuki Haga \u003cyasuhaga@nifty.ne.jp\u003e\n\n\t* ospfd/ospf_zebra.c: (ospf_zebra_delete) Do not dereference the\n\tifp, it mightn\u0027t exist.\n"
    },
    {
      "commit": "96735eeafe4713b60700915dd2fb6dcbd0f09c8f",
      "tree": "49b7f583956e3d7ad91dcfa006d18e20f57efe15",
      "parents": [
        "286e1e71538440ed0bef4576aded1745191490d3"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Aug 10 02:51:22 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Aug 10 02:51:22 2003 +0000"
      },
      "message": "2003-08-10 amir \u003camir@datacore.ch\u003e\n\n\t* Add missing \u0027i\u0027 to getopts, short form of --pid_file.\n\t  see http://bugzilla.quagga.net/show_bug.cgi?id\u003d25\n"
    },
    {
      "commit": "622149ad4d5b041ed7f5af36fb798d842e3d8025",
      "tree": "65ca40ee4c8793d8bddeb05172748504654b1d91",
      "parents": [
        "5fdc1e525707dfa651db0aec38bec13b17adc8f2"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Aug 07 09:29:13 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Aug 07 09:29:13 2003 +0000"
      },
      "message": "Temporary \"fix\" for segfault. See bug #29 in bugzilla for details.\n"
    },
    {
      "commit": "7021c425a9f5bd9f62b934124becbaadd961cac0",
      "tree": "cf386f6923eac9f1c665400d0557448c4f5a89e0",
      "parents": [
        "8fc0f64b143ed2155567f5c9f0faad756252146a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 15 12:52:22 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 15 12:52:22 2003 +0000"
      },
      "message": "2003-07-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * lib/version.h: add ZEBRA_URL (unused for now)\n        * lib/vty.c: CMD_ERR_NOTHING_TODO when reading conf file should not\n          be fatal. slight reformating.\n        * ospfd/ospf_zebra.c: ignore reject/blackhole routes if zebra sends\n          these type of routes. probably should be a new type of route to\n          allow daemons to more easily choose whether to redistribute them\n          - rathen than just a flag (eg for reject/blackhole).\n          reorder the is_prefix_default test for ZEBRA_IPV4_ROUTE_DELETE to\n          avoid the inverted test - slightly more readable.\n        * redhat/zebra.spec.in: Add ospfapi port to services file, if\n          with_ospfapi.\n        * zebra/rib.h: Change nexthop types to an enum.\n        * zebra/rt_netlink.c: run it through indent -nut.\n          Add nexthop_types_desc[] descriptive array for nexthop types.\n          (netlink_route_multipath) debug statements indicate which branch\n          they are in and print out nexthop type.\n        * zebra/zebra_rib.c: slight reformatting.\n        * zebra/zebra_vty.c: Pass ZEBRA_FLAG_BLACKHOLE flag to\n          static_add_ipv4() if Null0 route is configured. print out Null0 if\n          STATIC_IPV4_BLACKHOLE route, and ignore flags (shouldnt be\n          possible to set flags from vty) for config and show route.\n"
    },
    {
      "commit": "cf795c5dedb847eceae7acf948910488a1be3fd0",
      "tree": "60a66e559814b8465218a80484db21b51e704a04",
      "parents": [
        "72357f2b98032e06770c5d9ba713cf5f2796a391"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Jun 19 02:13:25 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Jun 19 02:13:25 2003 +0000"
      },
      "message": "2003-06-19 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospfd/ospf_zebra.c: Run it through indent -nut to fix the $%^@ing\n\tannoying mix of tabs and spaces.\n"
    },
    {
      "commit": "72357f2b98032e06770c5d9ba713cf5f2796a391",
      "tree": "632e8d5e696239bbaf974c592cd6a73f84b0d4e1",
      "parents": [
        "5ec90d28c9268c54e000c2bcfb9b164abfacbacd"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Jun 19 02:11:23 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Jun 19 02:11:23 2003 +0000"
      },
      "message": "2003-06-19 Vladimir Ivaschenko \u003chazard@francoudi.com\u003e\n\n\t* ospfd/ospf_zebra.c: [zebra 19434] fix for disappearing OSPF routes\n\tmodify ospf_zebra_delete() to specify nexthop when deleting routes\n\twith zebra.\n"
    },
    {
      "commit": "020709f9939c542e96b12f06522ad5e33d8cf445",
      "tree": "767b3cb9a8a17913d8395c8d5ecf7485ae882b8e",
      "parents": [
        "d18258304a79b459fe768e63f27efd17aa1fa78f"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Apr 04 02:44:16 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Apr 04 02:44:16 2003 +0000"
      },
      "message": "2003-04-04 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * Sync to Zebra CVS\n        * Fix lib/thread.h leak\n        * Fix small Opaque LSA leak\n        * Do not configure OSPF interfaces for secondary addresses\n        * vtysh fixes from Hasso\n        * Dave Watson\u0027s missing ntohs fix\n"
    },
    {
      "commit": "6898008484a562ff5bae178a6fb0bd885fe8b1e5",
      "tree": "27797ca6532ca0ef85f538ac8f3070639e579229",
      "parents": [
        "1ef74ef70bdab672458c4d1e4cea24197066c0af"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 25 05:07:42 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 25 05:07:42 2003 +0000"
      },
      "message": "2003-03-25 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* sync to latest zebra CVS\n\t* spec file: updated and added define for ospf-api/client\n\nNB: OSPF-API has been broken by the zebra.org changes, which\nhas added struct ospf * as a new arg to many functions\n"
    },
    {
      "commit": "f2c806522030d4964b4ca649637a7901751d8496",
      "tree": "0a33c81dbbf280beb2193144b5b39b703f3ca102",
      "parents": [
        "b92938a7364d220f2ca6d77a5722433159520e02"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:44:27 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:44:27 2002 +0000"
      },
      "message": " Kevin C Miller \u003ckevinm@andrew.cmu.edu\u003e\n[zebra 16681] OSPF NSSA Patches\n"
    },
    {
      "commit": "2e3b2e474ed5ba04744b167132a84f9954485af4",
      "tree": "cc07fb34a1bf21ead5cc3ad69e4a9dfde2b43b0e",
      "parents": [
        "7afa08da2d3690baee1739da400775f8543f5863"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:03:13 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:03:13 2002 +0000"
      },
      "message": "zebra link state detection support\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"
    }
  ]
}
