)]}'
{
  "log": [
    {
      "commit": "7aa9dcef80b2ce50ecaa77653d87c8b84e009c49",
      "tree": "bd4a8d881336a1551146725d7ae06b3e68553e4d",
      "parents": [
        "010ebbbca6396f272cc2d50d147dd922dda68213"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@opensourcerouting.org",
        "time": "Fri Sep 19 14:42:23 2014 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Sep 23 16:32:34 2014 +0100"
      },
      "message": "Fix most compiler warnings in default GCC build.\n\nFix lots of warnings. Some const and type-pun breaks strict-aliasing\nwarnings left but much reduced.\n\n* bgp_advertise.h: (struct bgp_advertise_fifo) is functionally identical to\n  (struct fifo), so just use that.  Makes it clearer the beginning of\n  (struct bgp_advertise) is compatible with with (struct fifo), which seems\n  to be enough for gcc.\n  Add a BGP_ADV_FIFO_HEAD macro to contain the right cast to try shut up\n  type-punning breaks strict aliasing warnings.\n* bgp_packet.c: Use BGP_ADV_FIFO_HEAD.\n  (bgp_route_refresh_receive) fix an interesting logic error in\n  (!ok || (ret !\u003d BLAH)) where ret is only well-defined if ok.\n* bgp_vty.c: Peer commands should use bgp_vty_return to set their return.\n* jhash.{c,h}: Can take const on * args without adding issues \u0026 fix warnings.\n* libospf.h: LSA sequence numbers use the unsigned range of values, and\n  constants need to be set to unsigned, or it causes warnings in ospf6d.\n* md5.h: signedness of caddr_t is implementation specific, change to an\n  explicit (uint_8 *), fix sign/unsigned comparison warnings.\n* vty.c: (vty_log_fixed) const on level is well-intentioned, but not going\n  to fly given iov_base.\n* workqueue.c: ALL_LIST_ELEMENTS_RO tests for null pointer, which is always\n  true for address of static variable.  Correct but pointless warning in\n  this case, but use a 2nd pointer to shut it up.\n* ospf6_route.h: Add a comment about the use of (struct prefix) to stuff 2\n  different 32 bit IDs into in (struct ospf6_route), and the resulting\n  type-pun strict-alias breakage warnings this causes.  Need to use 2\n  different fields to fix that warning?\n\ngeneral:\n\n* remove unused variables, other than a few cases where they serve a\n  sufficiently useful documentary purpose (e.g.  for code that needs\n  fixing), or they\u0027re required dummies.  In those cases, try mark them as\n  unused.\n* Remove dead code that can\u0027t be reached.\n* Quite a few \u0027no ...\u0027 forms of vty commands take arguments, but do not\n  check the argument matches the command being negated.  E.g., should\n  \u0027distance X \u003cprefix\u003e\u0027 succeed if previously \u0027distance Y \u003cprefix\u003e\u0027 was set?\n  Or should it be required that the distance match the previously configured\n  distance for the prefix?\n  Ultimately, probably better to be strict about this.  However, changing\n  from slack to strict might expose problems in command aliases and tools.\n* Fix uninitialised use of variables.\n* Fix sign/unsigned comparison warnings by making signedness of types consistent.\n* Mark functions as static where their use is restricted to the same compilation\n  unit.\n* Add required headers\n* Move constants defined in headers into code.\n* remove dead, unused functions that have no debug purpose.\n"
    },
    {
      "commit": "c63b83fe8d1addecc949258479b8d54180c4da60",
      "tree": "fbc58da3014db1cf74a2f8a91a33fe941968815d",
      "parents": [
        "d227617a972bb20a974be68bea5032e692a0970f"
      ],
      "author": {
        "name": "Jorge Boncompte [DTI2]",
        "email": "jorge@dti2.net",
        "time": "Tue Apr 10 16:57:24 2012 +0200"
      },
      "committer": {
        "name": "David Lamparter",
        "email": "equinox@diac24.net",
        "time": "Wed May 02 17:03:27 2012 +0200"
      },
      "message": "bgpd: Fix memory leak of some \"show ip bgp neighbor\" commands\n\nsockunion_str2su() use is prone to memory leaks. Remove it\u0027s use all over\nthe code.\n\nAt least these commands leaked a sockunion union:\n    - show ip bgp vpnv4 ... routes\n    - show ip bgp ... received prefix-filter\n\nSigned-off-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: David Lamparter \u003cequinox@diac24.net\u003e\n"
    },
    {
      "commit": "664711c1f4cc218073783ff6ce362093debd7b53",
      "tree": "5566b0c8b9d22de55772717ad6c701ea85b6241e",
      "parents": [
        "6fd16207fee6d4d09f29ed7ecf26303a7220e473"
      ],
      "author": {
        "name": "Ulrich Weber",
        "email": "ulrich.weber@sophos.com",
        "time": "Wed Dec 21 02:24:11 2011 +0400"
      },
      "committer": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Mon Jan 02 19:13:28 2012 +0400"
      },
      "message": "lib: fix some strtoul() use cases\n\n...otherwise 4294967295 is not a valid value on 32bit systems\n"
    },
    {
      "commit": "aea339f72807c34a7916d8614e030069815e144c",
      "tree": "7b0ab93dcfec82736f05ac39106096360e4ceeb5",
      "parents": [
        "c540835eaf0cb59921969537d8e94cc83bb717f5"
      ],
      "author": {
        "name": "Denis Ovsienko",
        "email": "pilot@etcnet.org",
        "time": "Thu Apr 30 17:16:22 2009 +0400"
      },
      "committer": {
        "name": "Denis Ovsienko",
        "email": "pilot@etcnet.org",
        "time": "Thu Apr 30 17:16:22 2009 +0400"
      },
      "message": "[bgpd] AS4 bugfix by Chris Caputo \u003cccaputo@alt.net\u003e\n\n* bgpd/bgp_aspath.c: (aspath_make_str_count) \"assert (len \u003c str_size)\" was\n  getting hit under certain 4-byte ASN conditions. New realloc strategy.\n* bgpd/bgp_aspath.c: (aspath_key_make) const warning fix.\n\n\"%d\" -\u003e \"%u\" 4-byte ASN corrections.  Prevent negative number when ASN is\nabove 2^31.\n"
    },
    {
      "commit": "94f2b3923e9663d0355a829f22e4e31cf68ee7b8",
      "tree": "59c0291a76b1c97fbb089abb479307f19cdfd4c1",
      "parents": [
        "7cad40007b9714dba65065916ea68577f9d3d6dd"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jun 28 12:44:16 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jun 28 12:44:16 2005 +0000"
      },
      "message": "2005-06-28 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* (global) The great bgpd extern and static\u0027ification.\n\t* bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code\n\t  (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison\n\t  warnings.\n\t* bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these\n\t  used by various files which had their own private declarations,\n\t  in the case of mplsvpn - incorrect.\n"
    },
    {
      "commit": "5a64665039dc98c341fd8d50458ec2a72c5ebbf5",
      "tree": "e89689f085b7b8eed09a0558e2a80dadb4826033",
      "parents": [
        "f3ae74cdf0768d0bd35f26f728f72439f2d8bd6f"
      ],
      "author": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 05 01:25:55 2004 +0000"
      },
      "committer": {
        "name": "ajs",
        "email": "ajs",
        "time": "Fri Nov 05 01:25:55 2004 +0000"
      },
      "message": "2004-11-04 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\n\t* vty.h: Remove fields in struct vty that were related to VTY_CONTINUE\n\t  capabilities (that were used only in bgpd/bgp_route.c and are now\n\t  removed).  Also remove some other fields that were not being\n\t  used at all.\n\t* vty.c: (vty_execute) Do not test for obsolete status values VTY_START\n\t  and VTY_CONTINUE.\n\t  (vty_read) Remove calls to vty-\u003eoutput_func since that was part\n\t  of the VTY_CONTINUE infrastructure that has been removed.\n\t  (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.\n\t  (vty_close) Remove code to cancel vty-\u003et_output thread, since that\n\t  thread was never actually used.\n\t* bgp_route.c: Remove all code related to VTY_CONTINUE; this feature\n\t  is deprecated because the output did not represent a single point\n\t  in time.  All output needs to be generated inline and buffered\n\t  by the library code.\n\t  (route_vty_out,route_vty_out_tag,damp_route_vty_out,\n\t   flap_route_vty_out) Remove code to count number of lines of output,\n\t   since this was only useful for VTY_CONTINUE behavior.\n\t  (bgp_show_callback) Removed.\n\t  (bgp_show_table) Remove hooks for VTY_CONTINUE callback support.\n\t  As a result, there\u0027s a new output_arg argument to this function.\n\t  Make function static.\n\t  (bgp_show) Make function static and add a new output_arg argument.\n\t  Change all functions that call bgp_show or bgp_show_table to\n\t  pass the new output_arg argument (that used to be passed inside\n\t  vty-\u003eoutput_arg).\n\t* bgp_mplsvpn.c: Remove declarations of functions defined in\n\t  bgp_route.c; these declarations belong in bgp_route.h.\n\t* bgp_route.h: Declare 3 global functions used in both bgp_route.c\n\t  and in bgp_mplsvpn.c.\n"
    },
    {
      "commit": "fd79ac918b8feaacebe9719adaac97dffb69137a",
      "tree": "d0665eb68e60da9d6e364414cdb61830f19f33d3",
      "parents": [
        "39db97e4e02eae08a1e18528367b6e9b07eb6a93"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 13 05:06:08 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 13 05:06:08 2004 +0000"
      },
      "message": "2004-10-13 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* (global) more const\u0027ification and fixups of types to clean up code.\n\t* bgp_mplsvpn.{c,h}: (str2tag) fix abuse. Still not perfect,\n          should use something like the VTY_GET_INTEGER macro, but without\n          the vty_out bits..\n        * bgp_routemap.c: (set_aggregator_as) use VTY_GET_INTEGER_RANGE\n          (no_set_aggregator_as) ditto.\n        * bgpd.c: (peer_uptime) fix unlikely bug, where no buffer is\n          returned, add comments about troublesome return value.\n"
    },
    {
      "commit": "5228ad27e2f3abe0ebb69f66607aedc048b94a13",
      "tree": "a65817a03150dbfeb56a1eaceab526f31be1cc1d",
      "parents": [
        "c2bfbcc38428b53e856617e1da8bbe9f8d2ee2fa"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 04 17:58:18 2004 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 04 17:58:18 2004 +0000"
      },
      "message": "2004-06-04 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * type mismatch fixes\n"
    },
    {
      "commit": "718e3744195351130f4ce7dbe0613f4b3e23df93",
      "tree": "bac2ad39971cd43f31241ef123bd4e470f695ac9",
      "parents": [],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "message": "Initial revision\n"
    }
  ]
}
