---------------------
PatchSet 1531 
Date: 2006/01/30 14:08:51
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[zebra] Fix pauls zebra_rib/rib_process commit mistakes, again.

2006-01-30 Paul Jakma <paul.jakma@sun.com>

	* zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
	  commit, last commit had a hole that could allow connected
	  route selection to escape beyond the connected route logic.
	  This time I cross-checked with Gunnar first. ;)

Members: 
	zebra/ChangeLog:1.122->1.123 
	zebra/zebra_rib.c:1.28->1.29 

---------------------
PatchSet 1532 
Date: 2006/01/30 18:12:42
Author: vincent
Branch: HEAD
Tag: (none) 
Log:
ripd.c: correct bug that allowed route learnt through RIP to take precedence over connected routes

Members: 
	ripd/ChangeLog:1.56->1.57 
	ripd/ripd.c:1.54->1.55 

---------------------
PatchSet 1533 
Date: 2006/01/31 10:09:27
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[build system] cleanup --enable-snmp by removing ucd-snmp cruft

2006-01-31 Paul Jakma <paul.jakma@sun.com>

	* configure.ac: Cleanup the hideous {net,ucd}-snmp section
	  by removing ucd-snmp. Hence fixing detection where
	  net-snmp is installed in /usr/local (Boris Kovalenko reported
	  the problem).

Members: 
	ChangeLog:1.140->1.141 
	configure.ac:1.117->1.118 

---------------------
PatchSet 1534 
Date: 2006/02/02 17:27:13
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[zebra] Display flags on their line in 'show interface'.

2006-02-02 Paul Jakma <paul.jakma@sun.com>

	* interface.c: (if_dump_vty) move flags to their line, neater.

Members: 
	zebra/ChangeLog:1.123->1.124 
	zebra/interface.c:1.31->1.32 

---------------------
PatchSet 1535 
Date: 2006/02/02 17:50:19
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib/workqueue] remove the useless 'delay' factor.

2006-02-02 Paul Jakma <paul.jakma@sun.com>

	* workqueue.h: (struct work_queue) Remove the delay field.
	  It served no purpose and just introduced bad behaviour.
	  Should be excised before its allowed to escape into 1.0.
	  This removes need for the 'flood' and runs_since_clear
	  fields.
	* workqueue.c: (general) excise delay factor between queue
	  runs, hence the 'flood' crap too.. See above.
	* bgp_route.c: (bgp_{clear_node,process}_queue_init) delay
	  field is removed from workqueue spec.

Members: 
	bgpd/ChangeLog:1.82->1.83 
	bgpd/bgp_route.c:1.38->1.39 
	lib/ChangeLog:1.236->1.237 
	lib/workqueue.c:1.6->1.7 
	lib/workqueue.h:1.6->1.7 

---------------------
PatchSet 1536 
Date: 2006/02/05 17:51:19
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Fix peer prefix counts and make it slightly more robust

2006-02-05 Paul Jakma <paul.jakma@sun.com>

	* bgp_route.h: Add BGP_INFO_COUNTED to track whether
	  prefix has been counted or not.
	* bgp_route.c: (bgp_pcount_{inc,dec}rement) new helpers, to
	  centralise inc/dec of prefix-count,
	  (bgp_rib_remove) Remove pcount decrement, use helper.
	  (bgp_rib_withdraw) ditto, additionally use previous function
	  too.
	  (bgp_update_main) Use pcount helpers.
	  (bgp_clear_route_node) ditto, aslo REMOVED routes don't need
	  clearing.

Members: 
	bgpd/ChangeLog:1.83->1.84 
	bgpd/bgp_route.c:1.39->1.40 
	bgpd/bgp_route.h:1.11->1.12 

---------------------
PatchSet 1537 
Date: 2006/02/05 17:55:35
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] trivial fix for gcc warning

2006-02-05 Paul Jakma <paul.jakma@sun.com>

	* bgp_aspath.c: (aspath_gettoken) fix gcc warning about
	  possible uninitialised usage.

Members: 
	bgpd/ChangeLog:1.84->1.85 
	bgpd/bgp_aspath.c:1.11->1.12 

---------------------
PatchSet 1538 
Date: 2006/02/18 10:49:04
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bug #89] Fix leak of community when set community is used

2006-02-18 Paul Jakma <paul.jakma@sun.com>

	* bgp_routemap.c: (route_set_community) Quick, very hacky, fix
	  for the set-community leak, bug #89. True fix will be to
	  detangle the web of *_intern caching and provide saner object
	  caching for Quagga, future work.

Members: 
	bgpd/ChangeLog:1.85->1.86 
	bgpd/bgp_routemap.c:1.20->1.21 

---------------------
PatchSet 1539 
Date: 2006/02/18 10:52:09
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] trivial readability fix

