)]}'
{
  "log": [
    {
      "commit": "5bc62ca9561fa01a989e386cbf6e71cbdef77a3c",
      "tree": "280eb7047661122253bfbcce62cac8445eba4acd",
      "parents": [
        "40fc3dda2b7a345e447d2ef355108c987e59ed13"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Mon Jul 11 16:21:23 2016 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Mon Jan 23 18:51:58 2017 +0000"
      },
      "message": "isisd,ospf6d,bgpd: Fix GCC 6 warnings on indentation not matching control flow\n\nGCC 6 can now give warnings when the indentation of code does not\nalign with the scope of prior control flow statement(s).  I.e., where\nthe code visually suggests one kind of control flow, but in actuality\nfollows another.\n\nFix warnings found. They all seem to be simple cases of the indentation being\ndeceptive, but the existing flow being correct.\n"
    },
    {
      "commit": "5a7a23b09fed1cb26b901e3160c2f6e560cfd679",
      "tree": "0dbb526300f9510eb7621f046a3dce25a759ed7b",
      "parents": [
        "68cfaabc2e281b6ef9810138db3b42e52f1f0060"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Mon Jun 06 21:13:15 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Mon Jan 23 18:51:52 2017 +0000"
      },
      "message": "isisd: exit if daemonizing fails\n\nThe other daemons in Quagga exit with an error if they cannot fork.\nChange isisd to behave consistently.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nTested-by: NetDEF CI System \u003ccisystem@netdef.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "ef9bc88981570ef8ea744f0ab96730d192328a49",
      "tree": "1262be07ccbda5e412eed1e54a640723a03b81bb",
      "parents": [
        "985823ff91ed784b9affdb0104f617b2c1732dab"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Jun 14 20:07:06 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Mon Oct 17 17:41:36 2016 +0100"
      },
      "message": "isisd: Fix size of malloc\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "985823ff91ed784b9affdb0104f617b2c1732dab",
      "tree": "638c16eaef3a8b6d752eaf568e4a8db1644ccfcb",
      "parents": [
        "8548973ace90a78035893c3663c18b485425e291"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Jun 14 20:07:05 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Mon Oct 17 17:41:36 2016 +0100"
      },
      "message": "isisd: fix an error that was probably a result of copypasting\n\nThe code should check for the existance of the correct list prior to\naccessing it.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "af177b245ef3f092ecd0ae75cb75c2d797a7b139",
      "tree": "7306eac3fa1e2d9a897a33e3fb733b0a7dfed4e2",
      "parents": [
        "4c7d7173baa9fe064349f5fe2e0bdcb367475499"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Mon Aug 15 13:36:59 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:55 2016 +0100"
      },
      "message": "isisd: warn if there is an MTU issue on circuits\n\nInstead of later tripping over an assert, add a proper warning for\ninterfaces whose MTU is too low.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "4c7d7173baa9fe064349f5fe2e0bdcb367475499",
      "tree": "d1543cb7c7180e733f5e1561b69dcb23a427def7",
      "parents": [
        "1187e25191b38a1876fafbfd733a70942ebcb062"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Sat Aug 13 01:32:52 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:55 2016 +0100"
      },
      "message": "isisd: fold up isis_circuit_is_type_set()\n\nsee previous commit.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "1187e25191b38a1876fafbfd733a70942ebcb062",
      "tree": "9d026f5df8181b5a09fcd480899a31cee7cfee11",
      "parents": [
        "a798abbe65cc2cdce050a1aef85c6d243d44a575"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Sat Aug 13 01:20:20 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:55 2016 +0100"
      },
      "message": "isisd: fix is_type_set\n\nCode\u0027s \"is_type\" is \"circuit-type\" in CLI, \"circuit_type\" is \"network\"\n(type) in CLI, and the function to change is_type is\nisis_event_circuit_type_change()... *headdesk*\n\nReported-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "a798abbe65cc2cdce050a1aef85c6d243d44a575",
      "tree": "6c0fd64d82679ab93e0b653352cd380eef9bd033",
      "parents": [
        "5a1a087baebcc4a996de66c558bac49419034ee0"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Thu Aug 11 16:08:05 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:55 2016 +0100"
      },
      "message": "isisd: fix network-type configuration\n\nReported-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "5a1a087baebcc4a996de66c558bac49419034ee0",
      "tree": "ad386b2556a0072a39ea88ad36c54369c36cf68d",
      "parents": [
        "515812ddbbb6a41298261688c8ccd0df8e900f17"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Aug 11 17:02:50 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:55 2016 +0100"
      },
      "message": "isisd: fix isis_circuit_af_set() on fresh circuit\n\nA newly-created circuit will be in enabled state but have neither IPv4\nnor IPv6 configured.  The logic in isis_circuit_af_set assumed that\n\"enabled\" is equivalent to \"ip || ipv6\".\n\nThis is the only place where this distinction is currently relevant, as\nthe CLI won\u0027t allow enabling an interface without enabling either IPv4\nor IPv6;  and it will also disable a circuit when both are deconfigured.\n\nReported-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "515812ddbbb6a41298261688c8ccd0df8e900f17",
      "tree": "520c4a03130356863365f19f9c19f293e6fdd3d1",
      "parents": [
        "f263413f762058d887aa7b2b6c502bd84af3c923"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Aug 11 16:59:08 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:55 2016 +0100"
      },
      "message": "isisd: fix isis_circuit_create()\n\nBetween the awkwardly managed CSM and the tacked-on IPv6 support, the\nsimplified logic to setup a circuit wasn\u0027t quite right.\n\nNote that the API essentially allows creating a circuit without enabling\neither IPv4 or IPv6.  This wasn\u0027t possible before and probably breaks\nisisd in \u0027interesting\u0027 ways.  The CLI won\u0027t do this, so it\u0027s only an\nissue when adding on other configuration mechanisms.\n\nReported-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "f263413f762058d887aa7b2b6c502bd84af3c923",
      "tree": "22f9b44007f7b9dbfe530830fe245afd13d8f518",
      "parents": [
        "68845c19e468480dbdf5483f0b60323674a5ec28"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Jul 28 17:23:32 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:55 2016 +0100"
      },
      "message": "isisd: drop unused per-type metric values\n\nExpense, Error and Delay metrics never quite made it into the real\nworld.  Either way isisd does nothing useful with them, so let\u0027s drop\nthem from the code.  If someone wants to implement them, this patch can\nstill be reverted.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "68845c19e468480dbdf5483f0b60323674a5ec28",
      "tree": "e83a69267e6ca10a2396dd6180a3eaa998e62ef3",
      "parents": [
        "4570ca47e11602b25e37ab709fa00bdf8c183afb"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Thu Jul 28 17:23:31 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:54 2016 +0100"
      },
      "message": "isisd: API: area (L1), domain (L2) passwords\n\nLast isisd CLI cleanup for now.  This also folds L1 \u0026 L2 configs into\ncommon functions, reducing CLI function bloat by a bit.\n\n(This patch contains changes authored by both Christian Franke and David\nLamparter.)\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "4570ca47e11602b25e37ab709fa00bdf8c183afb",
      "tree": "2ff5974261ae0de057068425373acad40c29a43d",
      "parents": [
        "304c7dac53e2b1b3dc135ce2ff1aa38df46ec727"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Thu Jul 28 17:23:30 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:54 2016 +0100"
      },
      "message": "isisd: API: timers (LSP, SPF)\n\nSee previous commits...\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "304c7dac53e2b1b3dc135ce2ff1aa38df46ec727",
      "tree": "9efebc027cd961b40971bcdad862459ae416efd7",
      "parents": [
        "b5d2f5f5085147ff9e9d5ace7705c422cbc6afd0"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Thu Jul 28 17:23:29 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:54 2016 +0100"
      },
      "message": "isisd: API: LSP-MTU \u0026 area level\n\nYet more CLI functions in isis_vty.c using more nice setters.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "b5d2f5f5085147ff9e9d5ace7705c422cbc6afd0",
      "tree": "33f36c73478ed1d1583493d8e3841c72dbbba099",
      "parents": [
        "f5fbfb26e961d6b4b129f98bc27a3e822620eba3"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Jul 28 17:23:28 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:54 2016 +0100"
      },
      "message": "isisd: API: timers (IIH, CSNP, PSNP)\n\nNo setters needed since change of fields doesn\u0027t require any\nspecific action to make it apply.  Just move the CLI defs to isis_vty.c.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "f5fbfb26e961d6b4b129f98bc27a3e822620eba3",
      "tree": "37bb83e030bac19caac5e0eae9ca3055ef0ad38b",
      "parents": [
        "ccd485d17b13f3b6f5669be9b8820d8807468d98"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Thu Jul 28 17:23:27 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:54 2016 +0100"
      },
      "message": "isisd: API: circuit password\n\nThis cleans up circuit password configuration a little bit.\n(Restructured several times by both Christian Franke and David\nLamparter.)\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "ccd485d17b13f3b6f5669be9b8820d8807468d98",
      "tree": "84eeee1ba7bdba92f85192febbc2504c2b46a34b",
      "parents": [
        "3732cba03049b18fc414c36254cfc11186b2ba53"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Thu Jul 28 17:23:26 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:54 2016 +0100"
      },
      "message": "isisd: API: basic area config\n\nMove out basic area configuration (metric type, overload and attachment\nbits, dynamic hostname extension enable) into isis_vty.c.\n\n[v2: moved stuff back here that accidentally was in the previous patch]\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "3732cba03049b18fc414c36254cfc11186b2ba53",
      "tree": "ddcd74c7700ad2118659a35139ab4e80e8c0094b",
      "parents": [
        "f5603ccd01131a1905b842e36171d0f5c0424496"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Fri Jul 29 16:19:40 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:54 2016 +0100"
      },
      "message": "isisd: API: basic circuit config\n\nCreate isis_vty.c and start moving off CLI functions into that.  These\nthen call newly-added \"nice\" API wrappers.\n\nPatch contains significant work authored by Christian Franke.\n\n[v2: removed stuff that crept in from the next patch]\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "f5603ccd01131a1905b842e36171d0f5c0424496",
      "tree": "ea200b09ca089e09bcedf8598461e2f35d700f88",
      "parents": [
        "b4e011985232f28d98e4df88c7cb13ee8f95ef46"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Mon Sep 12 13:53:08 2016 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Oct 04 13:07:53 2016 +0100"
      },
      "message": "isisd: cleanup isis_circuit_lookup, errant from TE changes?\n"
    },
    {
      "commit": "0f2f7a3fa5d55e682d0739d586da021cbd43bc3c",
      "tree": "a8bdff569d71a784e2ba4ab154ce6ab70103638a",
      "parents": [
        "94627e670d661f95217521ef0bfba141e5e37e68"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Thu Jun 16 15:40:02 2016 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Sep 13 10:36:44 2016 +0100"
      },
      "message": "*: Fix duplicate commands from view/enable node consolidation\n"
    },
    {
      "commit": "4f593574c41deb598cbbefde5c6d938799e81d5a",
      "tree": "755b7fb742265b2dc4fe086e059f1ac6b060e6f9",
      "parents": [
        "29a1401706a762541b366c7844507efe2bc1345d"
      ],
      "author": {
        "name": "Olivier Dugeon",
        "email": "olivier.dugeon@orange.com",
        "time": "Tue Apr 19 19:03:05 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Sep 13 10:36:39 2016 +0100"
      },
      "message": "isisd: Add support of Traffic Engineering\n\nThese patches is an implementation of RFC5305 that enable the\nsupport of Traffic Engineering in IS-IS\n\n* isisd/Makefile.am: Add new files isis_te.c and isis_te.h\n\n* isisd/isis_circuit.[c,h]: Add new mpls_te_circuit structure to\n  isis_circuit structure to handle new Traffic Engineering TLVs\n* isisd/isis_lsp.c: Update LSP handler to mux/demux Traffic Engineering TLVs\n* isisd/isis_main.c: Add initialisation of ISIS TE\n* isisd/isis_pdu.c: Update function process_p2p_hello() to retrieve remote\n  IP address to populate Traffic Engineering TLV.\n* isisd/isis_te.[c,]: Implementation of RFC5305\n* isisd/isis_tlv.[c,h]: Update TLV definition and function to handle\n  Traffic Engineering ones\n* isisd/isis_zebra.c: Add new function isis_zebra_link_params() to retrieve\n  the link parameters of interfaces from ZBus to populate the Traffic\n  Engineering TLVs\n* isisd/isisd.[c,h]: Add Traffic Engineering support with new debug command\n\nSigned-off-by: Olivier Dugeon \u003colivier.dugeon@orange.com\u003e\n"
    },
    {
      "commit": "68b45cc592d5d61e748e8d99ec9f84e63aa73213",
      "tree": "eb1008834813757b86e5f4bc439e7b2b3188adbf",
      "parents": [
        "b9ac2f320922542e0320ceeced4aa7264564e98a"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Mar 11 14:27:13 2016 -0500"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Jul 20 12:58:33 2016 +0100"
      },
      "message": "*: Consolidate all double VIEW_NODE and ENABLE_NODE\u0027s\n\nIf a command is put into the VIEW_NODE, it is going into the\nENABLE_NODE as well.  This is especially true for show commands.\nAs such if a command is in both consolidate it down to VIEW_NODE.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "8b3ab1f1c8172ff7c77b382b6636c8e8314d7ebc",
      "tree": "853af8245024d9e72b94ccd25a77414a4460751b",
      "parents": [
        "d869dbd03b4d75d512552d07ed8fbe0807272a9c"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Feb 16 19:50:15 2016 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Jul 20 12:58:32 2016 +0100"
      },
      "message": "isisd: fix assert warning\n\nicc (the Intel C Compiler) \"knows\" that assert() can be disabled by\nsetting specific optimisation flags, and therefore emits a warning about\nmissing a return value after an \"always-error\" assert.\n\nWorkaround by returning a value - this probably needs discussion and a\nbetter fix (for all places where the code needs to abort due to internal\nerrors).\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "a0a661f982c4a9726573faf28817d77d3e7cdad5",
      "tree": "70f836df1c739c044addd3c3e701fa031505ce92",
      "parents": [
        "a343cf8d74920752ba0e35142e23a3ca56620755"
      ],
      "author": {
        "name": "boris yakubov",
        "email": "borisyakubov@ruggedcom.com",
        "time": "Fri Apr 26 14:38:34 2013 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Jul 20 12:58:30 2016 +0100"
      },
      "message": "isisd: Segmentation fault on isis daemon fixes\n\nI have a fix for 2 segmentation fault scenarios on the isis daemon:\n1. When running a command \"isis passive\" on an interface in the\nfollowing context:\n\"end\"\n\"configure terminal \"\n\"interface dummy0\"\n\"isis passive\"\nThe trace back collected:\nisis_adjacency.c:521\nfamily\u003d2,\n     root_sysid\u003d0x20aee6d0 \"\", parent\u003d0x20af4d68) at isis_spf.c:999\nsysid\u003d0x20aee6d0 \"\")\n     at isis_spf.c:1217\nisis_spf.c:1372\nisis_lsp.c:416\nisis_lsp.c:1660\nisis_main.c:368\n\nThe fix location:\nfile name: isisd/isis_adjacency.c\nroutine name: isis_adj_build_up_list\n\n2. When deleting the existing isis router instance:\n\"end\"\n\"configure terminal \"\n\"no router isis DEAD\"\n\nThe fix location:\nisisd/isis_events.c, routine circuit_resign_level\nisisd/isis_lsp.c, routine lsp_destroy\nisisd/isis_route.c, isis_route_validate\n\nThe trace back collection:\n\"DEAD\") at isisd.c:252\nargc\u003d1, argv\u003d0xbfc39054) at isisd.c:1520\nvty\u003d0x20d6f528, cmd\u003d0x0) at command.c:2121\ncmd\u003d0x0, vtysh\u003d0) at command.c:2155\nisis DEAD\") at vty.c:433\nisis_main.c:368\n\nand\n\n\"DEAD\") at isisd.c:260\nargc\u003d1, argv\u003d0xbfd6cf54) at isisd.c:1520\nvty\u003d0x208cb528, cmd\u003d0x0) at command.c:2121\ncmd\u003d0x0, vtysh\u003d0) at command.c:2155\nisis DEAD\") at vty.c:433\nisis_main.c:368\n\nThe patch is included.\n\npatchwork #833: http://patchwork.quagga.net/patch/833/\n"
    },
    {
      "commit": "e7207098c0fa88af6899c1b1483e3ddb19f5336a",
      "tree": "5df0525bedfed10c2380d191c550c81943d5e3cd",
      "parents": [
        "84a4da039fa620942b6c3a9ff21b7502803f53be"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Sun Apr 03 12:46:28 2016 -0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Apr 22 08:34:08 2016 -0400"
      },
      "message": "isisd: ignore unknown interfaces when adjusting IS-IS mtu\n\nFor example during startup of isisd, the MTU of interfaces is not\nknown, since this information will only be available once the\ninterfaces have been learned from zebra.\n\nIt makes no sense to include the MTU 0 that is stored for interfaces\nin this state in the consideration whether a new lsp-mtu for an\narea is valid, so skip interfaces which are in this state.\n\nSigned-off-by: Christian Franke \u003cnobody@nowhere.ws\u003e\n"
    },
    {
      "commit": "84a4da039fa620942b6c3a9ff21b7502803f53be",
      "tree": "e08768425d8bd46c3b34f24886cec8753e84d101",
      "parents": [
        "8ed8d0b5d1596ec9a6cce5ca45eb1cb1dff94978"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Sun Apr 03 12:46:27 2016 -0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Apr 22 08:34:01 2016 -0400"
      },
      "message": "isisd: make sure that all interface addresses are advertised\n\nIf the following configuration commands are run interactively in\nsuccession, the ipv6 addresses of this interface won\u0027t be advertised\nin the router\u0027s LSP immediately:\n\n   # interface eth0\n   # ip router isis test\n   # ipv6 router isis test\n\nThis is because the ipv6 router command won\u0027t trigger a state change\nfor the interface and therefore, it won\u0027t trigger a regeneration of\nthe LSPs.\n\nThe same thing happens if IPv4 is enabled after IPv6, or for the cases\nwhere IPv4 is disabled and IPv6 stays enabled or vice-versa.\n\nFix this by explicitly calling lsp_regenerate_schedule for the cases\nwhere it won\u0027t be called implicitly.\n\nSigned-off-by: Christian Franke \u003cnobody@nowhere.ws\u003e\n"
    },
    {
      "commit": "8ed8d0b5d1596ec9a6cce5ca45eb1cb1dff94978",
      "tree": "645a36cc091c6ab5d8ec6c8003d42c2085510a2f",
      "parents": [
        "106e38e4d42ecd94c083907872d514e8c67036f6"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Sun Apr 03 12:46:26 2016 -0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Apr 22 08:33:54 2016 -0400"
      },
      "message": "isisd: fix a crash due to an lsp-mtu issue\n\nisisd crashed on startup if it was enabled for an interface with\na too small MTU.\n\nTo fix this, we treat this case as an invalid configuration and\ndisable isis on that interface if that case happens, since it is\na configuration error.\n\nSigned-off-by: Christian Franke \u003cnobody@nowhere.ws\u003e\n"
    },
    {
      "commit": "106e38e4d42ecd94c083907872d514e8c67036f6",
      "tree": "62bbf4b4203df99f92672f91cd361aa6f055a4df",
      "parents": [
        "86c5d2ee68f7b9c00ae4aeb5c8b3c5d82c5ebffc"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Sun Apr 03 12:46:25 2016 -0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Apr 22 08:33:46 2016 -0400"
      },
      "message": "isisd: work around route table asserts for deleting node with info\n\nThe route table code in lib/table.c triggers an assertion when a route\nnode with rn-\u003einfo !\u003d NULL reaches refcount 0, probably to avoid\nmemleaks. In this particular case, this is not an issue, since the\ninfo will be freed by the destructor.\n\nHowever, since removing this assertion probably requires more\ndiscussion, just make sure that rn-\u003einfo gets freed and unset before\nits refcount is decremented to zero.\n\nSigned-off-by: Christian Franke \u003cnobody@nowhere.ws\u003e\n"
    },
    {
      "commit": "5e57b5fc621300427d3818f0723b8cd8d5e5ca6a",
      "tree": "738345e0c3121f329266e8b8faaa88661e7cdb2e",
      "parents": [
        "e3f623be8b6556db9d70c2fc5d3c2b152f36dc1d"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Mar 11 16:28:34 2016 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Mar 11 18:29:14 2016 -0500"
      },
      "message": "quagga: Remove double read of stream\n\nThe addition of a MIN(X,Y) with a stream_getc in the Y\ncauses a double read of the stream due to the way that\nMIN is defined.\n\nThis fix removes a crash in all protocols.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "bf83fa25f1bddec6f09ad879cba5e975a3ae5495",
      "tree": "a01a0137a4193d2d33d61bb43c113afef3e421a6",
      "parents": [
        "2db962760426ddb9e266f9a4bc0b274584c819cc"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Feb 09 15:23:03 2016 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Tue Mar 08 17:53:22 2016 +0000"
      },
      "message": "lib: Check prefix length from zebra is sensible\n\n* zclient.c: prefix length on router-id and interface address add\n  messages not sanity checked.  fix.\n\n* */*_zebra.c: Prefix length on zebra route read was not checked, and\n  clients use it to write to storage.  An evil zebra could overflow\n  client structures by sending overly long prefixlen.\n\nPrompted by discussions with:\n\nDonald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "9099f9b2a66e86f8a90d7fe18f61bd2bb1bc6744",
      "tree": "1ce5d2e4ecff6b57eb00d40b1a91b3f363ff35fe",
      "parents": [
        "954c7d6bcd04c2cf037965adda0f9d11afdcd165"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Mon Jan 18 10:12:10 2016 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Fri Feb 26 14:11:46 2016 +0000"
      },
      "message": "*: use an ifindex_t type, defined in lib/if.h, for ifindex values\n"
    },
    {
      "commit": "954c7d6bcd04c2cf037965adda0f9d11afdcd165",
      "tree": "707ba870b0989d08a98e6b969fc1e2388f09e1c0",
      "parents": [
        "4d3ae716ce86c28e3979c9ae57c4e717ac5e27e4"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Fri Jan 15 17:36:33 2016 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@hpe.com",
        "time": "Fri Feb 26 14:11:46 2016 +0000"
      },
      "message": "lib, zebra: unify link layer type and hardware address handling\n\nThis removes the BSD specific usage of struct sockaddr_dl\nhardware address. This unifies to use explict hw_addr member for\nthe address, and zebra specific enumeration for the link layer\ntype.\n\nAdditionally the zapi is updated to never send platform specific\nstructures over the wire, but the ll_type along with hw_addr_len\nand hw_addr are now sent for all platforms.\n\nBased on initial work by Paul Jakma.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "76764ddcf53fa4840993c395fdf383a47ad61e8e",
      "tree": "f2c0a5b808f404071ce5c023eb26650671911de9",
      "parents": [
        "642577340cfb7ad66d021ab2b86d72f7cdde03bc"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Nov 20 09:05:46 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:16:19 2015 -0500"
      },
      "message": "isisd, lib: Fix some more compiler warnings\n\nA couple compiler warnings snuck in from the last\nround of work being looked at.  This cleans them up\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "8253b73c3c71d4102c0010f63b59b2829f3b0f90",
      "tree": "8f70ae84df2f54269b632a572dd7a40c11fc0a1c",
      "parents": [
        "812f282cc1b2c69c1d75cfbfe7983725ceaa4b15"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Thu Nov 12 14:24:28 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: make send_lsp more robust\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nTested-by: NetDEF CI System \u003ccisystem@netdef.org\u003e\n"
    },
    {
      "commit": "812f282cc1b2c69c1d75cfbfe7983725ceaa4b15",
      "tree": "fe0c26f4bc1a971ffad9a5795e559f5cb1ebe92f",
      "parents": [
        "80d6b4e3e6358f52e06e576fcd927d0a009d964e"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:33:16 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: fix misleading wording in log\n\nThe changed messages are actually located before transmission is\nattempted. Therefore, the tense is somewhat misleading, especially\nsince transmission may not always succeed.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "80d6b4e3e6358f52e06e576fcd927d0a009d964e",
      "tree": "9425515af94f4a99300e2b47bab2b2ec3bc2ea14",
      "parents": [
        "e28718a8bffe0353691a2a7b2643bbeb2657fd66"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Nov 10 18:33:15 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: handle lsp confusion (ISO/IEC 10589:2002 7.3.16.2)\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "e28718a8bffe0353691a2a7b2643bbeb2657fd66",
      "tree": "8189979c8ed5e1889adde27ec8e4c52c457d8b4b",
      "parents": [
        "cb32a19d143a21f31a13aec83415f27d9daa6a27"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:33:14 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: fix IPv6 mask application\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "cb32a19d143a21f31a13aec83415f27d9daa6a27",
      "tree": "a7605b641ddcb155fbbdc4e6eabbd6de128be49d",
      "parents": [
        "ec87416a1048d547c514b535c15616f9ed932a62"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:33:13 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: show interface\u0027s ipv6 addreses\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "ec87416a1048d547c514b535c15616f9ed932a62",
      "tree": "3d967181e81e6a9ca0f7b9633f6844d7f6338e6e",
      "parents": [
        "acf9865f7fcec6a8d47df6ed7946a5e8ca398918"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:33:12 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: provide more detailed log for failed address removal\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "acf9865f7fcec6a8d47df6ed7946a5e8ca398918",
      "tree": "fac7d9ce2d2b6d984bde675641556e5063e8f655",
      "parents": [
        "9dfcca6122c9f4f3642241ff50029d7669af3999"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Thu Nov 12 14:24:22 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: add support to import routes from other protocols\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "9dfcca6122c9f4f3642241ff50029d7669af3999",
      "tree": "a5429f803a21a5caf2d9c466cf27e59e29ca2662",
      "parents": [
        "61010c33fd7bf3d923c5406656c0672f0336b179"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:32:11 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: fix assertion in LSP refresh timer calculation\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "61010c33fd7bf3d923c5406656c0672f0336b179",
      "tree": "9da23e8d078e328152567254304e189435fec49d",
      "parents": [
        "80a8f72654631fe00f787c73515dc7d064251adc"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:43:34 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: add a slight delay to lsp_regenerate_schedule\n\nisisd implements a holdoff interval and will refrain from regenerating\nan lsp if the difference between the current time and its last refresh\nis less than the holdoff interval. Instead, it will schedule a timer\nto regenerate the lsp after the holdoff interval has passed.\n\nThis implementation has one disadvantage in the case where there is a\nsuccession of calls to lsp_regenerate_schedule. In such a case, the\nfirst call will trigger an immediate regeneration of the lsp, while the\nother calls will only schedule the regeneration timer. This leads to\ncases where it takes holdoff interval time for information to propagate,\njust because the information was only available e.g. at the second call\nof lsp_regenerate_schedule in such a succession of calls.\n\nBy not immediately regenerating an lsp if the last generation time\nis sufficiently long ago, but instead scheduling the regeneration with a\nvery small delay, we allow all information from such a succession of\ncalls to be considered.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "80a8f72654631fe00f787c73515dc7d064251adc",
      "tree": "ea9c55d486d2472d85187f48485cc3a6ba7b00df",
      "parents": [
        "749e87a0731ae53cf73af507afb63bab3f8e937f"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Thu Nov 12 14:21:47 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: add a debug mode that traces LSP construction\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "749e87a0731ae53cf73af507afb63bab3f8e937f",
      "tree": "a05052f707c85c9e3dc7fbfcb1e51c2541b40e6e",
      "parents": [
        "f1fc1db703c34dbeb9639c4f6ebfb096cdc3fc62"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:21:44 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: purge on correct level\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f1fc1db703c34dbeb9639c4f6ebfb096cdc3fc62",
      "tree": "8872bb840dceafa88515afc6f13af22cc3f23ad5",
      "parents": [
        "7324ae1f0daa5537dbcfded208707581b2b36335"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Nov 10 18:43:31 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: allow to adjust lsp-mtu\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "7324ae1f0daa5537dbcfded208707581b2b36335",
      "tree": "6ddfcdf2de5c3961ede6a9fffb62cf1221a0e5d9",
      "parents": [
        "912aac4f670ffd383b757995914f4d1b5e7596aa"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:48 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: initialize circuit to match area is_type\n\nNew circuits should be initialized to match the is_type\nof their area. Also add an additional check to make sure\nthat no IIHs are sent for levels which are not enabled.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "912aac4f670ffd383b757995914f4d1b5e7596aa",
      "tree": "7b7e39d5b7c06d424554164e53a0a7e6ec3c2c28",
      "parents": [
        "f35169ecdb481ca1e176cbb234b5294b2ca901a7"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:47 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: do remove ipv6 routes from Zebra\n\nWe can abort isis_zebra_route_del_ipv6 if the route in question has\nISIS_ROUTE_FLAG_ZEBRA_SYNCED unset, meaning it\u0027s not in the kernel.\nAborting the function if the flag is set prevents us from removing\nany routes.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f35169ecdb481ca1e176cbb234b5294b2ca901a7",
      "tree": "2e3121c1bce6685dc50a438443b32fec4d9fbd05",
      "parents": [
        "b461630bed1a0ed33c3a38fc485caf826ff05ce9"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Thu Nov 12 14:09:08 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: don\u0027t corrupt memory for long hostnames\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "b461630bed1a0ed33c3a38fc485caf826ff05ce9",
      "tree": "36ff7fcdbcaf5f82275e008e9e101f5d07d09972",
      "parents": [
        "390f16ee4e506f782aa48077cc8318e6fdcf4a5c"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Nov 10 18:04:45 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: fix a typo in a log message\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "390f16ee4e506f782aa48077cc8318e6fdcf4a5c",
      "tree": "a7f84ab45aa06efa9609c74b507892f944bc26d4",
      "parents": [
        "77277a140984aa78756cbf363606a324c84113db"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:44 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: remove superfluous checks after XMALLOC etc.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "77277a140984aa78756cbf363606a324c84113db",
      "tree": "15a7b927aa663d18883c6f22fd586fe86f34f8d2",
      "parents": [
        "abfd40d68202882696260617729518a6d2c99302"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Nov 10 18:04:43 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: annotate some function arguments with const\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "1ca8d40f996c0760a1a8931f54044dd7ca9e3f9c",
      "tree": "df3274ac9d9d3731894cd5123eb8118ff6a7d8f5",
      "parents": [
        "c1900e09a7fdd70437f3ba0329868f1eee3f5a1a"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 17:45:03 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "ripd, isisd: fix warnings that make the build fail\n\nThese issues have been found by running buildtest.sh\nusing GCC 5.2.0 and Clang 3.7.0\n\nFixes pointer checks that can never be null\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nTested-by: NetDEF CI System \u003ccisystem@netdef.org\u003e\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "283596fd6d49a5b2861a6923db9a88628ef0eca4",
      "tree": "1b461a1fea8840efaafd1250f729831be91fea9f",
      "parents": [
        "be62b17c736ea06181f2788e3011066830555610",
        "fc1c114aab24fe47bc6a1976c1c602d507fa4e69"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@jakma.org",
        "time": "Wed Oct 28 14:25:06 2015 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Oct 28 14:25:06 2015 +0000"
      },
      "message": "Merge \u0027patch-tracking/4/proposed/netdef-solaris\u0027 into accepted\n"
    },
    {
      "commit": "be62b17c736ea06181f2788e3011066830555610",
      "tree": "ff751d9dcacd29edffff57b82f56a13247c9575a",
      "parents": [
        "056f3760cd311faf088d6f5fe06498960788c8c7"
      ],
      "author": {
        "name": "Michael Zingg",
        "email": "michael.zingg@zhaw.ch",
        "time": "Fri Oct 26 11:18:19 2012 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 11:00:30 2015 +0000"
      },
      "message": "isisd: Fix LSPs not being regenerated after adjacency change\n\nIn isisd LSP\u0027s are not regenerated after a change in adjacency if\nlsp-gen-interval has expired.\nI have tested this on Debian 6.0 with zebra and level1 isisd with point\nto point links. This problem is also listed in Test ISIS-18.3 on the\nopensourcerouting.org wiki:\nhttp://confluence.isc.org/display/osr/ANVL+ISIS+Compliance+Test+Plan\nhttp://confluence.isc.org/display/osr/ANVL+ISIS+Results\n"
    },
    {
      "commit": "ee162617ead116ebcda93b145a043231647b3380",
      "tree": "f84b2591937d82fb05d12b920ccc857b1765cfa6",
      "parents": [
        "a6a11765d4206a00b0875988ce352be7cdfa3617"
      ],
      "author": {
        "name": "Amritha Nambiar",
        "email": "amritha.nambiar@intel.com",
        "time": "Tue Oct 13 22:08:46 2015 -0700"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:22 2015 +0000"
      },
      "message": "isisd: Drop packet received on multiple interfaces due to the time gap in binding socket to an interface\n\nDue to the time window between opening socket and binding it to an interface, the same hello\npacket is delivered on multiple interfaces, unique socket per circuit is not yet established.\nWhen such hellos get processed, they form incorrect adjacencies. So, drop the packet that is\nreceived on multiple interfaces because the socket for the circuit is yet to bind to an interface.\n\nV2: Fix warning on sign comparison\n\nSigned-off-by: Amritha Nambiar \u003camritha.nambiar@intel.com\u003e\n"
    },
    {
      "commit": "7125293d65d73a451ec203c8c1630c236171f5a3",
      "tree": "f9d118c9a8f8374d69fb9c75c87531a2ca478fb2",
      "parents": [
        "fd1c1a133af47ae5533a5ed41b73ff62e7aa1058"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Thu Sep 24 09:25:19 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:21 2015 +0000"
      },
      "message": "lib: zclient.c remove extern struct thread_master *\n\nzclient.c depended upon link time inclusion of a\nextern struct thread_master *master.  This is a violation of the\nnamespace of the calling daemon.  If a library needs the pointer\npass it in and save it for future use.\n\nThis code change also makes the zclient code consistent with\nthe other lib functions that need to schedule work on your behalf\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f90ce64d68cf0ad56ff0370338ec58c883a3448d",
      "tree": "243ca3452d54fa1c2add7d203b6983d63f8853fc",
      "parents": [
        "da1b7eaa0ac5d590818e1cde92a9807a2f0e07f2"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 20:58:29 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "isisd/isis_dlpi: Fix warning\n\n\u0027fd\u0027 may be used uninitialized. Init to -1\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "ba6cd587b4114528c8d6af439c4f49c7bb95a92b",
      "tree": "4b7c33c07d78eaf6b2b6dbe1cab9e334fa12d91d",
      "parents": [
        "5181a0296687a6004dd00c7c0874886c9ff0bf60"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 03:00:59 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "isisd/solaris: fix size_t confusions\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "821df2cf18e5978cc7ab532a8695444380d08270",
      "tree": "f306ad0e31d572c44193b5d709b4b3915ea89d90",
      "parents": [
        "ca8ec20b017393dbe91ff9e5ae2b7ff12872f869"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 01:53:09 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:45 2015 -0700"
      },
      "message": "*: make sure zebra.h is always included first\n\nzebra.h pulls in config.h, which results in fiddling with things like\n__FILE_OFFSET_BITS. It must always be included first, in order to set\nflags that influence the compiler via \u003cfeatures.h\u003e.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "52c0bc739b1184621525e64720b944268d6b0eeb",
      "tree": "a556a51ef56f6ccaa63c942c9880c684fc4b3bae",
      "parents": [
        "c8ee940cc695cbcf9c0156ee6f72730f1fff9814"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@jakma.org",
        "time": "Thu Aug 20 21:30:17 2015 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 03 16:44:48 2015 +0100"
      },
      "message": "build: Remove the old PIC/PIE patch, let libtool sort it out\n\n* Remove the old change from \u002708 to add in PIE arguments at automake level.\n  Versions of libtool since then know how to deal with -fpie and do the right\n  thing according to whether its building shared or executable objects.\n  So just pass \u0027-fpie\u0027 as CFLAG and let libtool do its thing.\n"
    },
    {
      "commit": "c8ee940cc695cbcf9c0156ee6f72730f1fff9814",
      "tree": "135552b88429e1b9a6c8d08ad45bd19eaf39032d",
      "parents": [
        "06cc655c0345d610eb946bd41968caa03dc118ed"
      ],
      "author": {
        "name": "Amritha Nambiar",
        "email": "amritha.nambiar@intel.com",
        "time": "Mon Aug 24 16:40:14 2015 -0700"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 03 16:29:18 2015 +0100"
      },
      "message": "isisd: Attached-bit in LSP header\n\nSet/reset attached-bit in LSP header:\n    This patch provides support for set/reset attached_bit in the LSP header.\n    In IS-IS networks, routing inter-area traffic from L1 areas is\n    accomplished by sending the traffic to the nearest L1/L2 router.\n    A L1/L2 router identifies itself by setting an attach-bit (ATT-bit) in its (LSP).\n\n    The ATT-bit in LSP can be changed using the set-attached-bit or\n    no-set-attached-bit commands (similar to ‘set-overload-bit’ and\n    \u0027no set-overload-bit’) using telnet terminal in router configuration mode.\n\n    Steps:\n    enable\n    configure terminal\n    router isis \u003cRouting area\u003e\n    set-attached-bit\n\n    V2: Removed looping through area list as this well set the bit for all\n        areas in the list. This implementation now looks exactly like the\n        current overload bit implementation.\n\n    Signed-off-by: Amritha Nambiar \u003camritha.nambiar@intel.com\u003e\n"
    },
    {
      "commit": "06cc655c0345d610eb946bd41968caa03dc118ed",
      "tree": "7bf4e19ccaf35c96b81e8202d36aa23bff0d7c0b",
      "parents": [
        "22e0224d4148e0e4fd5952020fd6ae74efd1bf93"
      ],
      "author": {
        "name": "Amritha Nambiar",
        "email": "amritha.nambiar@intel.com",
        "time": "Thu Jul 02 15:42:58 2015 -0700"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 03 16:29:18 2015 +0100"
      },
      "message": "isisd: Add new adjacency to LSP neighbor list\n\nisis_pdu.c :\nNew adjacency did not always get added to LSP neighbor list.\n\nThe adjacencies that were created once minimum time allowed before LSP\nretransmission had surpassed, instantly got their LSP regenerated, but\nthe adjacency circuit type was not set to IIH PDU circuit type before\nthe LSP was regenerated , hence didn\u0027t pass the check for adjacency\ncircuit type in lsp_build(), and the adjacency was not added to neighbor list.\n\nWhen a new adjacency is up, to build LSP with neighbor entry corresponding\nto the adjacency, set adjacency circuit type to circuit type from hello PDU\nheader before new LSP is regenerated/built. This will result in the new\nadjacency entry getting added to the LSP neighbor list TLV.\n\nSigned-off-by: Amritha Nambiar \u003camritha.nambiar@intel.com\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "837d16ccbe0fca413f8927da6a34b1e97ccada8a"
}
