--------------------- PatchSet 1604 Date: 2006/05/11 14:20:47 Author: paul Branch: HEAD Tag: (none) Log: [ripngd] CID #72, remove unneeded NULL check 2006-05-11 Paul Jakma * ripng_interface.c: (ripng_interface_address_add) Remove unneeded NULL check, Coverity CID #72. Members: ripngd/ChangeLog:INITIAL->1.30 ripngd/ripng_interface.c:1.20->1.21 --------------------- PatchSet 1605 Date: 2006/05/11 14:28:05 Author: paul Branch: HEAD Tag: (none) Log: [zebra] CID #31, guard against potential NULL return of route_node_lookup 2006-05-11 Paul Jakma * interface.c: (if_delete_update) route_node_lookup may return NULL, should fix Coverity CID #31. Members: zebra/ChangeLog:1.125->1.126 zebra/interface.c:1.32->1.33 --------------------- PatchSet 1606 Date: 2006/05/11 14:31:11 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Fix missing check for ospf_lookup NULL return, CID #70 2006-05-11 Paul Jakma * 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. Members: ospfd/ChangeLog:INITIAL->1.174 ospfd/ospf_vty.c:1.51->1.52 --------------------- PatchSet 1607 Date: 2006/05/11 14:34:08 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Check NULL result from ospf_area_lookup_by_area_id, CID #69 2006-05-11 Paul Jakma * ospf_vty.c: (no_ospf_area_filter_list) Check NULL result from ospf_area_lookup_by_area_id, fixes Coverity CID #69 Members: ospfd/ChangeLog:1.174->1.175 ospfd/ospf_vty.c:1.52->1.53 --------------------- PatchSet 1608 Date: 2006/05/12 23:50:40 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #49, fix dereference before NULL check 2006-05-11 Paul Jakma * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before NULL check by moving into check-protected block, fix CID #49. Members: ospfd/ChangeLog:1.175->1.176 ospfd/ospf_route.c:1.16->1.17 --------------------- PatchSet 1609 Date: 2006/05/12 23:51:49 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Fix leak in area-range-cost command, CID #46. 2006-05-11 Paul Jakma * 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. Members: ospfd/ChangeLog:1.176->1.177 ospfd/ospf_abr.c:1.20->1.21 --------------------- PatchSet 1610 Date: 2006/05/12 23:55:41 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Squash another ospf_lookup call 2006-05-11 Paul Jakma * 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. Members: ospfd/ChangeLog:1.177->1.178 ospfd/ospf_lsa.c:INITIAL->1.45 ospfd/ospf_zebra.c:INITIAL->1.39 ospfd/ospfd.c:INITIAL->1.41 --------------------- PatchSet 1611 Date: 2006/05/12 23:57:57 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #29, fix missing NULL check by removing unused code. 2006-05-12 Paul Jakma * 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. Members: ospfd/ChangeLog:1.178->1.179 ospfd/ospf_lsa.c:1.45->1.46 --------------------- PatchSet 1612 Date: 2006/05/13 00:00:06 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #27, fix missing NULL return check 2006-05-12 Paul Jakma * ospf_interface.c: (ospf_if_exists) Fix missing NULL return check on ospf_lookup, CID #27. Members: ospfd/ChangeLog:1.179->1.180 ospfd/ospf_interface.c:INITIAL->1.43 --------------------- PatchSet 1613 Date: 2006/05/13 00:02:46 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #28, remove another ospf_lookup call - ospf_redistribute_withdraw 2006-05-12 Paul Jakma * 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. Members: ospfd/ChangeLog:1.180->1.181 ospfd/ospf_asbr.c:1.5->1.6 ospfd/ospf_asbr.h:1.3->1.4 ospfd/ospf_zebra.c:1.39->1.40 --------------------- PatchSet 1614 Date: 2006/05/13 00:04:45 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #14, NULL check ospf->backbone before use, ospf_update_router_route 2006-05-12 Paul Jakma * 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. Members: ospfd/ChangeLog:1.181->1.182 ospfd/ospf_ia.c:1.9->1.10 --------------------- PatchSet 1615 Date: 2006/05/13 00:07:27 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #15, remove redundant NULL check in ism_change_state 2006-05-12 Paul Jakma * 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. Members: ospfd/ChangeLog:1.182->1.183 ospfd/ospf_ism.c:1.12->1.13 --------------------- PatchSet 1616 Date: 2006/05/13 00:11:14 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #13, debug for NULL type7 LSA should not print out data from it 2006-05-12 Paul Jakma * 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. Members: ospfd/ChangeLog:1.183->1.184 ospfd/ospf_lsa.c:1.46->1.47 --------------------- PatchSet 1617 Date: 2006/05/13 00:15:30 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Fix small error in CID #13 commit 2006-05-13 Paul Jakma * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity check to match the assert, small error in CID #13 fix. Members: ospfd/ChangeLog:1.184->1.185 ospfd/ospf_lsa.c:1.47->1.48 --------------------- PatchSet 1618 Date: 2006/05/13 00:17:38 Author: paul Branch: HEAD Tag: (none) Log: [lib] CID #3, fix forward-null errors in vty_prefix_list_uninstall 2006-05-12 Paul Jakma * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref of prefix and typestr strings, Coverity CID #3. Members: lib/ChangeLog:INITIAL->1.249 lib/plist.c:1.7->1.8 --------------------- PatchSet 1619 Date: 2006/05/13 00:19:37 Author: paul Branch: HEAD Tag: (none) Log: [lib] CID #37, fix error case leak, cmd_complete_command_real 2006-05-12 Paul Jakma * command.c: (cmd_complete_command_real) Fix leak of cmd_vector in error case, Coverity CID #37. Members: lib/ChangeLog:1.249->1.250 lib/command.c:1.51->1.52 --------------------- PatchSet 1620 Date: 2006/05/13 00:22:01 Author: paul Branch: HEAD Tag: (none) Log: [lib] CID #39, fix leak in error path, vty_describe_command 2006-05-12 Paul Jakma * vty.c: (vty_describe_command) fix leak of describe vector in error path, CID #39. Members: lib/ChangeLog:1.250->1.251 lib/vty.c:1.49->1.50 --------------------- PatchSet 1621 Date: 2006/05/13 00:24:09 Author: paul Branch: HEAD Tag: (none) Log: [lib] CID #55, fix return of freed pointer, cmd_describe_command_real 2006-05-12 Paul Jakma * command.c: (cmd_describe_command_real) Fix return of freed pointer when no-match, CID #55. Members: lib/ChangeLog:1.251->1.252 lib/command.c:1.52->1.53 --------------------- PatchSet 1622 Date: 2006/05/13 00:25:37 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] Remove dead code in ORIGINATOR_ID packet forming code 2006-05-12 Paul Jakma * bgp_attr.c: (bgp_packet_attribute) Remove dead code, Coverity CID #1 Members: bgpd/ChangeLog:1.100->1.101 bgpd/bgp_attr.c:1.16->1.17 --------------------- PatchSet 1623 Date: 2006/05/13 00:27:30 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] CID #7, remove useless NULL check, bgp_static_update_main 2006-05-12 Paul Jakma * bgp_route.c: (bgp_static_update_main) Remove useless NULL check, code already assumes bgp_static can not be NULL, fixes CID #7. Members: bgpd/ChangeLog:1.101->1.102 bgpd/bgp_route.c:1.45->1.46 --------------------- PatchSet 1624 Date: 2006/05/13 00:29:22 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] CID #6, remove useless NULL check, bgp_static_update_rsclient 2006-05-12 Paul Jakma * bgp_route.c: (bgp_static_update_rsclient) Remove useless NULL check, code already assumes bgp_static can not be NULL, fixes CID #6. Members: bgpd/ChangeLog:1.102->1.103 bgpd/bgp_route.c:1.46->1.47 --------------------- PatchSet 1625 Date: 2006/05/13 00:48:40 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] CID #4,#5,#9,#10, simplify aspath_print_vty usage 2006-05-12 Paul Jakma * 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 Members: bgpd/ChangeLog:1.103->1.104 bgpd/bgp_aspath.c:1.12->1.13 bgpd/bgp_aspath.h:1.7->1.8 bgpd/bgp_route.c:1.47->1.48 --------------------- PatchSet 1626 Date: 2006/05/15 11:39:30 Author: paul Branch: HEAD Tag: (none) Log: [ospf6d] Import GNU Zebra CVSps#3559: Fix inter-area as-ext bug, cleanup debug 2005-10-06 Yasuhiro Ohara * 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 Members: ospf6d/ChangeLog:1.48->1.49 ospf6d/ospf6_asbr.c:1.19->1.20 ospf6d/ospf6_intra.c:1.12->1.13 ospf6d/ospf6_intra.h:1.3->1.4 ospf6d/ospf6_top.c:1.14->1.15 ospf6d/ospf6d.c:INITIAL->1.20 ospf6d/ospf6d.h:1.15->1.16 --------------------- PatchSet 1627 Date: 2006/05/15 11:42:24 Author: paul Branch: HEAD Tag: (none) Log: [ospf6d] GNU Zebra 3560: Call ospf6_maxage_remove when out of Exchange/Loading 2005-10-20 Yasuhiro Ohara * ospf6_neighbor.c: add the calling of ospf6_maxage_remove () when the neighbor went out of Exchange/Loading. Members: ospf6d/ChangeLog:1.49->1.50 ospf6d/ospf6_message.c:1.14->1.15 ospf6d/ospf6_neighbor.c:1.11->1.12 --------------------- PatchSet 1628 Date: 2006/05/15 11:46:07 Author: paul Branch: HEAD Tag: (none) Log: [ospf6d] GNU Zebra #3562: ABR Crash fix, memory fixes, route table debugs 2006-02-22 Yasuhiro Ohara * valgrind check and memory fix * route table identification string added * ospf6d.h: version 0.9.7q Members: ospf6d/ChangeLog:1.50->1.51 ospf6d/ospf6_abr.c:1.14->1.15 ospf6d/ospf6_area.c:1.11->1.12 ospf6d/ospf6_interface.c:1.17->1.18 ospf6d/ospf6_intra.c:1.13->1.14 ospf6d/ospf6_message.c:1.15->1.16 ospf6d/ospf6_network.c:1.8->1.9 ospf6d/ospf6_route.c:1.12->1.13 ospf6d/ospf6_route.h:1.9->1.10 ospf6d/ospf6_top.c:1.15->1.16 ospf6d/ospf6d.h:1.16->1.17 --------------------- PatchSet 1629 Date: 2006/05/15 11:47:53 Author: paul Branch: HEAD Tag: (none) Log: [ospf6d] GNU Zebra 3563: Fix as-external forwarding address 2006-03-01 Yasuhiro Ohara * ospf6_asbr.c: fix bug of needless forwarding address * ospf6d.h: version 0.9.7r Members: ospf6d/ChangeLog:1.51->1.52 ospf6d/ospf6_asbr.c:1.20->1.21 ospf6d/ospf6d.h:1.17->1.18 --------------------- PatchSet 1630 Date: 2006/05/15 11:56:46 Author: paul Branch: HEAD Tag: (none) Log: [lib] CID #39, Fix the vty completion leak-fix to only free when desired 2006-05-13 Paul Jakma * vty.c: (vty_describe_command) CID #39 fix was too hasty, just cause it /can/ leak doesn't mean it always will have, check first. Members: lib/ChangeLog:1.252->1.253 lib/vty.c:1.50->1.51 --------------------- PatchSet 1631 Date: 2006/05/15 17:56:51 Author: paul Branch: HEAD Tag: (none) Log: [lib] Add string mapping table for Zserv commands 2006-05-15 Paul Jakma * log.c: (general) Generalise struct zebra_route_desc into struct zebra_desc_table and, similar to route_types, add a command_types table to describe Zserv protocol commands. (route_types[]) use a macro to use designated initialisers while avoiding tedious duplication. (zserv_command_string) lookup string from zebra_desc_table, similar to zebra_route_string * zebra.h: Add declaration for zserv_command_string, adjust the comments to reflect zebra_desc_table. Members: lib/ChangeLog:1.253->1.254 lib/log.c:1.26->1.27 lib/zebra.h:1.40->1.41 --------------------- PatchSet 1632 Date: 2006/05/15 18:00:37 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Remove private command string table 2006-05-15 Paul Jakma * zserv.c: (general) Remove the private zebra_command_str in favour of newly added libzebra zserv_command_string. Members: zebra/ChangeLog:1.126->1.127 zebra/zserv.c:1.38->1.39 --------------------- PatchSet 1633 Date: 2006/05/17 16:04:59 Author: ajs Branch: HEAD Tag: (none) Log: [debug] Improve zebra kernel socket debug message to include IP addresses. 2006-05-17 Andrew J. Schorr * kernel_socket.c: (ifam_read_mesg) Improve debug message to show the IP address. Members: zebra/ChangeLog:1.127->1.128 zebra/kernel_socket.c:1.37->1.38 --------------------- PatchSet 1634 Date: 2006/05/19 14:53:23 Author: ajs Branch: HEAD Tag: (none) Log: [interface configuration] Preserve flag indicating address was set by quagga. 2006-05-19 Andrew J. Schorr * connected.c: (connected_add_ipv4,connected_add_ipv6) If the new struct connected matches an already existing one (that will consequently be removed by connected_withdraw), then be sure to preserve the ZEBRA_IFC_CONFIGURED flag. Members: zebra/ChangeLog:1.128->1.129 zebra/connected.c:1.21->1.22 --------------------- PatchSet 1635 Date: 2006/05/21 05:04:49 Author: ajs Branch: HEAD Tag: (none) Log: [interface configuration] Try to avoid losing address info after shutdown. 2006-05-21 Andrew J. Schorr * if.h: (struct connected) Document the meaning of the ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags. * connected.c: (connected_withdraw) Do not delete the connected address if the ZEBRA_IFC_CONFIGURED flag is set. (connected_add_ipv4,connected_add_ipv6) Before calling connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag on the superseded connected structure. Members: lib/ChangeLog:1.254->1.255 lib/if.h:1.23->1.24 zebra/ChangeLog:1.129->1.130 zebra/connected.c:1.22->1.23 --------------------- PatchSet 1636 Date: 2006/05/23 23:10:01 Author: paul Branch: HEAD Tag: (none) Log: [vtysh] Add 'show logging' command 2006-05-17 Paul Jakma * vtysh.c: (general) Add 'show logging' command. Members: vtysh/ChangeLog:1.44->1.45 vtysh/vtysh.c:1.46->1.47 --------------------- PatchSet 1637 Date: 2006/05/23 23:10:55 Author: paul Branch: HEAD Tag: (none) Log: [vtysh] suppress output in 'show logging' for daemons not present 2006-05-21 Paul Jakma * vtysh.c: (vtysh_show_logging_cmd) Suppress output for daemons which are not running (Andrew Schorr). Members: vtysh/ChangeLog:1.45->1.46 vtysh/vtysh.c:1.47->1.48 --------------------- PatchSet 1638 Date: 2006/05/23 23:20:34 Author: paul Branch: HEAD Tag: (none) Log: [doc] document neighbor ..... update-source 2006-05-23 Paul Jakma * bgpd.texi: Document the update-source command. Members: doc/ChangeLog:1.59->1.60 doc/bgpd.texi:1.6->1.7 --------------------- PatchSet 1639 Date: 2006/05/23 23:27:55 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] expand vty help for neighbor ... update-source 2006-05-23 Paul Jakma * bgp_vty.c: (neighbor_update_source_cmd) Expand tab completion to make it clear it takes both address and ifname. Members: bgpd/ChangeLog:1.104->1.105 bgpd/bgp_vty.c:1.32->1.33 --------------------- PatchSet 1641 Date: 2006/05/28 08:54:45 Author: paul Branch: HEAD Tag: (none) Log: [vtysh] Add "show memory" to vtysh 2006-05-24 Paul Jakma * vtysh.c: (general) Add 'show memory' command. Members: vtysh/ChangeLog:1.46->1.47 vtysh/vtysh.c:1.48->1.49 --------------------- PatchSet 1642 Date: 2006/05/28 09:02:41 Author: paul Branch: HEAD Tag: (none) Log: [build] Update SOS CFLAGS and add check for GNU Make in configure.ac 2006-05-28 Paul Jakma * configure.ac: Update SOS CFLAGS, Xt shouldn't be used and enable debug options. Add a check for GNU Make and warn the user if it does not appear to be the make used. Members: ChangeLog:1.144->1.145 configure.ac:1.120->1.121 --------------------- PatchSet 1643 Date: 2006/05/28 09:08:24 Author: paul Branch: HEAD Tag: (none) Log: [lib] include inttypes.h rather than stdint.h, provide defines where missing 2006-05-28 Paul Jakma * zebra.h: Include inttypes.h rather than stdint.h, best practice according to the autoconf manual. Add UINT*_MAX defines for older platforms lacking these (FBSD 4) Members: lib/ChangeLog:1.255->1.256 lib/zebra.h:1.41->1.42 --------------------- PatchSet 1644 Date: 2006/05/28 09:15:46 Author: paul Branch: HEAD Tag: (none) Log: [lib] malloc.h is deprecated, try not to include it anymore 2006-05-28 Paul Jakma * memory.c: malloc.h is deprecated in favour of stdlib.h, however we still need it on GNU Libc for mallinfo(). Members: lib/ChangeLog:1.256->1.257 lib/memory.c:1.16->1.17 --------------------- PatchSet 1645 Date: 2006/05/28 09:18:38 Author: paul Branch: HEAD Tag: (none) Log: [lib] vty_log shouldn't crash if called when vty isn't initiliased 2006-05-28 Paul Jakma * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty hasn't been initiliased. Members: lib/ChangeLog:1.257->1.258 lib/vty.c:1.51->1.52 --------------------- PatchSet 1646 Date: 2006/05/28 09:26:15 Author: paul Branch: HEAD Tag: (none) Log: [lib] Add support for Sun libc printstack to zlog_backtrace_sigsafe 2006-05-28 Paul Jakma * configure.ac: Check for Sun libc printstack(), add a general HAVE_STACK_TRACE define for lib/log.c, if any supported stack symbol dumping function is found (glibc backtrace/sun libc printstack). * log.c: (general) Add support for Sun libc printstack(). (hex_append) make the cpp conditional on general HAVE_STACK_TRACE define. (zlog_backtrace_sigsafe) Ditto. Add printstack() version of the the DUMP macro in this function. Members: ChangeLog:1.145->1.146 configure.ac:1.121->1.122 lib/ChangeLog:1.258->1.259 lib/log.c:1.27->1.28 --------------------- PatchSet 1647 Date: 2006/05/28 09:31:17 Author: paul Branch: HEAD Tag: (none) Log: [tests] test-sig.c: configure logging 2006-05-28 Paul Jakma * test-sig.c: (main) configure logging, there's no terminal to write to for one thing, but we do want stdout, and we don't want a test to spam syslog. Members: tests/ChangeLog:1.14->1.15 tests/test-sig.c:1.1->1.2 --------------------- PatchSet 1648 Date: 2006/05/28 09:32:44 Author: paul Branch: HEAD Tag: (none) Log: [tests] Fix stray character in previous commit Members: tests/test-sig.c:1.2->1.3 --------------------- PatchSet 1649 Date: 2006/06/15 12:41:19 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] suppres mostly uninteresting debug message unless debug is set 2006-05-30 Paul Jakma * ospf_packet.c: (ospf_read) Debug message about packets received on unenabled interfaces should be conditional on debug being set. Members: ospfd/ChangeLog:1.185->1.186 ospfd/ospf_packet.c:INITIAL->1.86 --------------------- PatchSet 1650 Date: 2006/06/15 13:04:57 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] lsdb_delete/discard_from_db should be more robust to bad args 2006-05-31 Paul Jakma * ospf_lsdb.c: (ospf_lsdb_delete) robustify against NULL arguments, print warning. * ospf_lsa.c: (ospf_discard_from_db) ditto. (ospf_maxage_lsa_remover) Check lsa->lsdb for validity, possible mitigation (but not solution) for bug #269. Members: ospfd/ChangeLog:1.186->1.187 ospfd/ospf_lsa.c:1.48->1.49 ospfd/ospf_lsdb.c:1.5->1.6 --------------------- PatchSet 1651 Date: 2006/06/15 13:25:55 Author: paul Branch: HEAD Tag: (none) Log: [lib] Fix vector leak in error path in command.c, CID #38 2006-06-15 Paul Jakma * command.c: (cmd_describe_command_real) Fix leak, CID #38. Members: lib/ChangeLog:1.259->1.260 lib/command.c:1.53->1.54 --------------------- PatchSet 1652 Date: 2006/06/15 13:41:02 Author: paul Branch: HEAD Tag: (none) Log: [lib] Experimental: have XFREE NULL out the freed pointer 2006-06-15 Paul Jakma * memory.h: Experimental, have XFREE macro NULL out the freed pointer. Members: lib/ChangeLog:1.260->1.261 lib/memory.h:1.14->1.15 --------------------- PatchSet 1653 Date: 2006/06/15 13:43:09 Author: paul Branch: HEAD Tag: (none) Log: [lib] list_delete shouldn't duplicate list_delete_all_node 2006-06-15 Paul Jakma * linklist.c: (list_delete) call list_delete_all_node, don't duplicate it. Members: lib/ChangeLog:1.261->1.262 lib/linklist.c:1.10->1.11 --------------------- PatchSet 1654 Date: 2006/06/15 13:48:17 Author: paul Branch: HEAD Tag: (none) Log: [zebra] remove internal if_flag_dump, use libzebras version. 2006-06-15 Paul Jakma * lib/if.c: (if_flag_dump) remove the whitespace indentation, callers should provide. * zebra/interface.c: (if_flag_dump_vty) redundant code, remove. (if_dump_vty) use libzebra if_flag_dump. Members: lib/ChangeLog:1.262->1.263 lib/if.c:1.33->1.34 zebra/ChangeLog:1.130->1.131 zebra/interface.c:1.33->1.34 --------------------- PatchSet 1655 Date: 2006/06/15 19:10:47 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Fix forgetfulness wrt configured address on FreeBSD 2006-06-15 Paul Jakma * (general) The key fixes are actually Andrew Schorr's. * interface.c: (ip_address_uninstall) Unset the configured flag. * connected.c: (connected_same) new helper, check whether two connected are same. (connected_implicit_withdraw) new helper, consolidation of existing code in connected_add_ipv{4,6}. Try filter out unneeded Zserv address delete/adds when address is exact same. Where old address is implicitely removed, be sure to preserve the IFC_CONFIGURED flag if set, fixes bug where configured addresses were being lost on FreeBSD. Members: zebra/ChangeLog:1.131->1.132 zebra/connected.c:1.23->1.24 zebra/interface.c:1.34->1.35 --------------------- PatchSet 1656 Date: 2006/06/15 19:40:49 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Fix multicast membership drop bug 2006-06-15 Paul Jakma * Reported by Milan Koci * ospf_interface.h: (struct ospf_if_info) Add reference counts for multicast group memberships. Add various macros to help manipulate/check membership state. * ospf_interface.c: (ospf_if_set_multicast) Maintain the ospf_if_info reference counts, and only actually drop memberships if it hits 0, to avoid losing membership when OSPF is disabled on an interface with multiple active OSPF interfaces. * ospf_packet.c: (ospf_{hello,read}) Use the new macros to check/set multicast membership. * ospf_vty.c: (show_ip_ospf_interface_sub) ditto. Members: ospfd/ChangeLog:1.187->1.188 ospfd/ospf_interface.c:1.43->1.44 ospfd/ospf_interface.h:1.14->1.15 ospfd/ospf_packet.c:1.86->1.87 ospfd/ospf_vty.c:1.53->1.54 --------------------- PatchSet 1657 Date: 2006/06/15 23:31:39 Author: ajs Branch: HEAD Tag: (none) Log: [redhat quagga.spec] Detect fedora release automatically 2006-06-15 Andrew J. Schorr * redhat/quagga.spec.in: Get default distro automatically by using rpm to query the fedora-release version. And fix a typo (should be default_dist, not dist_default). Members: ChangeLog:1.146->1.147 redhat/quagga.spec.in:INITIAL->1.31 --------------------- PatchSet 1658 Date: 2006/06/18 01:45:48 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] Fix ospf passive-interface subcommand to create interface if necessary 2006-06-17 Andrew J. Schorr * ospf_vty.c: ({no_,}ospf_passive_interface) Replace if_lookup_by_name with a call to if_get_by_name -- if the interface does not exist already, it should be created. And remove the obsolete warning message. Members: ospfd/ChangeLog:1.188->1.189 ospfd/ospf_vty.c:1.54->1.55 --------------------- PatchSet 1659 Date: 2006/06/24 20:40:13 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] When writing out config, show "debug ospf nsm status" properly 2006-06-24 Andrew J. Schorr * ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm status properly (not ism status). Members: ospfd/ChangeLog:1.189->1.190 ospfd/ospf_dump.c:1.25->1.26 --------------------- PatchSet 1660 Date: 2006/06/24 21:05:02 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] Improve two info log messages in ospf_snmp.c 2006-06-24 Andrew J. Schorr * ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve info log message to indicate why the trap is being sent. Members: ospfd/ChangeLog:1.190->1.191 ospfd/ospf_snmp.c:1.17->1.18 --------------------- PatchSet 1661 Date: 2006/06/26 13:50:06 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] NSSA translate-enabled ABR should declare itself as ASBR 2006-06-26 Paul Jakma * ospf_abr.c: (general) NSSA translate-candidate ABRs need to be ASBRs, or other routers may rightfully refuse to install translated type-5s LSAs. reported by dendroot@gmail.com. (ospf_abr_nssa_check_status) Detect change in translator state when ABR, and inc/dec redistribute count as when we leave/enter the disabled state - so that translate-enabled ABR properly sets ASBR bit on non-NSSA areas. Run the resulting function through indent to clean it up. * ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit, NSSA area is same as stub area. Members: ospfd/ChangeLog:1.191->1.192 ospfd/ospf_abr.c:1.21->1.22 ospfd/ospf_lsa.c:1.49->1.50 --------------------- PatchSet 1662 Date: 2006/06/26 13:55:58 Author: paul Branch: HEAD Tag: (none) Log: [doc] OSPF MD5 keyid documentation, fix texinfo warnings in bgpd.texi 2006-06-26 Paul Jakma * ospfd.texi: Document that MD5 keyid is part of the protocol. * bgpd.texi: shut texinfo warnings up by replacing brackets in variable with angle brackets. Members: doc/ChangeLog:1.60->1.61 doc/bgpd.texi:1.7->1.8 doc/ospfd.texi:1.12->1.13 --------------------- PatchSet 1663 Date: 2006/06/27 08:52:03 Author: paul Branch: HEAD Tag: (none) Log: [lib] Centralise Zserv route type information, auto-generate redist strings 2006-05-23 Paul Jakma * route_types.txt: New file, table of ZEBRA_ROUTE definitions. * route_types.awk: New script, to parse previous and generate (for now) redistribute string defines. * Makefile.am: build route_types.h using previous two, ala memtypes.h, include the script and table file in EXTRA_DIST. * command.h: pull in route_types.h, add a REDIST_STR define. Members: lib/ChangeLog:1.263->1.264 lib/Makefile.am:1.26->1.27 lib/command.h:1.23->1.24 lib/route_types.awk:INITIAL->1.1 lib/route_types.txt:INITIAL->1.1 --------------------- PatchSet 1664 Date: 2006/06/27 09:01:43 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Replace redistribution strings with new route_types.h defines. 2006-05-23 Paul Jakma * ospf_vty.c: (general) Replace in-place route redistribution command and help strings with the new auto-generated defines from lib/route_types.h Members: ospfd/ChangeLog:1.192->1.193 ospfd/ospf_vty.c:1.55->1.56 --------------------- PatchSet 1665 Date: 2006/06/27 09:26:07 Author: paul Branch: HEAD Tag: (none) Log: [lib] Remove numeric route-type argument in redistribute arg strings 2006-06-27 Paul Jakma * route_types.awk: Remove setting the 'bare' numeric route type in redist strings. Members: lib/ChangeLog:1.264->1.265 lib/route_types.awk:1.1->1.2 --------------------- PatchSet 1666 Date: 2006/06/27 11:42:18 Author: paul Branch: HEAD Tag: (none) Log: [lib] Remove bare routes in route_types: fix mistake in commmit 2006-06-27 Paul Jakma * route_types.awk: Fix previous commit. Forgot to remove the printf of the bare/numeric route-type help string (empty string) Members: lib/route_types.awk:1.2->1.3 --------------------- PatchSet 1667 Date: 2006/06/29 21:20:52 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] Implement new ospf router subcommand "log-adjacency-changes [detail]" 2006-06-28 Erik Muller * ospfd.h: Define 2 new struct ospf config flags: OSPF_LOG_ADJACENCY_CHANGES and OSPF_LOG_ADJACENCY_DETAIL * ospf_nsm.c (nsm_change_state): Log adjacency changes if requested. * ospf_vty.c (ospf_log_adjacency_changes): New command function to implement ospf subcommand "log-adjacency-changes [detail]". (no_ospf_log_adjacency_changes) Turn off log-adjacency-changes. (show_ip_ospf) Show whether adjacency changes are logged. (ospf_config_write) Add "log-adjacency-changes [detail]" to config. (ospf_vty_init) Add ospf_log_adjacency_changes and no_ospf_log_adjacency_changes. * ospfd.texi: Document new ospf router subcommand "log-adjacency-changes [detail]". Members: doc/ChangeLog:1.61->1.62 doc/ospfd.texi:1.13->1.14 ospfd/ChangeLog:1.193->1.194 ospfd/ospf_nsm.c:INITIAL->1.15 ospfd/ospf_vty.c:1.56->1.57 ospfd/ospfd.h:1.23->1.24 --------------------- PatchSet 1668 Date: 2006/06/30 04:21:05 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] Avoid getting NSM stuck in ExStart by using local view of DR/BDR 2006-06-29 Andrew J. Schorr * ospf_nsm.c: (nsm_twoway_received) When deciding whether to change from state Init to ExStart, the test for whether the neighboring router is DR or BDR should be against the local router's notion of DR/BDR, not the neighbor's view. Members: ospfd/ChangeLog:1.194->1.195 ospfd/ospf_nsm.c:1.15->1.16 --------------------- PatchSet 1669 Date: 2006/06/30 17:49:02 Author: paul Branch: HEAD Tag: (none) Log: [lib] Fix typo in cpp conditional for malloc.h include 2006-06-28 Paul Jakma * memory.c: Fix typo in cpp conditional around malloc.h, from comment in bug #269. Members: lib/ChangeLog:1.265->1.266 lib/memory.c:1.17->1.18 --------------------- PatchSet 1670 Date: 2006/06/30 17:53:47 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] Fix "show ip ospf neighbor A.B.C.D" to show all matches 2006-06-30 Andrew J. Schorr * ospf_vty.c: (show_ip_ospf_neighbor_id) Should show all instances of that neighbor (since it may appear on multiple interfaces) instead of bailing out after showing the first match. Members: ospfd/ChangeLog:1.195->1.196 ospfd/ospf_vty.c:1.57->1.58 --------------------- PatchSet 1671 Date: 2006/06/30 17:55:41 Author: paul Branch: HEAD Tag: (none) Log: [lib] Fix merge error in ChangeLog - entry was left in wrong order, according to date. Members: lib/ChangeLog:1.266->1.267 --------------------- PatchSet 1672 Date: 2006/06/30 17:58:53 Author: paul Branch: HEAD Tag: (none) Log: [ripd] update to use auto-generated redistribute route-type defs 2006-06-29 Paul Jakma * rip_zebra: (general) convert redistribute commands to use the auto-generated defines. Members: ripd/ChangeLog:INITIAL->1.60 ripd/rip_zebra.c:1.10->1.11 --------------------- PatchSet 1673 Date: 2006/07/02 12:01:50 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] Fix crash on shutdown of peer 2006-07-02 Paul Jakma * bgp_fsm.c: (bgp_{stop,start}) Move clear/free of certain bits of state from stop to start, as they may be used via peer references on clearing queues.. Members: bgpd/ChangeLog:1.105->1.106 bgpd/bgp_fsm.c:1.15->1.16 --------------------- PatchSet 1675 Date: 2006/07/02 17:38:54 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Fix CID #104, check addr for null, and #18, check nexthop type args 2006-07-02 Paul Jakma * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not proceed if addr is NULL. * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check required arguments are supplied for the given nexthop type. Members: zebra/ChangeLog:1.132->1.133 zebra/rt_netlink.c:1.42->1.43 zebra/zebra_rib.c:1.29->1.30 --------------------- PatchSet 1676 Date: 2006/07/03 21:58:29 Author: ajs Branch: HEAD Tag: (none) Log: [debug] Debug messages to terminal vty sessions should include timestamps 2006-07-03 Andrew J. Schorr * vty.c: (vty_log_out) Debug messages to terminal vty sessions should include timestamps. Members: lib/ChangeLog:1.267->1.268 lib/vty.c:1.52->1.53 --------------------- PatchSet 1677 Date: 2006/07/04 14:35:24 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] consolidate adjacency check logic 2006-07-02 Paul Jakma * ospf_nsm.c: (nsm_should_adj) New function, just consolidate the 10.4 adjacency check from nsm_twoway_received/nsm_adj_ok. (nsm_twoway_received/nsm_adj_ok) Use former. Members: ospfd/ChangeLog:INITIAL->1.197 ospfd/ospf_nsm.c:INITIAL->1.17 --------------------- PatchSet 1678 Date: 2006/07/04 14:44:19 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Ensure NSM state functions can redirect next_state accidently 2006-07-02 Paul Jakma * ospf_nsm.c: (ospf_nsm_event) Don't allow action functions to change next_state if the NSM tables do not indicate next_state is conditional, log warning if one tries - existing code appears fine though. Members: ospfd/ChangeLog:1.197->1.198 ospfd/ospf_nsm.c:1.17->1.18 --------------------- PatchSet 1679 Date: 2006/07/04 14:46:14 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] trivial cleanup of nsm_timer_set 2006-07-02 Paul Jakma * ospf_nsm.c: (nsm_timer_set) ls_req timer should be OFF in early states. Compact several identical sections. Set inactivity timer to OFF for Down, for documentary purposes. Members: ospfd/ChangeLog:1.198->1.199 ospfd/ospf_nsm.c:1.18->1.19 --------------------- PatchSet 1680 Date: 2006/07/04 14:50:44 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Clear adjacency state for NSM changes down to TwoWay/ExStart 2006-07-02 Paul Jakma * ospf_nsm.c: (nsm_clear_adj) clear adjacency related state for a neighbour, needed for some state changes from > ExStart down to ExStart or less, which need not go through nsm_reset_nbr. (nsm_reset_nbr) move code to former. Should be static. (ospf_nsm_event) Remove long dead code. Use nsm_clear_adj for state changes that take down adjacencies to TwoWay/ExStart. (nsm_kill_nbr) Oops, action function shouldn't try return 1 for error. Members: ospfd/ChangeLog:1.199->1.200 ospfd/ospf_nsm.c:1.19->1.20 --------------------- PatchSet 1681 Date: 2006/07/04 14:52:29 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] CID #13, dont try print out fields of LSA we know to be NULL. 2006-07-02 Paul Jakma * ospf_lsa.c: (ospf_translated_nssa_refresh) CID #13. Members: ospfd/ChangeLog:1.200->1.201 ospfd/ospf_lsa.c:1.50->1.51 --------------------- PatchSet 1682 Date: 2006/07/04 14:57:49 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Apply some simplifications to ospf_nsm, from Andrew's suggestions 2006-07-04 Paul Jakma * ospf_nsm.c: (general) Various small cleanups from Andrew's review of last set of patches. (nsm_timer_set) Loading, Full and default can share same code too. (nsm_should_adj) Can just be one big OR. (nsm_twoway_received) Collapse into return statement. Members: ospfd/ChangeLog:1.201->1.202 ospfd/ospf_nsm.c:1.20->1.21 --------------------- PatchSet 1683 Date: 2006/07/04 15:41:08 Author: paul Branch: HEAD Tag: (none) Log: [doc] remove the auto-generated quagga.info file from CVS 2006-07-04 Paul Jakma * quagga.info: remove auto-generated file. It will still be present in dist tarballs, so shouldn't affect anyone but direct users of CVS. Required texinfo version should be widely available. * .cvsignore: ignore quagga.info Members: doc/.cvsignore:1.13->1.14 doc/ChangeLog:1.62->1.63 doc/quagga.info:1.20->1.21(DEAD) --------------------- PatchSet 1684 Date: 2006/07/06 12:12:39 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] early-return in nsm_event missed LLDown event, fixes use after free 2006-07-06 Paul Jakma * ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr being deleted, requires early-return too. Likely explains some crash reports after interface events. Members: ospfd/ChangeLog:1.202->1.203 ospfd/ospf_nsm.c:1.21->1.22 --------------------- PatchSet 1686 Date: 2006/07/10 08:45:13 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] cleanup NSM neighbour delete through a new Deleted NSM state 2006-07-07 Paul Jakma * ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy state indicating the neighbour is to be deleted. * ospf_nsm.c: (general) Use the NSM_Deleted state to delete neighbours, thus allowing code to be slightly more obvious in its flow. (nsm_timer_set) Add NSM_Deleted. Add another timer the code missed. (nsm_kill_nbr) No need for special case call to nsm_change_state anymore. Make the assert and error-handling for same case more readable (Andrew Schorr) Remove the call to ospf_nbr_delete, nsm_change_state can do this generally now via NSM_Deleted. (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events that can lead to nsm_kill_nbr all now transition the NBR to NSM_Deleted and the general change_state function can be left to do the work. (ospf_nsm_event) Special casing of events and early-return can be removed now. On transition into Deleted, delete the nbr. * ospf_dump.c: (ospf_nsm_state_msg) Add Deleted. Members: ospfd/ChangeLog:1.203->1.204 ospfd/ospf_dump.c:1.26->1.27 ospfd/ospf_nsm.c:1.22->1.23 ospfd/ospf_nsm.h:1.2->1.3 --------------------- PatchSet 1687 Date: 2006/07/10 19:09:42 Author: ajs Branch: HEAD Tag: (none) Log: [lib] Fix infinite recursion for errors on vtys with terminal monitor enabled 2006-07-10 Andrew J. Schorr * vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read) After an I/O error, must set vty->monitor to 0 before calling zlog_warn, otherwise an infinite recursion could occur (since zlog_warn triggers a message to be written to the vty, and that in turn triggers another error message when it fails, etc.). Members: lib/ChangeLog:1.268->1.269 lib/vty.c:1.53->1.54 --------------------- PatchSet 1688 Date: 2006/07/11 01:06:49 Author: ajs Branch: HEAD Tag: (none) Log: [lib] Do not call vty_close in vty_log_out to avoid possible free memory access 2006-07-10 Andrew J. Schorr * vty.c: (vty_log_out) Do not call vty_close, because this could result in a parent function's accessing the freed memory. Instead, set status VTY_CLOSE and call shutdown(vty->fd, SHUT_RDWR). And add a comment on vty_close. Members: lib/ChangeLog:1.269->1.270 lib/vty.c:1.54->1.55 --------------------- PatchSet 1689 Date: 2006/07/11 02:50:30 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] Improve Hello NetworkMask mismatch warning to give more info 2006-07-10 Andrew J. Schorr * ospf_packet.c: (ospf_hello) Improve NetworkMask mismatch warning message to include interface name and conflicting prefix lengths. Members: ospfd/ChangeLog:1.204->1.205 ospfd/ospf_packet.c:1.87->1.88 --------------------- PatchSet 1690 Date: 2006/07/11 18:49:22 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Remove nsm_reset_nbr and a bunch of useless NSM event/action functions 2006-07-10 Paul Jakma * ospf_nsm.c: (nsm_change_state) call nsm_clear_adj for all adjacency losses, hence removing need for nsm_reset_nbr. (nsm_reset_nbr) kill it, clear_adj in previous does fine. (nsm_kill_nbr,nsm_start) remove nsm_reset_nbr call. (ospf_nsm_event) Allow NSM function to be NULL, this along with removal of nsm_reset_nbr, allows a bunch of now useless functiosn to be removed. Remove some useless variables. (nsm_ignore) now useless, remove. (nsm_bad_ls_req) ditto (nsm_seq_number_mismatch) " (nsm_oneway_received) " (nsm_inactivity_timer) " (nsm_ll_down) " (NSM) replace removed action functions with NULL. Members: ospfd/ChangeLog:1.205->1.206 ospfd/ospf_nsm.c:1.23->1.24 --------------------- PatchSet 1691 Date: 2006/07/11 18:52:53 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] trivial: NSM AdjChange should print event, declutter core functions 2006-07-10 Paul Jakma * ospf_nsm.c: (nsm_notice_state_changes) Move state change logging code to new func to declutter nsm_change_state and ospf_nsm_event. Log event with AdjChange, it's useful to know. (nsm_change_state) move adjchange and snmp logging to previous. (ospf_nsm_event) call nsm_notice_state_changes from here. Move the debug message to entry of function, so it gets out even if something goes wrong. Members: ospfd/ChangeLog:1.206->1.207 ospfd/ospf_nsm.c:1.24->1.25 --------------------- PatchSet 1692 Date: 2006/07/11 18:57:25 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] record timestamp and event of last NSM state change for neighbour 2006-07-10 Paul Jakma * ospf_nsm.c: (ospf_nsm_event) Record state change timestamp and event in nbr struct. * ospf_neighbor.h: (struct ospf_neighbor) Add fields to record timestamp of last NSM change and event. * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print last state change timestamp and event, if available. Members: ospfd/ChangeLog:1.207->1.208 ospfd/ospf_neighbor.h:1.3->1.4 ospfd/ospf_nsm.c:1.25->1.26 ospfd/ospf_vty.c:1.58->1.59 --------------------- PatchSet 1693 Date: 2006/07/25 21:40:40 Author: paul Branch: HEAD Tag: (none) Log: [lib] Optimise thread_call by caching pointer to thread history in the thread 2006-07-25 Paul Jakma * thread.h: (struct thread) Add a cache pointer to the struct cpu_thread_history, if it is known - saving hash lookup on each thread_call. * thread.c: (thread_call) Cache the pointer to the cpu_thread_history, so that future thread_calls of same thread can avoid the hash_lookup. Members: lib/ChangeLog:1.270->1.271 lib/thread.c:1.19->1.20 lib/thread.h:1.11->1.12 --------------------- PatchSet 1694 Date: 2006/07/25 21:44:12 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Additional NSM neighbour state change stats/information 2006-07-25 Paul Jakma * ospf_neigbor.h: (struct ospf_neighbor) Add some additional neighbour state statistics fields, timestamps for progressive and regressive state changes, and pointer to event string for the latter state change. * ospf_nsm.c: (nsm_notice_state_change) Update new state changs history as required. * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above new per-neighbour state change stats. Members: ospfd/ChangeLog:1.208->1.209 ospfd/ospf_neighbor.h:1.4->1.5 ospfd/ospf_nsm.c:1.26->1.27 ospfd/ospf_vty.c:1.59->1.60 --------------------- PatchSet 1695 Date: 2006/07/26 10:37:26 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Allow ospf_lsa_unlock to NULL out callers' LSA pointers upon free 2006-07-26 Paul Jakma * ospf_lsa.{c,h}: (ospf_lsa_unlock) Change to take a double pointer to the LSA to be 'unlocked', so that, if the LSA is freed, the callers pointer to the LSA can be NULLed out, allowing any further use of that pointer to provoke a crash sooner rather than later. * ospf_*.c: (general) Adjust callers of ospf_lsa_unlock to match previous. Try annotate 'locking' somewhat to show which 'locks' are protecting what LSA reference, if not obvious. * ospf_opaque.c: (ospf_opaque_lsa_install) Trivial: remove useless goto, replace with return. * ospf_packet.c: (ospf_make_ls_ack) Trivial: merge two list loops, the dual-loop predated the delete-safe list-loop macro. Members: ospfd/ChangeLog:1.209->1.210 ospfd/ospf_apiserver.c:1.23->1.24 ospfd/ospf_ase.c:1.13->1.14 ospfd/ospf_flood.c:1.16->1.17 ospfd/ospf_interface.c:1.44->1.45 ospfd/ospf_ism.c:1.13->1.14 ospfd/ospf_lsa.c:1.51->1.52 ospfd/ospf_lsa.h:1.14->1.15 ospfd/ospf_lsdb.c:1.6->1.7 ospfd/ospf_nsm.c:1.27->1.28 ospfd/ospf_opaque.c:1.17->1.18 ospfd/ospf_packet.c:1.88->1.89 ospfd/ospf_te.c:1.11->1.12 ospfd/ospfd.c:1.41->1.42 --------------------- PatchSet 1696 Date: 2006/07/27 17:11:02 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Connected routes must always be added to main table 2006-07-27 Rumen Svobodnikov * connected.c: (connected_up_ipv4) interface connected routes always go to table main (or otherwise they cannot be used by linux as nexthops) * zserv.c: (zread_ipv4_add) send route to the correct routing table * zebra_rib.c (static_install_ipv4) set routing table Members: zebra/ChangeLog:1.133->1.134 zebra/connected.c:1.24->1.25 zebra/zebra_rib.c:1.30->1.31 zebra/zserv.c:1.39->1.40 --------------------- PatchSet 1697 Date: 2006/07/27 19:01:41 Author: ajs Branch: HEAD Tag: (none) Log: [vtysh] Never skip authentication, and add support for multiple -c commands 2006-07-27 Andrew J. Schorr * vtysh.1: Document new options -d and -E, and note that now multiple -c options may be supplied, with embedded linefeed now supported. In BUGS section, remove warning about vtysh causing a daemon to freeze, since this has been fixed. * vtysh_main.c: (usage) Add new -d and -E options. And note that -c can be used multiple times, possibly with embedded linefeeds. (longopts) Add new -d and -E options. (main) Add new -d and -E options, and create a linked list to support multiple -c options. Do not call vtysh_connect_all until after vtysh_read_config(config_default) and vtysh_auth have succeeded. This prevents the vtysh.conf file from configuring any daemons, and it ensures that authentication has been passed before we send any commands to any daemons. Call vtysh_connect_all with any daemon name supplied with -d. If it is unable to connect to any daemons, issue an error message and exit immediately. When used in -c mode, call vtysh_execute("enable") before executing the commands in order to match interactive behavior. And detect embedded linefeed chars in -c commands and break them up appropriately. * vtysh.h: (vtysh_connect_all) Fix proto to reflect new daemon_name argument, and that it now returns an integer -- the number of daemons to which we were able to connect. * vtysh.c: (vtysh_connect_all) Add a new daemon_name argument. If supplied, connect only to that daemon. And return the number of daemons to which we were able to connect. (vtysh_prompt): Performance enhancement -- make struct utsname static so we call uname to get the hostname only once. Members: doc/ChangeLog:1.63->1.64 doc/vtysh.1:1.6->1.7 vtysh/ChangeLog:1.47->1.48 vtysh/vtysh.c:1.49->1.50 vtysh/vtysh.h:1.9->1.10 vtysh/vtysh_main.c:1.9->1.10 --------------------- PatchSet 1698 Date: 2006/07/27 20:05:12 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] Potential bug#287 fix, peer_delete should NULL out freed buffers 2006-07-27 Paul Jakma * bgpd.c: (peer_delete) Ensure freed buffers can not be accidently reused. A potential fix for bug #287. Members: bgpd/ChangeLog:1.106->1.107 bgpd/bgpd.c:1.31->1.32 --------------------- PatchSet 1699 Date: 2006/07/27 20:59:58 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Add test rig code, for testing the zebra RIB 2006-07-27 Paul Jakma * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations, useful for testing zebra code that calls such methods. * {redistribute,misc}_null.c: Dummy/Null methods, as above. But for zclient, and for various misc functions. * test_main.c: Test harness for zebra, currently just to test the RIB. * Makefile.am: Build testzebra using above. * zebra_rib.c: Add a global for the workqueue hold time, useful for testing. Members: zebra/ChangeLog:1.134->1.135 zebra/Makefile.am:1.12->1.13 zebra/ioctl_null.c:INITIAL->1.1 zebra/kernel_null.c:INITIAL->1.1 zebra/misc_null.c:INITIAL->1.1 zebra/redistribute_null.c:INITIAL->1.1 zebra/test_main.c:INITIAL->1.1 zebra/zebra_rib.c:1.31->1.32 --------------------- PatchSet 1700 Date: 2006/07/27 22:35:33 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Add 'debug zebra rib' commands 2006-07-27 Paul Jakma * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'. Members: zebra/ChangeLog:1.135->1.136 zebra/debug.c:1.2->1.3 zebra/debug.h:1.2->1.3 --------------------- PatchSet 1701 Date: 2006/07/27 22:49:00 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Bug #268, Fix race between add/delete of routes, sanitise rib queueing 2006-07-27 Paul Jakma * rib.h: (struct rib) Add a route_node rn_status flag field, this has to be copied every time head RIB of a route_node changes. Remove the rib lock field, not needed - see below. Add a status field for RIB-private flags. * zebra_rib.c: Add a global for the workqueue hold time, useful for testing. (general) Fix for bug #268. Problem originally detailed by Simon Bryden in [quagga-dev 4001]. Essentially, add/delete of a RIB must happen /before/ the queue. Best-path selection (ie rib_process) and reaping of freed RIBs can then be done after queueing. Only the route_node is queued - no important RIB state (i.e. whether a RIB is to be deleted) is queued. (struct zebra_queue_node_t) Disappears, no longer need to track multiple things on the queue, only the route_node. (rib_{lock,unlock}) removed, RIBs no longer need to be refcounted, no longer queued. (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted via the queue. (rib_queue_add_qnode) deleted (rib_queue_add) Only the route_node is queued for best-path selection, we can check whether it is already queued or not and avoid queueing same node twice - struct rib * argument is not needed. (rib_link/unlink) (un)link RIB from route_node. (rib_{add,del}node) Front-end to updates of a RIB. (rib_process) Reap any deleted RIBs via rib_unlink. Unset the route_node 'QUEUED' flag. (General) Remove calls to rib_queue_add where add/del node was called - not needed, update calls where not. Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes Members: zebra/ChangeLog:1.136->1.137 zebra/rib.h:1.11->1.12 zebra/zebra_rib.c:1.32->1.33 --------------------- PatchSet 1702 Date: 2006/07/27 23:29:06 Author: ajs Branch: HEAD Tag: (none) Log: [ospfd] Bug #288: do not change router ID unless forced by manual configuration 2006-07-27 Andrew J. Schorr * ospfd.c: (ospf_router_id_update) Fix and document the algorithm for selecting the router ID: if there is not a statically configured ID, then stick to the most recent value to avoid disruptive changes. This should fix bug #288. Members: ospfd/ChangeLog:1.210->1.211 ospfd/ospfd.c:1.42->1.43 --------------------- PatchSet 1703 Date: 2006/07/27 23:52:17 Author: paul Branch: HEAD Tag: (none) Log: [lib] remove autogenerated file, update .cvsignore Members: lib/.cvsignore:1.7->1.8 lib/memtypes.h:1.8->1.9(DEAD) --------------------- PatchSet 1704 Date: 2006/07/28 00:30:16 Author: paul Branch: HEAD Tag: (none) Log: [doc] minor tweaks, refine ospf redist,passive-inter, and abr-type help 2006-07-27 Paul Jakma * quagga.texi: Remove unused index definitions Add an Index node - for the concept index. * routeserver.texi: Set exampleindex to 0, so the example configs with long IPv6 addresses stand better chance of fitting. * overview.texi: 'Supported RFC' -> 'Supported RFCs' Remove paragraph indentation - texinfo does that. Revise the supported OS list slightly. Remove the IPv6 stack list, seems very dated and irrelevant. Revise the 'How to get Quagga' section. * ospfd.texi: minor tweaks: add some anchors, fix some minor format issues. Revise the help for 'abr-type'. Note that text authentication is unwise, recc'd MD5. Add some extra text for redistribute and passive-interface, about how latter can substitute for redist connected. Members: doc/ChangeLog:1.64->1.65 doc/ospfd.texi:1.14->1.15 doc/overview.texi:1.9->1.10 doc/quagga.texi:1.7->1.8 doc/routeserver.texi:1.4->1.5 --------------------- PatchSet 1705 Date: 2006/07/28 05:42:39 Author: paul Branch: HEAD Tag: (none) Log: [doc] Expand/cross-ref MD5 commands, tweak anchors to avoid added spacing 2006-07-28 Paul Jakma * main.texi: link-detect works on Solaris too. * ospfd.texi: Twiddle around with anchors a bit more. Clarify how setting MD5 auth by area and by interface interact, and add cross-references, as well as to the required command for setting key material. Members: doc/ChangeLog:1.65->1.66 doc/main.texi:1.4->1.5 doc/ospfd.texi:1.15->1.16 --------------------- PatchSet 1706 Date: 2006/08/02 17:47:03 Author: ajs Branch: HEAD Tag: (none) Log: [testzebra] Patch to misc_null.c to get older gcc to recognize #pragma tricks 2006-08-02 Andrew J. Schorr * misc_null.c: Must include header files to get older versions of gcc to process the #pragma statements properly. Members: zebra/ChangeLog:1.137->1.138 zebra/misc_null.c:1.1->1.2 --------------------- PatchSet 1707 Date: 2006/08/04 07:14:13 Author: paul Branch: HEAD Tag: (none) Log: [zebra] add more stuff to misc_null to avoid compile breakages 2006-08-04 Paul Jakma * misc_null.c: Add ifstat_update_sysctl, add another required header. Members: zebra/ChangeLog:1.138->1.139 zebra/misc_null.c:1.2->1.3 --------------------- PatchSet 1708 Date: 2006/08/04 07:18:04 Author: paul Branch: HEAD Tag: (none) Log: [zebra] IRDP: Move stream_free to where its created, probably fixing a leak 2006-08-01 Paul Jakma * irdp_main.c: (irdp_advertisement) free the stream here, when done, right under where it was allocated so it's blindingly obvious it's correct. This possibly fixes a very slow leak of streams in zebra. * irdp_packet.c: (send_packet) don't free the stream here as it's hard to tell if right, plus an error case seemed to returning before free anyway. Members: zebra/ChangeLog:1.139->1.140 zebra/irdp_main.c:1.13->1.14 zebra/irdp_packet.c:1.10->1.11 --------------------- PatchSet 1709 Date: 2006/08/06 16:52:11 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] aspath_loop_check was broken, fix it and the aspath unit test code. 2006-08-06 Paul Jakma * bgp_aspath.c: (aspath_loop_check) Fix the typo-bug which essentially had disabled this check. Problem reported by Bartek Kania in [quagga-users 7388]. * aspath_test.c: (validate) Fix the sense of the aspath_loop_check, which was the wrong way around and had actually been testing for aspath_loop_check to be buggy. Members: bgpd/ChangeLog:1.107->1.108 bgpd/bgp_aspath.c:1.13->1.14 tests/ChangeLog:1.15->1.16 tests/aspath_test.c:1.5->1.6 --------------------- PatchSet 1710 Date: 2006/08/06 16:57:59 Author: paul Branch: HEAD Tag: (none) Log: [zebra] fix inconsistencies in ifstat_update_* declarations and definitions 2006-08-06 Paul Jakma * interface.h: (ifstat_update_proc) declaration should match ifstat_update_sysctl really, which is to not return status, as such status is not used anywhere. * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values consistent with each other and their declarations, ie: (void) (*) (void). Members: zebra/ChangeLog:1.140->1.141 zebra/if_proc.c:1.6->1.7 zebra/if_sysctl.c:1.3->1.4 zebra/interface.h:1.9->1.10 --------------------- PatchSet 1711 Date: 2006/08/06 17:02:43 Author: paul Branch: HEAD Tag: (none) Log: [zebra] trivial: rtadv.h depends on interface.h 2006-08-06 Paul Jakma * rtadv.h: depends on interface.h, so should include it. Members: zebra/ChangeLog:1.141->1.142 zebra/rtadv.h:1.3->1.4 --------------------- PatchSet 1712 Date: 2006/08/27 07:24:34 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] trivial: consolidate LSDB delete code into single function 2006-08-04 Paul Jakma * ospf_lsdb.c: (ospf_lsdb_delete_entry) new function, consolidate exact same functionality replicated in other functions. (ospf_lsdb_add) Strip out code by using ospf_lsdb_delete_entry. (ospf_lsdb_delete) ditto. (ospf_lsdb_delete_all) ditto. Members: ospfd/ChangeLog:1.211->1.212 ospfd/ospf_lsdb.c:1.7->1.8 --------------------- PatchSet 1713 Date: 2006/08/27 07:29:30 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Raise ExchangeDone earlier, avoid often needless round of DD packets 2006-08-03 Paul Jakma * ospf_packet.c: (ospf_make_db_desc) Unset the DD More bit after constructing the packet, if appropriate. (ospf_db_desc_proc) Speed up Exchange, slave should raise ExchangeDone earlier, as RFC mandates, by forming its reply before deciding whether both sides are done, avoids a needless round of empty DD packet exchanges at the end of Exchange, hence speeding up ExchangeDone. (ospf_db_desc) use UNSET_FLAG macro. Members: ospfd/ChangeLog:1.212->1.213 ospfd/ospf_packet.c:1.89->1.90 --------------------- PatchSet 1714 Date: 2006/08/27 07:40:04 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] draft-ogier-ospf-dbex-opt DB-exchange optimisation 2006-08-03 Paul Jakma * ospf_packet.c: (ospf_make_db_desc) Implement draft-ogier-ospf-dbex-opt DB-exchange optimisation. Members: ospfd/ChangeLog:1.213->1.214 ospfd/ospf_packet.c:1.90->1.91 --------------------- PatchSet 1715 Date: 2006/08/27 07:44:02 Author: paul Branch: HEAD Tag: (none) Log: [lib] Bug #134: threads should be more robust against backward time jumps 2006-08-25 Paul Jakma * thread.c: (general) Add support for monotonic clock, it may still jump forward by huge amounts, but should be immune to going backwards. Fixes bug #134. (quagga_gettimeofday_relative_adjust) helper, does what name says - adjusts gettimeofday based relative timer. (quagga_gettimeofday) helper to keep recent_time up to date. (quagga_get_relative) helper, update and getch the relative timer using gettimeofday(). POSIX CLOCK_MONOTONIC is also supported, but the code is not enabled yet nor tested. (quagga_real_stabilised) helper, retrieve absolute time but stabilised so as to never decrease. (quagga_gettime) Exported interface, analogous to POSIX clock_gettime() in interface, supporting several clocks. (quagga_time) Exported interface, analogous to traditional time(), will never decrease. (recent_relative_time) Convenience function to retrieve relative_time timeval, similar to existing recent_time absolute timeval, for when an approximately recent value will do. (remainder) Update to use above helpers. (thread_getrusage) Previously was a macro, but needs to be a function to twiddle with thread.c private stuff. * thread.c: Point the GETRUSAGE macro at previous function. Export quagga_gettime, quagga_time and recent_relative_time for general use. Members: lib/ChangeLog:1.271->1.272 lib/thread.c:1.20->1.21 lib/thread.h:1.12->1.13 --------------------- PatchSet 1716 Date: 2006/08/27 07:49:29 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] Bug #134, ospfd should be more robust to backward time change 2006-08-25 Paul Jakma * (general) Bug #134. Be more robust to backward time changes, use the newly added libzebra time functions. In most cases: recent_time -> recent_relative_time() gettimeofday -> quagga_gettime (QUAGGA_CLK_MONOTONIC, ..) time -> quagga_time. (ospf_make_md5_digest) time() call deliberately not changed. (ospf_external_lsa_refresh) remove useless gettimeofday, LSA tv_orig time was already set in ospf_lsa_new, called via ospf_external_lsa_new. Members: ospfd/ChangeLog:1.214->1.215 ospfd/ospf_dump.c:1.27->1.28 ospfd/ospf_flood.c:1.17->1.18 ospfd/ospf_lsa.c:1.52->1.53 ospfd/ospf_nsm.c:1.28->1.29 ospfd/ospf_packet.c:1.91->1.92 ospfd/ospf_route.c:1.17->1.18 ospfd/ospf_spf.c:1.25->1.26 ospfd/ospf_vty.c:1.60->1.61 ospfd/ospfd.c:1.43->1.44 --------------------- PatchSet 1717 Date: 2006/08/27 07:53:24 Author: paul Branch: HEAD Tag: (none) Log: [tests] update heavywq for workqueue api changes 2006-08-26 Paul Jakma * heavy-wq.c: (slow_func_del,slow_func) update to match workqueue changes Members: tests/ChangeLog:1.16->1.17 tests/heavy-wq.c:1.3->1.4 --------------------- PatchSet 1718 Date: 2006/08/27 07:57:47 Author: paul Branch: HEAD Tag: (none) Log: [bgpd] fix mtype in XFREE and NULL out freed pointer 2006-08-27 Paul Jakma * bgp_advertise.c: (bgp_sync_delete) fix mtype in XFREE. NULL out peer->hash after free, to be sure. Members: bgpd/ChangeLog:1.108->1.109 bgpd/bgp_advertise.c:1.6->1.7 --------------------- PatchSet 1719 Date: 2006/08/27 09:01:20 Author: paul Branch: HEAD Tag: (none) Log: [ospfd] redistribute default no longer works after complete reconfig, fix 2006-08-27 J.J. Krabbendam * ospfd.c: (ospf_finish_final) default redistribute should be unset too, fixes bug where reconfiguring ospfd completely can no longer enable default redistribution. Members: ospfd/ChangeLog:1.215->1.216 ospfd/ospfd.c:1.44->1.45 --------------------- PatchSet 1720 Date: 2006/08/27 23:06:12 Author: paul Branch: HEAD Tag: quagga_0_99_5_release Log: [0.99] version bump to 0.99.5 2006-08-27 Paul Jakma * configure.ac: Bump to 0.99.5 Members: ChangeLog:1.147->1.148 configure.ac:1.122->1.123