2006-02-18 Paul Jakma <paul.jakma@sun.com>

	* bgp_route.c: (bgp_announce_check) trivial, move declaration
	  of two local variables into the only block where they are
	  used, to aid the reader.

Members: 
	bgpd/ChangeLog:1.86->1.87 
	bgpd/bgp_route.c:1.40->1.41 

---------------------
PatchSet 1540 
Date: 2006/02/19 07:16:25
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[doc] Credit Jeroen Simonetti for contributing snmptrap.texi

2006-02-19 Paul Jakma <paul.jakma@sun.com>

	* quagga.info: update auto-built file.
	* ChangeLog: Fix old, existing entry for snmptrap.texi addition to
	  credit the author, who got in touch with me.
	* snmptrap.texi: Add comment line with author's details.

Members: 
	doc/ChangeLog:1.54->1.55 
	doc/quagga.info:1.18->1.19 
	doc/snmptrap.texi:1.1->1.2 

---------------------
PatchSet 1541 
Date: 2006/02/19 18:59:26
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[solaris] version depend files, auto-generate. Start zebra when needed.

2006-02-19 Paul Jakma <paul.jakma@sun.com>

	* depend.*: renamed to depend.*.in.
	* depend.*.in: Add version dependency.
	* Makefile.am: Generate depend.* from depend.*.in
	  Distribute the depend.*.in files rather than the depend.*
	  files.
	* quagga.init.in: Enable zebra if one of the link-state
	  daemons is started.
	  Restart method is not required - SMF handles that.
	* quagga.xml.in: Remove restart method details.

Members: 
	solaris/ChangeLog:1.13->1.14 
	solaris/Makefile.am:1.6->1.7 
	solaris/depend.daemons:1.1->1.2(DEAD) 
	solaris/depend.daemons.in:INITIAL->1.1 
	solaris/depend.dev:1.1->1.2(DEAD) 
	solaris/depend.dev.in:INITIAL->1.1 
	solaris/depend.doc:1.1->1.2(DEAD) 
	solaris/depend.doc.in:INITIAL->1.1 
	solaris/depend.libs:1.1->1.2(DEAD) 
	solaris/depend.libs.in:INITIAL->1.1 
	solaris/depend.smf:1.1->1.2(DEAD) 
	solaris/depend.smf.in:INITIAL->1.1 
	solaris/quagga.init.in:1.4->1.5 
	solaris/quagga.xml.in:1.4->1.5 

---------------------
PatchSet 1542 
Date: 2006/02/21 01:09:01
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Record afi/safi in bgp_table. Serialise peer clear with FSM.

2006-02-21 Paul Jakma <paul.jakma@sun.com>

	* bgpd.h: move the clear_node_queue to be peer specific.
	  Add a new peer status flag, PEER_STATUS_CLEARING.
	* bgp_table.h: (struct bgp_table) Add fields to record afi,
          safi of the table.
          (bgp_table_init) Take afi and safi to create table for.
        * bgp_table.c: (bgp_table_init) record the afi and safi.
        * bgp_nexthop.c: Update all calls to bgp_table_init.
        * bgp_vty.c: ditto.
        * bgpd.c: ditto.
        * bgp_fsm.c: (bgp_timer_set) dont bring up a session which is
	  clearing.
        * bgp_route.c: (general) Update all bgp_table_init calls.
          (bgp_process_{rsclient,main}) clear_node is serialised
          via PEER_STATUS_CLEARING and fsm now.
          (struct bgp_clear_node_queue) can be removed. struct bgp_node
          can be the queue item data directly, as struct peer can be
          kept in the new wq global user data and afi/safi can be
          retrieved via bgp_node -> bgp_table.
          (bgp_clear_route_node) fix to get peer via wq->spec.data,
          afi/safi via bgp_node->bgp_table.
          (bgp_clear_node_queue_del) no more item data to delete, only
          unlock the bgp_node.
          (bgp_clear_node_complete) only need to unset CLEARING flag
          and unlock struct peer.
          (bgp_clear_node_queue_init) queue attaches to struct peer
          now. record peer name as queue name.
          (bgp_clear_route_table) If queue transitions to active,
          serialise clearing by setting PEER_STATUS_CLEARING rather
          than plugging process queue, and lock peer while queue
          active.
          Update to pass only bgp_node as per-queue-item specific data.

Members: 
	bgpd/ChangeLog:1.87->1.88 
	bgpd/bgp_fsm.c:1.14->1.15 
	bgpd/bgp_nexthop.c:1.15->1.16 
	bgpd/bgp_route.c:1.41->1.42 
	bgpd/bgp_table.c:1.3->1.4 
	bgpd/bgp_table.h:1.5->1.6 
	bgpd/bgp_vty.c:1.29->1.30 
	bgpd/bgpd.c:1.29->1.30 
	bgpd/bgpd.h:1.25->1.26 

