)]}'
{
  "log": [
    {
      "commit": "e4319de388b748ba66551f33fecdf7446e754b80",
      "tree": "d6ae690186b58ed048ed0a11911c6f1e2d71cd16",
      "parents": [
        "21fefa9843f6e8fc2263e8d85cf0d072b4b6c242"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Apr 02 23:23:55 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Apr 02 23:23:55 2005 +0000"
      },
      "message": "2005-04-02 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a\n\t  function that does not exist.\n\t* ospf6_interface.[ch]: (ospf6_interface_lookup_by_name) Remove unused\n\t  function.\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": "8cfde37647b40640667ffb38c32b575da1476586",
      "tree": "c62e41ee92ce48b0887047f1028138953b480862",
      "parents": [
        "548e6f7d58a08e28132936431bba75428412857f"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Feb 08 15:59:16 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Feb 08 15:59:16 2005 +0000"
      },
      "message": "2005-02-08 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* ospf_interface.h: Reduce structure padding by putting new u_char\n\t  field multicast_memberships in a better spot (grouped with\n\t  other u_char fields type and state).\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": "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": "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": "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": "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"
    }
  ]
}
