)]}'
{
  "log": [
    {
      "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": "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": "837d16ccbe0fca413f8927da6a34b1e97ccada8a",
      "tree": "7aed5a517b619c03d11bf567f6a14cda6f8f5efe",
      "parents": [
        "655071f44aab42e89bcece3a93da456fdd0d913a"
      ],
      "author": {
        "name": "Balaji.G",
        "email": "balajig81@gmail.com",
        "time": "Wed Sep 26 14:09:10 2012 +0530"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Thu Oct 25 10:15:59 2012 -0700"
      },
      "message": "*: use array_size() helper macro\n\nUse the array_size() helper macro.  Replaces several instances of local\nmacros with the same definition.\n\nReviewed-by: Scott Feldman \u003csfeldma@cumulusnetworks.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "08d7f6533ecc0f935a76918c462982004534864d",
      "tree": "0e67590a8a2aba551439c46bfa8b33d7fba4feb7",
      "parents": [
        "6b1e37f8537fa2a4560de32e83ca5089763e2d39"
      ],
      "author": {
        "name": "Vincent Bernat",
        "email": "bernat@luffy.cx",
        "time": "Tue May 22 22:29:17 2012 +0200"
      },
      "committer": {
        "name": "Vincent Bernat",
        "email": "bernat@luffy.cx",
        "time": "Mon Jun 25 19:03:23 2012 +0200"
      },
      "message": "build: use net-snmp-config to configure NetSNMP\n\nThe correct method to link to NetSNMP is to use net-snmp-config (which\nis like pkg-config). Explicit link to libcrypto is also dropped\n(NetSNMP libs are linked to libcrypto, no need to link Quagga to\nit). Moreover, @SNMP_INCLUDES@ is dropped because useless. Due to a\nbug in configure.ac, it was properly populated.\n"
    },
    {
      "commit": "9e7a548ce421660b0d22bfeb90c2b2b53742aac7",
      "tree": "4c962403808f98806781fb4ad15594152bc1effa",
      "parents": [
        "a47c5838e9f445ab887ad927706b11ccbb181364"
      ],
      "author": {
        "name": "Vincent Bernat",
        "email": "bernat@luffy.cx",
        "time": "Tue May 22 14:32:22 2012 +0200"
      },
      "committer": {
        "name": "Vincent Bernat",
        "email": "bernat@luffy.cx",
        "time": "Mon Jun 25 19:03:23 2012 +0200"
      },
      "message": "build: allow configure and build in a separate directory\n\nSome .h files in lib/ are autogenerated. The search path should\ninclude the build directory and the source directory. They usually\nmatch but sometimes, they may be different. For example:\n\n $ mkdir build\n $ cd build\n $ ../configure\n $ make\n"
    },
    {
      "commit": "27f689793a25a66cf62561ac1d1302e01983a805",
      "tree": "1f529ffcd0147f72d5977bd63dca5e20e8c1b42e",
      "parents": [
        "61a81bea6d21dedc62931d6925d0608ebc45c196"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Mon Mar 12 13:52:42 2012 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Sat Apr 28 21:38:44 2012 +0200"
      },
      "message": "babeld: merge kernel_zebra.c into kernel.c.\n\nIn upstream babel, we include different kernel_foo files depending on the\nplatform we compile for.  In Quagga, this is not needed, and it avoids\ntricky autotools issues.  (All autotools issues are tricky.)\n\n[David: without this commit, build breaks.]\n\nFrom: Juliusz Chroboczek \u003cjch@pps.jussieu.fr\u003e\nSigned-off-by: David Lamparter \u003cequinox@diac24.net\u003e\n"
    },
    {
      "commit": "61a81bea6d21dedc62931d6925d0608ebc45c196",
      "tree": "d5dbec7a4ae28ef82595f5242d4086ec33c09cbb",
      "parents": [
        "8d79efddb9c63f3b45e0ee7cac9508509b3b939c"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Mon Mar 12 13:51:49 2012 +0100"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Sat Apr 28 21:28:01 2012 +0200"
      },
      "message": "babeld: Include babel_main.h in noinst_HEADERS.\n\nbabeld wouldn\u0027t build in a dist tarball without this.\n\nFrom: Denis Ovsienko \u003cinfrastation@yandex.ru\u003e\nSigned-off-by: Juliusz Chroboczek \u003cjch@pps.jussieu.fr\u003e\n[fixed up git message]\nSigned-off-by: David Lamparter \u003cequinox@diac24.net\u003e\n"
    },
    {
      "commit": "6881f2698279f3c47a55e8969860eeac59e8c3d7",
      "tree": "7408dfdeff638ce16273cd7c8c4d9c35a99cfe87",
      "parents": [
        "cbde15513ba47f6e7f6d02fcafcfb12cd5b1df77"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 14 15:43:34 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: remove \"parasitic\" mode.\n\nThis is the functionality described in Appendix C of RFC 6126.  Its\nmain purpose is to avoid keeping a full source table, which makes it\npossible to implement a subset of Babel in just a few hundred lines of\ncode.  However, in Quagga the code for maintaining the source table is\nalready there, and a parasitic implementation can be simulated using\nfiltering -- so it makes little sense to keep the functionality.\n"
    },
    {
      "commit": "cbde15513ba47f6e7f6d02fcafcfb12cd5b1df77",
      "tree": "97c9fbd49c65207ca878237d7668ba51cb472f9d",
      "parents": [
        "5ca7986d546a1b65a4917aec0f1b594f950f7c27"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Tue Feb 14 15:12:03 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: 3 more timing statements in config text\n\nThis commit makes the following lines visible in running-config text,\nwhen respective intervals are configured to non-default values:\n\n* babel hello-interval\n* babel update-interval\n* babel resend-delay\n"
    },
    {
      "commit": "5ca7986d546a1b65a4917aec0f1b594f950f7c27",
      "tree": "db1870605c572a7a15493a6c5a1fd7d5d2e71ece",
      "parents": [
        "b63b4484c6d2c9d304d4ddd0756a4847c6dc5359"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 14 11:22:29 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: consolidate zebra interface into fewer functions.\n"
    },
    {
      "commit": "b63b4484c6d2c9d304d4ddd0756a4847c6dc5359",
      "tree": "e81471e9fd7e912ab16d3c2de9b3dbea5aa971e7",
      "parents": [
        "260948cdd6030b332137dfa0580d5a9ba651b145"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 14 11:17:32 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: fix typo in kernel_route_add_v6.\n"
    },
    {
      "commit": "260948cdd6030b332137dfa0580d5a9ba651b145",
      "tree": "873a640ce0a3befae45dbc4d4625ab97acbdb271",
      "parents": [
        "46b92c043f1a83d8343a4a0345a7b69bac3cdf20"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 14 09:09:32 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: set interface flags eagerly, not at interface up.\n"
    },
    {
      "commit": "46b92c043f1a83d8343a4a0345a7b69bac3cdf20",
      "tree": "11cfaf25b7654c09c6c0d30f4992b0715bf9ecd7",
      "parents": [
        "4d176dc07ccdcdefcd0e40043233a8c4f136f5c1"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 14 08:53:51 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: more helpful sample conf file.\n"
    },
    {
      "commit": "36329c02c36703cc2158c1c99b86045fed26d4ae",
      "tree": "64cebc900d5b528f5a85645f681a38b59e5ad669",
      "parents": [
        "cb4b13d945a4b44282e59fa2be9ceda752420a13"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 14 08:49:57 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: remove remains of standalone babeld\u0027s configuration code.\n\nStandalone babeld has a configuration interface that is not used in\nQuagga.  This removes a few bits of this code that survived the\nport to Quagga.\n"
    },
    {
      "commit": "cb4b13d945a4b44282e59fa2be9ceda752420a13",
      "tree": "6ff7d9cdbe147dc57cd651b21e70bce5735b971e",
      "parents": [
        "a14ef5eeccc8c76c41830475bbe3c31c9e14faa5"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Mon Feb 13 22:13:37 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: drive interface_config_write() forward\n"
    },
    {
      "commit": "a14ef5eeccc8c76c41830475bbe3c31c9e14faa5",
      "tree": "7099b5d4614c05491a1a5a1cef512f64c3f2512c",
      "parents": [
        "ce590ecd85b3cf32c5429f09e12d92248cc01ef2"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Sat Feb 11 21:06:16 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: justify \"running-config\" meaning in CLI\n\nThe primary focus of this commit is to make \"show running-config\"\ncommand display more current configuration, including some of the bits\npreviously seen in the output of \"show babel running-config\". Besides\nthat, the following commands were renamed for consistency with the\nsyntax of other components:\n\n\"debug *\" to \"debug babel *\" (and moved to top level)\n\"show babel running-config\" to \"show babel parameters\"\n\n* babel_interface.c\n  * show_babel_running_config(): rename to show_babel_parameters(),\n    update syntax pattern, don\u0027t call show_babeld_configuration()\n  * babel_if_init(): update respectively\n  * babel_enable_if_config_write(): new VTY helper for static\n    babel_enable_if\n* babel_interface.h: add extern declaration\n* babel_main.c: unset all debug options by default\n  * show_babel_main_configuration(): remove debug options decoder\n* babel_zebra.c\n  * babel_debug(): rename to debug_babel(), update syntax pattern\n  * no_babel_debug(): rename to no_debug_babel(), update syntax pattern\n  * babelz_zebra_init(): update respectively\n  * debug_babel_config_write() new VTY helper for static debug_type\n* babel_zebra.h: add extern declaration\n* babeld.c\n  * babel_config_write(): add the code to output \"debug babel *\",\n    \"router babel\", \"redistribute *\" and \"network *\" statements\n  * show_babeld_configuration(): dismiss\n* babeld.h: remove extern declaration\n* babeld.texi: update for renamed commands\n* babeld.conf.sample: idem, add debug statements block\n"
    },
    {
      "commit": "ce590ecd85b3cf32c5429f09e12d92248cc01ef2",
      "tree": "b9815ffc6af493f467d0ec820b4f27a6bf78acdd",
      "parents": [
        "8a46e12f5f0b02d58b1d7bc6c0d140aeec6c80c2"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Sat Feb 11 17:48:05 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "Remove dead variable reboot_time.\n\nThanks to Denis Ovsienko.\n"
    },
    {
      "commit": "9c298c7119c1dba6c589b8f4c358debd8e694b72",
      "tree": "d8ae18bd5aec994e02aabed536446a24051cefbc",
      "parents": [
        "c428edba5fb151844d28fbb41fce1df466a74e42"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Sat Feb 11 14:06:24 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: display update-interval and resend-delay in show commands\"\n"
    },
    {
      "commit": "c428edba5fb151844d28fbb41fce1df466a74e42",
      "tree": "739698e02d1d1e1108015980a6e3fba7a0e64404",
      "parents": [
        "b58871ee4d54989c16a60a839a592c9c4ab19cc3"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Sat Feb 11 14:02:10 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: vty commands (hello-interval, update-interval, resend-delay).\n"
    },
    {
      "commit": "b58871ee4d54989c16a60a839a592c9c4ab19cc3",
      "tree": "0416cf9ff1b2125463a760aff247c52beac329bc",
      "parents": [
        "52d54422bdc0b70356d84a38a0ce15ba5dea03e0"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Sat Feb 11 13:34:30 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: remove port and group setting commands.\n\nThey didn\u0027t work anyway, since they\u0027re called too late.\n"
    },
    {
      "commit": "52d54422bdc0b70356d84a38a0ce15ba5dea03e0",
      "tree": "175c986de70da9ccb9e88ec137a2577713653d42",
      "parents": [
        "359be3d0e4db5c931b1ad0dabbac2dea77394de1"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Sat Feb 11 13:08:00 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "Resynchronise with babeld-1.3.1.\n"
    },
    {
      "commit": "359be3d0e4db5c931b1ad0dabbac2dea77394de1",
      "tree": "4df570e46604bb29f178a94656abcbfbd9154edd",
      "parents": [
        "3c442e8802c260a0ce9787b5f432a7a2a093be25"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Sat Feb 11 15:25:01 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: dismiss babel_redistribute_unset()\n\nThe function was effectively duplicating existing\nzclient_redistribute(). This makes no_babel_redistribute_type()\nconsistent with babel_redistribute_type()\n"
    },
    {
      "commit": "3c442e8802c260a0ce9787b5f432a7a2a093be25",
      "tree": "4fdbf9843386175a380a46e2b75dc0f23aeceb4d",
      "parents": [
        "9c58fbd7d7658055c2b3074489c6d338448d88e9"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Wed Feb 08 23:30:46 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: fix wire{d,less} commands name.\n"
    },
    {
      "commit": "d70ab9dcd8f054ebd5f60a29dbbd9b39f9fe7566",
      "tree": "2901221e2a01c5079f2dba182f09570e8d7c0f6c",
      "parents": [
        "31e2a19fd2b4aca34b1d2f5e2eb8c9a44b9ea6c9"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Thu Feb 09 17:23:09 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:54 2012 +0100"
      },
      "message": "babeld: Add support for blackhole routes.\n\nBabel makes use of blackhole routes to prevent routing loops between\noverlapping prefixes shortly after a route is retracted (see RFC 6126\nsections 2.8 and 3.5.5).  This patch adds support for installing such\nblackhole routes.\n"
    },
    {
      "commit": "31e2a19fd2b4aca34b1d2f5e2eb8c9a44b9ea6c9",
      "tree": "a45b53df9a0a9d9acda77462d0993ca836df3936",
      "parents": [
        "578ce371d12422ce444f31ae4e51b21675c74b55"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Thu Feb 09 14:06:11 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: refactor filtering stubs.\n\nFactorise the common parts of the in/out filtering functions.  This also\nfixes a bug with filtered out routes, which in babeld are signalled by\na filter returing INFINITY, not -1.\n"
    },
    {
      "commit": "82509bfde09b15ac8856a374aac6d5d62b91f54a",
      "tree": "c9e45fb9cba3fd9b64357537e8fe342bb9fe38ad",
      "parents": [
        "b6475ecb14abab936919894050f9ca47415d0f48"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Thu Feb 09 13:35:27 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: Use quagga_gettime.\n"
    },
    {
      "commit": "b6475ecb14abab936919894050f9ca47415d0f48",
      "tree": "2db873dd6edb2e68ef2c0e37d44acf0ea9068521",
      "parents": [
        "53b21956f650df86a76b7a7047cfa85114c99dcc"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Thu Feb 09 12:29:10 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: Don\u0027t use an ifindex when installing IPv4 routes.\n\nStand-alone babeld installs routes using both a next-hop gateway\nand an interface index.  Unfortunately, this doesn\u0027t work for IPv4\nunder Quagga.\n\nWe now ignore the ifindex when installing IPv4 routes, which makes\nBabel work for IPv4 in prefix-based networks.  Of course this breaks\nIPv4 mesh networks, unless you play some tricks with your interfaces\u0027\nnetmasks.\n"
    },
    {
      "commit": "53b21956f650df86a76b7a7047cfa85114c99dcc",
      "tree": "7a07aba2dcd54b609443974c09ec6f6f5698756a",
      "parents": [
        "73c74d4ee8bd0bc3fae899679e852df9c61f0ed3"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Tue Jan 31 17:09:55 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: remove some unused functions\u0027 arguments.\n"
    },
    {
      "commit": "ec0c848047954158b4316d45586079cbb774a7fe",
      "tree": "cd95fef71d389c06513575ec39592851aebda984",
      "parents": [
        "38846de1fd7fa9005933564de28360fb9bdf02bb"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 07 05:44:41 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: Indentation fix.\n"
    },
    {
      "commit": "38846de1fd7fa9005933564de28360fb9bdf02bb",
      "tree": "ec52e9591640b5edbb3b868d487191ec9e324199",
      "parents": [
        "e19ed8c4516621be74b9a28c887185fc66b67430"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 07 05:43:36 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: Error handling and tweaks for babeld commands.\n"
    },
    {
      "commit": "e19ed8c4516621be74b9a28c887185fc66b67430",
      "tree": "2af3257496f6dc568649ee1596d3a265cc8cfd26",
      "parents": [
        "feb6c53eacf630bf18d29e1994f65e567dbdd985"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 07 05:36:06 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: Fix typo in hello interval command.\n"
    },
    {
      "commit": "831aeb9a87d9071829758caf11130aee5578f9c2",
      "tree": "1d0f7da3a51a47d25e5430c69dbd086ea9c22248",
      "parents": [
        "8c4e57a57562c9329b1de4c29ee921ab98182c6b"
      ],
      "author": {
        "name": "Juliusz Chroboczek",
        "email": "jch@pps.jussieu.fr",
        "time": "Tue Feb 07 04:56:47 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: Replace the babeld.conf.sample file by one that actually works.\n"
    },
    {
      "commit": "8c4e57a57562c9329b1de4c29ee921ab98182c6b",
      "tree": "54253839ace41b14e363b6c5ede863c34e91e2e6",
      "parents": [
        "69394543597a0fd8c161c5c8a0d25c8b1cfa8a93"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Sat Jan 28 00:29:51 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: fix interface bug, simplify code.\n\nPerhaps could it be able to free already free memory (so free(NULL)),\nin function interface_reset().  On other hand, it initiated untracked\ninterfaces, raising (at least) inappropriate messages. Finally, I\nremove the BABEL_IF_IS_ENABLE flag, witch was not really usefull.\nNote the test if_up isn\u0027t weaker, because (...IS_UP \u003d\u003e ...IS_ENABLE).\n"
    },
    {
      "commit": "69394543597a0fd8c161c5c8a0d25c8b1cfa8a93",
      "tree": "9e13b75ac01d607d4006db15fd14db811b9310e0",
      "parents": [
        "210f6f66287c40f247c1a4ff983aae85b9e42e2c"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Sat Jan 28 10:35:12 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: state-file was loaded too early. Initial seqno too.\n"
    },
    {
      "commit": "210f6f66287c40f247c1a4ff983aae85b9e42e2c",
      "tree": "37b63e1cffca96ba3f069f777b89f5f18284a523",
      "parents": [
        "a0edef1b74bc9785b2aa1ed292a2777b6a75d40e"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Sat Jan 28 00:07:14 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: fix eui64 features.\n\nWe are interested by eui64 with at least 6 octets.\n"
    },
    {
      "commit": "a0edef1b74bc9785b2aa1ed292a2777b6a75d40e",
      "tree": "e8be8ce19865379388f57d7131c463de2d960dab",
      "parents": [
        "05c943ac43087750ebc81b916b7dccfe4ae074ff"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Fri Jan 27 22:54:11 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: \"return CMD_SUCCESS\" was missing for command \u0027no debug\u0027.\n"
    },
    {
      "commit": "05c943ac43087750ebc81b916b7dccfe4ae074ff",
      "tree": "479fdbb7567e4c01656f9cbf5d19d712e73d2ae4",
      "parents": [
        "c35fafdf887aa32c5be6ad738d3a3b0140cea6e8"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Thu Jan 26 22:15:34 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: Replace redistribution strings with route_types.h defines.\n"
    },
    {
      "commit": "c35fafdf887aa32c5be6ad738d3a3b0140cea6e8",
      "tree": "4aa21a41dcd82247e467e5b955a6f7813bfd7ba7",
      "parents": [
        "16e51b246be6b18641327685f44bd4f5f6649367"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Mon Jan 23 23:46:32 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: babelz merge.\n\nBabelz is the last version of the stand-alone babel daemon. In\nparticular, it use multiple channels to diminuate\ninterferences. Please refer to this one for more details.\n"
    },
    {
      "commit": "16e51b246be6b18641327685f44bd4f5f6649367",
      "tree": "2ad92205d59a36e1d5c822a369fe92381dd43e5c",
      "parents": [
        "0b42c70840e16b048f62a38652123eb2cb900b65"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Mon Jan 23 00:22:14 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: remove unused variable.\n"
    },
    {
      "commit": "a19a3bf94740aebff6fdfc76f3d4b17c0013fae4",
      "tree": "057e963785a71025500fe3b1e052c348c86c5d67",
      "parents": [
        "ec8d8d5ba648302cf9405f1346e3760d9b9d061c"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Sat Jan 21 23:16:00 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: add MP-specific zclient API fix\n\nAdd proper initialization of SAFI field, which is present in the\nrevisions of zapi_ipv4 and zapi_ipv6 structures specific to\nMP-BGP patchset. Without this change no Babel routes could make\ninto zebra RIB.\n"
    },
    {
      "commit": "ec8d8d5ba648302cf9405f1346e3760d9b9d061c",
      "tree": "ec5a3e3677000458e17e941deccf9c0308ae759a",
      "parents": [
        "6dfeb3f6cfaf89ce0e11421b48feb2965a43ffd6"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Fri Jan 20 15:32:16 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: change the modify route system.\n\nZebra doesn\u0027t set errno to EEXIST if we add a route who was already in\nthe kernel, so we always returned after just doing \"add; delete\". This\npatch fix the problem by doing \"delete; add\" always.\n"
    },
    {
      "commit": "6dfeb3f6cfaf89ce0e11421b48feb2965a43ffd6",
      "tree": "73b35ad02beef3db3e1b69a15c1c82e72c1bd287",
      "parents": [
        "f1305cbfbed050ed4f389fa282bef49917ffd638"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Fri Jan 20 17:53:57 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:53 2012 +0100"
      },
      "message": "babeld: fix bug due to v4mapped addresses.\n"
    },
    {
      "commit": "f1305cbfbed050ed4f389fa282bef49917ffd638",
      "tree": "5b2b264b5d4be7619b90f28225d157ed28232d27",
      "parents": [
        "b5d43c939476b49106b1ab80b61609aba43c915d"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Fri Jan 20 00:19:35 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: add command (config) to set debug flags.\n"
    },
    {
      "commit": "b5d43c939476b49106b1ab80b61609aba43c915d",
      "tree": "6f5cf39088c98a114b0ccadc3a65f3dd848a222c",
      "parents": [
        "2236df03898f82e627f865e11157a5e08dd2e4ba"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Thu Jan 19 22:38:56 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: remove useless variable, make local another.\n"
    },
    {
      "commit": "3f031ed536cf96d44015cf49d1f734d15d194f0a",
      "tree": "b119fce3d2a11f580e355cec08eab50d6b30c181",
      "parents": [
        "72db20bf8f6af1fd70ae42f287360cad835f042b"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Wed Jan 18 23:03:00 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: fix commands informations messages.\n"
    },
    {
      "commit": "72db20bf8f6af1fd70ae42f287360cad835f042b",
      "tree": "6bc7d807f5ef0bbba7f89059504a7f71cada1f46",
      "parents": [
        "3cb4134bcfb2b9f7aa885a39cc0efc3b18125490"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Wed Jan 18 22:06:10 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: place the babel-state file in the quagga vars directory.\n"
    },
    {
      "commit": "3cb4134bcfb2b9f7aa885a39cc0efc3b18125490",
      "tree": "c6a6e0177bafc14ad6b240f725a07bb64653a830",
      "parents": [
        "d3351d1ebf99591cf436035bb148e4ae0b351ffc"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Wed Jan 18 20:20:59 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: use zlog_debug instead of do_debugf, for debugf.\n"
    },
    {
      "commit": "d3351d1ebf99591cf436035bb148e4ae0b351ffc",
      "tree": "f0e5286ec77fe2bab401343df6ce32e79a7b963b",
      "parents": [
        "1f39f466e439f217dcbae741ddc23a5340a05ec9"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Thu Jan 19 22:36:56 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: add command: \"show_babel_running_config\".\n"
    },
    {
      "commit": "1f39f466e439f217dcbae741ddc23a5340a05ec9",
      "tree": "bfe2fe898eacf5b4363d63bde9387efb3bb11125",
      "parents": [
        "297a55ba1ce58b281b825400abeca6c32b99db52"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Wed Jan 18 20:01:31 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: add command: \"show_babel_database\".\n"
    },
    {
      "commit": "297a55ba1ce58b281b825400abeca6c32b99db52",
      "tree": "cdeeb45d82ed83f6db0bf3920ea7be14f55f94fa",
      "parents": [
        "0ee8a1f1d61ce55642d9164625ab36700fe2c3a9"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Wed Jan 18 16:39:29 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: add command: \"show_babel_neighbour\".\n"
    },
    {
      "commit": "0ee8a1f1d61ce55642d9164625ab36700fe2c3a9",
      "tree": "1bb2592f6386b38bb6254cd7d6267a2cde056275",
      "parents": [
        "4eedea551290906fc76f3a0c908ae759e78bb68a"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Wed Jan 18 00:52:06 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: avoid segfault (bug 706).\n"
    },
    {
      "commit": "4eedea551290906fc76f3a0c908ae759e78bb68a",
      "tree": "dcc0782b8ffe445f3a75839b99eabc50194442ef",
      "parents": [
        "d4e46e681434e768b870679b998eb1ac7635fdfc"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Tue Jan 17 22:46:21 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: change fprintf(stderr) in term of zlog_err.\n"
    },
    {
      "commit": "d4e46e681434e768b870679b998eb1ac7635fdfc",
      "tree": "9c37d25a9f90c1546e325811678b861b25a14c8e",
      "parents": [
        "8f3607f84eb5d21d4732a51b39775b7edf8796c2"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Tue Jan 17 19:25:03 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: implement \"show babel interface\" command\n\n* babel_interface.c\n  * show_babel_interface_sub(): new function to process one ifp\n  * show_babel_interface(): new function, VTY wrapper\n  * babel_if_init(): update respectively\n"
    },
    {
      "commit": "8f3607f84eb5d21d4732a51b39775b7edf8796c2",
      "tree": "3acdc79efb673d2797ac12abf28308815213f9fe",
      "parents": [
        "446d73b7ae544df3af68b4e85ddcd06c2d3589bf"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Tue Jan 17 17:04:00 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: add handling of \"-z\" cmdline arg\n"
    },
    {
      "commit": "446d73b7ae544df3af68b4e85ddcd06c2d3589bf",
      "tree": "9e09fbc19f68c90e7ab6c3ee43e1efbf7cf3214f",
      "parents": [
        "f8a246d6df0556fb897e1785d1c2ea81caf8956d"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Tue Jan 17 17:00:20 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: bring babel_usage() into focus\n"
    },
    {
      "commit": "87c271c69330cfcea7955503eba3ed15a15cb634",
      "tree": "b336a3004fcdc45dea7ff336889984ca8f94e320",
      "parents": [
        "528eab1fd04434e0befe9a98191b11602e3cb2ff"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Tue Jan 10 15:58:04 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: address remaining -Wcast-qual warnings\n\n* net.c\n  * babel_send(): arguments are not treated as \"const\", justify\n    declaration\n* babel_main.c: declare constant pointers as such\n"
    },
    {
      "commit": "528eab1fd04434e0befe9a98191b11602e3cb2ff",
      "tree": "2d7db816953bda15297d9d500c3c878185f22ca3",
      "parents": [
        "c7c53fa88ccdbc2d48cf7327c9e4f33cdc517a8a"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Sun Jan 08 17:07:10 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: fix bug concerning pidfile.\n"
    },
    {
      "commit": "c7c53fa88ccdbc2d48cf7327c9e4f33cdc517a8a",
      "tree": "9bd7e691165412840555be6d10a7a37b69b00bc0",
      "parents": [
        "3dbda0ceebe369a1071600fe7d8d8ecf45f1027c"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Sun Jan 08 16:43:08 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: address some other compilation warnings.\n"
    },
    {
      "commit": "3dbda0ceebe369a1071600fe7d8d8ecf45f1027c",
      "tree": "1df830052d1a516bc4ec6b213b36b16d28c9868d",
      "parents": [
        "ef4de4d36c2dc10a68d41e518057d04b262ec867"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Sun Jan 08 16:52:36 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: address some compilation warnings\n\nIncluding system headers is not necessary with zebra.h included and\nsometimes results in \"__ASSERT_FUNCTION redefined\" compilation warning.\n\n* babeld.c\n  * babel_distribute_update_interface(): make static\n* babel_interface.c\n  * interface_config_write(): unused \u0027babel_ifp\u0027\n  * don\u0027t include system headers\n* message.c\n  * send_request(): unused \u0027babel_ifp\u0027\n  * send_multihop_request(): idem\n  * don\u0027t include system headers\n* route.c: don\u0027t include system headers\n* xroute.c: idem\n* source.h: newline at EOF\n* message.h: idem\n"
    },
    {
      "commit": "ef4de4d36c2dc10a68d41e518057d04b262ec867",
      "tree": "fb194c240926977a85d3f313f65b3ab038fb8d1a",
      "parents": [
        "089082b5d51c41a4498edb6a3f495ade0d517e73"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Sun Jan 08 15:29:19 2012 +0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: address FreeBSD \"struct route\" issue\n\nFreeBSD system headers have their own \"struct route\", which made it\nimpossible to compile babeld. Switching babeld to \"struct babel_route\".\n"
    },
    {
      "commit": "089082b5d51c41a4498edb6a3f495ade0d517e73",
      "tree": "af876f1c7fcbd3077ffcce8c76e031c226b654cf",
      "parents": [
        "5734509c0545ebd95a5b8e3f22a911c1a39ffa1b"
      ],
      "author": {
        "name": "Matthieu Boutier",
        "email": "boutier@pps.jussieu.fr",
        "time": "Fri Jan 06 23:09:23 2012 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:52 2012 +0100"
      },
      "message": "babeld: clean kernel_zebra (old functions, fields...).\n"
    },
    {
      "commit": "5734509c0545ebd95a5b8e3f22a911c1a39ffa1b",
      "tree": "2f35ad50d793080db1f858c2de2228cfd2946dfd",
      "parents": [
        "fe67e668881b8b8d71b1570575c913cd287fafcf"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Dec 25 17:52:09 2011 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Mar 25 17:06:51 2012 +0100"
      },
      "message": "babeld: Initial import, for Babel routing protocol.\n\n* Initial import of the Babel routing protocol, ported to Quagga.\n* LICENCE: Update the original LICENCE file to include all known potentially\n  applicable copyright claims.  Ask that any future contributors to babeld/\n  grant MIT/X11 licence to their work.\n* *.{c,h}: Add GPL headers, in according with the SFLC guidance on\n  dealing with potentially mixed GPL/other licensed work, at:\n\n  https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html\n"
    }
  ]
}