---------------------
PatchSet 1543 
Date: 2006/02/21 01:14:13
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Add Clrng description to bgp summary state.

2006-02-21 Paul Jakma <paul.jakma@sun.com>

	* bgp_vty.c: (bgp_show_summary) Add a 'Clrng' sub-description
	  to state of peer while it's suppressed due to clearing.

Members: 
	bgpd/ChangeLog:1.88->1.89 
	bgpd/bgp_vty.c:1.30->1.31 

---------------------
PatchSet 1544 
Date: 2006/02/21 01:37:14
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib/sockunion] trivial: use XSTRDUP.

2006-02-21 Paul Jakma <paul.jakma@sun.com>

	* sockunion.c: (sockunion_{su2str,log}) Use XSTRDUP.
	  Particularly with _su2str, as that string gets XFREEd,
	  which can be annoying if run debug code in memory.c.

Members: 
	lib/ChangeLog:1.237->1.238 
	lib/sockunion.c:1.11->1.12 

---------------------
PatchSet 1545 
Date: 2006/03/06 18:06:53
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Start off FSM again once clearing finishes.

2006-03-03 Paul Jakma <paul.jakma@sun.com>

	* bgp_route.c: (bgp_clear_node_complete) Doh. When clearing
	  is complete we need to kick off FSM again.

Members: 
	bgpd/ChangeLog:1.89->1.90 
	bgpd/bgp_route.c:1.42->1.43 

---------------------
PatchSet 1546 
Date: 2006/03/06 18:18:37
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib] export show_address_cmd debug command in if.h

2006-03-06 Paul Jakma <paul.jakma@sun.com>

	* if.h: export show_address_cmd, for anyone who wishes to use
	  it.

Members: 
	lib/ChangeLog:1.238->1.239 
	lib/if.h:1.22->1.23 

---------------------
PatchSet 1547 
Date: 2006/03/30 14:20:48
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] rearrange some structs for less padding, stats for table/attrs.

2006-03-12 Paul Jakma <paul.jakma@sun.com>

	* bgp_attr.h: (struct attr) rearrange fields to avoid
	  wasted padding between them as much as possible.
	  (attr_count,attr_unknown_count) export new functions to
	  return number of counts of cached attributes.
	* bgp_attr.c: (attr_count,attr_unknown_count) new functions to
	  return number of counts of cached attributes.
	* bgp_route.h: (struct bgp_info) rearrange fields to avoid
	  wasted padding.
	* bgp_table.h: (struct bgp_table) Add a count field, of number
	  of nodes in the table.
	  (struct bgp_node)  rearrange fields to avoid
	  wasted padding between them, though I don't think there
	  was any in this case.
	* bgp_table.c: (bgp_node_{delete,get}) Maintain the table node count.
	  (bgp_table_count) new function to access the table count.

Members: 
	bgpd/ChangeLog:1.90->1.91 
	bgpd/bgp_attr.c:1.14->1.15 
	bgpd/bgp_attr.h:1.6->1.7 
	bgpd/bgp_route.h:1.12->1.13 
	bgpd/bgp_table.c:1.4->1.5 
	bgpd/bgp_table.h:1.6->1.7 

---------------------
PatchSet 1548 
Date: 2006/03/30 14:25:52
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib/privs] Changing user IDs should be done before dropping privileges

2006-03-14 Paul Jakma <paul.jakma@sun.com>

	* privs.c: (zprivs_caps_init) Change user IDs before lowering
	  privileges, while this seems to work on Linux, on Solaris
	  it rightfully refuses due to PRIV_PROC_SETID having been
	  dropped.

Members: 
	lib/ChangeLog:1.239->1.240 
	lib/privs.c:1.9->1.10 

---------------------
PatchSet 1549 
Date: 2006/03/30 14:32:09
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[zebra] arrange structs in padding-efficient manner and remove unused field

2006-02-09 Paul Jakma <paul.jakma@sun.com>

	* rib.h: (struct {rib,nexthop}) Rearrange fields to avoid
	  needless padding.
	  (struct rib) Remove the indirect pointer, not used anywhere!

Members: 
	zebra/ChangeLog:1.124->1.125 
	zebra/rib.h:1.10->1.11 

---------------------
PatchSet 1550 
Date: 2006/03/30 14:38:28
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[solaris] SMF manifest, method and depend updates.

