)]}'
{
  "log": [
    {
      "commit": "6b0655a25194c7c0331154edaa6124cf783e5e5e",
      "tree": "c0c7d479f2684531249668210da27a60322ba395",
      "parents": [
        "fdb913aedb5a9807ad60715e8badb4f25d57acea"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Jun 04 06:53:35 2014 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Wed Jun 04 06:58:02 2014 +0200"
      },
      "message": "*: nuke ^L (page feed)\n\nQuagga sources have inherited a slew of Page Feed (^L, \\xC) characters\nfrom ancient history.  Among other things, these break patchwork\u0027s\nXML-RPC API because \\xC is not a valid character in XML documents.\n\nNuke them from high orbit.\n\nPatches can be adapted simply by:\n\tsed -e \u0027s%^L%%\u0027 -i filename.patch\n(you can type page feeds in some environments with Ctrl-V Ctrl-L)\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "a11e012e8661629d665e992e765741a5eaa7d017",
      "tree": "d6967d9c5044f8c924aa2f4b62bac8e3bda358e2",
      "parents": [
        "b52aef18a9f3acc8b24ab5c2631dc574b8e2ec70"
      ],
      "author": {
        "name": "Remi Gacogne",
        "email": "rgacogne-github@coredump.fr",
        "time": "Sun Sep 08 13:48:34 2013 +0000"
      },
      "committer": {
        "name": "Vincent JARDIN",
        "email": "vincent.jardin@6wind.com",
        "time": "Tue Feb 11 10:28:03 2014 +0100"
      },
      "message": "security: Fix some typos and potential NULL-deref\n\nThis patch against the git tree fixes minor typos, some of them possibily\nleading to NULL-pointer dereference in rare conditions.\n\nSigned-off-by: Remi Gacogne \u003crgacogne-github@coredump.fr\u003e\nSigned-off-by: Joachim Nilsson \u003ctroglobit@gmail.com\u003e\nAcked-by: Feng Lu \u003clu.feng@6wind.com\u003e\n"
    },
    {
      "commit": "ab0f61552622084a13ede59adefc4c54b5513d7b",
      "tree": "d85ca70e55f064fd3a24072cf0f9a5fbbcdd5181",
      "parents": [
        "9e4ca89c3678431560a8259c75f8b5874d83d351"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 10 14:22:44 2009 +0300"
      },
      "committer": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Thu Dec 10 14:22:44 2009 +0300"
      },
      "message": "zebra: deal with irdp compile warnings\n\n* zebra/irdp.h\n  * irdp_send_thread(): move prototype to common header file\n  * irdp_advert_off(): idem\n  * process_solicit(): idem\n  * irdp_read_raw(): idem\n  * send_packet(): idem\n* zebra/irdp_interface.c\n  * inet_2a(): move function to where it is used\n  * in_cksum(): lib/checksum.h already provides prototype\n  * irdp_send_thread(): prototype moved away\n  * inet_2a(): idem\n  * irdp_advert_off(): idem\n  * b1, b2, b3, b4: get rid of global buffers for inet_2a()\n  * if_group(): add local buffer for inet_2a()\n  * if_add_group(): idem\n  * if_drop_group(): idem\n  * irdp_config_write(): idem\n  * Adv_new(): make static\n* zebra/irdp_main.c\n  * irdp_read_raw(): prototype moved away\n  * send_packet(): idem\n  * in_cksum(): lib/checksum.h already provides prototype\n  * inet_2a(): function moved to irdp_interface.c\n* zebra/irdp_packet.c\n  * b1, b2, b3, b4: get rid of global buffers for inet_2a()\n  * in_cksum(): lib/checksum.h already provides prototype\n  * process_solicit(): prototype moved away\n  * irdp_read_raw(): fix uninitialized variable\n"
    },
    {
      "commit": "ec5e42b3c50e3a8e95963161319fa1a56466b2ae",
      "tree": "4eba2580aca51f386ce2f879f32f8616279a1ba3",
      "parents": [
        "e84999d93afd0f727f7325431c055cc26c988c68"
      ],
      "author": {
        "name": "Jeremy Jackson",
        "email": "jerj@coplanar.net",
        "time": "Wed Jan 21 20:51:57 2009 -0500"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Fri Jun 19 15:03:31 2009 +0100"
      },
      "message": "[cleanup] convert bzero() deprecated by POSIX to memset()\n\nautoscan 2.62 complains about bzero(), so a good fix\nnowadays is to just replace it.\n"
    },
    {
      "commit": "36943749147bef10df8ffc0e2ad79f4dd06cd9ac",
      "tree": "17f031ea7faf31f94e7e7adfaace741ca4d17e39",
      "parents": [
        "7e4bcdc1d6d0e0338fe5cac6103dd485332e7b51"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Fri Aug 04 06:18:04 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Fri Aug 04 06:18:04 2006 +0000"
      },
      "message": "[zebra] IRDP: Move stream_free to where its created, probably fixing a leak\n\n2006-08-01 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* irdp_main.c: (irdp_advertisement) free the stream here, when done,\n\t  right under where it was allocated so it\u0027s blindingly obvious\n\t  it\u0027s correct. This possibly fixes a very slow leak of streams in\n\t  zebra.\n\t* irdp_packet.c: (send_packet) don\u0027t free the stream here as\n\t  it\u0027s hard to tell if right, plus an error case seemed to\n\t  returning before free anyway.\n"
    },
    {
      "commit": "2da40f4919f6268d4935c42a358739ffdf3a48dc",
      "tree": "aa40f9570647e8631ed5d74371f9c11bec25a98f",
      "parents": [
        "a608bbf27b48b7bd5e63f1c46380a1c5288ba48a"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Mar 30 16:33:13 2005 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Wed Mar 30 16:33:13 2005 +0000"
      },
      "message": "2005-03-30 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* irdp.h: Add prototype for irdp_sock_init, and fix protos for\n\t  other irdp_* functions.\n\t* irdp_interface.c: (irdp_if_start) If irdp_sock is negative,\n\t  call irdp_sock_init to create the IRDP socket.\n\t  (irdp_if_init) Rename to irdp_init().\n\t  (get_iflist_ifp) Remove function that is a duplicate of\n\t  if_lookup_by_index.\n\t  (*) Make many functions static.  And remove superfluous \"\\n\" from\n\t  several zlog messages.\n\t* irdp_main.c: (irdp_init) Remove function that used to call\n\t  irdp_if_init() and irdp_sock_init(), since we will now create\n\t  the socket only upon first use.\n\t  (irdp_sock_init) Do not update global irdp_sock variable, just\n\t  return the fd and assume that the caller will do so.  If setsockopt\n\t  calls fail, close the socket before returning -1.\n\t  (*) Make many functions static.\n\t* irdp_packet.c: Initialize irdp_sock to -1.\n\t  (irdp_read_raw) Call standard library function if_lookup_by_index\n\t  instead of get_iflist_ifp.\n\t  (irdp_recvmsg) Should be static, not global.\n"
    },
    {
      "commit": "9985f83ce7102f64b15f744b60320f8d14a8a5ff",
      "tree": "344629bdc2b4a7d53b8d7ca1705c9be2ca282d18",
      "parents": [
        "083ee9d9cdbf72a452b9af96e62d0625ea712cd9"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Feb 09 15:51:56 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Feb 09 15:51:56 2005 +0000"
      },
      "message": "2005-02-09 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* (global) Update code to match stream.h changes.\n\t  stream_get_putp effectively replaced with stream_get_endp.\n\t  stream_forward renamed to stream_forward_getp.\n\t  stream_forward_endp introduced to replace some previous\n\t  setting/manual twiddling of putp by daemons.\n\t* lib/stream.h: Remove putp. Update reference to putp with endp.\n\t  Add stream_forward_endp, which daemons were doing manually.\n\t  Rename stream_forward to stream_forward_getp.\n\t  lib/stream.c: Remove/update references to putp.\n\t  introduce stream_forward_endp.\n"
    },
    {
      "commit": "b6178002270192fe3ab2403dafac12e5babe11e6",
      "tree": "6b9c352d814185e16a353d17752059eb995019e0",
      "parents": [
        "8ddca7040da413cd283a4beba4634744f4e61ac8"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 21:12:56 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Tue Dec 07 21:12:56 2004 +0000"
      },
      "message": "2004-12-07 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* *.c: Change level of debug messages to LOG_DEBUG.\n"
    },
    {
      "commit": "6099b3b56956322567323c11fd698b2328c6826b",
      "tree": "fa537bd0eaa9f7d824f39445eabc928db59050ca",
      "parents": [
        "ae5e24d8678f1e3a60dde58d3382c5ba73d6bb27"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Nov 20 02:06:59 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Sat Nov 20 02:06:59 2004 +0000"
      },
      "message": "2004-11-19 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* global: Replace strerror with safe_strerror.  And vtysh/vtysh.c\n\t  needs to include \"log.h\" to pick up the declaration.\n"
    },
    {
      "commit": "7216466aecd59e675a4f66d6e329e748f32ad690",
      "tree": "f1fdec0381383aef8b8491008c4337f89c5bc077",
      "parents": [
        "18b12c387e2bcd8a0e81a8d2635c1ef52c8a9a7d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Oct 05 14:39:43 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Oct 05 14:39:43 2004 +0000"
      },
      "message": "2004-10-05 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* irdp_packet.c: (parse_irdp_packet) style issues.\n\t  Use sockopt_iphdrincl_swab_systoh.\n          Try unbork the code. Checksum the ICMP data and actually\n          compare it to received checksum. Check data length against\n          claimed length in header.\n\t  Always use ntoh.. when accessing addresses, even when the\n          comparison happens to be endian-safe.\n\t  (send_packet) minor style isues. Use\n          sockopt_iphdrincl_swab_htosys.\n\t  (irdp_iph_hton/ntoh) IP header to/from network/host order.\n"
    },
    {
      "commit": "c9e52be3f4d98943b67fbbe5d9a7ccd823b88326",
      "tree": "d4045a946af3be8bbdc303162778e8c44057e2f9",
      "parents": [
        "e473b032b860444b9656cee1654b0120f77b52b1"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 26 16:09:34 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Sep 26 16:09:34 2004 +0000"
      },
      "message": "Compiler warnings fixes.\n"
    },
    {
      "commit": "0c0f9112e1530e8e7497cbb75853b9e4da93ea95",
      "tree": "3cbc10ed3495b7813a6921fa417f4987514d3d90",
      "parents": [
        "1603c06ba3ad07b8f9380209a137569abe3700e1"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:24:42 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Sep 24 08:24:42 2004 +0000"
      },
      "message": "2004-09-24 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * irdp_{interface,main}.c: lists typedef removal cleanup.\n          update some list loops to LIST_LOOP. some miscellaneous style\n          and indent fixups.\n          (no_ip_irdp_address_preference_cmd) Fix delete of referenced node\n          in loop.\n        * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer\n          to pointer.\n        * if_ioctl{,_solaris}.c: lists typedef removal cleanup.\n          update some list loops to LIST_LOOP.\n"
    },
    {
      "commit": "0de1cde6e602e7496628967aeb219cd28d4869a9",
      "tree": "a9e15f53ed1196396d9f3370a42ccbd4b2aaf21e",
      "parents": [
        "863082d528befe5e6093b120f0f11fb4e4aac455"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 19 04:45:33 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 19 04:45:33 2004 +0000"
      },
      "message": "2004-08-19 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * irdp_main.c: update to match sockopt renames.\n        * irdp_packet.c: include sockopt.h and update to match sockopt\n\t  renames.\n"
    },
    {
      "commit": "1470bafb7aa179dad7dc4bdc998d68c14752f824",
      "tree": "4ad15e51d3ebd1e731385919ac4c0f6e5f29287d",
      "parents": [
        "caa248198ad276f5edc9065e6c416e7f864ef7fa"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 23 15:25:01 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 23 15:25:01 2004 +0000"
      },
      "message": "2004-07-23 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * irdp_main.c: use setsockopt_pktinfo_ipv4\n        * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and\n          getsockopt_pktinfo_ifindex()\n"
    },
    {
      "commit": "ca7769881ffb700c86b606ead5f4177df3c0b2a1",
      "tree": "b3a199ce94246b34b10d8d20030d27d2f4c5197f",
      "parents": [
        "02ff83c52592427623db0d8367ca9b3395fa321f"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Jun 12 14:33:05 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat Jun 12 14:33:05 2004 +0000"
      },
      "message": "OK, here it is - irdp support. But don\u0027t expect me to fix any bugs in it.\n"
    }
  ]
}
