)]}'
{
  "log": [
    {
      "commit": "f31bab4fbf367a4417784ba9873e524d42242036",
      "tree": "c624feca43613e738e4756ad6b3b555c1402e465",
      "parents": [
        "771626860adfc30c00f70d993ccb8f4d7c0c0c63"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Jun 19 19:26:19 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Jun 21 14:39:26 2015 +0100"
      },
      "message": "Quagga: Fix code to use srandom/random\n\nQuagga was using a mix of srand/rand and srandom/random.\nConsolidate to use srandom/random which are the POSIX\nversions of random number generators\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "c99f3481a598e9cadd1de96714f6b5df9ad85c4a",
      "tree": "aac6df566f28c13fce5c9f02275f159fab73a24d",
      "parents": [
        "758fb8f99a7bfac3d31c419fd1a5694fc5f33f6a"
      ],
      "author": {
        "name": "Feng Lu",
        "email": "lu.feng@6wind.com",
        "time": "Thu Oct 16 09:52:36 2014 +0800"
      },
      "committer": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Wed Jun 03 10:24:12 2015 +0200"
      },
      "message": "*: add VRF ID in the API message header\n\nThe API messages are used by zebra to exchange the interfaces, addresses,\nroutes and router-id information with its clients. To distinguish which\nVRF the information belongs to, a new field \"VRF ID\" is added in the\nmessage header. And hence the message version is increased to 3.\n\n* The new field \"VRF ID\" in the message header:\n\n    Length    (2 bytes)\n    Marker    (1 byte)\n    Version   (1 byte)\n    VRF ID    (2 bytes, newly added)\n    Command   (2 bytes)\n\n  - Client side:\n\n    - zclient_create_header() adds the VRF ID in the message header.\n    - zclient_read() extracts and validates the VRF ID from the header,\n      and passes the VRF ID to the callback functions registered to\n      the API messages.\n    - All relative functions are appended with a new parameter \"vrf_id\",\n      including all the callback functions.\n    - \"vrf_id\" is also added to \"struct zapi_ipv4\" and \"struct zapi_ipv6\".\n      Clients need to correctly set the VRF ID when using the API\n      functions zapi_ipv4_route() and zapi_ipv6_route().\n    - Till now all messages sent from a client have the default VRF ID\n      \"0\" in the header.\n    - The HELLO message is special, which is used as the heart-beat of\n      a client, and has no relation with VRF. The VRF ID in the HELLO\n      message header will always be 0 and ignored by zebra.\n\n  - Zebra side:\n\n    - zserv_create_header() adds the VRF ID in the message header.\n    - zebra_client_read() extracts and validates the VRF ID from the\n      header, and passes the VRF ID to the functions which process\n      the received messages.\n    - All relative functions are appended with a new parameter \"vrf_id\".\n\n* Suppress the messages in a VRF which a client does not care:\n\n  Some clients may not care about the information in the VRF X, and\n  zebra should not send the messages in the VRF X to those clients.\n\n  Extra flags are used to indicate which VRF is registered by a client,\n  and a new message ZEBRA_VRF_UNREGISTER is introduced to let a client\n  can unregister a VRF when it does not need any information in that\n  VRF.\n\n  A client sends any message other than ZEBRA_VRF_UNREGISTER in a VRF\n  will automatically register to that VRF.\n\n  - lib/vrf:\n\n    A new utility \"VRF bit-map\" is provided to manage the flags for\n    VRFs, one bit per VRF ID.\n\n    - Use vrf_bitmap_init()/vrf_bitmap_free() to initialize/free a\n      bit-map;\n    - Use vrf_bitmap_set()/vrf_bitmap_unset() to set/unset a flag\n      in the given bit-map, corresponding to the given VRF ID;\n    - Use vrf_bitmap_check() to test whether the flag, in the given\n      bit-map and for the given VRF ID, is set.\n\n  - Client side:\n\n    - In \"struct zclient\", the following flags are changed from\n      \"u_char\" to \"vrf_bitmap_t\":\n          redist[ZEBRA_ROUTE_MAX]\n          default_information\n      These flags are extended for each VRF, and controlled by the\n      clients themselves (or with the help of zclient_redistribute()\n      and zclient_redistribute_default()).\n\n  - Zebra side:\n\n    - In \"struct zserv\", the following flags are changed from\n      \"u_char\" to \"vrf_bitmap_t\":\n          redist[ZEBRA_ROUTE_MAX]\n          redist_default\n          ifinfo\n          ridinfo\n\n      These flags are extended for each VRF, as the VRF registration\n      flags. They are maintained on receiving a ZEBRA_XXX_ADD or\n      ZEBRA_XXX_DELETE message.\n\n      When sending an interface/address/route/router-id message in\n      a VRF to a client, if the corresponding VRF registration flag\n      is not set, this message will not be dropped by zebra.\n\n    - A new function zread_vrf_unregister() is introduced to process\n      the new command ZEBRA_VRF_UNREGISTER. All the VRF registration\n      flags are cleared for the requested VRF.\n\n  Those clients, who support only the default VRF, will never receive\n  a message in a non-default VRF, thanks to the filter in zebra.\n\n* New callback for the event of successful connection to zebra:\n\n  - zclient_start() is splitted, keeping only the code of connecting\n    to zebra.\n\n  - Now zclient_init()\u003d\u003ezclient_connect()\u003d\u003ezclient_start() operations\n    are purely dealing with the connection to zbera.\n\n  - Once zebra is successfully connected, at the end of zclient_start(),\n    a new callback is used to inform the client about connection.\n\n  - Till now, in the callback of connect-to-zebra event, all clients\n    send messages to zebra to request the router-id/interface/routes\n    information in the default VRF.\n\n    Of corse in future the client can do anything it wants in this\n    callback. For example, it may send requests for both default VRF\n    and some non-default VRFs.\n\nSigned-off-by: Feng Lu \u003clu.feng@6wind.com\u003e\nReviewed-by: Alain Ritoux \u003calain.ritoux@6wind.com\u003e\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "126215c1238eb42cc92d23aefbe1fac3b204438f",
      "tree": "22910b50f39003e297efc6236711581cbf3b2ada",
      "parents": [
        "2fc97f6335dd5d7df2c285b363c6ef56bb98dcf8"
      ],
      "author": {
        "name": "Feng Lu",
        "email": "lu.feng@6wind.com",
        "time": "Fri May 22 11:39:58 2015 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Jun 02 06:58:12 2015 +0200"
      },
      "message": "*: call if_init()/if_terminate() from vrf_init()/vrf_terminate()\n\nLater, an interface will belong to a specific VRF, and the interface\ninitialization will be a part of the VRF initialization. So now call\nif_init() from vrf_init(), and if_terminate() from vrf_terminate().\n\nDaemons have the according changes:\n- if if_init() was called or \"iflist\" was initialized, now call\n  vrf_init() instead;\n- if if_terminate() was called or \"iflist\" was destroyed, now call\n  vrf_terminate() instead.\n\nSigned-off-by: Feng Lu \u003clu.feng@6wind.com\u003e\nReviewed-by: Alain Ritoux \u003calain.ritoux@6wind.com\u003e\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nAcked-by: Vincent JARDIN \u003cvincent.jardin@6wind.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "19ed526eab33728723e25f2727f60f41d3533503",
      "tree": "6b3dcfd5ee8be8148e0a85454305ae4ef0867adf",
      "parents": [
        "90d313578f035110422799ca2e188d745ceb3733"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed May 20 19:06:12 2015 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed May 27 20:34:41 2015 +0200"
      },
      "message": "isisd: always print adj-\u003esysid (clang 3.6 warning)\n\nAs any new compiler version, clang 3.6 has new warnings, one of these\nbeing that it now warns for testing whether the address of an array will\nbe true.\n\nOf course there is no point in this check for the sysid, so let\u0027s always\njust print the sysid.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "491417ac6383e2ea557951b24eb7bd3fffb69394",
      "tree": "4f5c961345e190d4683eb3bcb41409244788b72d",
      "parents": [
        "4da670b7a9aacf552aa11c4d4f6d994b312ada89"
      ],
      "author": {
        "name": "Amritha Nambiar",
        "email": "amritha.nambiar@intel.com",
        "time": "Thu Apr 23 15:36:55 2015 -0700"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue May 05 09:06:56 2015 +0200"
      },
      "message": "isisd: fix crash on processing own p2p hello\n\nisis_pdu.c :\nisisd crashes if router\u0027s own p2p hello packets get processed\nthereby creating an adjacecncy with itself. Asserts at\nisis_find_vertex. So discard own p2p IIH PDU and avoid\ncreating adjacency with self. This would also fix duplicate\nsystemID on an interface. These checks already exists for IS-IS\nLAN Level 1/2 Hello PDU in process_lan_hello, but not for\npoint-to-point IIH PDUs.\n\nSigned-off-by: Amritha Nambiar \u003camritha.nambiar@intel.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "c0bedebfe9ca1a1ded02f1f481762dd41defa63e",
      "tree": "9c040f71733fb7509c03457bc146373e65e95536",
      "parents": [
        "3a7e83c2387885075c9ecf1912dd6c9399c6947a"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 10:00:43 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:19:33 2015 +0200"
      },
      "message": "build: add --enable-werror\n\nThis allows enabling -Werror in a consistent way.  Note that this is\ndifferent from just specifiying it in CFLAGS, since that would either\nbreak configure tests (if done on ./configure), or would override\nconfigure\u0027s CFLAGS (if done on make).\n\nUsing --enable-werror instead provides a new WERROR variable that is\nadditionally used during make with a consistent set of warning flags.\n\nThe tests/ directory is exempt.  (Rationale being, better to have more\ntests than pedantically complain about them.)\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "52f02b47685bc823c4c75560175a27aab0bd6709",
      "tree": "81f7e0fd01fd10d4433d3f67a36eea0296df75e4",
      "parents": [
        "60a4601e2270920958e221fbffd7b0743f498d3c"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Fri Apr 10 09:14:30 2015 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:18:17 2015 +0200"
      },
      "message": "zebra, isisd: cast to unsigned char for ctypes\n\nctype.h macros take int as arguments, but expect arguments to be in\nunsigned char\u0027s range.  Even though it probably works, this isn\u0027t\ncorrect on systems that have a signed char type.  Cast explicitly.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "60a4601e2270920958e221fbffd7b0743f498d3c",
      "tree": "cc582a2fc3fbceff25f7d2874be97193b1119eaa",
      "parents": [
        "01da6176b88fe59b3c6ceaf3630df88046c83159"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 08:56:05 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:18:14 2015 +0200"
      },
      "message": "isisd: remove unused process_is_hello()\n\nThe code uses process_lan_hello() or process_p2p_hello().  The unused\nprocess_is_hello() seems to be a leftover generic version.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "01da6176b88fe59b3c6ceaf3630df88046c83159",
      "tree": "6cece2f08f9630b3131d5c106417be6e439a8eea",
      "parents": [
        "f50ee93d12f8213a048a04fcf7d73e12662288e5"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Fri Apr 10 09:10:11 2015 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:18:14 2015 +0200"
      },
      "message": "isisd: fix size_t confusions\n\nisisd had a few places that mixed up size_t vs. unsigned long, and %zd\nvs. %ld.  Clean out.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "f50ee93d12f8213a048a04fcf7d73e12662288e5",
      "tree": "af40761ee94a9bfc1054d59349929066492ee8ab",
      "parents": [
        "6db3ef65c7683069609b5ceb29bdaab49ca09f48"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Mar 04 07:13:38 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:18:11 2015 +0200"
      },
      "message": "isisd: assorted fixes (unused variables, static)\n\nThis just mops up a few warnings in isisd.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "6db3ef65c7683069609b5ceb29bdaab49ca09f48",
      "tree": "900096a65632aee701451d368018c988433026d8",
      "parents": [
        "1250dc7834a1ba52cfd5195f68d24f22fd9c41b0"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 09:07:43 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:18:08 2015 +0200"
      },
      "message": "isisd: fix minor \u0026 vs. \u0026\u0026 mix-up\n\napparently we were displaying all IPv6 reachabilities as external.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "1250dc7834a1ba52cfd5195f68d24f22fd9c41b0",
      "tree": "0914e393d3e50bea55b2bde25fb12f762c1e9e19",
      "parents": [
        "8c9cd85631b77fac0bc30ffb9f23b29c466d31c4"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 08:56:35 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:18:04 2015 +0200"
      },
      "message": "isisd: don\u0027t use POSIX reserved y1/yn names\n\ny1 and yn are POSIX standard names for Bessel functions.  For\nconsistency, just rename all of these variables from \"y\" to \"yy\".\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "388f8857eb81ef75014060976776523a58a99389",
      "tree": "d425f43437cc937f4cd415d3170c8d6c8f6bf33c",
      "parents": [
        "21401f3215be26dcb0f787105f5907745498e966"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 08:55:54 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:18:01 2015 +0200"
      },
      "message": "*: add missing includes\n\nSome places, particularly headers, were spewing warnings since they\ndon\u0027t include neccessary other headers to get struct/enum definitions.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "21401f3215be26dcb0f787105f5907745498e966",
      "tree": "c99c59e06f3fddad44cbd977f8fadad2dc9e76a7",
      "parents": [
        "b7d5021bfa161f797cbfb1e92bf5b94327fb1b71"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 08:55:26 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:17:57 2015 +0200"
      },
      "message": "*: fix signedness mix-ups\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "b7d5021bfa161f797cbfb1e92bf5b94327fb1b71",
      "tree": "37f3c702812e7fe9dec6ef33925df331d64e02c7",
      "parents": [
        "eed3c48d3a7d2dae2cae2f2f250deffb843754a6"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 08:53:18 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:17:47 2015 +0200"
      },
      "message": "*: remove stray extra semicolons\n\nSome places had extra semicolons where none belong.  Remove them.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "eed3c48d3a7d2dae2cae2f2f250deffb843754a6",
      "tree": "07b2252438225065024d4a534eddf0e86c9b87a4",
      "parents": [
        "ef008d2f8dc8f7160d8a3d24a15f2fad79ef3242"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 08:51:53 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 21 10:17:31 2015 +0200"
      },
      "message": "*: use void * for printing pointers\n\nOn higher warning levels, compilers expect %p printf arguments to be\nvoid *.  Since format string / argument warnings can be useful\notherwise, let\u0027s get rid of this noise by sprinkling casts to void *\nover printf calls.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "ef008d2f8dc8f7160d8a3d24a15f2fad79ef3242",
      "tree": "036d3b4c7bc0071f045bc1cb3a54c422dffc1806",
      "parents": [
        "ec62e1438ece9af0546f9028aa1403f2c84bf177"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Mar 03 08:48:11 2015 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Sun Apr 19 20:40:19 2015 +0200"
      },
      "message": "*: use long long to print time_t\n\nSince we can\u0027t assume time_t to be long, int, or even long long, this\nconsistently uses %lld/long long (or %llu/unsigned long long in a few\ncases) to print time_t/susecond_t values.  This should fix a bunch of\nwarnings, on NetBSD in particular.\n\n(Unfortunately, there seems to be no \"PRId64\" style printing macro for\ntime_t...)\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "237aac56960575f6ad2451ba2796d94bd5ae4b33",
      "tree": "f23c49fa32bc6b706bd5f37a9a3a45ce27adf15d",
      "parents": [
        "b6fa76098d127f5641a7dda0dee21f06ca167edb"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Sat Jun 28 22:23:10 2014 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Sat Feb 14 19:19:14 2015 +0100"
      },
      "message": "build: get rid of INCLUDES, use AM_CPPFLAGS\n\nINCLUDES in configure.ac was not used at all, and INCLUDES in\nMakefile.am is supposed to be AM_CPPFLAGS these days.\n\nReduces warnings spewed during bootstrap/autoreconf.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\nAcked-by: Greg Troxel \u003cgdt@ir.bbn.com\u003e\nAcked-by: Feng Lu \u003clu.feng@6wind.com\u003e\nAcked-by: Paul Jakma \u003cpaul@jakma.org\u003e\n"
    },
    {
      "commit": "3c28aaf437d8d473adb89c5e74574a61a9ea7cc6",
      "tree": "4ea862f3ea3fd9c88a42af152b5a5fd3df06e35f",
      "parents": [
        "92cff4f7cd7e805e6689e73e63029aaccd145eca"
      ],
      "author": {
        "name": "Amritha Nambiar",
        "email": "amritha.nambiar@intel.com",
        "time": "Wed Jan 28 18:09:30 2015 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Fri Feb 06 21:54:15 2015 +0100"
      },
      "message": "isisd: match adjacency with source of hellos\n\nisis_pdu.c: match adjacency with source of hellos,\ncheck for source ID on receiving hello\n\nIf an adjacency exists, check the adjacency is with the\nsame router as the source of the hellos. In case a mismatch\nis detected, bring down the adjacency and let the next\nhellos trigger creating the new adjacency.\n\nSigned-off-by: Amritha Nambiar \u003camritha.nambiar@intel.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "92cff4f7cd7e805e6689e73e63029aaccd145eca",
      "tree": "c3824d77e70140cbc0dcb0edcd6cbf23d55b9df9",
      "parents": [
        "86ce951e349fd08d1ba2c66f5f6d07756689422a"
      ],
      "author": {
        "name": "Lu Feng",
        "email": "lu.feng@6wind.com",
        "time": "Thu Jan 08 01:21:02 2015 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Fri Feb 06 21:54:07 2015 +0100"
      },
      "message": "isisd: fix crash on changing the circuit type of a passive interface\n\nSigned-off-by: Feng Lu \u003clu.feng@6wind.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "88d37b902bc8127379d3293b9671aa6a11479c23",
      "tree": "33ff1c38d47bfb7f940d56c53727aa9db31ddb40",
      "parents": [
        "9511633e08ff15c23608983fdc1bc735d427332e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Nov 03 01:20:09 2014 +0000"
      },
      "committer": {
        "name": "Vincent JARDIN",
        "email": "vincent.jardin@6wind.com",
        "time": "Mon Nov 03 06:51:10 2014 +0100"
      },
      "message": "make some structures constant.\n\nThese pre-initialized arrays are not modified.\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\nAcked-by: Feng Lu \u003clu.feng@6wind.com\u003e\n"
    },
    {
      "commit": "ad2f92b6b07883f6a2a26499eab1776933185960",
      "tree": "8bc8790cf92b37ff2cd02e5000a3332e053feae5",
      "parents": [
        "4c005e3f65a1f5b4592b1ebbac392cbb1a710998"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Mon Aug 18 18:05:25 2014 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Mon Aug 18 18:16:28 2014 +0200"
      },
      "message": "isisd: type mix-up in 28a8cfc \"don\u0027t require IPv4\"\n\nWhoops, these are in6_addrs, not prefix_ipv6... funnily enough, it does the\nright thing either way, if it compiles, which it only does on Linux because\nIN6_IS_ADDR_LINKLOCAL contains a cast to the right type.  On BSD there is no\nsuch cast, hence it explodes on trying to compile, trying to access struct\nmembers of in6_addrs while operating on prefix_ipv6...\n\nFixes: 28a8cfc (\"isisd: don\u0027t require IPv4 for adjacency\")\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "16ffb26fbbf8b3d1fee7a14eb401ecb02eed5058",
      "tree": "f1abb4a88c2677f1e405a855be200056c5c2bc4e",
      "parents": [
        "28a8cfcbc3a5cc74bb3b87981b878f8b4edc2dd6"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Tue Jul 29 09:41:54 2014 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Mon Aug 18 01:50:19 2014 +0200"
      },
      "message": "*: fix detection and usage of sys/cdefs.h\n\nThis header is non-standard (though present on many systems) and\nthere is no standard for what it should or should not define.\n\nRemove it where it is not really needed. But add also a configure\ncheck, so it can be used if available but otherwise fallback to\ndefining the needed macroes.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "28a8cfcbc3a5cc74bb3b87981b878f8b4edc2dd6",
      "tree": "55316289799b819a7170f908d4cf8c2f24350c99",
      "parents": [
        "8b16ed74fa61523c3348d2584b66a56a8ad4e350"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Sun Jun 29 13:48:18 2014 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Mon Aug 18 01:49:32 2014 +0200"
      },
      "message": "isisd: don\u0027t require IPv4 for adjacency\n\nThis was precluding isisd from IPv6-only operation; no adjacency would\ncome up unless there was IPv4 in parallel.\n\nReported-by: Martin Winter \u003cmwinter@netdef.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "fd6f39a514093973bb0fb39484a0ed9615534c89",
      "tree": "a5365a15610b6d02ad8e761013b65e26637c1700",
      "parents": [
        "404fd2974fb53340be6d570b86f2f6f4c0a100c6"
      ],
      "author": {
        "name": "Lu Feng",
        "email": "lu.feng@6wind.com",
        "time": "Wed Feb 19 09:05:05 2014 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Jun 03 15:48:14 2014 +0200"
      },
      "message": "isisd: ignore the unrecognized TLVs\n\nWhen processing LSPDUs, the unrecognized TLVs/sub-TLVs should be\nsilently ignored.\n\nIn parse_tlvs(), ISIS_WARNING is returned once an unrecognized TLV\nexists. It breaks the processing in lsp_authentication_check() and\nlsp_update_data(). So remove it.\n\nSigned-off-by: Feng Lu \u003clu.feng@6wind.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "cd40b329a2e4da882bcad0431c048c876bbeafbd",
      "tree": "cfbdec5a7559c6d3e56766797896a18809aa1746",
      "parents": [
        "e712d0e3667ffad8109ef8bce3ce01927ee95bb7"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Mon Sep 30 12:27:51 2013 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Apr 01 20:21:41 2014 +0200"
      },
      "message": "lib/command.c: rewrite command matching/parsing\n\nAdd support for keyword commands.\n\nIncludes new documentation for DEFUN() in lib/command.h, for preexisting\nfeatures as well as new keyword specification.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "4ff3bcad8e81b643f3247317a3949d7867b36f75",
      "tree": "4348c8b1db5f0c2af4a99eb560c269542223a8ff",
      "parents": [
        "a52070899afed55ae44ed6a140ac090cdf07d141"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Wed Mar 20 10:50:07 2013 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Jul 31 17:58:05 2013 +0200"
      },
      "message": "isisd, ospf6d: use bug-report information from autoconf\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "e1a555b67cc868f95ea2b53c278bd8d091333e5f",
      "tree": "c6d2a170693da4b78ed977b1badf9c38f84c693d",
      "parents": [
        "478c1125cfcf92c3f2a574d6b76eea28126284dc"
      ],
      "author": {
        "name": "Nick Hilliard",
        "email": "nick@inex.ie",
        "time": "Wed Nov 28 14:39:56 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:14 2012 +0100"
      },
      "message": "isisd: fix ipv6 metric endianness\n\nthe isis ipv6 reachability metric is transmitted in big endian / network\nformat, but isis_spf_process_lsp() does not convert this into host endian\nformat when mucking around with local cost + received metric.  This patch\nfixes this problem and makes received ipv6 metrics work properly on\nlittle-endian machines.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "478c1125cfcf92c3f2a574d6b76eea28126284dc",
      "tree": "a53e56a4ad3d5342a36b967ae968a2523840c0bb",
      "parents": [
        "4fb7c84f1b5e282c7dc413a578d3f42353ac7fec"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 27 19:52:00 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:08 2012 +0100"
      },
      "message": "isisd: verify metrics on metric-style transition\n\nWhen switching to metric-style transition, circuit metrics should also be\nverified to be in the narrow range 0..63.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "4fb7c84f1b5e282c7dc413a578d3f42353ac7fec",
      "tree": "69fe847ce5ce242c2a714ca75182dc39c7a9b210",
      "parents": [
        "e8aca32f312cbef1cb0b0dd9e87b7e59dc9fa251"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 27 19:51:59 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:08 2012 +0100"
      },
      "message": "isisd: fix metrics check for metric-style narrow\n\nWhen switching to narrow metric style, all configured circuits are\nverified to have a valid narrow style metric. Check te_metric instead\nof metric_default as the latter is only 8bit wide and may overflow for\nwide style metrics.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "e8aca32f312cbef1cb0b0dd9e87b7e59dc9fa251",
      "tree": "f1dd65169e4cbc6bb7da2d76466b049703587123",
      "parents": [
        "318c8040abc1b8a737c941382e8aca82e546da09"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Nov 27 01:10:30 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:08 2012 +0100"
      },
      "message": "isisd: address Coverity warnings\n\nthis fixes a bunch of issues found by Coverity SCAN and flagged as\n\"high\" impact -- although, they\u0027re all rather minute issues.\n\n* isisd/isis_adjacency.c: one superfluous check, one possible NULL deref\n* isisd/isis_circuit.c: two prefix memory leaks\n* isisd/isis_csm.c: one missing break\n* isisd/isis_lsp.c: one possible NULL deref\n* isisd/isis_pfpacket.c: one error-case fd leak\n* isisd/isis_route.c: one isis_route_info memory leak\n* isisd/isis_routemap.c: one... fnord\n* isisd/isis_tlv.c: one infinite loop\n\nReported-by: Coverity SCAN\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "318c8040abc1b8a737c941382e8aca82e546da09",
      "tree": "3eb37c0549c27b1db1a08aadab6166728b663348",
      "parents": [
        "f818c8f3fb9c98490df29e99aa9cddde8e0296d5"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Nov 27 01:10:29 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:07 2012 +0100"
      },
      "message": "isisd: always join all IS-IS multicast groups\n\nThe socket is only created once when an interface is brought up, and the\nmulticast groups were joined according to configuration at that point.\nThis breaks when later switching an interface to another IS-IS level.\n\nSince, for a separate conformance issue (ANVL ISIS-6.4), we should be\ninspecting the destination address anyway, the simplest fix here is to\njust join all groups unconditionally.  There shouldn\u0027t be much traffic\non these anyway, worst case we might be picking up some unrelated\nmulticast groups due to NIC filter aliasing though...\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\nTested-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "f818c8f3fb9c98490df29e99aa9cddde8e0296d5",
      "tree": "1b5bea6bd8996e8ab5349fc2b2abfa0dc7ac2ca4",
      "parents": [
        "de543de3d7682eaeb8c9b657e9a3bb4bcd17993d"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 27 01:10:28 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:07 2012 +0100"
      },
      "message": "isisd: save metric-style narrow\n\nisisd defaults to wide metric style. So if narrow metric style is\nconfigured, a matching setting should be written to the configuration,\nallowing a narrow metric-style setting to be saved.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "de543de3d7682eaeb8c9b657e9a3bb4bcd17993d",
      "tree": "34ea71f71b59a717f1500d2f7b6860227ecaea6d",
      "parents": [
        "b72f345d2e078d4cd0559234d051214f58eef542"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Nov 27 01:10:27 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:07 2012 +0100"
      },
      "message": "isisd: fix spftree_area_del typo causing SEGV\n\nspftree_area_del didn\u0027t clear the IPv6 L2 spftree due to a simple typo,\nleading to a SEGV on shutdown when the still-armed timer would try to\nrun an IPv6 L2 SPF calculation with its data free\u0027d already.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "b72f345d2e078d4cd0559234d051214f58eef542",
      "tree": "c41a98533af78d54c5e5cca0151848b86c9d5139",
      "parents": [
        "19f78cebd2ce50f0d1f367cd759cdcfb1a500f59"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Nov 27 01:10:26 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:07 2012 +0100"
      },
      "message": "isisd: drop hellos without supported protocol list\n\nisisd should not form adjacencies on receiving an IS-IS Hello without a\nlist of supported protocols (cf. RFC 1195 s4.4 p32 \"Maintaining Router\nAdjacencies\")  Also fixes memleaks in these error cases.\n\n* isisd/isis_pdu.c: improve TLVFLAG_NLPID handling\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\nTested-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "19f78cebd2ce50f0d1f367cd759cdcfb1a500f59",
      "tree": "94526e2119d9142ca53217a9d0e5a357a260abba",
      "parents": [
        "91d799e8cdd24ad3c195ed9d11882aacc91cc2ea"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Nov 27 01:10:25 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:07 2012 +0100"
      },
      "message": "isisd: refuse adjacencies with our own system ID\n\nisisd would form an adjacency with another router despite the system IDs\nbeing identical.  This would later cause an assertion failure like this:\n\n  assertion\u003d0x555555596db8 \"isis_find_vertex (spftree-\u003epaths, id, vtype) \u003d\u003d ((void *)0)\",\n  file\u003d0x555555596c60 \"isis_spf.c\", line\u003d515, function\u003d0x555555597900 \"isis_spf_add2tent\") at log.c:619\n\nwhich is caused by trying to add a path expected to not exist, but\nsuddenly colliding due to the duplicate system ID.\n\n* isis_pdu.c: check for system ID collision on receiving Hello\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "91d799e8cdd24ad3c195ed9d11882aacc91cc2ea",
      "tree": "935c32631fdb828d4ef624d081953f212a792912",
      "parents": [
        "0be793e674c8b076f0e8bf327257f15803480f49"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Nov 27 01:10:24 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Dec 12 15:38:07 2012 +0100"
      },
      "message": "isisd: do not add \u003e63 IP addresses to hello\n\nRFC1195 s4.2 \"Multiple IP Addresses per Interface\" explicitly forbids us\nfrom adding multiple tuples of IP addresses, putting a hard cutoff at 63\nIP addresses.\n\n* isisd/isis_tlv.c: cut off (and return success) at 63 addrs.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\nTested-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "43057bf22a4240b5e163c30a1f66deb702ce746e",
      "tree": "d5b4d164efa3034ae8006020d6d1ae5e314a867c",
      "parents": [
        "8c9ed279852393804c26e3c8c556a13d08654907"
      ],
      "author": {
        "name": "Hasso Tepper",
        "email": "hasso.tepper@gmail.com",
        "time": "Thu Oct 11 11:19:51 2012 +0000"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Mon Nov 05 15:16:53 2012 -0500"
      },
      "message": "isisd: clock_gettime() -\u003e quagga_gettime() conversion.\n\n* isisd/isis_spf.c: Use portable quagga_gettime() like the rest of\n    the Quagga code.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "837d16ccbe0fca413f8927da6a34b1e97ccada8a",
      "tree": "7aed5a517b619c03d11bf567f6a14cda6f8f5efe",
      "parents": [
        "655071f44aab42e89bcece3a93da456fdd0d913a"
      ],
      "author": {
        "name": "Balaji.G",
        "email": "balajig81@gmail.com",
        "time": "Wed Sep 26 14:09:10 2012 +0530"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Oct 25 10:15:59 2012 -0700"
      },
      "message": "*: use array_size() helper macro\n\nUse the array_size() helper macro.  Replaces several instances of local\nmacros with the same definition.\n\nReviewed-by: Scott Feldman \u003csfeldma@cumulusnetworks.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "655071f44aab42e89bcece3a93da456fdd0d913a",
      "tree": "85c195b18df1d6e64c59a5193791d2ae7333c4a0",
      "parents": [
        "80a21dc60fa007bb00437fdc047c3e059232639f"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue May 08 13:32:53 2012 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Oct 25 10:15:59 2012 -0700"
      },
      "message": "isisd: don\u0027t overrun list of protocols\n\nisisd currently has a list of supported protocols as a fixed array of\nsize 4.  this can be overran, leading to an overwrite of the ipv4_addrs\npointer.\n\n  * isisd/isis_pdu.c: don\u0027t accept more protocols than there\u0027s space for\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "f02a09925db53d3e1d29b1917ebbcaa8edf72c12",
      "tree": "8c8fefac30fa372f4e04c6a9f8ceed6569f55570",
      "parents": [
        "948b6bef7f9cf841a98fe3ea40419696500c8c4c"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue May 08 13:15:45 2012 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Oct 25 10:15:59 2012 -0700"
      },
      "message": "isisd: don\u0027t process invalid prefixes from TLVs\n\nit\u0027s possible to feed invalid prefixes (1.2.3.4/40 or dead::beef/200) on\nIS-IS.  if this is not checked, it will later cause an assert in\nprocessing.  let\u0027s simply abort processing the TLV if the prefix is\ninvalid.\n\n  * isisd/isis_tlv.c: check prefix lengths for validity\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "948b6bef7f9cf841a98fe3ea40419696500c8c4c",
      "tree": "9dbdadff242010472e298b624e20e52bd5625328",
      "parents": [
        "0fece074e8c9e282ae2cecf9a0a79dc6c930cfb1"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue May 08 06:27:04 2012 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Oct 25 10:15:59 2012 -0700"
      },
      "message": "isisd: pull up invalid prefix assert()\n\nprocessing invalid prefixes causes isisd to assert() or otherwise\nmisbehave in ip_masklen/apply_mask.  pull up the assert() to indicate\nbetter there\u0027s broken data in isisd\u0027s LSDB.\n\n  * isisd/isis_spf.c: assert() prefix lengths\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "0fece074e8c9e282ae2cecf9a0a79dc6c930cfb1",
      "tree": "57807d45aaa0869b6b90291eedd30c084891274b",
      "parents": [
        "a22ab5a560c7a46f6ecc6feb874c0dbbde9699c6"
      ],
      "author": {
        "name": "Avneesh Sachdev",
        "email": "avneesh@opensourcerouting.org",
        "time": "Sun May 06 00:03:07 2012 -0700"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Oct 25 10:15:59 2012 -0700"
      },
      "message": "isisd: fix null pointer dereference in send_lsp()\n\n  * isisd/isis_pdu.c: (send_lsp) Handle case where there are no LSPs\n    on the LSP transmission queue. This can happen if, for instance,\n    the queue is cleared because of protocol events before the\n    send_lsp thread gets a chance to run.\n"
    },
    {
      "commit": "a22ab5a560c7a46f6ecc6feb874c0dbbde9699c6",
      "tree": "0f2eb80dc14b21ef14e0de45e1f32d581c7186c0",
      "parents": [
        "4effc29fb1c33a87a8d386de39c20d36a6956645"
      ],
      "author": {
        "name": "Avneesh Sachdev",
        "email": "avneesh@opensourcerouting.org",
        "time": "Sat May 05 23:50:30 2012 -0700"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Oct 25 10:15:59 2012 -0700"
      },
      "message": "isisd: tighten checks on ISIS pdu length\n\n  * isisd/isis_pdu.c: Fix problem where isisd would crash if it\n    received a LAN IIH with the \u0027pdu length\u0027 field set to zero.\n    Similar problems can occur in parsing other ISIS PDUs as well --\n    check that the PDU length in an ISIS hello, LSP or SNP packet is\n    at least as big as the size of the respective fixed header.\n"
    },
    {
      "commit": "9e7a548ce421660b0d22bfeb90c2b2b53742aac7",
      "tree": "4c962403808f98806781fb4ad15594152bc1effa",
      "parents": [
        "a47c5838e9f445ab887ad927706b11ccbb181364"
      ],
      "author": {
        "name": "Vincent Bernat",
        "email": "bernat@luffy.cx",
        "time": "Tue May 22 14:32:22 2012 +0200"
      },
      "committer": {
        "name": "Vincent Bernat",
        "email": "bernat@luffy.cx",
        "time": "Mon Jun 25 19:03:23 2012 +0200"
      },
      "message": "build: allow configure and build in a separate directory\n\nSome .h files in lib/ are autogenerated. The search path should\ninclude the build directory and the source directory. They usually\nmatch but sometimes, they may be different. For example:\n\n $ mkdir build\n $ cd build\n $ ../configure\n $ make\n"
    },
    {
      "commit": "a47c5838e9f445ab887ad927706b11ccbb181364",
      "tree": "a11b4e361978c0c342806c0bb59fbcc6ae325227",
      "parents": [
        "bb782fb50efcd972d4357f9a7164de2c317d2eef"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Jun 21 09:55:38 2012 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Jun 21 09:57:54 2012 +0200"
      },
      "message": "isisd: fix typo in topology generator (BZ#731)\n\nThere was a \"lsp-\u003e\" missing before \"level\" in line 2416.\n(introduced by git commit e38e0df)\n\nReported-by: Seblu \u003cseblu@seblu.net\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "48d8bea8b7c83cf186460f711ab166455b5ed676",
      "tree": "2004b6997ea3411ad9c77965467ca833125b6232",
      "parents": [
        "1627b20fd4fe431558d0f77aff98cbee29ca15d8"
      ],
      "author": {
        "name": "Vyacheslav Trushkin",
        "email": "me@dogonthesun.net",
        "time": "Fri Nov 25 18:51:48 2011 +0400"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Mon Apr 16 18:22:37 2012 +0200"
      },
      "message": "quagga: option \"-z\" (\"--socket \u003cpath\u003e\") added\n\nAll daemons modified to support custom path to zserv\nsocket.\n\n[reapplied from b511468 after isisd merge]\n"
    },
    {
      "commit": "1627b20fd4fe431558d0f77aff98cbee29ca15d8",
      "tree": "1c5df6d736e904aed3c4ebcdcc9d20c15deaeb8c",
      "parents": [
        "086695cb8eea5b405b21e66b92ef0348355c4821"
      ],
      "author": {
        "name": "Vyacheslav Trushkin",
        "email": "me@dogonthesun.net",
        "time": "Fri Nov 25 17:56:21 2011 +0400"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Mon Apr 16 18:20:38 2012 +0200"
      },
      "message": "isisd: indent longopts array\n"
    },
    {
      "commit": "086695cb8eea5b405b21e66b92ef0348355c4821",
      "tree": "ee07310a272656210f65e070da55b0b4952aeca8",
      "parents": [
        "aa3b264282677fcd33513352aa878d00163d2dbf"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Mon Apr 16 18:14:50 2012 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Mon Apr 16 18:14:50 2012 +0200"
      },
      "message": "isisd: reapply removal of CVS cruft\n\nthis re-removes CVS keywords and .cvsignore files. original commits:\n\tb82cdeb delete CVS keywords\n\t05e54ee build: delete .cvsignore files\n"
    },
    {
      "commit": "aa3b264282677fcd33513352aa878d00163d2dbf",
      "tree": "47bafb70bffd6ea3f511ab0d8bd5941102cf47a4",
      "parents": [
        "14d2bbaa3f4aa53152472694c29f336808e47313"
      ],
      "author": {
        "name": "Avneesh Sachdev",
        "email": "avneesh@opensourcerouting.org",
        "time": "Wed Apr 11 23:56:03 2012 -0700"
      },
      "committer": {
        "name": "Avneesh Sachdev",
        "email": "avneesh@opensourcerouting.org",
        "time": "Wed Apr 11 23:56:03 2012 -0700"
      },
      "message": "isisd: reapply patch to fix zebra protocol\n\nReapply the bits of revision b4e45f6 that pertain to isisd. That is:\n  git log -n 1 -p b4e45f6 -- isisd\n\nThese were dropped in the merge with the Google ISIS code (14d2bbaa).\n\nThe commit message for b4e45f6 is:\n\n    fix zebra protocol after MP-BGP changes\n\n    The previous commits modified both zebra and bgpd for additional\n    SAFI field, but not any other routing daemon, which led to zebra\n    daemon crashing with failed assertion.\n"
    },
    {
      "commit": "e38e0df01ad305ad48ecf816b52fa99fd3f2a4e1",
      "tree": "ad565c3d656c0d5b74a1a3a80f1774bef938b1b4",
      "parents": [
        "3f045a08812525505e165deea99a79447b44506b"
      ],
      "author": {
        "name": "Subbaiah Venkata",
        "email": "svenkata@google.com",
        "time": "Tue Mar 27 23:48:05 2012 -0700"
      },
      "committer": {
        "name": "Avneesh Sachdev",
        "email": "avneesh@opensourcerouting.org",
        "time": "Sat Apr 07 13:54:37 2012 -0700"
      },
      "message": "isisd: couple of bug fixes\n"
    },
    {
      "commit": "3f045a08812525505e165deea99a79447b44506b",
      "tree": "a5c944b0584e0e5a14908a2ac9476637e7c1d7e6",
      "parents": [
        "6902c69aa30a73ecd70ef8941518b541ca02b878"
      ],
      "author": {
        "name": "Josh Bailey",
        "email": "joshb@google.com",
        "time": "Sat Mar 24 08:35:20 2012 -0700"
      },
      "committer": {
        "name": "Avneesh Sachdev",
        "email": "avneesh@opensourcerouting.org",
        "time": "Sat Apr 07 13:54:37 2012 -0700"
      },
      "message": "isisd: add Google\u0027s changes to IS-IS\n"
    },
    {
      "commit": "745bf05f58ff203f5e3878574016fb3b9ad5b450",
      "tree": "0c1019a61726211f4ade8f7ff21c579c95e7063a",
      "parents": [
        "2470e99e828c098d2d03f8d693853cbe69e3fb6f"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Tue Feb 02 21:49:35 2010 +0100"
      },
      "committer": {
        "name": "Greg Troxel",
        "email": "gdt@ir.bbn.com",
        "time": "Wed Apr 28 20:15:44 2010 -0400"
      },
      "message": "isisd: change ISIS_METHOD to use C preprocessor\n\nthis fixes warnings from vtysh extract.pl by making sure the isis method\nfiles always \u0027work\u0027. (previously, extract.pl would grab unselected isis\nmethod sources and then complain about missing headers)\n"
    },
    {
      "commit": "2d362d1099f346202cb628665ff4ae563b2594f5",
      "tree": "5e8101d4ace5f4ef4e51c1cdc277c0f9652728d0",
      "parents": [
        "da88ea82acd70adf3bab641b2300ee24319da422"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Dec 21 12:54:58 2009 +0300"
      },
      "committer": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Mon Dec 21 13:03:51 2009 +0300"
      },
      "message": "lib: make some structures constant\n\n* isisd/isis_pdu.c\n  * maskbit: this pre-initialized array is not modified\n* lib/prefix.c\n  * maskbit: idem\n* lib/command.c\n  * facility_map: idem\n  * itoa64: idem\n  * default_motd: make local var static\n  * facility_name(): update local var accordingly\n  * facility_match(): idem\n"
    },
    {
      "commit": "4a4bba04c7398069a6d43fa8ccf0d15bad5faaa2",
      "tree": "1d216265f03b2f7eadb7d5b158f1edc960833c1b",
      "parents": [
        "a0f63a4c7d7a6404fd43d139809202a693ae42e9"
      ],
      "author": {
        "name": "David Ward",
        "email": "david.ward@ll.mit.edu",
        "time": "Thu Dec 03 21:24:36 2009 +0300"
      },
      "committer": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Thu Dec 03 21:24:36 2009 +0300"
      },
      "message": "isisd: fix --enable-isis-topology for 64-bit Linux\n"
    },
    {
      "commit": "362573e5642b29ffeef5000351adc2d6ed6dfca3",
      "tree": "2b1c84f9498563959f43b54335ab8a07c4e7e6c2",
      "parents": [
        "cdb9950482e1180b4a2b6ba05d171bdf2649c84c"
      ],
      "author": {
        "name": "David Ward",
        "email": "david.ward@ll.mit.edu",
        "time": "Thu Dec 03 20:44:35 2009 +0300"
      },
      "committer": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Thu Dec 03 20:44:35 2009 +0300"
      },
      "message": "isisd: fix BPF ioctl() calls, treat \"true\" and \"false\" as reserved\n\nAvoid a potential conflict with the C99 defines \u0027true\u0027 and \u0027false\u0027\nfound in \u003cstdbool.h\u003e by choosing better variable names.\n\nAlso fix the calls to these ioctls, as described in \u003cnet/bpf.h\u003e\nin FreeBSD, NetBSD, and OpenBSD:\n\n* BIOCGBLEN, BIOCIMMEDIATE, BIOCSSEESENT (the parameter should be\nof type \u0027u_int\u0027)\n\n* BIOCPROMISC (there should be no parameters)\n"
    },
    {
      "commit": "065de90380c88d9fcc116627f714bed9984c2723",
      "tree": "79061a2699e0dc3e87c218b3b57c2f0577d5a69a",
      "parents": [
        "5bd5881838c22e075c3d0c245a8952a55e9dca38"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Aug 07 11:13:49 2009 -0700"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Aug 13 10:21:13 2009 +0100"
      },
      "message": "all: check return value from daemon() call\n\n* */*main.c: (main) Current versions of Gcc warn if the return value for\n  daemon() is not checked.  So add a simple test and exit on failure.\n\n"
    },
    {
      "commit": "ec5e42b3c50e3a8e95963161319fa1a56466b2ae",
      "tree": "4eba2580aca51f386ce2f879f32f8616279a1ba3",
      "parents": [
        "e84999d93afd0f727f7325431c055cc26c988c68"
      ],
      "author": {
        "name": "Jeremy Jackson",
        "email": "jerj@coplanar.net",
        "time": "Wed Jan 21 20:51:57 2009 -0500"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Jun 19 15:03:31 2009 +0100"
      },
      "message": "[cleanup] convert bzero() deprecated by POSIX to memset()\n\nautoscan 2.62 complains about bzero(), so a good fix\nnowadays is to just replace it.\n"
    },
    {
      "commit": "7fc626de5f618133ad2a478d13defa3a110b89ea",
      "tree": "432ff0e4672eabc2ec6b0dcffc22dcc0aee532c8",
      "parents": [
        "66e5cd87194ae6fdd51061a91b4698bc0a652f6b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen.hemminger@vyatta.com",
        "time": "Mon Dec 01 11:10:34 2008 -0800"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Jun 12 17:10:29 2009 +0100"
      },
      "message": "[cleanup] Make command nodes static\n\nThe cmd_nodes used to configure vty, can mostly be static so\n(basic data hiding 101).\n"
    },
    {
      "commit": "5515de330cf6c5449c0a56862072750b07d23fd7",
      "tree": "4651f48d94ba97117d84fdaa2210563676adc8df",
      "parents": [
        "d68cbf9261869e532dfdd14dbb4122b3f3feb0d4"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Wed Mar 21 12:41:22 2007 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 20:02:08 2008 +0100"
      },
      "message": "[administrivia] Update gitignore files\n\n- Add more stuff, archive libraries, etc..\n"
    },
    {
      "commit": "d68cbf9261869e532dfdd14dbb4122b3f3feb0d4",
      "tree": "5cc873e6a38a3db9ad5fb4dfe579624ff7693c13",
      "parents": [
        "3998bfd76620a676fbd77f19c5c6ea80a4cc88d2"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sat Oct 21 18:35:27 2006 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 20:00:46 2008 +0100"
      },
      "message": "[administrivia] Git should ignore backup files and .loT files\n"
    },
    {
      "commit": "3998bfd76620a676fbd77f19c5c6ea80a4cc88d2",
      "tree": "66bf93340e55bb06b25544ef04afec3749269391",
      "parents": [
        "e5248434c0d287668be956a2bd52399d67b16c39"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Tue Aug 19 14:13:43 2008 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 19:57:22 2008 +0100"
      },
      "message": "[trivia] Remove ChangeLog files, as this data is now maintained in SCM\n"
    },
    {
      "commit": "69954565621127a62c11ec315b175b930230c217",
      "tree": "3ed8c676746cf5ffada57f866923cef445de938c",
      "parents": [
        "6a270cd93d02a88709e7292684db47552b630abf"
      ],
      "author": {
        "name": "Jingjing Duan",
        "email": "Jingjing.Duan@sun.com",
        "time": "Wed Aug 13 19:29:47 2008 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 19:52:57 2008 +0100"
      },
      "message": "[isisd:DLPI] Try open vanity-named DLPI dev before style 1,2\n\n2008-08-13 Jingjing Duan \u003cJingjing.Duan@sun.com\u003e\n\n\t* isisd/isis_dlpi.c: (open_dlpi_dev) Clearview-UV device nodes are\n\t  under /dev/net, try opening there before attempting style 1 or 2\n\t  names.\n\nSigned-off-by: Paul Jakma \u003cpaul@quagga.net\u003e\n"
    },
    {
      "commit": "6a270cd93d02a88709e7292684db47552b630abf",
      "tree": "8783ae29bef1f8e48e6278dcbe4360247316b029",
      "parents": [
        "3e40282fd93553da276b48830db3df819b73c884"
      ],
      "author": {
        "name": "Jingjing Duan",
        "email": "Jingjing.Duan@sun.com",
        "time": "Wed Aug 13 19:09:10 2008 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 19:52:57 2008 +0100"
      },
      "message": "[ospfd/isisd] Switch to lib/ Fletcher checksum, fixing bug in isisd\n\n2008-08-13 Jingjing Duan \u003cJingjing.Duan@sun.com\u003e\n\n\t* ospfd/: Remove the old checksum implementation and\n\t  use the consolidated version.\n\t* isisd/: ditto, thus fixing isisd checksuming on big-endian.\n\nSigned-off-by: Paul Jakma \u003cpaul@quagga.net\u003e\n"
    },
    {
      "commit": "3e40282fd93553da276b48830db3df819b73c884",
      "tree": "ec89de00c1e111d1c7e2672829857f3bf6356fbc",
      "parents": [
        "efda3bb8e548fee84928ff23329c11de8e742ecd"
      ],
      "author": {
        "name": "Jingjing Duan",
        "email": "Jingjing.Duan@sun.com",
        "time": "Wed Aug 13 19:06:16 2008 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 19:52:57 2008 +0100"
      },
      "message": "[isisd] Fix packet filtering with DLPI\n\n2008-08-13 Jingjing Duan \u003cJingjing.Duan@sun.com\u003e\n\n\t* isisd/isis_dlpi.c: Change ioctl from PFIOCSETF (transparent mode)\n\t  to I_STR (non-transparent mode). The old code resulted in no\n\t  filtering at all.\n\nSigned-off-by: Paul Jakma \u003cpaul@quagga.net\u003e\n"
    },
    {
      "commit": "46bc0e432e756fcb8fc4f703b47cd25b9fc7139c",
      "tree": "60100ca1e11c3c3600441d366b236f4a2de519ca",
      "parents": [
        "d664ae1182c29b74b409bc8594b7bd0575e91ce9"
      ],
      "author": {
        "name": "Paul P Komkoff Jr",
        "email": "i@stingr.net",
        "time": "Wed Aug 13 16:17:04 2008 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 19:52:12 2008 +0100"
      },
      "message": "[build] Test for GNU-style PIE support in toolchain and enable\n\n2008-08-13 Paul P Komkoff Jr \u003ci@stingr.net\u003e\n\n\t* configure.ac: add a configure flag and autoconf macro, which will\n\t  determine if your toolchain supports PIE.\n\t* */Makefile.am: add corresponding CFLAGS and LDFLAGS into\n\t  appropriate places.\n\nSigned-off-by: Paul Jakma \u003cpaul@quagga.net\u003e\n"
    },
    {
      "commit": "3c5a0a4f8fe3811affff6d5e123379eedb083571",
      "tree": "79e285e0bd04c6ef0dfcde9cf0ce8fda8abecbe1",
      "parents": [
        "750e814693050bc97391eec618aad9db798ee5e8"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sun Feb 19 17:30:10 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Aug 22 19:49:33 2008 +0100"
      },
      "message": "[administrivia] Add .gitignore files, based on .cvsignores.\n"
    },
    {
      "commit": "c7350c48462e305f18f6fb02eceac170f892e450",
      "tree": "e2eff38fc86e29bcd394d57d69c5ecd7ce7e9d40",
      "parents": [
        "90b68769a1a1d7623cae02be71b7a8e4094455ad"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Tue Jan 29 19:29:44 2008 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Tue Jan 29 19:29:44 2008 +0000"
      },
      "message": "[isisd] Bug #437: fix ssert caused by bad list management\n\n2008-01-29 James Carlson \u003cjames.d.carlson@sun.com\u003e\n\n\t* Fix bug #437, assert due to bogus index management\n\t* isis_flags.c: (flags_initialize) new\n\t* (flags_get_index) fix off by one, leading to list assert\n\t  on null node data.\n\t  (flags_free_index) ditto.\n\t* isisd.c: (isis_area_create) use flags_initialize\n\t  (isis_area_destroy) deconfigure circuits when\n\t  taking down area.\n"
    },
    {
      "commit": "8bc9805929d4b3af2e77ef04db278884d82d71fd",
      "tree": "50f1c2285a05ff303861ab22c26330a8292b73ae",
      "parents": [
        "238497fc85332bb8bb9cb3245d3f691500190559"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Wed Aug 08 11:19:27 2007 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Wed Aug 08 11:19:27 2007 +0000"
      },
      "message": "[isisd] Commit new files which should have been part of previous commit..\n"
    },
    {
      "commit": "238497fc85332bb8bb9cb3245d3f691500190559",
      "tree": "fefd446df957e591658f3aaf40263538f5176944",
      "parents": [
        "e95537f0495401c0dd86669d096387e5cdddf8e0"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Tue Aug 07 18:49:18 2007 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Tue Aug 07 18:49:18 2007 +0000"
      },
      "message": "[isisd] Add support for Solaris DLPI\n\n2007-08-07 James Carlson \u003cjames.d.carlson@sun.com\u003e\n\n\t* configure.ac: Added support for separate link-layer access\n\t  mechanisms in isisd.\n\t* isis_network.c: split up into isis_bpf.c, isis_dlpi.c, and\n\t  isis_pfpacket.c, selected by autoconf, and added DLPI support.\n\t* (general) Fixed to allow compilation and use on Solaris.\n"
    },
    {
      "commit": "6f0e3f6e17687eb25b7b77c4fdc8324837d4700f",
      "tree": "8a94d9212060f0f2ee7cbd0079c2687eed7348dc",
      "parents": [
        "08d3d5b398ae81de7659509f159e814d1bbd4375"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu May 10 02:38:51 2007 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu May 10 02:38:51 2007 +0000"
      },
      "message": "[autoconf] bugs 162,303,178: Fix \u0027present but can not be compiled\u0027 warnings\n\n2007-05-09 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* configure.ac: sys/conf.h depends on sys/param.h, at least on\n\t  FBSD 6.2.\n\t  (bug #363) Should check for in_pktinfo for IRDP\n\n2006-05-27 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* configure.ac: General cleanup of header and type checks, introducing\n\t  an internal define, QUAGGA_INCLUDES, to build up a list of\n\t  stuff to include so as to avoid \u0027present but cant be compiled\u0027\n\t  warnings.\n\t  Misc additional checks of things missing according to autoscan.\n\t  Add LIBM, for bgpd\u0027s use of libm, so as to avoid burdening\n\t  LIBS, and all the binaries, with libm linkage.\n\t  Remove the bad practice of using m4 changequote(), just\n\t  quote the []\u0027s in the case statements properly.\n\t  This should fix bugs 162, 303 and 178.\n\t* */*.{c,h}: Update all HAVE_* to the standard autoconf namespaced\n\t  HAVE_* defines. I.e. HAVE_SA_LEN -\u003e HAVE_STRUCT_SOCKADDR_SA_LEN,\n\t* bgpd/Makefile.am: Add LIBM to bgpd\u0027s LDADD, for pow().\n"
    },
    {
      "commit": "41b36e9013111a6da812ca000e3b978282bd27a9",
      "tree": "11805d66de677613be7fe5e31626cfbbbbec78a6",
      "parents": [
        "3c0755dc9772deccff2ba6e9dc0511a9af2b9d1b"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Fri Dec 08 01:09:50 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Fri Dec 08 01:09:50 2006 +0000"
      },
      "message": "[isisd] Fix compiler warnings and allow v4-only compilation\n\n2006-12-08 Hannes Gredler \u003channes@gredler.at\u003e\n\n\t* isis_adjacency.c: (isis_new_adj) Allow NULL snpa argument.\n\t* isis_pdu.c: (various) Update calls to isis_new_adj() to pass\n\t  NULL and use default.\n\t* (general) Add forward declarations where required.\n\t  Fix up const char *\u0027s.\n\t  Allow V4-only compilation.\n"
    },
    {
      "commit": "876b8be0ab24721e8f94d47dde022563f76db992",
      "tree": "60afcf14974d39a081b64c71191038701e73a3f5",
      "parents": [
        "98954844ae56d142e96341d5dff959ec5518111e"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sun Oct 15 23:35:57 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sun Oct 15 23:35:57 2006 +0000"
      },
      "message": "[daemon startup] Add --dry-run/-C argument to daemons, to check config file syntax\n\n2006-10-04 Oliver Hookins \u003cohookins@gmail.com\u003e\n\n\t* bgpd/bgp_main.c: Add configuration check option, with\n\t\u0027-C\u0027 rather than \u0027-c\u0027 for consistency between daemons.\n\t* isisd/isis_main.c: ditto\n\t* ospf6d/ospf6_main.c: ditto\n\t* ospfd/ospf_main.c: ditto\n\t* ripngd/ripng_main.c: ditto\n\t* vtysh/vtysh_main.c: ditto\n\t* ripd/rip_main.c: Change the config check option to\n\t\u0027-C\u0027 and tidy up the code.\n\t* zebra/main.c: ditto\n\n2006-10-04 Stergiakis Alexandros \u003castergiakis@antcor.com\u003e\n\n\t* ripd/rip_main.c: This trivial patch introduces a new\n\t  command-line option \u0027-c\u0027, which instructs zebra/ripd\n\t  to check its configuration file for validity,\tprint\n\t  any error message, and then exit. This is useful when\n\t  the configuration file is edited by hand or otherwise,\n\t  and you simply want to validate it without any other\n\t  effect.\n\t* zebra/main.c: ditto\n"
    },
    {
      "commit": "d3092e7f226c48f7caeac22ad62f39e8d71d9e12",
      "tree": "a4ede38eeab47522eae40c929ed5a4a82d978df5",
      "parents": [
        "98fd1e61212ea98154e7cc4b6deed41a07794523"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jan 17 17:33:46 2006 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jan 17 17:33:46 2006 +0000"
      },
      "message": "[zserv] fix up custom isisd and bgpd Zserv functions for new format.\n\n2006-01-17 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* bgp_nexthop.c: (zlookup_read*) convert to new Zserv format.\n\t  (zlookup_query_ipv6) ditto.\n\t  (bgp_import_check) ditto.\n\t* isis_zebra.c: (isis_zebra_route_add_ipv4) fix for new\n\t  zserv format.\n"
    },
    {
      "commit": "77b1cffe3b71c886152534b8507f00c7fcbd12c9",
      "tree": "c5eb056d6254172e741b65586d71e2e6c54fc094",
      "parents": [
        "4859e20c40070ea362627529c52f35de105acc44"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 20 02:15:50 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Nov 20 02:15:50 2005 +0000"
      },
      "message": "[isisd] remove includes of common system headers.\n\n2005-11-20 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n        * (general) remove includes of very common system headers,\n          these are already picked up by zebra.h. Further, including\n          them before zebra.h messes up all our lovely (sarcasm)\n          autoconf\u0027d detecting of platform specific things. Recent\n          addition of stdint.h to configure.ac and zebra.h appears\n          particularly to throw up this problem.\n"
    },
    {
      "commit": "13fb40ac99823c405137a42d7666785fd7ac641a",
      "tree": "2332722bf346447bd5bfebf3fdc0fb97dc85502b",
      "parents": [
        "10fc9183686d9d7183949c9e74a1c51d98ddb67e"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Oct 01 06:03:04 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Oct 01 06:03:04 2005 +0000"
      },
      "message": "\t* isis_adjacency.c: Stop expire timer while deleting adjacency.\n\t* isis_events.c: Stop pseudo LSP thread while resigning circuit from\n\t  level.\n\t* isis_route.c: Fix compiling with EXTREME_DEBUG. Mark route as not\n\t  in sync with zebra if it\u0027s changed.\n\t* isis_spf.c: Schedule route validating etc even if tent was empty.\n\t  It\u0027s probably because we just don\u0027t have any adjacencies.\n\t* isisd.c: Write minimum spf interval into configuration.\n"
    },
    {
      "commit": "10fc9183686d9d7183949c9e74a1c51d98ddb67e",
      "tree": "c2f5c4a32f0e062db0a1f7492d418dca92053134",
      "parents": [
        "6638c1ab3d4c0043a49a3a67768cccf4a23648dc"
      ],
      "author": {
        "name": "jardin",
        "email": "jardin",
        "time": "Sat Oct 01 00:09:39 2005 +0000"
      },
      "committer": {
        "name": "jardin",
        "email": "jardin",
        "time": "Sat Oct 01 00:09:39 2005 +0000"
      },
      "message": "2005-09-30 Vincent Jardin \u003cvincent.jardin@6wind.com\u003e\n\n\t* isis_route.c: fix EXTREME_DEBUG compilation\n"
    },
    {
      "commit": "ceacedba227e77156f92f7676b274c48a2817e8f",
      "tree": "f362ecc8f6f183347ebe45ab79727b54d2f527a6",
      "parents": [
        "e62178797d0ee5f326fd587b84ee965cf88833e4"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Sep 29 14:39:32 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Sep 29 14:39:32 2005 +0000"
      },
      "message": "2005-09-29 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* configure.ac: Add the test for Solaris least-privileges. Set\n\t  defines for whether capabilities are supported and whether of\n\t  the linux or solaris variety.\n\t  Add missing-prototypes, missing-declarations, char-subscripts\n\t  and cast-qual warnings to default cflags, cause Hasso enjoys warnings,\n\t  and we really should clean the remaining ones up. (ie isisd..).\n\t* (*/*main.c) Update the zebra_capabilities_t arrays in the various\n\t  daemons to match the changes made in lib/privs.h.\n\t* zebra.h: Solaris capabilities requires priv.h to be included.\n\t* privs.{c,h}: Add support for Solaris Least-Privileges.\n\t  privs.h: Reduce some of the abstract capabilities, which do\n\t  not have rough equivalents on both systems. Rename the net\n\t  related caps to _NET, as they should have been in first\n\t  place.\n\t  (zprivs_terminate) should take the zebra_privs_t as argument so\n\t  that it can update change pointer.\n\t  Add an additional privilege state, ZPRIVS_UNKNOWN.\n\t* privs.c: (various capability functions) Add\n\t  Solaris privileges variants.\n\t  (zprivs_state) Use privs.c specific generic types to\n          represent various capability/privilege related types, so that\n          each can be typedef\u0027d as appropriate on each platform.\n\t  (zprivs_null_state) static added, to hold the state the null\n\t  method should report (should be raised by default, and\n          LOWERED if zprivs_terminate has been called)\n          (zprivs_state_null) Report back the zprivs_null_state.\n          (cap_map) Make it able to map abstract capability to multiple\n          system capabilities.\n          (zcaps2sys) Map to abstract capabilities to multiple system\n          privileges/capabilities.\n          (zprivs_init) move capability related init to seperate\n\t  function, zprivs_caps_init.\n          (zprivs_terminate) ditto, moved to zprivs_caps_terminate.\n          Set the change_state callback to the NULL state, so the\n          user can continue to run and use the callbacks.\n"
    },
    {
      "commit": "3fdb2dd9dd8b4ab3517896092dd1b677d191adf9",
      "tree": "2f2bdff0a3797517100d0f1319cd3e46bb00f53f",
      "parents": [
        "d3d7474ba98f01e6d9994ff48c0b3a4331a8ef2a"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 28 18:45:54 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 28 18:45:54 2005 +0000"
      },
      "message": "\t* *.c: Massive cleanup of lists loops. Stop abusing ALL_LIST_ELEMENTS.\n\t  Replace XMALLOC + memset with XCALLOC. Fix some indentation issues.\n\t  The only really significant change is simplified isis_delete_adj\n\t  function in isis_adjacency.c.\n"
    },
    {
      "commit": "d3d7474ba98f01e6d9994ff48c0b3a4331a8ef2a",
      "tree": "efa9e1f7f1e7fdb79f5374c78301218f2b68bc95",
      "parents": [
        "9551eea4465e0e3eaab7a133fc06705c8f36afc4"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 28 18:30:51 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 28 18:30:51 2005 +0000"
      },
      "message": "\t* isis_dynh.c, isisd.h: Implement dynamic hostname cache cleanup.\n\t* isis_lsp.c: Refresh dynamic hostname in the cache while refreshing\n\t  topology LSP.\n"
    },
    {
      "commit": "9551eea4465e0e3eaab7a133fc06705c8f36afc4",
      "tree": "ec76ab7baa0cbea12f85fc162053715ede4fa4e9",
      "parents": [
        "c1a03d4774f8ecc30a21267469d48cb2276de48c"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 28 18:26:25 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 28 18:26:25 2005 +0000"
      },
      "message": "\t* isis_lsp.c: Make topology generator generate TE TLVs if necessary.\n\t  Also take care of inserting dynamic hostname of topology TLVs into\n\t  cache.\n"
    },
    {
      "commit": "fac1f7cc8eaa750fa46985977a97e05e493228a2",
      "tree": "9cb300fd56261c38b51e621ccb72523ec7b4bf4a",
      "parents": [
        "82a8428c84df1b1e7a1be5a5114a5d9a6f2bc2c4"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 18:26:26 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 18:26:26 2005 +0000"
      },
      "message": "\t* isis_spf.c: Changing cost from uint16_t to uint32_t. Unset\n\t  ISIS_ROUTE_FLAG_ACTIVE flag before running SPF.\n\t* isisd.[ch]: Separate route tables for different levels. SPF is done\n\t  separately, but in case of L1L2 area they have to be merged.\n\t* isis_zebra.c: Set/unset ISIS_ROUTE_FLAG_ZEBRA_SYNC flag correctly in\n\t  case of adding/removing IPv4 routes.\n\t* zebra_route.c: Rework route validating process. Merging L1 and L2\n\t  tables in case of L1L2 area.\n\n        In short - many changes to make SPF work more correctly, add/remove\n        to/from RIB also works now. It\u0027s still very far from perfect though.\n"
    },
    {
      "commit": "82a8428c84df1b1e7a1be5a5114a5d9a6f2bc2c4",
      "tree": "0a1c15480d52b36cb9144add9816849014881fb3",
      "parents": [
        "309ddb199aa4627e4597653ca12eb3bc8c20ab54"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 18:15:36 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 18:15:36 2005 +0000"
      },
      "message": "\t* isis_spf.[ch]: Added TE TLVs to the SPF process. It seems to work\n\t  mostly, but needs certainly much more testing, especially transition\n\t  situation.\n"
    },
    {
      "commit": "309ddb199aa4627e4597653ca12eb3bc8c20ab54",
      "tree": "a61c592c3fc18c39e43fa784e772d5dbd1221a89",
      "parents": [
        "81ad8f6a1040eaf9d4230bd63b71d85397660653"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 18:06:47 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 18:06:47 2005 +0000"
      },
      "message": "\t* isis_lsp.c: Put correct metric info into TE TLV\u0027s. Wide metric is\n\t  used only if only wide metric style (extended TLV\u0027s) is in use.\n"
    },
    {
      "commit": "81ad8f6a1040eaf9d4230bd63b71d85397660653",
      "tree": "93ccfab5fe8ca9d9e79b65aed0e359ab21f0a1c1",
      "parents": [
        "aa4376ec0c37b9b2d484e9503ad7b8e1a010afd2"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:58:24 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:58:24 2005 +0000"
      },
      "message": "\t* isis_tlv.[ch]: New function tlv_add_in_addr() to put just one IPv4\n\t  address into TLV. Used for IPv4 address TLV (in case of LSP) and TE\n\t  router ID TLV.\n\t* isis_lsp.c: Use tlv_add_in_addr() and include router ID in LSP.\n"
    },
    {
      "commit": "aa4376ec0c37b9b2d484e9503ad7b8e1a010afd2",
      "tree": "a8a31d251e7601adb0c5a2e08cd4c6b03104c1b4",
      "parents": [
        "ea3be4c12223b00a69652a8be330961489212447"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:39:48 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:39:48 2005 +0000"
      },
      "message": "\t* isis_lsp.c: Support for originating TE IS and IPv4 TLV\u0027s. No any sub\n\t  TLV handling yet.\n"
    },
    {
      "commit": "ea3be4c12223b00a69652a8be330961489212447",
      "tree": "900f18472ddbbd9f2c418771a5d8525d0a8b24b0",
      "parents": [
        "f21fb27298fd49ce695fd403e02bcbd5e9f0cd27"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:11:12 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:11:12 2005 +0000"
      },
      "message": "\t* isis_tlv.[ch]: Two new functions - tlv_add_te_is_neighs() and\n\t  tlv_add_te_ipv4_reachs() to handle TLV\u0027s with new metric. None of\n\t  them handle sub TLVs though for now.\n"
    },
    {
      "commit": "f21fb27298fd49ce695fd403e02bcbd5e9f0cd27",
      "tree": "b0d3bc891908d7291f0315cf582334c1e85d37df",
      "parents": [
        "2984d26eb08f42a8f470277cef6c1657f984e968"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:05:55 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 17:05:55 2005 +0000"
      },
      "message": "\t* isis_circuit.[ch]: Some preliminary support for specifying wide\n\t  circuit metrics. Needs more thinking though, but should do for now.\n"
    },
    {
      "commit": "2984d26eb08f42a8f470277cef6c1657f984e968",
      "tree": "94066fba1723bbc2ea9badaf2dc09ae9f7948a57",
      "parents": [
        "ffe543af88fca1d8be49c3a3fe2f50b02919c689"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 16:49:07 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 26 16:49:07 2005 +0000"
      },
      "message": "\t* isisd.[ch]: Introduce oldmetric flag for area and transition\n\t  metricstyle command. With metricstyle wide only extended TLVs\n\t  should be used.\n"
    },
    {
      "commit": "ffe543af88fca1d8be49c3a3fe2f50b02919c689",
      "tree": "9eac072d987227d11689443e4446ce2c82f79017",
      "parents": [
        "d24af186ea5a964300d93bb6fb4384911153d9d6"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 25 12:04:25 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 25 12:04:25 2005 +0000"
      },
      "message": "\t* dict.[ch]: Revert all nonfunctional changes. It\u0027s external module\n\t  imported from kazlib and it\u0027s better not to screw it - there is\n\t  theoretical chance that we might want to merge changes from upstream\n\t  at some point. Also avoid the loss of info about upstream version\n\t  (rcsid).\n"
    },
    {
      "commit": "3d54927678139c580fd3029c17e7d8a94b3a60f7",
      "tree": "5c7fd8ec889f67e5bc206cee4fbc12eaa5ee3762",
      "parents": [
        "ebf1ead0326bf18293c24ee151d22071e8bebc10"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 21 18:52:14 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Sep 21 18:52:14 2005 +0000"
      },
      "message": "\t* isis_route.c: Fix output of nexthops in case of extreme debug.\n"
    },
    {
      "commit": "f06834b80504497824ce50b533ba4fedb6abf2c7",
      "tree": "65a379aa4cc493ae9e547be740a3169d86206586",
      "parents": [
        "e6a4feb763749ff0c63558db456e617915fd1386"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 10:44:04 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 10:44:04 2005 +0000"
      },
      "message": "\t* isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code.\n"
    },
    {
      "commit": "96e30387f164148fe47da6d4481283a61d761c97",
      "tree": "d22600c92bf5d3f8d38c57c39646842e78e5d4dd",
      "parents": [
        "72b9c956e2e025d24cf1e55a5e17ba34942a6ee3"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 06:35:47 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 06:35:47 2005 +0000"
      },
      "message": "\t* isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4\n\t  reachibility metric display.\n"
    },
    {
      "commit": "72b9c956e2e025d24cf1e55a5e17ba34942a6ee3",
      "tree": "a27533f2aae630e7a5c6ab2b1f6f198afa328763",
      "parents": [
        "f1082d1934fae86e67b13594d2b506d1147f022f"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 06:02:34 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 06:02:34 2005 +0000"
      },
      "message": "\t* isis_tlv.h: Cleanup comment about TLVs we should support, remove info\n\t  about useless (in sense of IP(v6)) TLVs.\n"
    },
    {
      "commit": "f1082d1934fae86e67b13594d2b506d1147f022f",
      "tree": "60b02841edb8ef9c82b279d7c255b19d77389d5c",
      "parents": [
        "4eda93ab0bb51da95f239b9e7eaecf8487ef4424"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 04:23:34 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Sep 19 04:23:34 2005 +0000"
      },
      "message": "\t* isis_lsp.h: Added backpointer to the area from LSP. For now it\u0027s used\n\t  only in generated topology LSPs.\n\t* isisd.[ch]: Cleanup CLI commands related to topology generation and\n\t  added command to specify base fo dynamic hostname for topology LSPs.\n\t* isis_lsp.c: Rewrite almost all code related to generation topology\n\t  LSPs (top_lsp_refresh(), generate_topology_lsps() and\n\t  build_topology_lsp_data() functions). Topology is connected to own\n\t  LSP now (lsp_build_nonpseudo). Commented out lsppdu_realloc\n\t  functions, it\u0027s not used any more hopefully.\n\n\tTopology generation feature is actually useful now.\n"
    },
    {
      "commit": "4eda93ab0bb51da95f239b9e7eaecf8487ef4424",
      "tree": "4913dafddd31a0c2e16e6887d01179982e3d6fcf",
      "parents": [
        "e6a0bf9ca05b5543d0d21045ce939598c4e79887"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 18 17:51:02 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 18 17:51:02 2005 +0000"
      },
      "message": "\t* isis_lsp.c (lsp_update): Fix previous commit - manipulate the right\n\t  database and only if LSP is really in the database (sanity check).\n"
    },
    {
      "commit": "a96d8d1095da09811e343a534f5801a948ae1061",
      "tree": "572fdf17817de64a85cda87d15f3b0da8640c6b5",
      "parents": [
        "53a6f932032a30625358414ae0f77790656ccaca"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Sep 16 14:44:23 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Sep 16 14:44:23 2005 +0000"
      },
      "message": "\t* isis_lsp.c (lsp_update): Remove LSP from database before updating\n\t  its data and put it back after. Database entry MUST contain at least\n\t  correct pointers to the sysid to get correct compare results.\n\t* isis_lsp.[ch], isis_pdu.c: Pass level to the lsp_update() function.\n"
    },
    {
      "commit": "c89c05dd04d097bd8213125a42d67204bb681de5",
      "tree": "b8bde80fab9ea45f035edcb71ce1795abcb039c8",
      "parents": [
        "c0fb2a52150ece6042181ab49fafc12b3ba07870"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 04 21:36:36 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 04 21:36:36 2005 +0000"
      },
      "message": "\t* *.c: Try to be less verbose by default (without any debug options\n\t  on).\n\t* isis_lsp.c (lsp_build_nonpseudo): Use stream_reset() instead of\n\t  touching endp directly.\n\t* isis_lsp.c (lsp_build_pseudo): Ditto.\n"
    },
    {
      "commit": "c0fb2a52150ece6042181ab49fafc12b3ba07870",
      "tree": "bb150096a736c9800816dbeccd35fd7669151dd1",
      "parents": [
        "be7d65d976f3e6f9d24b0e77064444ae69b74e1d"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Sep 03 16:29:40 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Sep 03 16:29:40 2005 +0000"
      },
      "message": "\t* isis_lsp.c: Yet another regression introduced by stream cleanup.\n\t  Similar fix to the one commited to lsp_build_nonpseudo() some days\n\t  ago.\n"
    },
    {
      "commit": "be7d65d976f3e6f9d24b0e77064444ae69b74e1d",
      "tree": "a71758e3b3ad796ae62823ea8aa16f6eb55e952c",
      "parents": [
        "29e50b23530f37df9073808fe78a6c22f00beeea"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Sep 02 01:38:16 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Fri Sep 02 01:38:16 2005 +0000"
      },
      "message": "\t* isis_lsp.c: Less TLV leaking.\n"
    }
  ],
  "next": "29e50b23530f37df9073808fe78a6c22f00beeea"
}