2006-03-13 Alan Maguire <alan.maguire@sun.com>

	* quagga.xml.in: Change the naming of services and instances.
	  network/routing/quagga:<daemon> may be neat and tidy, but
	  it's at odds with SMF convention elsewhere that demands
	  the service be named for what it does, and the instance name
	  describe the implementation (e.g. network/smtp:sendmail).
	  Remove call to method script for 'stop', SMF can do that
	  itself.
	  Enumerate the privileges required in the SMF manifest, with the
	  method_credential element.
	  Dont try provide seperate properties for each argument, it's
	  just tedious, particularly when they can no longer be
	  inherited from a common quagga service - use a single
	  "daemon-args" property, defaulting to -P 0.
	  Specify authorisation for the 'routeadm' utility and for
	  RBAC.

2006-03-13 Paul Jakma <paul.jakma@sun.com>

	* quagga.init.in: Update to match SMF manifest changes.
	  If run from an SMF environment, assume method is start.
	  Offer a more tradition init script interface for pre-SMF.
	  Enable zebra for the link-state daemons.
	  Don't allow daemons to start in non-global zones, except
	  for bgpd - it doesn't have to care about underlying
	  networking much.
	  Remove all the svcprop calls, SMF or the user will supply any
	  arguments on the command-line.
	* depend.smf.in: Add dependency on SUNWroute, which provides
	  routeadm, which provides /var/svc/manifest/network/routing
	* prototype.smf.in: Install manifest to
	  var/svc/manifest/network/routing.

Members: 
	solaris/ChangeLog:1.14->1.15 
	solaris/depend.smf.in:1.1->1.2 
	solaris/prototype.smf.in:INITIAL->1.2 
	solaris/quagga.init.in:1.5->1.6 
	solaris/quagga.xml.in:1.5->1.6 

---------------------
PatchSet 1551 
Date: 2006/03/30 14:42:50
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[tests] fix heavy-wq, add redundant AS_SET test and statics to aspath_test

2006-03-16 Paul Jakma <paul.jakma@sun.com>

	* heavy-wq.c: (heavy_wq_init) delay is gone from workqueue
	  spec.
	* aspath_test.c: (test_segments) Add an AS_SET with redundant
	  ASNs.
	  ({empty_prepend,prepend,parse}_test) add static qualifiers

Members: 
	tests/ChangeLog:1.13->1.14 
	tests/aspath_test.c:1.4->1.5 
	tests/heavy-wq.c:1.2->1.3 

---------------------
PatchSet 1552 
Date: 2006/03/30 14:46:23
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[solaris] revert previous update of manifest install path

2006-03-16 Paul Jakma <paul.jakma@sun.com>

	* prototype.smf.in: Oops, continue to install manifest to
	  var/svc/manifest/network for now.
	* Changelog: fix lack of trailing newline

Members: 
	solaris/ChangeLog:1.15->1.16 
	solaris/prototype.smf.in:1.2->1.3 

---------------------
PatchSet 1553 
Date: 2006/03/30 14:53:59
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib/memory] Add mallinfo support

2006-02-15 Paul Jakma <paul.jakma@sun.com>

	* configure.ac: Check for mallinfo, being careful to link test
	  so we can detect things like umem being used (which doesn't
	  provide a mallinfo).
	* lib/memory.c: (mtype_memstr) new helper function to
	  return human friendly string for a byte count.
	  (mtype_stats_alloc) new function, for users to retrieve
	  number of objects allocated.
	  (show_memory_mallinfo) New function, show mallinfo statistics
	  if available.
	  (show_memory_all_cmd) Call show_memory_mallinfo, if mallinfo
	  is available.
	* lib/memory.h: Export mtype_memstr and mtype_stats_alloc.
	  Provide a define for a reasonable buffer size for
	  mtype_memstr.

Members: 
	ChangeLog:1.141->1.142 
	configure.ac:1.118->1.119 
	lib/ChangeLog:1.240->1.241 
	lib/memory.c:1.15->1.16 
	lib/memory.h:1.13->1.14 

---------------------
PatchSet 1554 
Date: 2006/03/30 14:58:05
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib] fix libtool version argument in Makefile.am

2006-03-16 Paul Jakma <paul.jakma@sun.com>

	* Makefile.am: Fix -version-info argument.

Members: 
	lib/ChangeLog:1.241->1.242 
	lib/Makefile.am:1.25->1.26 

---------------------
PatchSet 1555 
Date: 2006/03/30 15:01:14
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Include header dependency in bgp_nexthop.h

2006-03-19 Paul Jakma <paul.jakma@sun.com>

	* bgp_nexthop.h: Include if.h as a dependent header, for struct
	  connected.

Members: 
	bgpd/ChangeLog:1.91->1.92 
	bgpd/bgp_nexthop.h:1.3->1.4 

---------------------
PatchSet 1556 
Date: 2006/03/30 15:05:23
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Add 'show bgp memory' for stats on fixed-size allocations in bgpd

