[ospfd] CID #14, NULL check ospf->backbone before use, ospf_update_router_route2006-05-12 Paul Jakma <paul.jakma@sun.com>
* ospf_ia.c: (ospf_update_router_route) ospf->backbone could be
NULL when passed to ospf_find_asbr_route_through_area,
check for NULL first, CID #14.
[ospfd] CID #29, fix missing NULL check by removing unused code.2006-05-12 Paul Jakma <paul.jakma@sun.com>
* ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup
call, which is not checked for NULL return, by stripping out
functionality which is never used, hence fixing Coverity CID
#29.
(struct lsa_action) remove unused member.
[ospfd] Squash another ospf_lookup call2006-05-11 Paul Jakma <paul.jakma@sun.com>
* ospf_lsa.c: (ospf_default_originate_timer) Let the thread
take (struct ospf *) as thread argument, rather than (struct
ospf *)->default_originate, thus avoiding having to call
ospf_lookup.
* ospf_zebra.c: (ospf_redistribute_default_set) change setup
of ospf_default_originate_timer thread to match.
* ospfd.c: (ospf_router_id_update) di...
[ospfd] Fix leak in area-range-cost command, CID #46.2006-05-11 Paul Jakma <paul.jakma@sun.com>
* ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new
range, should just lookup to see if one exists, the new range
is just leaked. Fixes CID #46.
[ospfd] Check NULL result from ospf_area_lookup_by_area_id, CID #692006-05-11 Paul Jakma <paul.jakma@sun.com>
* ospf_vty.c: (no_ospf_area_filter_list) Check NULL result from
ospf_area_lookup_by_area_id, fixes Coverity CID #69
[zebra] CID #31, guard against potential NULL return of route_node_lookup2006-05-11 Paul Jakma <paul.jakma@sun.com>
* interface.c: (if_delete_update) route_node_lookup may return
NULL, should fix Coverity CID #31.
[bgpd] Bug #240, Fix route-server crash when static routes are configured2006-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.
[bgpd] Fix bug where FSM can stay hung forever in Idle/Clrng2006-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...
[bgpd] bug #210: Enable crucial VPNv4 code which was disabled2006-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.
[docs] Update ripd docs on version and authentication, see bugs #261,#2622006-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.
[ripd] bugs #261, #262: Fix RIPv1 info-leak and unauthenticated route updates2006-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...
[ospfd] Fix SPF of virtual-links2006-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) Remo...
[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. T...
[ospfd] Fix virtual-link handling in nbrs route-table, exposed by bug#234 fix2006-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_n...
[doc] document version zserv header, add txt figures, make pdf figs nicer2006-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 se...
[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
[lib] Trivial: fix line lengths of a comment in workqueu.c2006-03-30 Paul Jakma <paul.jakma@sun.com>
* workqueue.c: (work_queue_run) fix line length of comment
[lib] Mark most arguments in DEFUN_CMD_FUNC_TEXT as potentially unused2006-03-30 Paul Jakma <paul.jakma@sun.com>
* command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as
potentially being unused.
[bgpd] Fix infinite loop in community_str2com2006-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 bre...
[TODO] Note MED functionality we should implement2006-03-30 Paul Jakma <paul.jakma@sun.com>
* TODO: Add reminder for useful MED functionality we should
implement.
[ospfd] Fix failure of Fletcher checksum with certain compilers2006-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>.
[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..
[lib] status field/flags no longer used in struct workqueue2006-03-25 Paul Jakma <paul.jakma@sun.com>
* workqueue.h: (struct work_queue) Remove status field and
state flag, no longer used.
[ospfd] ignore loopbacks for received interface validation2006-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
multi...
[bgpd] release peer specific clear queue in peer_free2006-03-22 Paul Jakma <paul.jakma@sun.com>
* bgpd.c: (peer_free) release the per-peer workqueue when
freeing the peer.
[bgpd] trivial: use a distinct memtype for struct bgp_synchronize2006-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.
[bgpd] Add 'show bgp memory' for stats on fixed-size allocations in bgpd2006-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 an...
[bgpd] Include header dependency in bgp_nexthop.h2006-03-19 Paul Jakma <paul.jakma@sun.com>
* bgp_nexthop.h: Include if.h as a dependent header, for struct
connected.
[lib/memory] Add mallinfo support2006-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.
(sh...
[solaris] revert previous update of manifest install path2006-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
[tests] fix heavy-wq, add redundant AS_SET test and statics to aspath_test2006-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
[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...
[zebra] arrange structs in padding-efficient manner and remove unused field2006-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!
[lib/privs] Changing user IDs should be done before dropping privileges2006-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.
[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 b...
[lib] export show_address_cmd debug command in if.h2006-03-06 Paul Jakma <paul.jakma@sun.com>
* if.h: export show_address_cmd, for anyone who wishes to use
it.