)]}'
{
  "log": [
    {
      "commit": "1eb8ef2584833f18fb674e127d59cb5a7f771482",
      "tree": "f5b09d4781de9a9b08839fefb6530e64d2d2ec31",
      "parents": [
        "5920990fecba7e2430af3cfaa8bcbaed40d0ba1a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Apr 07 07:30:20 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Apr 07 07:30:20 2005 +0000"
      },
      "message": "2005-04-07 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* (global): Fix up list loops to match changes in lib/linklist,\n\t  and some basic auditing of usage.\n\t* configure.ac: define QUAGGA_NO_DEPRECATED_INTERFACES\n\t* HACKING: Add notes about deprecating interfaces and commands.\n\t* lib/linklist.h: Add usage comments.\n\t  Rename getdata macro to listgetdata.\n\t  Rename nextnode to listnextnode and fix its odd behaviour to be\n\t  less dangerous.\n\t  Make listgetdata macro assert node is not null, NULL list entries\n          should be bug condition.\n          ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use\n          with for loop, Suggested by Jim Carlson of Sun.\n          Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the\n          \"safety\" of previous macro.\n\t  LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to\n\t  distinguish from the similarly named functions, and reflect their\n\t  effect better.\n\t  Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section\n\t  with the old defines which were modified above,\n\t  for backwards compatibility - guarded to prevent Quagga using it..\n\t* lib/linklist.c: fix up for linklist.h changes.\n\t* ospf6d/ospf6_abr.c: (ospf6_abr_examin_brouter) change to a single\n\t  scan of the area list, rather than scanning all areas first for\n\t  INTER_ROUTER and then again for INTER_NETWORK. According to\n\t  16.2, the scan should be area specific anyway, and further\n\t  ospf6d does not seem to implement 16.3 anyway.\n"
    },
    {
      "commit": "a349198fd3e4e5692cdc91223f8153cb53c086ce",
      "tree": "e5b366a8ab7ab9ed1c9670faf1f18eef26877ade",
      "parents": [
        "f695b01ff8e9aebc46bdf41f104ad4abbb0ef59e"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Apr 02 22:50:38 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Apr 02 22:50:38 2005 +0000"
      },
      "message": "2005-04-02 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.\n\t* if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.\n\t  (if_get_by_name) Tighten up code.\n\t  (interface) Use new function if_get_by_name_len.\n\t* zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len\n\t  function.\n\t  (zebra_interface_state_read) Use new if_lookup_by_name_len function.\n\t* kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function\n\t  to save a memcpy.\n\t* if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new\n\t  if_get_by_name_len function.\n\t* ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.\n"
    },
    {
      "commit": "a608bbf27b48b7bd5e63f1c46380a1c5288ba48a",
      "tree": "5317bf773d9a90337fa9cef8ca24127f127dc2bc",
      "parents": [
        "5dcbdf82efdf65313a04ea45f2c8f7307c7ab671"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Mar 29 17:03:49 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Mar 29 17:03:49 2005 +0000"
      },
      "message": "2005-03-29 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* rt_netlink.c: (netlink_link_change) If the status of an\n\t  operative interface changes (e.g. MTU changes), the client\n\t  daemons should be notified by calling zebra_interface_up_update.\n\t  Previously, the information was being updated in zebra\u0027s\n\t  interface structure, but the clients were not notified of\n\t  changes to an operative interface.\n\t* ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative\n\t  interface changes, print a debug message and call ospf_if_reset()\n\t  to simulate down/up on the interface.\n\t* ospf_interface.h: Declare new function ospf_if_reset().\n\t* ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down\n\t  and ospf_if_up for all ospf interfaces attached to an interface.\n"
    },
    {
      "commit": "ba6454ec1fd1ca7266b10eba07d016becb22db74",
      "tree": "1ee3f882924db44883e1023e5081741e10d86b3a",
      "parents": [
        "3a9eb091494f7afb8ce6bf82b8e1a20bb2a8f10f"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Feb 08 15:37:30 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Feb 08 15:37:30 2005 +0000"
      },
      "message": "2005-02-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_interface.h: Improve passive_interface comment.  Add new\n\t  multicast_memberships bitmask to struct ospf_interface to track\n\t  active multicast subscriptions.  Declare new function\n\t  ospf_if_set_multicast.\n\t* ospf_interface.c: (ospf_if_set_multicast) New function to configure\n\t  multicast memberships properly based on the current\n\t  multicast_memberships status and the current values of the\n\t  ospf_interface state, type, and passive_interface status.\n\t  (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is\n\t  now handled by ism_change_state\u0027s call to ospf_if_set_multicast).\n\t  (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now\n\t  handled by ism_change_state).\n\t* ospf_ism.c: (ospf_dr_election) Remove logic to join or leave\n\t  the DRouters multicast group (now handled by ism_change_state\u0027s call\n\t  to ospf_if_set_multicast).\n\t  (ism_change_state) Add call to ospf_if_set_multicast to change\n\t  multicast memberships as necessary to reflect the new interface state.\n\t* ospf_packet.c: (ospf_hello) When a Hello packet is received on a\n\t  passive interface: 1. Increase the severity of the error message\n\t  from LOG_INFO to LOG_WARNING; 2. Add more information to the error\n\t  message (packet destination address and interface address);\n\t  and 3. If the packet was sent to ospf-all-routers, then try\n\t  to fix the multicast group memberships.\n\t  (ospf_read) When a packet is received on an interface whose state\n\t  is ISM_Down, enhance the warning message to show the packet\n\t  destination address, and try to update/fix the multicast group\n\t  memberships if the packet was sent to a multicast address.\n\t  When a packet is received for ospf-designated-routers, but the\n\t  current interface state is not DR or BDR, then increase the\n\t  severity level of the error message from LOG_INFO to LOG_WARNING,\n\t  and try to fix the multicast group memberships.\n\t* ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for\n\t  any ospf interface that may have changed from active to passive.\n\t  (no_ospf_passive_interface) Call ospf_if_set_multicast for\n\t  any ospf interface that may have changed from passive to active.\n\t  (show_ip_ospf_interface_sub) Show multicast group memberships.\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "b5f2c1267ef8c7694bb96aff748a866775ab1cbe",
      "tree": "229268eb207bd8088834680c8726d51446f2705d",
      "parents": [
        "1302bdc7ebf1ebf4ca4051011c75dab2453393fc"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 10 23:56:29 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Nov 10 23:56:29 2003 +0000"
      },
      "message": "2003-11-10 Claus Endres \u003cclaus@endresconsulting.com\u003e\n\n        * ospfd/ospf_interface.c: (ospf_if_table_lookup) grab reference to\n          rn-\u003einfo /before/ calling route_unlock_node() as some systems\n          may deliberately poison freed memory, eg FreeBSD 5.1.\n          see [quagga-dev 417].\n"
    },
    {
      "commit": "affe1d9c7f333e0d0373505c4a57994ab1a03822",
      "tree": "e18bdaaa9a5db76b23ef2bb15a00666ab3e5d147",
      "parents": [
        "20916fba5c5aac8146d780a849083ca88f804511"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 21:40:57 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 21:40:57 2003 +0000"
      },
      "message": "2003-10-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* ospfd/ospf_interface: (ospf_if_lookup_table) fix compile errors\n\t  from previous patch. doh.\n"
    },
    {
      "commit": "20916fba5c5aac8146d780a849083ca88f804511",
      "tree": "86a741c2e1f534c6fa66269b56896661540d8702",
      "parents": [
        "cccf8af8963e0f9cb862def616316288cabd0e47"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 21:14:20 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 21:14:20 2003 +0000"
      },
      "message": "2003-10-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * ospfd/ospf_interface: (ospf_if_lookup_table) new function to\n          lookup oi for a given prefix in a given interfaces table of oi\u0027s.\n          (ospf_if_new) use ospf_if_lookup_table to deal with zebra\n          reporting new interface multiple times.\n          NB: This patch is a complete plaster-band of a hack. First, why is\n          zebra reporting interface events multiple times? Second, why does\n          ospfd maintain so many damn lists and tables relating to oi\u0027s -\n          these should be reconciled into one or two tables.\n"
    },
    {
      "commit": "106d2fd572c18bebe3dc44031c6d5e56e7b9030f",
      "tree": "df226870be1178b347947aecbe7d468022b47a91",
      "parents": [
        "12ab19f1863e80134353244967a87805b12fe722"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Aug 01 00:24:13 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Aug 01 00:24:13 2003 +0000"
      },
      "message": "2003-08-01 Cougar \u003ccougar@random.ee\u003e\n\n\t* lib/if.c: (if_cmp_func) new function, compare interface names in\n\talphabetical order.\n\t(if_create) Take name as argument and add interface in sorted order.\n\t(if_get_by_name),(interface_cmd) fixup calls to if_create - see\n\tabove.\n\t(if_init) register list comparison function.\n\t* lib/if.h: Add comparison function, modify if_create prototype.\n\t* lib/zclient.c: Modify call to if_create.\n\t* ospfd/ospf_interface.c: (ospf_vl_new) modify call to if_create.\n\tchange sprintf to snprintf.\n\t* zebra/kernel_socket.c: (ifm_read) modify call to if_create.\n"
    },
    {
      "commit": "2e6b0bbbb44f67bd5664e6dd52c7cd4ad9286c06",
      "tree": "a6824e9b6fa75336130e1a1bc96a7c99775ef198",
      "parents": [
        "305100fc0f1d849f2af2bbf813e3e24b87d52ba6"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 22 08:17:12 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 22 08:17:12 2003 +0000"
      },
      "message": "2003-06-19 \"Suraev, Vadim\" \u003cvadim.suraev@terayon.com\u003e\n\n\t* ospf_interface.c (ospf_vl_set_params): new router LSA is not\n\tgenerated when the cost of the routing entry for the virtual\n\tlink endpoint has changed. If the cost to reach the virtual link\u0027s\n\tendpoint has changed, add router LSA timer for the backbone area.\n"
    },
    {
      "commit": "592c8148981d196a7bda2f1b85a63943fd0cfdf2",
      "tree": "273fd4151921ffbb91cc42535083ff7e1bf04bdb",
      "parents": [
        "bf9392c6e932080156e70c0436977fd5dbcdb0cd"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 06 23:24:55 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 06 23:24:55 2003 +0000"
      },
      "message": "2003-06-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* Revert Cougar\u0027s sort interface names patch, causes problems with\n\tenabling of interfaces for OSPF in ospfd.\n"
    },
    {
      "commit": "a939514c59fe1a56a820e82bc59d82c721076c03",
      "tree": "85a2d3d1d3e0a4f35d0865778c7522b8569b40f8",
      "parents": [
        "41908818b8f446befc3654fa5bbc98c6c0af92a3"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Jun 05 17:50:01 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Jun 05 17:50:01 2003 +0000"
      },
      "message": "Patch from Cougar - sort iflist by name.\n"
    },
    {
      "commit": "cfc959b8f5f7ea1185fb3de2e4064704d62336f0",
      "tree": "c6fec4531d632cb516a243e425a61cc61a92e81a",
      "parents": [
        "ec1ca63c188c9dc2518b0f78033e623105ac4f25"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 02:28:45 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 02:28:45 2003 +0000"
      },
      "message": "From: kamatchi soundaram \u003ckamatchi@tdd.sj.nec.com\u003e\nSubject: [zebra 19263] Another memory leak!! is zebra OSPF\n\n   This memory leak gets into picture whenever any interface goes down.\n\n Problem found and desctription: Whenever the interface goes down, the\n \"def_params\" (member of ospf_if_info) structure memory is not freed.\n\n Fix made: added the following line to free the \"def_params\" memory of\n ospf_if_info before calling the  \"XFREE(MTYPE_OSPF_IF_INFO, ifp-\u003einfo);\"\n The added line is:\n       ospf_del_if_params ((struct ospf_if_params *) IF_DEF_PARAMS (ifp));\n"
    },
    {
      "commit": "ec1ca63c188c9dc2518b0f78033e623105ac4f25",
      "tree": "49a07fd9c67838f6fc79d6d7b12e5fac82505c81",
      "parents": [
        "852ba0e2cf9a1c6bba0988e98512a303cc9739e8"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 02:23:15 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 02:23:15 2003 +0000"
      },
      "message": "From: kamatchi soundaram \u003ckamatchi@tdd.sj.nec.com\u003e\nSubject: [zebra 19262] Re: Memory leak in OSPF\n\nFix applied for Kamatchi\u0027s original report was to remove the auth_crypt\ninitialisation from the wrong function. This should fix that.\n"
    },
    {
      "commit": "852ba0e2cf9a1c6bba0988e98512a303cc9739e8",
      "tree": "6ab53c00990f5208317752b2649e6f31582e3033",
      "parents": [
        "bb3a023ed853b2335dccf25dfd8ec237fd9d8458"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jun 03 03:03:34 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jun 03 03:03:34 2003 +0000"
      },
      "message": "From: kamatchi soundaram \u003ckamatchi@tdd.sj.nec.com\u003e\nSubject: [zebra 19259] Memory leak in OSPF\n\nThe detail of the memory leak follows:\n File name: ospf_interface.c\n Function name: ospf_if_new_hook().\n Type of leak: Overwriting the already allocated memory.\n Problem found and description:\n The ospf_new_if_params() fn allocates a memory for \"auth_crypt\" which\n is overwritten, down in the fn (ospf_if_new_hook) by explicitely allocating\n a memory for the same \"auth_crypt\".\n\n Fix: remove allocation from ospf_new_if_params()\n"
    },
    {
      "commit": "af8d0336a3cd98ef2fe163a6303a077735de4fb2",
      "tree": "7d68d4258ccbda69ec2b24107c05187637de08c7",
      "parents": [
        "0a825c79339870bd9d815172a29ae9567b61c4e6"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 15:31:45 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 15:31:45 2003 +0000"
      },
      "message": "Fix missing bracket from previous commit.\n"
    },
    {
      "commit": "0a825c79339870bd9d815172a29ae9567b61c4e6",
      "tree": "12e6c9948fc6229fa61bbfce191a6b48909426f9",
      "parents": [
        "e9af5c78a0110bd0066d54e3ece50ffa875cafc8"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 13:48:16 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 13:48:16 2003 +0000"
      },
      "message": "2003-05-24 Kenji Yabuuchi\n\n        * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific\n          match for interface lookup.\n"
    },
    {
      "commit": "f645789b7a97ab75efbd68a11e2e0f7378e57639",
      "tree": "167aa51e27e1225ce771b197dd3c0e67b3b58a09",
      "parents": [
        "645878f10fad10f3503da9103bc57bbd96785947"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Apr 17 16:11:30 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Apr 17 16:11:30 2003 +0000"
      },
      "message": "Denis Ovsienko \u003czebra@pilot.org.ua\u003e\nSubject: [zebra 18767] possible SIGSEGV\n\nFix incorrect memset\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": "bdf94e447a60e7db0ebbbc03397954180a2301da",
      "tree": "3525e6bfd47b1e70acafcb722d67b6cb95478f89",
      "parents": [
        "2946f65bb88439ca16338dbe3c5d23beaedc507d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Mar 28 00:42:45 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Mar 28 00:42:45 2003 +0000"
      },
      "message": "Remove redundant memset\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": "8c80cb7ee950b7f8c728539d965deae91e70a4eb",
      "tree": "77bb0a23805fc05c12d8fffc6fa54d2f0969b869",
      "parents": [
        "4955a0ba4311918f55daf2235df812a99c46ae7c"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Feb 18 23:25:44 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Feb 18 23:25:44 2003 +0000"
      },
      "message": " fixes an assert which doesnt seem to take into account that route_node_get\nmay return an existing node. (if the code wants a /new/ node why not use\nroute_node_set? if it doesnt mind - then the assert is wrong).\n\nthis bug is in zebra.org CVS. (must be an extremely rare/unlikely bug\nthough).\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": "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"
    }
  ]
}