2006-03-19 Paul Jakma <paul.jakma@sun.com>

	* bgpd/bgp_vty.c: Add includes to get several structs we want
	  to provide usage statistics on.
	  (show_bgp_memory_cmd) Show memory usage stats for various
	  notable fixed size objects. Using mtype_stats_alloc and
	  mtype_memstr recently added to memory.c.
	  (bgp_show_summary) Report some additional stats specific to
	  the given BGP instance and/or AFI/SAFI such as table counts,
	  peers, rsclients and peer-groups.
	  (bgp_vty_init) Install show_bgp_memory_cmd.

Members: 
	bgpd/ChangeLog:1.92->1.93 
	bgpd/bgp_vty.c:1.31->1.32 

---------------------
PatchSet 1557 
Date: 2006/03/30 15:09:38
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] trivial: use a distinct memtype for struct bgp_synchronize

2006-03-19 Paul Jakma <paul.jakma@sun.com>

	* memtypes.c: Add MTYPE_BGP_SYNCHRONISE.
	* bgp_advertise.c: Use a distinct memory type for struct
	  bgp_synchronize.

Members: 
	bgpd/ChangeLog:1.93->1.94 
	bgpd/bgp_advertise.c:1.5->1.6 
	lib/ChangeLog:1.242->1.243 
	lib/memtypes.c:1.10->1.11 

---------------------
PatchSet 1558 
Date: 2006/03/30 15:12:38
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] release peer specific clear queue in peer_free

2006-03-22 Paul Jakma <paul.jakma@sun.com>

	* bgpd.c: (peer_free) release the per-peer workqueue when
	  freeing the peer.

Members: 
	bgpd/ChangeLog:1.94->1.95 
	bgpd/bgpd.c:1.30->1.31 

---------------------
PatchSet 1559 
Date: 2006/03/30 15:16:11
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[ospfd] Fix incorrect byte-order conversion of OSPF_MAX_SEQUENCE_NUMBER

2006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>

	* ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
	  conversion of OSPF_MAX_SEQUENCE_NUMBER

Members: 
	ospfd/ChangeLog:1.168->1.169 
	ospfd/ospf_lsa.c:1.42->1.43 

---------------------
PatchSet 1560 
Date: 2006/03/30 15:20:00
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[ospfd] ignore loopbacks for received interface validation

2006-03-25 Paul Jakma <paul.jakma@sun.com>

	* ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
	  we can never ever receive packets on those. Should fix
	  case where CARP is run with address in same subnet as real
	  interface. Problem report and diagnosis thanks to:
	  Landon Fuller <landonf@opendarwin.org>.
	  However, ospf_read() still can't deal deterministically with
	  multiple interfaces in same subnet.

Members: 
	ospfd/ChangeLog:1.169->1.170 
	ospfd/ospf_interface.c:1.39->1.40 

---------------------
PatchSet 1561 
Date: 2006/03/30 15:25:24
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib] status field/flags no longer used in struct workqueue

2006-03-25 Paul Jakma <paul.jakma@sun.com>

	* workqueue.h: (struct work_queue) Remove status field and
	  state flag, no longer used.

Members: 
	lib/ChangeLog:1.243->1.244 
	lib/workqueue.h:1.7->1.8 

---------------------
PatchSet 1562 
Date: 2006/03/30 15:30:19
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib] fix gensub call in memtypes.awk to pass "g", not g.

2006-03-27 Paul Jakma <paul.jakma@sun.com>

	* memtypes.awk: Fix gensub call, g should be a string..

Members: 
	lib/ChangeLog:1.244->1.245 
	lib/memtypes.awk:1.3->1.4 

---------------------
PatchSet 1563 
Date: 2006/03/30 15:34:31
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[ospfd] Fix failure of Fletcher checksum with certain compilers

2006-03-27 Paul Jakma <paul.jakma@sun.com>

	* ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
	  the ambiguities of ANSI and C99 C with respect to type
	  conversion. Detailed problem report and test case with
	  example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.

Members: 
	ospfd/ChangeLog:1.170->1.171 
	ospfd/ospf_lsa.c:1.43->1.44 

---------------------
PatchSet 1564 
Date: 2006/03/30 15:36:23
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[TODO] Note MED functionality we should implement

2006-03-30 Paul Jakma <paul.jakma@sun.com>

	* TODO: Add reminder for useful MED functionality we should
	  implement.

Members: 
	ChangeLog:1.142->1.143 
	TODO:1.6->1.7 

---------------------
PatchSet 1565 
Date: 2006/03/30 15:39:35
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Fix infinite loop in community_str2com

