summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-05-15[ospf6d] Import GNU Zebra CVSps#3559: Fix inter-area as-ext bug, cleanup debugPaul Jakma
2005-10-06 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> * ospf6_asbr.c: fix bug of calculating AS-External routes in other areas. Add debugging function for border-router calculation. * ospf6d.h: version 0.9.7p
2006-05-12[bgpd] CID #4,#5,#9,#10, simplify aspath_print_vty usagePaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * bgp_aspath.{c,h}: (aspath_print_vty) take a format string, so as to reduce burden on callers, all in bgp_route.c * bgp_route.c: (route_vty_out{,tmp}) Update to match aspath_print_vty, simplifying checks needed to get spacing right. CID #4,#5. ({damp,flap}_route_vty_out) Ditto, CID #9, #10
2006-05-12[bgpd] CID #6, remove useless NULL check, bgp_static_update_rsclientPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: (bgp_static_update_rsclient) Remove useless NULL check, code already assumes bgp_static can not be NULL, fixes CID #6.
2006-05-12[bgpd] CID #7, remove useless NULL check, bgp_static_update_mainPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: (bgp_static_update_main) Remove useless NULL check, code already assumes bgp_static can not be NULL, fixes CID #7.
2006-05-12[bgpd] Remove dead code in ORIGINATOR_ID packet forming codePaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * bgp_attr.c: (bgp_packet_attribute) Remove dead code, Coverity CID #1
2006-05-12[lib] CID #55, fix return of freed pointer, cmd_describe_command_realPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * command.c: (cmd_describe_command_real) Fix return of freed pointer when no-match, CID #55.
2006-05-12[lib] CID #39, fix leak in error path, vty_describe_commandPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * vty.c: (vty_describe_command) fix leak of describe vector in error path, CID #39.
2006-05-12[lib] CID #37, fix error case leak, cmd_complete_command_realPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * command.c: (cmd_complete_command_real) Fix leak of cmd_vector in error case, Coverity CID #37.
2006-05-12[lib] CID #3, fix forward-null errors in vty_prefix_list_uninstallPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref of prefix and typestr strings, Coverity CID #3.
2006-05-12[ospfd] Fix small error in CID #13 commitPaul Jakma
2006-05-13 Paul Jakma <paul.jakma@sun.com> * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity check to match the assert, small error in CID #13 fix.
2006-05-12[ospfd] CID #13, debug for NULL type7 LSA should not print out data from itPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * ospf_lsa.c: (ospf_translated_nssa_refresh) Add non-assert sanity check, in case DEBUG isn't defined. Debug message when no type7 exists should print the ID from the type5, not the type7, fixes CID #13.
2006-05-12[ospfd] CID #15, remove redundant NULL check in ism_change_statePaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * ospf_ism.c: (ism_change_state) NULL check on oi->area is useless, it's always valid. Only possibility where it couldn't be is if there is a race between abr_task and cleaning up oi's, in which case a NULL check here isn't going to do anything. Fixes CID #15.
2006-05-12[ospfd] CID #14, NULL check ospf->backbone before use, ospf_update_router_routePaul Jakma
2006-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.
2006-05-12[ospfd] CID #28, remove another ospf_lookup call - ospf_redistribute_withdrawPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup call by taking the struct ospf * as argument, which the caller has, fixing CID #28. * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration * ospf_zebra.c: (ospf_redistribute_unset) update call to ospf_redistribute_withdraw to match.
2006-05-12[ospfd] CID #27, fix missing NULL return checkPaul Jakma
2006-05-12 Paul Jakma <paul.jakma@sun.com> * ospf_interface.c: (ospf_if_exists) Fix missing NULL return check on ospf_lookup, CID #27.
2006-05-12[ospfd] CID #29, fix missing NULL check by removing unused code.Paul Jakma
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.
2006-05-12[ospfd] Squash another ospf_lookup callPaul Jakma
2006-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) ditto.
2006-05-12[ospfd] Fix leak in area-range-cost command, CID #46.Paul Jakma
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.
2006-05-12[ospfd] CID #49, fix dereference before NULL checkPaul Jakma
2006-05-11 Paul Jakma <paul.jakma@sun.com> * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before NULL check by moving into check-protected block, fix CID #49.
2006-05-11[ospfd] Check NULL result from ospf_area_lookup_by_area_id, CID #69Paul Jakma
2006-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
2006-05-11[ospfd] Fix missing check for ospf_lookup NULL return, CID #70Paul Jakma
2006-05-11 Paul Jakma <paul.jakma@sun.com> * ospf_vty.c: (general) Audit ospf_lookup calls in commands, ensure check for NULL result, make vty messages consistent. (show_ip_ospf_interface) Missing NULL check on ospf_lookup result, fixes Coverity CID #70.
2006-05-11[zebra] CID #31, guard against potential NULL return of route_node_lookupPaul Jakma
2006-05-11 Paul Jakma <paul.jakma@sun.com> * interface.c: (if_delete_update) route_node_lookup may return NULL, should fix Coverity CID #31.
2006-05-11[ripngd] CID #72, remove unneeded NULL checkPaul Jakma
2006-05-11 Paul Jakma <paul.jakma@sun.com> * ripng_interface.c: (ripng_interface_address_add) Remove unneeded NULL check, Coverity CID #72.
2006-05-10[doc] Update auto-generated quagga.infoPaul Jakma
2006-05-10 Paul Jakma <paul.jakma@sun.com> * quagga.info: update auto-built file.
2006-05-10[0.99] Version bump to 0.99.4Paul Jakma
2006-05-10 Paul Jakma <paul.jakma@sun.com> * configure.ac: Bump to 0.99.4
2006-05-08[doc] bug #245, remove reference to non-existent log_mode argumentPaul Jakma
2006-05-08 Paul Jakma <paul.jakma@sun.com> * main.texi: --log_mode does not exist, remove, bug #245.
2006-05-08[bgpd] Bug #240, Fix route-server crash when static routes are configuredPaul Jakma
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.
2006-05-08[ripngd] bug #242, fix crash in routemap, ipv6 stored in in_addr.Paul Jakma
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.
2006-05-08[bgpd] CID#62 fix double-free, use-after-free in community_str2comPaul Jakma
2006-05-08 Paul Jakma <paul.jakma@sun.com> * bgp_community.c: (community_str2com) Coverity CID#62, fix double-free, use-after-free.
2006-05-04[bgpd] Fix bug where FSM can stay hung forever in Idle/ClrngPaul Jakma
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.
2006-05-04[bgpd] bug #210: Enable crucial VPNv4 code which was disabledPaul Jakma
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.
2006-05-04[docs] Update ripd docs on version and authentication, see bugs #261,#262Paul Jakma
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.
2006-05-04[ripd] bugs #261, #262: Fix RIPv1 info-leak and unauthenticated route updatesPaul Jakma
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.
2006-05-04[ospfd] Fix SPF of virtual-linksPaul Jakma
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.
2006-04-28[ripd] Fix logic to send updates on all connected addresses.Andrew J. Schorr
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.
2006-04-03[solaris] Manifest referenced non-existent services, fix.Paul Jakma
2006-04-03 Paul Jakma <paul.jakma@sun.com> * quagga.xml.in: oops, ipvX-routing services don't exist yet in any Solaris builds.
2006-04-03[ospfd] Fix virtual-link handling in nbrs route-table, exposed by bug#234 fixPaul Jakma
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.
2006-04-03[doc] document version zserv header, add txt figures, make pdf figs nicerPaul Jakma
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.
2006-03-30Sync rebuild of cvs_headPaul Jakma
2006-03-30[lib] command.c exports host global, add it to header.Paul Jakma
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
2006-03-30[lib] Trivial: fix line lengths of a comment in workqueu.cPaul Jakma
2006-03-30 Paul Jakma <paul.jakma@sun.com> * workqueue.c: (work_queue_run) fix line length of comment
2006-03-30[lib] Mark most arguments in DEFUN_CMD_FUNC_TEXT as potentially unusedPaul Jakma
2006-03-30 Paul Jakma <paul.jakma@sun.com> * command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as potentially being unused.
2006-03-30[bgpd] Fix infinite loop in community_str2comPaul Jakma
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.
2006-03-30[TODO] Note MED functionality we should implementPaul Jakma
2006-03-30 Paul Jakma <paul.jakma@sun.com> * TODO: Add reminder for useful MED functionality we should implement.
2006-03-30[ospfd] Fix failure of Fletcher checksum with certain compilersPaul Jakma
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>.
2006-03-30[lib] fix gensub call in memtypes.awk to pass "g", not g.Paul Jakma
2006-03-27 Paul Jakma <paul.jakma@sun.com> * memtypes.awk: Fix gensub call, g should be a string..
2006-03-30[lib] status field/flags no longer used in struct workqueuePaul Jakma
2006-03-25 Paul Jakma <paul.jakma@sun.com> * workqueue.h: (struct work_queue) Remove status field and state flag, no longer used.
2006-03-30[ospfd] ignore loopbacks for received interface validationPaul Jakma
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.
2006-03-30[ospfd] Fix incorrect byte-order conversion of OSPF_MAX_SEQUENCE_NUMBERPaul Jakma
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
2006-03-30[bgpd] release peer specific clear queue in peer_freePaul Jakma
2006-03-22 Paul Jakma <paul.jakma@sun.com> * bgpd.c: (peer_free) release the per-peer workqueue when freeing the peer.