| Age | Commit message (Collapse) | Author | 
|---|
|  | 2008-06-01 jfletche@gmail.com
	* bgp_attr.c: (bgp_attr_aspathlimit) fix silly bug in flags check
	  that was causing BGP to drop sessions if it received a
	  aspath-limit with partial set. Fixes bug #419. | 
|  |  | 
|  | 2008-05-29 Stephen Hemminger <stephen.hemminger@vyatta.com>
	* ripd.c: (rip_auth_md5) fix bogus empty string test | 
|  | 2008-05-29 Martin Nagy <mnagy@redhat.com>
	* */*main.c: Sanity check port numbers before using. | 
|  | 2008-05-29 Stephen Hemminger <stephen.hemminger@vyatta.com>
	* rt_netlink.c: (netlink_install_filter) BPF filter to catch and
	  drop responses to zebra's own route messages.
	  (kernel_init) add BPF filter on the netlink socket. | 
|  |  | 
|  |  | 
|  | 2008-03-13 Paul Jakma <paul.jakma@sun.com>
	* (various) Remove 0 entries from struct message's, unneeded due to
	  recent improvements in mes_lookup/LOOKUP. | 
|  | 2008-03-13 Paul Jakma <paul.jakma@sun.com>
	* ripd.c/rip_interface.c: Remove 0 entries from rip_msg
	  ri_version_msg struct message's, not needed with recent fixes
	  to mes_lookup. | 
|  | 2008-02-28 Paul Jakma <paul.jakma@sun.com>
	* log.c: (mes_lookup) Sowmini Varadhan diagnosed a problem where
	  this function can cause a NULL dereference, on lookups for unknown
	  indices, or messages with NULL strings. Can occur, e.g., debug
	  logging code when processing received messages. Fixed to accept a
	  pointer to a default string to be used if there is no match.
	* log.h: LOOKUP adjusted to match | 
|  | 2008-02-28 Paul Jakma <paul.jakma@sun.com>
	* linklist.c: This implementation expects that the data pointer not
	  be null, e.g. listgetdata() asserts this. The list add methods
	  don't apply the same sanity check.
	  Noted by Jim Carlson in bug #437. | 
|  |  | 
|  | 2008-01-30 Peter Szilagyi <sp615@hszk.bme.hu>
	* lib/stream.h: Remove named 'new' parameter in prototype
	  for c++ header compatibility.
	* ospfd/ospf_opaque.h: ditto
	* ospfd/ospfd.h: Renamed struct export to _export for c++
	  header compatibility.
	* ospf6d/ospf6_area.h: ditto | 
|  | 2008-02-23 Paul Jakma <paul.jakma@sun.com>
	* aspath_test.c: Test for 0-ASN sequences that still have data. | 
|  | 2008-01-29 James Carlson <james.d.carlson@sun.com>
	* Fix bug #437, assert due to bogus index management
	* isis_flags.c: (flags_initialize) new
	* (flags_get_index) fix off by one, leading to list assert
	  on null node data.
	  (flags_free_index) ditto.
	* isisd.c: (isis_area_create) use flags_initialize
	  (isis_area_destroy) deconfigure circuits when
	  taking down area. | 
|  | 2008-01-29 Jorge Boncompte <jorge@dti2.net>
	* bgp_network.c: (bgp_socket) IPv4-only version crashes if -l is not
	  used as address will be null. | 
|  | 2008-01-13 Paul Jakma <paul.jakma@sun.com>
	* Makefile.am: pkg target should depend on the 'depend.%' files.
	  Crops up now that solaris/ doesn't get descended into by
	  general Quagga build. | 
|  | 2008-01-11 Ingo Flaschberger <if@xip.at>
	* configure.ac: Improve HAVE_BSD_LINK_DETECT test. | 
|  | 2008-01-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
	* lib/zebra.h: Revert previous change, no need to include
	  <net/if_media.h> here.
	* zebra/ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include
	  <net/if_media.h>
	  (if_get_flags) Remove debug messages about BSD link state.
	* zebra/kernel_socket.c: (bsd_linkdetect_translate) If link state
	  is unknown, we should set the IFF_RUNNING flag. | 
|  | 2008-01-10 Ingo Flaschberger <if@xip.at>
	* configure.ac: Define HAVE_BSD_LINK_DETECT if <net/if_media.h> is
	  present.
	* lib/zebra.h: If HAVE_BSD_LINK_DETECT is defined,
	  include <net/if_media.h>.
	* zebra/ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the
	  SIOCGIFMEDIA ioctl to ascertain link state.
	* zebra/kernel_socket.c: (bsd_linkdetect_translate) New function to
	  map the ifm_data.ifi_link_state value into the IFF_RUNNING flag.
	  (ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING
	  flag before calling if_flags_update. | 
|  | 2008-01-08 Michael Larson <mike@vyatta.com>
	* zebra_rib.c: (nexthop_active_check) Replace if_is_up with
	  if_is_operative to solve problems with static interface
	  routes not behaving properly with link-detect. | 
|  | 2008-01-08 Pavol Rusnak <prusnak@suse.cz>
	* memory.c: (mtype_memstr) Fix accidental shift past width of type,
	  constant should have been forced to UL, rather than being left to
	  default to int. | 
|  | 2007-12-22 Paul Jakma <paul.jakma@sun.com>
	* Fix series of vulnerabilities reported by "Mu Security
	  Research Team", where bgpd can be made to crash by sending
	  malformed packets - requires that bgpd be configured with a
	  session to the peer.
	* bgp_attr.c: (bgp_attr_as4_path) aspath_parse may fail, only
	  set the attribute flag indicating AS4_PATH if we actually managed
	  to parse one.
	  (bgp_attr_munge_as4_attrs) Assert was too general, it is possible
	  to receive AS4_AGGREGATOR before AGGREGATOR.
	  (bgp_attr_parse) Check that we have actually received the extra
	  byte of header for Extended-Length attributes.
	* bgp_attr.h: Fix BGP_ATTR_MIN_LEN to account for the length byte.
	* bgp_open.c: (cap_minsizes) Fix size of CAPABILITY_CODE_RESTART,
	  incorrect -2 left in place from a development version of as4-path
	  patch.
	* bgp_packet.c: (bgp_route_refresh_receive) ORF length parameter
	  needs to be properly sanity checked.
	* tests/bgp_capability_test.c: Test for empty capabilities. | 
|  |  | 
|  |  | 
|  | 2007-11-13 Paul Jakma <paul.jakma@sun.com>
	* bgp_main.c: Small fix, format string parameters should never
	  be NULL - it's not strictly valid and some libc's don't let
	  you away with. | 
|  | existing static routes to be revalidated) | 
|  | * bgp_main.c: Add 'listenon' argument, to pass address to bind
	  to.
	* bgp_network.c: (bgp_socket) Extend to take bind address.
	* bgpd.c: (bgp_init) Pass stored address.
	* bgpd.h: (struct bgp_master) storage for bind address
2007-11-01 Paul Jakma <paul.jakma@sun.com>
	* tools/multiple-bgpd.sh: New, quick script to launch a bunch of
	  bgpds. | 
|  | the RIB debug changeset).
after | 
|  | 2007-10-22 Phil Spagnolo <phillip.a.spagnolo@boeing.com>
	* ospf6_asbr.c: (ospf6_asbr_lsentry_remove) Remove shortcut
	  of LSDB search - it's based on assumption non-BEST routes
	  can't have ASBR routes, which appears to be wrong. Safest to
	  search. | 
|  | 2007-10-22 Lorenzo Colitti <lorenzo@colitti.com>
	* smux.c: (smux_stop) Avoid cancelling a defunct thread pointer
	  (smux_start) Stop smux before trying to start it, possibly again. | 
|  |  | 
|  |  | 
|  | 2007-10-14 Paul Jakma <paul.jakma@sun.com>
	* NEWS: Note that MRT dumps are now version 2
	* (general) Merge in Juergen Kammer's AS4 patch.
2007-09-27 Paul Jakma <paul.jakma@sun.com>
	* bgp_aspath.c: (assegment_normalise) remove duplicates from
	  from sets.
	  (aspath_reconcile_as4) disregard a broken part of the RFC around
	  error handling in path reconciliation.
	* aspath_test.c: Test dupe-weeding from sets.
	  Test that reconciliation merges AS_PATH and AS4_PATH where
	  former is shorter than latter.
2007-09-26 Paul Jakma <paul.jakma@sun.com>
	* aspath_test.c: Test AS4_PATH reconcilation where length
	  of AS_PATH and AS4_PATH is same.
2007-09-25 Paul Jakma <paul.jakma@sun.com>
	* bgp_open.c: (peek_for_as4_capability) Fix to work.
	* bgp_packet.c: (bgp_open_receive) Fix sanity check of as4.
	* tests/bgp_capability_test.c: (general) Extend tests to validate
	  peek_for_as4_capability.
	  Add test of full OPEN Option block, with multiple capabilities,
	  both as a series of Option, and a single option.
	  Add some crap to beginning of stream, to prevent code depending
	  on getp == 0.
2007-09-18 Paul Jakma <paul.jakma@sun.com>
	* bgp_open.c: (bgp_capability_as4) debug printf inline with others.
	  (peek_for_as4_capability) There's no need to signal failure, as
	  failure is better dealt with through full capability parser -
	  just return the AS4, simpler.
	* bgp_packet.c: (bgp_open_receive) Update to match
	  peek_for_as4_capability change.
	  Allow use of BGP_AS_TRANS by 2b speakers.
	  Use NOTIFY_OPEN_ERR rather than CEASE for OPEN parsing errors.
	  (bgp_capability_msg_parse) missing argument to debug print
	  (bgp_capability_receive) missing return values.
	* tests/bgp_capability_test.c: (parse_test) update for changes to
	  peek_for_as4_capability
2007-07-25 Paul Jakma <paul.jakma@sun.com>
	* Remove 2-byte size macros, just make existing macros take
	  argument to indicate which size to use.
	  Adjust all users - typically they want '1'.
	* bgp_aspath.c: (aspath_has_as4) New, return 1 if there are any
	  as4's in a path.
	  (aspath_put) Return the number of bytes actually written, to
	  fix the bug Juergen noted: Splitting of segments will change
	  the number of bytes written from that already written to the
	  AS_PATH header.
	  (aspath_snmp_pathseg) Pass 2-byte flag to aspath_put. SNMP
	  is still defined as 2b.
	  (aspath_aggregate) fix latent bug.
	  (aspath_reconcile_as4) AS_PATH+NEW_AS_PATH reconciliation
	  function.
	  (aspath_key_make) Hash the AS_PATH string, rather than
	  just taking the addition of assegment ASes as the hash value,
	  hopefully sligthly more collision resistant.
	  (bgp_attr_munge_as4_attrs) Collide the NEW_ attributes
	  together with the OLD 2-byte forms, code Juergen
	  had in bgp_attr_parse but re-organised a bit.
	  (bgp_attr_parse) Bunch of code from Juergen moves
	  to previous function.
	  (bgp_packet_attribute) Compact significantly by
	  just /always/ using extended-length attr header.
	  Fix bug Juergen noted, by using aspath_put's
	  (new) returned size value for the attr header rather
	  than the (guesstimate) of aspath_size() - the two could
	  differ when aspath_put had to split large segments, unlikely
	  this bug was ever hit in the 'wild'.
	  (bgp_dump_routes_attr) Always use extended-len and
	  use aspath_put return for header length. Output 4b ASN
	  for AS_PATH and AGGREGATOR.
	* bgp_ecommunity.c: (ecommunity_{hash_make,cmp}) fix
	  hash callback declarations to match prototypes.
	  (ecommunity_gettoken) Updated for ECOMMUNITY_ENCODE_AS4,
	  complete rewrite of Juergen's changes (no asdot support)
	* bgp_open.c: (bgp_capability_as4) New, does what it says
	  on the tin.
	  (peek_for_as4_capability) Rewritten to use streams and
	  bgp_capability_as4.
	* bgp_packet.c: (bgp_open_send) minor edit
	  checked (in the abstract at least) with Juergen.
	  Changes are to be more accepting, e.g, allow AS_TRANS on
	  a 2-byte session.
	* (general) Update all commands to use CMD_AS_RANGE.
	* bgp_vty.c: (bgp_clear) Fix return vals to use CMD_..
	  Remove stuff replicated by VTY_GET_LONG
	  (bgp_clear_vty) Return bgp_clear directly to vty.
	* tests/aspath_test.c: Exercise 32bit parsing. Test reconcile
	  function.
	* tests/ecommunity_test.c: New, test AS4 ecommunity changes,
	  positive test only at this time, error cases not tested yet.
2007-07-25 Juergen Kammer <j.kammer@eurodata.de>
	* (general) AS4 support.
	* bgpd.h: as_t changes to 4-bytes.
	* bgp_aspath.h: Add BGP_AS4_MAX and BGP_AS_TRANS defines.
	* bgp_aspath.c: AS_VALUE_SIZE becomes 4-byte, AS16_VALUE_SIZE
	  added for 2-byte.
	  Add AS16 versions of length calc macros.
	  (aspath_count_numas) New, count number of ASes.
	  (aspath_has_as4) New, return 1 if there are any as4's in a
	  path.
	  (assegments_parse) Interpret assegment as 4 or 2 byte,
	  according to how the caller instructs us, with a new
	  argument.
	  (aspath_parse) Add use32bit argument to pass to
	  assegments_parse. Adjust all its callers to pass 1, unless
	  otherwise noted.
	  (assegment_data_put) Adjust to be able to write 2 or 4 byte
	  AS, according to new use32bit argument.
	  (aspath_put) Adjust to write 2 or 4.
	  (aspath_gettoken) Use a long for passed in asno.
	* bgp_attr.c: (attr_str) Add BGP_ATTR_AS4_PATH and
	  BGP_ATTR_AS4_AGGREGATOR.
	  (bgp_attr_aspath) Call aspath_parse with right 2/4 arg, as
	  determined by received-capability flag.
	  (bgp_attr_aspath_check) New, code previously in attr_aspath
	  but moved to new func so it can be run after NEW_AS_PATH
	  reconciliation.
	  (bgp_attr_as4_path) New, handle NEW_AS_PATH.
	  (bgp_attr_aggregator) Adjust to cope with 2/4 byte ASes.
	  (bgp_attr_as4_aggregator) New, read NEW_AGGREGATOR.
	  (bgp_attr_parse) Add handoffs to previous parsers for the two
	  new AS4 NEW_ attributes.
	  Various checks added for NEW/OLD reconciliation.
	  (bgp_packet_attribute) Support 2/4 for AS_PATH and
	  AGGREGATOR, detect when NEW_ attrs need to be sent.
	* bgp_debug.{c,h}: Add 'debug bgp as4'.
	* bgp_dump.c: MRTv2 support, unconditionally enabled, which
	  supports AS4. Based on patches from Erik (RIPE?).
	* bgp_ecommunity.c: (ecommunity_ecom2str) ECOMMUNITY_ENCODE_AS4
	  support.
	* bgp_open.c: (peek_for_as4_capability) New, peek for AS4
	  capability prior to full capability parsing, so we know which
	  ASN to use for struct peer lookup.
	  (bgp_open_capability) Always send AS4 capability.
	* bgp_packet.c: (bgp_open_send) AS4 handling for AS field
	  (bgp_open_receive) Peek for AS4 capability first, and figure
	  out which AS to believe.
	* bgp_vty.c: (bgp_show_peer) Print AS4 cap
	* tests/aspath_test.c: Support asn32 changes, call aspath_parse
	  with 16 bit.
	* vtysh/extract.pl: AS4 compatibility for router bgp ASNUMBER
	* vtysh/extract.pl.in: AS4 compatibility for router bgp ASNUMBER
	* vtysh/vtysh.c: AS4 compatibility for router bgp ASNUMBER | 
|  |  | 
|  |  | 
|  | calls. Fixed. | 
|  | 2007-09-18  Paul Jakma <paul.jakma@sun.com>
	* privs.c: definition of ZCAP_NET_ADMIN on Solaris should
	  be PRIV_SYS_IP_CONFIG, when that's available. Thus allowing
	  Quagga to work with in Solaris zones with exclusive IP
	  instances. | 
|  | 2007-09-17 Paul Jakma <paul.jakma@sun.com>
	* bgp_open.c: (bgp_capability_mp) We were setting
	  afc_nego[safi][safi] rather than afc_nego[afi][safi], thus
	  failling to announce any non-IPv4 prefixes. Remove the extra,
	  typo-ed character.
	* bgp_capability_test.c: Test that peer's adv_recv and adv_nego get
	  set correctly for MP capability and given AFI/SAFI.
	  Colour OK/failed result so it's easier to find them. | 
|  |  | 
|  |  | 
|  |  | 
|  | of the first one before dying
+ we are not going to receive routing messages originated by old_pid,
  because rib_sweep_route() is called after damon() now. This will allow
  to drop old_pid completely soon. | 
|  |  | 
|  | to zlog_err() uninitialized with debug disabled. Fixed. | 
|  | 2007-09-07 Paul Jakma <paul.jakma@sun.com>
	* configure.ac: Bump version to 0.99.9 | 
|  | 2007-09-07 Paul Jakma <paul.jakma@sun.com>
	* (general) bgpd can be made crash by remote peers if debug
	  bgp updates is set, due to NULL pointer dereference.
	  Reported by "Mu Security Research Team",
	  <security@musecurity.com>.
	* bgp_attr.c: (bgp_attr_community) If community length is 0,
	  don't set the community-present attribute bit, just return
	  early.
	* bgp_debug.c: (community_str,community_com2str) Check com
	  pointer before dereferencing. | 
|  |  | 
|  | 2007-08-27 Paul Jakma <paul.jakma@sun.com>
	* bgp_route.c: (bgp_announce_check) Fix bug #398, slight
	  modification of Vladimir Ivanov's suggested fix - to keep
	  memory alloc conditional.
	  (bgp_process_announce_selected) Don't take struct attr as
	  argument, none of the callers need it and it needlessly
	  distances allocation from use.
	  Free the extended attr, the attr itself is on the stack.
	  Fix bad indentation.
	* bgp_attr.c: (bgp_packet_attribute) Remove incorrect assert,
	  and adjust conditional to test attr->extra, diagnosis by
	  Vladimir Ivanov in bug #398.
2007-08-27 Vladimir Ivanov <wawa@yandex-team.ru>
	* bgp_route.c: (bgp_announce_check_rsclient) copy of
	  ri->attr is no longer deep enough, due to addition of
	  attr->extra. It should use bgp_attr_dup, as
	  bgp_announce_check() does. | 
|  | 2007-08-23 Paul Jakma <paul.jakma@sun.com>
	* bgp_regex.c: (bgp_regcomp) Pass NOSUB flag to regcomp to
	  prevent parsing of substitutions, which can have profound
	  performance effects on bgpd and are of no use to the CLI
	  anyway. How much it helps depends on the regex
	  implementation. |