2006-03-30 Paul Jakma <paul.jakma@sun.com>

	* bgp_community.c: (community_gettoken) Unknown token should
	  return NULL, to give a strong indication to callers that
	  the token no longer can be parsed, otherwise callers looping
	  on this function may have a hard time ending their loop.
	  (community_str2com) While loop around community_gettoken appears
	  to have been coded thinking that break statement would break
	  from the while{}, hence it could never exit for unknown token
	  case. Fix it to do..while, so it can use the NULL result from
	  community_gettoken easily.

Members: 
	bgpd/ChangeLog:1.95->1.96 
	bgpd/bgp_community.c:1.5->1.6 

---------------------
PatchSet 1566 
Date: 2006/03/30 15:43:17
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib] Mark most arguments in DEFUN_CMD_FUNC_TEXT as potentially unused

2006-03-30 Paul Jakma <paul.jakma@sun.com>

	* command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as
	  potentially being unused.

Members: 
	lib/ChangeLog:1.245->1.246 
	lib/command.h:1.21->1.22 

---------------------
PatchSet 1567 
Date: 2006/03/30 15:45:47
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib] Trivial: fix line lengths of a comment in workqueu.c

2006-03-30 Paul Jakma <paul.jakma@sun.com>

	* workqueue.c: (work_queue_run) fix line length of comment

Members: 
	lib/ChangeLog:1.246->1.247 
	lib/workqueue.c:1.7->1.8 

---------------------
PatchSet 1568 
Date: 2006/03/30 16:00:30
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[lib] command.c exports host global, add it to header.

2006-03-14 Paul Jakma <paul.jakma@sun.com>

	* privs.c: (zprivs_caps_init) Change user IDs before lowering
	  privileges, while this seems to work on Linux, on Solaris
	  it rightfully refuses due to PRIV_PROC_SETID having been
	  dropped.
	* command.h: Add the struct host global exported from command.c

Members: 
	lib/ChangeLog:1.247->1.248 
	lib/command.h:1.22->1.23 

---------------------
PatchSet 1580 
Date: 2006/04/03 22:24:27
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[doc] document version zserv header, add txt figures, make pdf figs nicer

2006-03-31 Paul Jakma <paul.jakma@sun.com>

	* fig*.txt: New files, txt versions of the diagrammes for the
	  info file.
	* protocol.texi: Document the new version 1 header.
	* routeserver.texi: Explicitly specify scaling widths for the
	  figures, only way to make them look reasonable, sadly.
	  Try fix some formatting and explicitely note lists as being
	  bulleted.
	* Makefile.am: convert seems to do png to pdf just fine. No
	  need for intermediate eps.
	  Add txt figure expansions and list as dependencies and
	  EXTRA_DIST files.

Members: 
	doc/ChangeLog:1.55->1.56 
	doc/Makefile.am:1.16->1.17 
	doc/fig-normal-processing.txt:INITIAL->1.1 
	doc/fig-rs-processing.txt:INITIAL->1.1 
	doc/fig_topologies_full.txt:INITIAL->1.1 
	doc/fig_topologies_rs.txt:INITIAL->1.1 
	doc/protocol.texi:1.2->1.3 
	doc/routeserver.texi:1.3->1.4 

---------------------
PatchSet 1581 
Date: 2006/04/03 22:25:32
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[ospfd] Fix virtual-link handling in nbrs route-table, exposed by bug#234 fix

