)]}'
{
  "log": [
    {
      "commit": "343f5cc76922c8c741a47d1ae9646fcf263d32d7",
      "tree": "dd82bdb7e7ab441fcbf66d27ea10bc4007857012",
      "parents": [
        "7cee1bb15089e4e994958651bd45a6f81c4215aa"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Mar 25 19:48:40 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Mar 25 19:48:40 2005 +0000"
      },
      "message": "\t* ospfd.h: Include log.h, fixes compile with gcc-4.0.\n\n\t[backport candidate]\n"
    },
    {
      "commit": "5c33349b3efff36a6acd36c6600b61e7cc2dbffc",
      "tree": "ec55763c7a1401489464bacde9115b06b3b0b467",
      "parents": [
        "9fc7ebf10b7bb638ddf6d1b4b2d562dd417866fc"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Feb 23 15:43:01 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Feb 23 15:43:01 2005 +0000"
      },
      "message": "2005-02-23 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospfd.h: Add new field struct stream *ibuf to struct ospf.\n\t* ospfd.c: (ospf_new) Check return code from ospf_sock_init.\n\t  Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).\n\t  (ospf_finish) Call stream_free(ospf-\u003eibuf.\n\t* ospf_packet.c: (ospf_read) Call stream_reset(ospf-\u003eibuf) and then\n\t  pass it to ospf_recv_packet for use in receiving the packet\n\t  (instead of allocating a new stream for each packet received).\n\t  Eliminate all calls to stream_free(ibuf).\n\t  (ospf_recv_packet) The struct stream *ibuf is now passed in as\n\t  an argument.  No need to use recvfrom to peek at the packet\n\t  header (to see how big it is), just use ospf-\u003eibuf which is\n\t  always large enough (this eliminates a system call to recvfrom).\n\t  Therefore, no need to allocate a stream just for this packet,\n\t  and no need to free it when done.\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": "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": "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": "d4a53d583c56462864b2fce08b1cf94493c041ab",
      "tree": "d43535a754e3474669bdddc7e463c2146bdc25d3",
      "parents": [
        "22e0a9e6c7bd7775da6bfb00d9a4114643cf9369"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jul 12 21:30:57 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jul 12 21:30:57 2003 +0000"
      },
      "message": "2003-07-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* (global): Add/fixup NSSA ABR translation functionality\n\t* ospfd.h: Adjust the NSSA ROLE defines. Rename STATE to TRANSLATE.\n\t  Rename the LSA_NSSA_GET define to LSA_OPTIONS_NSSA_GET.\n\t* ospfd.c: Adjust to match changes to ospfd.h\n\t* ospf_te.c: Adjust to match change to LSA_NSSA_GET.\n\t* ospf_lsa.h: slights reformatting.\n\t  Add new NSSA functions, ospf_translated_nssa_compare() (not\n\t  currently used), ospf_translated_nssa_refresh() and\n\t  ospf_translated_nssa_originate().\n\t* ospf_lsa.c: Implemented aforementioned new functions. Fix up\n\t  several NSSA hooks to /not/ be called for Type-5s which are\n\t  translated. Add additional hooks. Set the ROUTER_LSA_NT bit in\n\t  router-lsa flags if ABR does translation. New function,\n\t  ospf_lsa_translated_nssa_new() implemented. Dont register\n\t  translated LSAs for refreshing - instead we implicitly rely on\n\t  the ASBR refreshing the Type-7, and refresh the translated Type-5\n\t  at the same time. Some minor reformatting. Extra debug info added.\n\t  Also, existing debug statements modified to report LSA Id.\n\t* ospf_flood.c: call ospf_translated_nssa_refresh() when refreshing\n\t  Type-7. minor reformatting.\n\t* ospf_dump.c: Dump NSSA LSAs.\n\t* ospf_asbr.h: slight reformatting. Export\n\t  ospf_external_route_lookup() (though, not used. probably will\n          undo this).\n        * ospf_abr.c: Slight reformatting in many places. Update to match\n          ospfd.h changes.\n          (ospf_abr_translate_nssa): make it work, using the new ospf_lsa\n\t  translation functions.\n\t  (Several places): change struct prefix * to struct prefix_ipv4 *.\n\t  (might as well do the casts at higher levels). Add more debug\n\t  info.\n\t  (ospf_abr_announce_stub_defaults): announce default to NSSA areas\n\t  too.\n\t  (ospf_abr_announce_nssa_defaults): do nothing. this function\n          probably should die. (see ospf_abr_announce_stub_defaults).\n\t  (ospf_abr_task_timer): run NSSA tasks.\n"
    },
    {
      "commit": "464c82043a47791b75ab949367d5d4f32e67ac13",
      "tree": "576b837b2de24ae007fe180962a1008cd4baba0c",
      "parents": [
        "6d1fab634182777b1316fd3dc898bbd035b889c7"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 22 08:32:35 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 22 08:32:35 2003 +0000"
      },
      "message": "2003-06-19 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospfd.h (struct ospf_area): remove NSSATranslator. Add\n\t  NSSATranslatorState and NSSATranslatorStabilityInterval (currently\n\t  not used).\n\t  (global): add OSPF_NSSA_TRANS_STABLE_DEFAULT, default for\n\t  NSSATranslatorStabilityInterval. Update the LSA_NSSA_GET to\n\t  reflect struct ospf_area changes.\n"
    },
    {
      "commit": "800d61556cf73b51f90e2fe7e31a52d2c587a95d",
      "tree": "a7e3b07a7f3064a65b251107fcafb02e8a82744a",
      "parents": [
        "9bca8ebc4fcc369ad17b9a8caf8b14e62ad87e4a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 29 17:26:24 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 29 17:26:24 2003 +0000"
      },
      "message": "ospfd/ospfd.h: Change delay and holdtime to 1s. More appropriate values for\nthe class of machines which zebra runs on than the original defaults which\nwere taken from IOS (and even IOS uses much lower times these days). Lower\nvalues greatly help with convergence.\n\nIdeally, we\u0027d use even lower times, but thread_add_timer() api will need to\nbe modified to use milliseconds. (eg JunOS uses 100ms for delay, and 700ms\nfor hold time, iirc from Hasso).\n"
    },
    {
      "commit": "23bd12c31d701376d45ab45aa8c838e9fb5e409c",
      "tree": "d8d6b789194b372dcf067bc1bc5169f0ff284e8d",
      "parents": [
        "3a6440d756863b602cfaaf0259b71950e67b2a6e"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Apr 07 06:11:09 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Apr 07 06:11:09 2003 +0000"
      },
      "message": "[zebra 18626] move zebra socket paths to configure.ac\n\nmoved definition of the various socket paths from the\nper daemon header files into configure.ac. it will set the paths to\nbe in the directory specified by --localstatedir\u003d\u003cprefix\u003e or\notherwise will try to guess as best it can ( a la pid file path\ndetection - which probably should try reference ${prefix} too).\n\nthe present hardcoded socket path, /tmp, isnt really correct. should\nbe in /var somewhere really.\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": "570f7598ebf2e2107ac9976d4d9def22072c5b02",
      "tree": "bc8a497e0310d53bd30342f8899758ba1162afb3",
      "parents": [
        "e3d29b5f9e68447a09dec7215f9ad75d3cc17a0a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jan 25 06:47:41 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jan 25 06:47:41 2003 +0000"
      },
      "message": "Paul Jakma:\n[zebra 17352] ospf network matching (aka need for peer /32 for PtP)\nchange behaviour of network \u003cprefix\u003e area N statement wrt to PtP.\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"
    }
  ]
}
