)]}'
{
  "log": [
    {
      "commit": "cddb8112b80fa9867156c637d63e6e79eeac67bb",
      "tree": "c8d8b4cb9d0ba1c2a7681c6da580874cf5a2b48e",
      "parents": [
        "d64379e8f3c0636df53ed08d5b2f1946cfedd0e3"
      ],
      "author": {
        "name": "Chris Hall",
        "email": "chris.hall@highwayman.com",
        "time": "Mon Aug 09 22:31:37 2010 +0400"
      },
      "committer": {
        "name": "Denis Ovsienko",
        "email": "infrastation@yandex.ru",
        "time": "Mon Aug 09 22:31:37 2010 +0400"
      },
      "message": "bgpd: fix handling of AS path data\n\n* bgpd/bgp_aspath.c\n  * assegments_parse(): add handling of AS4_PATH input, update bounds\n    checks, add check for AS segment type\n  * aspath_parse(): add handling of AS4_PATH input, expect\n    assegments_parse() to do length checking\n  * aspath_empty(): update for the new function prototype\n* bgpd/bgp_aspath.h: ditto\n* tests/aspath_test.c: ditto\n* bgpd/bgp_attr.c\n  * bgp_attr_aspath(): add handling of AS4_PATH input, update flags\n    checks, change returned type\n  * bgp_attr_as4_path(): discard, superseded by bgp_attr_aspath()\n  * bgp_attr_parse(): update respectively\n"
    },
    {
      "commit": "d38e8d63fdfc0aefb78d0a51ffdf06d8b47993fd",
      "tree": "314cffb6ac8013547e35a3fe223ed98f8d5a411d",
      "parents": [
        "c7350c48462e305f18f6fb02eceac170f892e450"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sat Feb 23 16:57:03 2008 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sat Feb 23 16:57:03 2008 +0000"
      },
      "message": "[tests:bgp] Further tests for 0 sized as_path segments\n\n2008-02-23 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* aspath_test.c: Test for 0-ASN sequences that still have data.\n"
    },
    {
      "commit": "0b2aa3a0a8b095bdef1eddda117d173af75dede2",
      "tree": "29201cb2beec187409e842b4078ed8a8047d3f11",
      "parents": [
        "7593fddfa1558d086e3142ad96cf2790007f5d84"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sun Oct 14 22:32:21 2007 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sun Oct 14 22:32:21 2007 +0000"
      },
      "message": "[bgpd] Merge AS4 support\n\n2007-10-14 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* NEWS: Note that MRT dumps are now version 2\n\t* (general) Merge in Juergen Kammer\u0027s AS4 patch.\n\n2007-09-27 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* bgp_aspath.c: (assegment_normalise) remove duplicates from\n\t  from sets.\n\t  (aspath_reconcile_as4) disregard a broken part of the RFC around\n\t  error handling in path reconciliation.\n\t* aspath_test.c: Test dupe-weeding from sets.\n\t  Test that reconciliation merges AS_PATH and AS4_PATH where\n\t  former is shorter than latter.\n\n2007-09-26 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* aspath_test.c: Test AS4_PATH reconcilation where length\n\t  of AS_PATH and AS4_PATH is same.\n\n2007-09-25 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* bgp_open.c: (peek_for_as4_capability) Fix to work.\n\t* bgp_packet.c: (bgp_open_receive) Fix sanity check of as4.\n\t* tests/bgp_capability_test.c: (general) Extend tests to validate\n\t  peek_for_as4_capability.\n\t  Add test of full OPEN Option block, with multiple capabilities,\n\t  both as a series of Option, and a single option.\n\t  Add some crap to beginning of stream, to prevent code depending\n\t  on getp \u003d\u003d 0.\n\n2007-09-18 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* bgp_open.c: (bgp_capability_as4) debug printf inline with others.\n\t  (peek_for_as4_capability) There\u0027s no need to signal failure, as\n\t  failure is better dealt with through full capability parser -\n\t  just return the AS4, simpler.\n\t* bgp_packet.c: (bgp_open_receive) Update to match\n\t  peek_for_as4_capability change.\n\t  Allow use of BGP_AS_TRANS by 2b speakers.\n\t  Use NOTIFY_OPEN_ERR rather than CEASE for OPEN parsing errors.\n\t  (bgp_capability_msg_parse) missing argument to debug print\n\t  (bgp_capability_receive) missing return values.\n\t* tests/bgp_capability_test.c: (parse_test) update for changes to\n\t  peek_for_as4_capability\n\n2007-07-25 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* Remove 2-byte size macros, just make existing macros take\n\t  argument to indicate which size to use.\n\t  Adjust all users - typically they want \u00271\u0027.\n\t* bgp_aspath.c: (aspath_has_as4) New, return 1 if there are any\n\t  as4\u0027s in a path.\n\t  (aspath_put) Return the number of bytes actually written, to\n\t  fix the bug Juergen noted: Splitting of segments will change\n\t  the number of bytes written from that already written to the\n\t  AS_PATH header.\n\t  (aspath_snmp_pathseg) Pass 2-byte flag to aspath_put. SNMP\n\t  is still defined as 2b.\n\t  (aspath_aggregate) fix latent bug.\n\t  (aspath_reconcile_as4) AS_PATH+NEW_AS_PATH reconciliation\n\t  function.\n\t  (aspath_key_make) Hash the AS_PATH string, rather than\n\t  just taking the addition of assegment ASes as the hash value,\n\t  hopefully sligthly more collision resistant.\n\t  (bgp_attr_munge_as4_attrs) Collide the NEW_ attributes\n\t  together with the OLD 2-byte forms, code Juergen\n\t  had in bgp_attr_parse but re-organised a bit.\n\t  (bgp_attr_parse) Bunch of code from Juergen moves\n\t  to previous function.\n\t  (bgp_packet_attribute) Compact significantly by\n\t  just /always/ using extended-length attr header.\n\t  Fix bug Juergen noted, by using aspath_put\u0027s\n\t  (new) returned size value for the attr header rather\n\t  than the (guesstimate) of aspath_size() - the two could\n\t  differ when aspath_put had to split large segments, unlikely\n\t  this bug was ever hit in the \u0027wild\u0027.\n\t  (bgp_dump_routes_attr) Always use extended-len and\n\t  use aspath_put return for header length. Output 4b ASN\n\t  for AS_PATH and AGGREGATOR.\n\t* bgp_ecommunity.c: (ecommunity_{hash_make,cmp}) fix\n\t  hash callback declarations to match prototypes.\n\t  (ecommunity_gettoken) Updated for ECOMMUNITY_ENCODE_AS4,\n\t  complete rewrite of Juergen\u0027s changes (no asdot support)\n\t* bgp_open.c: (bgp_capability_as4) New, does what it says\n\t  on the tin.\n\t  (peek_for_as4_capability) Rewritten to use streams and\n\t  bgp_capability_as4.\n\t* bgp_packet.c: (bgp_open_send) minor edit\n\t  checked (in the abstract at least) with Juergen.\n\t  Changes are to be more accepting, e.g, allow AS_TRANS on\n\t  a 2-byte session.\n\t* (general) Update all commands to use CMD_AS_RANGE.\n\t* bgp_vty.c: (bgp_clear) Fix return vals to use CMD_..\n\t  Remove stuff replicated by VTY_GET_LONG\n\t  (bgp_clear_vty) Return bgp_clear directly to vty.\n\t* tests/aspath_test.c: Exercise 32bit parsing. Test reconcile\n\t  function.\n\t* tests/ecommunity_test.c: New, test AS4 ecommunity changes,\n\t  positive test only at this time, error cases not tested yet.\n\n2007-07-25 Juergen Kammer \u003cj.kammer@eurodata.de\u003e\n\n\t* (general) AS4 support.\n\t* bgpd.h: as_t changes to 4-bytes.\n\t* bgp_aspath.h: Add BGP_AS4_MAX and BGP_AS_TRANS defines.\n\t* bgp_aspath.c: AS_VALUE_SIZE becomes 4-byte, AS16_VALUE_SIZE\n\t  added for 2-byte.\n\t  Add AS16 versions of length calc macros.\n\t  (aspath_count_numas) New, count number of ASes.\n\t  (aspath_has_as4) New, return 1 if there are any as4\u0027s in a\n\t  path.\n\t  (assegments_parse) Interpret assegment as 4 or 2 byte,\n\t  according to how the caller instructs us, with a new\n\t  argument.\n\t  (aspath_parse) Add use32bit argument to pass to\n\t  assegments_parse. Adjust all its callers to pass 1, unless\n\t  otherwise noted.\n\t  (assegment_data_put) Adjust to be able to write 2 or 4 byte\n\t  AS, according to new use32bit argument.\n\t  (aspath_put) Adjust to write 2 or 4.\n\t  (aspath_gettoken) Use a long for passed in asno.\n\t* bgp_attr.c: (attr_str) Add BGP_ATTR_AS4_PATH and\n\t  BGP_ATTR_AS4_AGGREGATOR.\n\t  (bgp_attr_aspath) Call aspath_parse with right 2/4 arg, as\n\t  determined by received-capability flag.\n\t  (bgp_attr_aspath_check) New, code previously in attr_aspath\n\t  but moved to new func so it can be run after NEW_AS_PATH\n\t  reconciliation.\n\t  (bgp_attr_as4_path) New, handle NEW_AS_PATH.\n\t  (bgp_attr_aggregator) Adjust to cope with 2/4 byte ASes.\n\t  (bgp_attr_as4_aggregator) New, read NEW_AGGREGATOR.\n\t  (bgp_attr_parse) Add handoffs to previous parsers for the two\n\t  new AS4 NEW_ attributes.\n\t  Various checks added for NEW/OLD reconciliation.\n\t  (bgp_packet_attribute) Support 2/4 for AS_PATH and\n\t  AGGREGATOR, detect when NEW_ attrs need to be sent.\n\t* bgp_debug.{c,h}: Add \u0027debug bgp as4\u0027.\n\t* bgp_dump.c: MRTv2 support, unconditionally enabled, which\n\t  supports AS4. Based on patches from Erik (RIPE?).\n\t* bgp_ecommunity.c: (ecommunity_ecom2str) ECOMMUNITY_ENCODE_AS4\n\t  support.\n\t* bgp_open.c: (peek_for_as4_capability) New, peek for AS4\n\t  capability prior to full capability parsing, so we know which\n\t  ASN to use for struct peer lookup.\n\t  (bgp_open_capability) Always send AS4 capability.\n\t* bgp_packet.c: (bgp_open_send) AS4 handling for AS field\n\t  (bgp_open_receive) Peek for AS4 capability first, and figure\n\t  out which AS to believe.\n\t* bgp_vty.c: (bgp_show_peer) Print AS4 cap\n\t* tests/aspath_test.c: Support asn32 changes, call aspath_parse\n\t  with 16 bit.\n\t* vtysh/extract.pl: AS4 compatibility for router bgp ASNUMBER\n\t* vtysh/extract.pl.in: AS4 compatibility for router bgp ASNUMBER\n\t* vtysh/vtysh.c: AS4 compatibility for router bgp ASNUMBER\n"
    },
    {
      "commit": "1f742f21a98f756cea03856849fa2f82f467baf7",
      "tree": "fe295616ed2036e691cf85f7fd73083ad4ddc2fd",
      "parents": [
        "36943749147bef10df8ffc0e2ad79f4dd06cd9ac"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sun Aug 06 15:52:11 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Sun Aug 06 15:52:11 2006 +0000"
      },
      "message": "[bgpd] aspath_loop_check was broken, fix it and the aspath unit test code.\n\n2006-08-06 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* bgp_aspath.c: (aspath_loop_check) Fix the typo-bug which\n\t  essentially had disabled this check. Problem reported by\n\t  Bartek Kania \u003cmrbk@gnarf.org\u003e in [quagga-users 7388].\n\t* aspath_test.c: (validate) Fix the sense of the aspath_loop_check,\n\t  which was the wrong way around and had actually been testing for\n\t  aspath_loop_check to be buggy.\n"
    },
    {
      "commit": "5d932f61972fb5e3109c6aa3caa4b960b675f941",
      "tree": "dbec3a34dab3d6ae3af9069ed20966e10c4614c9",
      "parents": [
        "75db03ebb169da26102275c70eff0a0ebaae04cb"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu Mar 30 13:42:50 2006 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul.jakma@sun.com",
        "time": "Thu Mar 30 13:42:50 2006 +0000"
      },
      "message": "[tests] fix heavy-wq, add redundant AS_SET test and statics to aspath_test\n\n2006-03-16 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* heavy-wq.c: (heavy_wq_init) delay is gone from workqueue\n\t  spec.\n\t* aspath_test.c: (test_segments) Add an AS_SET with redundant\n\t  ASNs.\n\t  ({empty_prepend,prepend,parse}_test) add static qualifiers\n"
    },
    {
      "commit": "6726f950ad25daa532e75dc7a6875b340ae0447d",
      "tree": "c58764ee0b640a72d433da936434f5768a685d31",
      "parents": [
        "8fdc32ab9a81cb80296d322346867c8c3d2b2b37"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Jan 16 12:06:00 2006 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Jan 16 12:06:00 2006 +0000"
      },
      "message": "2006-01-16 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* aspath_test.c: (validate) free the temporary aspaths.\n\t  (empty_get_test) ditto.\n"
    },
    {
      "commit": "5906476bea21153f5d757e364b8e4c604b72cef1",
      "tree": "09fb18f3bc10b6b5e3adf01bfef49cfd3115254e",
      "parents": [
        "ad72740e884f16c1f30a99168428fdd15fadaa68"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Nov 23 02:48:14 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Nov 23 02:48:14 2005 +0000"
      },
      "message": "[tests] Add empty-path and sequence+1ASN test data to aspath_test.c\n\n2005-11-23 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* aspath_test.c: Add an empty aspath to test segments, and to\n\t  compare tests.\n\t  Add a segment identical to seq1, but with one extra asn.\n\t  Fix bogus free of stream in make_aspath for case where\n\t  no stream was allocated (empty path data).\n"
    },
    {
      "commit": "84771ee0deadae6d83b939a2d3f8f83cc420a829",
      "tree": "68b3e5c5cc6e84dd7d57a4bda2e61616d518a1a2",
      "parents": [
        "77df1f78597af79209777d264ec9986f33a2fd17"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Oct 11 03:48:28 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Oct 11 03:48:28 2005 +0000"
      },
      "message": "2005-10-11 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* test-privs.c: Privileges unit test.\n\t* Makefile.am: build testprivs\n\t* aspath_test.c: fix a few sign warnings\n"
    },
    {
      "commit": "1f377b0202dfc4653f7717de964b628a369a9526",
      "tree": "ff8718a3d40adbec8adeab994a32873bbbd4bacf",
      "parents": [
        "fe69a505f7be4357bf8523e3bbdced9c95590f3a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Sep 10 18:00:11 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Sep 10 18:00:11 2005 +0000"
      },
      "message": "2005-09-06 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* aspath_test.c: Test bgp_aspath functionality.\n\t* Makefile.am: build aspathtest\n\t* ChangeLog: Fix date of previous commit\n"
    }
  ]
}