2006-04-03 Paul Jakma <paul.jakma@sun.com>

	* (general) Fix issues with handling of Vlinks and entries
	  in the nbrs route-table which were highlighted by the
	  nsm/nbr_self fixes from bug #234. Many thanks to Juergen
	  Kammer for his help and efforts in testing out debug patches to
	  pinpoint the issue.
	* ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink.
	* ospf_neighbor.c: (ospf_nbr_key) new static function, helper
	  to create key in nbrs table for a given nbr.
	  (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to
	  document an expected state.
	  (ospf_nbr_add_self) Ditto.
	  (ospf_nbr_lookup_by_addr) Add an assert.
	* ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self
	  psuedo-neighbour.

Members: 
	ospfd/ChangeLog:INITIAL->1.172 
	ospfd/ospf_interface.c:INITIAL->1.41 
	ospfd/ospf_neighbor.c:INITIAL->1.10 
	ospfd/ospf_nsm.c:1.13->1.14 

---------------------
PatchSet 1582 
Date: 2006/04/03 22:27:20
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[solaris] Manifest referenced non-existent services, fix.

2006-04-03 Paul Jakma <paul.jakma@sun.com>

	* quagga.xml.in: oops, ipvX-routing services don't exist yet in
	  any Solaris builds.

Members: 
	solaris/ChangeLog:1.16->1.17 
	solaris/quagga.xml.in:1.6->1.7 

---------------------
PatchSet 1583 
Date: 2006/04/28 17:22:36
Author: ajs
Branch: HEAD
Tag: (none) 
Log:
[ripd] Fix logic to send updates on all connected addresses.

2006-04-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

	* ripd.c: (rip_update_process) Try to fix the logic for sending
	  an updated on each connected network.  The new code will
	  attempt to send the update on each connected network, whereas
	  the previous code seemed to be attempting to avoid sending
	  more than one RIPv1 update on a given interface, but was coded
	  incorrectly.  The actual effect of the old code was to send
	  an update only on the first connected address in the cases
	  where the interface is not multicast, or RIPv2 is not being used.

Members: 
	ripd/ChangeLog:1.57->1.58 
	ripd/ripd.c:1.55->1.56 

---------------------
PatchSet 1584 
Date: 2006/05/04 08:32:57
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[ospfd] Fix SPF of virtual-links

2006-04-24 Paul Jakma <paul.jakma@sun.com>

	* (general) More Virtual-link fixes, again with much help in
	  testing / debug from Juergen Kammer. Primarily in SPF.
	* ospf_spf.h: Add guard. ospf_interface.h will include this
	  header.
	* ospf_interface.h: Modify ospf_vl_lookup definition to take
	  struct ospf as argument, so as to allow for NULL area
	  argument.
	  (struct ospf_vl_data) Remove out_oi, instead add a struct
	  vertex_nexthop, to use as initial nexthop for backbone paths
	  through a vlink.
	* ospf_interface.c: (ospf_vl_lookup) Modified to allow
	  NULL area to be passed to indicate "any" (first) area.
	  Add extra debug.
	  (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
	  (ospf_vl_up_check) Fix debug, inet_ntoa returns a static
	  buffer..
	* ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
	  backbone, don't bother checking.
	* ospf_spf.c: (static struct list vertex_list) Record vertices
	  that will need to be freed.
	  (cmp) Order network before router vertices, as required,
	  wasn't implemented.
	  (vertex_nexthop_free) Mild additional robustness check.
	  (vertex_parent_free) Take void argument, as this function
	  is passed as list deconstructor for vertex parent list.
	  (ospf_vertex_new) More debug. Set deconstructor for parent
	  list. Track allocated vertices on the vertex_list.
	  (ospf_vertex_free) Get rid of the tricky recursive cleanup of
	  vertices. Now frees only the given vertex.
	  (ospf_vertex_add_parent) Fix assert.
	  (ospf_nexthop_calculation) Fix calculation of nexthop for
	  VLink vertices, lookup the vl_data and use its previously
	  recorded nexthop information.
	  (ospf_spf_calculate) Vertices are freed simply by deleting
	  vertex_list nodes and letting ospf_vertex_free as deconstructor
	  work per-node.
	  (ospf_spf_calculate_timer) Trivial optimisation, leave
	  backbone SPF calculation till last to reduce SPF churn on
	  VLink updates.
	* ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
	  (no_ospf_area_vlink_cmd) ditto.
	  (show_ip_ospf_interface_sub) For Vlinks, the peer address is
	  more interesting than the output interface.

Members: 
	ospfd/ChangeLog:1.172->1.173 
	ospfd/ospf_interface.c:1.41->1.42 
	ospfd/ospf_interface.h:1.13->1.14 
	ospfd/ospf_route.c:1.15->1.16 
	ospfd/ospf_spf.c:1.24->1.25 
	ospfd/ospf_spf.h:1.7->1.8 
	ospfd/ospf_vty.c:INITIAL->1.51 

---------------------
PatchSet 1585 
Date: 2006/05/04 08:36:34
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[ripd] bugs #261, #262: Fix RIPv1 info-leak and unauthenticated route updates

2006-05-04 Paul Jakma <paul.jakma@sun.com>

	* (general) Fixes for bugs #261 and 262. Thanks to
	  Konstantin V. Gavrilenko <kos@arhont.com> for the problem
	  reports, testing of a series of proposed patches and comment
	  on the proposed changes in behaviour.
	* rip_interface.c: (ip_rip_authentication_mode_cmd) Parse all
	  of the command before making any changes to configured state.
	* ripd.c: (rip_read) RIP version control should be absolute and
          always apply, fixes bug #261 by allowing RIPv1 to be disabled.
	  Fix bug #262: If authentication is enabled, then
	  unauthenticated packets should not be accepted. We do however
	  make an exception for RIPv1 REQUEST packets, to which we will
	  reply as RIPv1 can now be disabled fully, to allow ripd to
	  still provide routing /information/ to simple devices.

Members: 
	ripd/ChangeLog:1.58->1.59 
	ripd/rip_interface.c:1.34->1.35 
	ripd/ripd.c:1.56->1.57 

---------------------
PatchSet 1586 
Date: 2006/05/04 08:37:37
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[docs] Update ripd docs on version and authentication, see bugs #261,#262

2006-05-04 Paul Jakma <paul.jakma@sun.com>

	* ripd.texi: Add Version Control as a distinct section.
	  Expand Version Control section with overview text,
	  touching on insecurity of RIPv1 and referencing
	  authentication section, cleanup text of various version
	  commands.
	  RIP Authentication: Add overview text, refer to RIPv1 version
	  control, which is required to completely secure RIP.

Members: 
	doc/ChangeLog:1.56->1.57 
	doc/ripd.texi:1.6->1.7 

---------------------
PatchSet 1587 
Date: 2006/05/04 08:52:12
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] bug #210: Enable crucial VPNv4 code which was disabled

2006-05-04 Paul Jakma <paul.jakma@sun.com>

	* (general) VPNv4 fixes. Certain VPNv4 code was not enabled.
	  See bug #210.
	* bgp_attr.{c,h}: (bgp_packet_{withdraw,attribute}) Tag should be
	  u_char really.
	* bgp_packet.c: (bgp_{update,withdraw}_packet) Enable some
	  VPNv4 code which inexplicably was ifdef'd out. comments from
	  a tester on IRC suggest this fixes bug #210.

Members: 
	bgpd/ChangeLog:INITIAL->1.97 
	bgpd/bgp_attr.c:1.15->1.16 
	bgpd/bgp_attr.h:1.7->1.8 
	bgpd/bgp_packet.c:1.23->1.24 

---------------------
PatchSet 1588 
Date: 2006/05/04 09:08:15
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Fix bug where FSM can stay hung forever in Idle/Clrng

2006-05-04 Paul Jakma <paul.jakma@sun.com>

	* bgp_route.c: (general) Fix logical bug in clearing, noted
	  by Chris Caputo in [quagga-users 6728] - clearing depended on
	  at least one route being added to workqueue, in order for
	  workqueue completion function to restart FSM. However, if no
	  routes are cleared, then the completion function never is
	  called, it needs to be called manually if the workqueue
	  didn't get scheduled.
	  Finally, clearing is per-peer-session, not per AFI/SAFI, so
	  the FSM synchronisation should be in bgp_clear_route_table.
	  (bgp_clear_route_table) Wrong place for FSM/clearing
	  synchronisation, move to..
	  (bgp_clear_route) FSM/clearing synchronisation should be
	  here.
	  If no routes were cleared, no workqueue scheduled, call
	  the completion func to ensure FSM kicks off again.

Members: 
	bgpd/ChangeLog:1.97->1.98 
	bgpd/bgp_route.c:1.43->1.44 

---------------------
PatchSet 1596 
Date: 2006/05/08 15:25:09
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] CID#62 fix double-free, use-after-free in community_str2com

2006-05-08 Paul Jakma <paul.jakma@sun.com>

	* bgp_community.c: (community_str2com) Coverity CID#62, fix
	  double-free, use-after-free.

Members: 
	bgpd/ChangeLog:1.98->1.99 
	bgpd/bgp_community.c:INITIAL->1.7 

---------------------
PatchSet 1597 
Date: 2006/05/08 15:32:07
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[ripngd] bug #242, fix crash in routemap, ipv6 stored in in_addr.

2006-05-08 Paul Jakma <paul.jakma@sun.com>

	* ripng_routemap.c: (route_set_ipv6_nexthop_local_compile) bug
	  #242, s/in_addr/in6_addr to fix crash.
	  Thanks to jithinvachery+quagga@gmail.com.

Members: 
	ripngd/ChangeLog:1.28->1.29 
	ripngd/ripng_routemap.c:1.6->1.7 

---------------------
PatchSet 1598 
Date: 2006/05/08 15:37:17
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[bgpd] Bug #240, Fix route-server crash when static routes are configured

2006-05-08 Paul Jakma <paul.jakma@sun.com>

	* bgp_route.c: (bgp_afi_node_get) given table should never be
	  NULL, check/assert this.
	  (bgp_static_update) Bug #240. Rsclients should only be passed
	  the static update if they are configured for the afi,safi.

Members: 
	bgpd/ChangeLog:1.99->1.100 
	bgpd/bgp_route.c:1.44->1.45 

---------------------
PatchSet 1599 
Date: 2006/05/08 15:40:39
Author: paul
Branch: HEAD
Tag: (none) 
Log:
[doc] bug #245, remove reference to non-existent log_mode argument

2006-05-08 Paul Jakma <paul.jakma@sun.com>

	* main.texi: --log_mode does not exist, remove, bug #245.

Members: 
	doc/ChangeLog:INITIAL->1.58 
	doc/main.texi:1.3->1.4