| Age | Commit message (Collapse) | Author | 
|---|
|  | * HACKING: remove the 'manually patch redhat/quagga.spec' bit
	  from RELEASE section. Let the rpm revision be CONFDATE, will work
	  fine. | 
|  | * Makefile.am: Get rid of built_sources. It causes them to be added
	  to dist, and the dist host can not generate the PDFs. | 
|  | * lib/vty.c: Improve logging of failures to open vty socket(s).
	  See bugid #163.
	* zebra/zserv.c: print more helpful errors when we fail to successfully
	  bind and listen on zserv socket. Closes bugzilla #163. | 
|  | brackets around source. Single ones broke square brackets in the
	  code (arrays). | 
|  | and define action for cross-compiling.
	[backport candidate] | 
|  | * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
	* if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
	  avoid overflow.
	* kernel_socket.c: (ifan_read) Use if_get_by_name_len.
	* if.h: Fix comments to reflect that if_lookup_by_name and
	  if_get_by_name now require the argument strings to be NUL-terminated.
	* if.c: (if_lookup_by_name) Compare using strcmp.
	  (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create. | 
|  | * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
	  function that does not exist.
	* ospf6_interface.[ch]: (ospf6_interface_lookup_by_name) Remove unused
	  function. | 
|  | * ospf_zebra.c: (zebra_interface_if_lookup) Must use
	  if_lookup_by_name_len. | 
|  | * isis_zebra.c: (isis_zebra_if_del) Must use if_lookup_by_name_len. | 
|  | * if.c: (if_nametoindex) The man page is rather vague, but it seems
	  like the argument to if_nametoindex has an implicit maximum length
	  of IFNAMSIZ characters. | 
|  | * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
	* if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
	  (if_get_by_name) Tighten up code.
	  (interface) Use new function if_get_by_name_len.
	* zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
	  function.
	  (zebra_interface_state_read) Use new if_lookup_by_name_len function.
	* kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
	  to save a memcpy.
	* if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
	  if_get_by_name_len function.
	* ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create. | 
|  | generator code.
	* isisd/Makefile.am: Variables to handle conditonal compiling of
	  topology generator code.
	* isisd/isis_lsp.c: lsppdu_realloc() is used by topology generator.
	* isisd/isisd.c: Rename show_isis_topology_cmd to not conflict the one
	  in the isis_spf.c.
	* isisd/isisd.h: Remove TOPOLOGY_GENERATE define, it will be defined in
	  toplevel config.h if topology generator is enabled.
	* isisd/topology/Makefile.am: Handle the libtoolized Quagga libraries. | 
|  | * Makefile.am: Urg, dont use automake _SOURCES, _BUILT_SOURCES
	  for figures, automake doesnt know anything about them. | 
|  | * str.c: Replace strlcpy and strlcat with actual working versions
	  copied from rsync-2.6.2/lib/compat.c. | 
|  | Fix problems when netlink interfaces are renamed (same ifindex used
	for a new interface).  Start cleaning up some problems with the way
	interface names are handled.
	* interface.c: (if_new_intern_ifindex) Remove obsolete function.
	  (if_delete_update) After distributing the interface deletion message,
	  set ifp->ifindex to IFINDEX_INTERNAL.
	  (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
	  IFINDEX_INTERNAL.
	  (zebra_interface) Check return code from interface_cmd.func.
	  Do not set internal ifindex values to if_new_intern_ifindex(),
	  since we now use IFINDEX_INTERNAL for all pseudo interfaces.
	* kernel_socket.c: (ifm_read) Fix code and comments to reflect that
	  all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
        * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
	  Detects interface rename events by checking if that ifindex is already
	  being used.  If it is, delete the old interface before assigning
	  the ifindex to the new interface.
	  (netlink_interface, netlink_link_change) Call set_ifindex to update
	  the ifindex.
	* if.h: Remove define for IFINDEX_INTERNBASE and add define
	  IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
	  interfaces should have ifindex set to 0.
	  (if_new) Remove function.
	  (if_delete_retain) New function to delete an interface without
	  removing from iflist and freeing the structure.
	  (ifname2ifindex) New function.
	* if.c: (if_new) Remove function (absorb into if_create).
	  (if_create) Replace function if_new with call to calloc.
	  Set ifp->ifindex to IFINDEX_INTERNAL.  Fix off-by-one error
	  in assert to check length of interface name.  Add error message
	  if interface with this name already exists.
	  (if_delete_retain) New function to delete an interface without
	  removing from iflist and freeing the structure.
	  (if_delete) Implement with help of if_delete_retain.
	  (ifindex2ifname) Reimplement using if_lookup_by_index.
	  (ifname2ifindex) New function to complement ifindex2ifname.
	  (interface) The interface command should check the name length
	  and fail with a warning message if it is too long.
	  (no_interface) Fix spelling in warning message.
	  (if_nametoindex) Reimplement using if_lookup_by_name.
	  (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
	  if_lookup_by_index.
	* bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex
	  to IFINDEX_INTERNAL.
	* isis_zebra.c: (isis_zebra_if_del) Call if_delete_retain instead
	  of if_delete, since it is generally not safe to remove interface
	  structures.  After deleting, set ifp->ifindex to IFINDEX_INTERNAL.
	  (zebra_interface_if_lookup) Tighten up code.
	* ospf6_zebra.c: (ospf6_zebra_if_del) Previously, this whole function
	  was commented out.  But this is not safe: we should at least update
	  the ifindex when the interface is deleted.  So the new version
	  updates the interface status and sets ifp->ifindex to
	  IFINDEX_INTERNAL.
	  (ospf6_zebra_route_update) Use if_indextoname properly.
	* ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
	  flags to help with debugging.
	* ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
	  to IFINDEX_INTERNAL.
	  (zebra_interface_if_lookup) Make function static.  Tighten up code.
	* rip_interface.c: (rip_interface_delete) After deleting, set
	  ifp->ifindex to IFINDEX_INTERNAL.
	* ripng_interface.c: (ripng_interface_delete) After deleting, set
	  ifp->ifindex to IFINDEX_INTERNAL. | 
|  | * .cvsignore: ignore eps files, built from sources | 
|  | * INSTALL.quagga.txt: Add note about additional CVS build
	  requirements, if one wishes to build ps/pdf docs. | 
|  | * ospf6_route.c: (ospf6_route_show, ospf6_route_show_detail) Protect
	  against the possibility that the string returned by if_indextoname
	  may not terminate with '\0'. | 
|  | * configure.ac: Add strnlen to AC_CHECK_FUNCS.
	* zebra.h: Should include str.h to pick up missing functions.
	* str.h: Declare strnlen if needed.
	* str.c: Do not include str.h since zebra.h now includes it.
	  (strnlen) New function. | 
|  | * Makefile.am: quagga_TEXINFOS should depend on figures_BUILT_SOURCES. | 
|  | * fig{-{normal,rs}-processing,_topologies_{rs,full}}.dia: new
          files, dia diagramme XML versions of the original corresponding
          EPS encapsulated bitmaps.
	* fig{-{normal,rs}-processing,_topologies_{rs,full}}.png: new
	  files, png exports by dia of the source dia diagrammes above.
	* fig{-{normal,rs}-processing,_topologies_{rs,full}}.eps: removed,
	  replaced by above dia source.
	* routeserver.texi: remove extension in image macros.
	* quagga.info: updated build
	* Makefile.am: Add rules to build eps (using 'convert'), png (using
	  dia). Add figures_BUILT_SOURCES to extra_dist to avoid the
	  dependency on dia :) (amongst other things) for dist users. | 
|  | it's not for debug.
	* rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
	  although we do now actually.
	* rt_netlink.c (netlink_route, netlink_route_multipath): Always use
	  netlink_cmd to send messages to the kernel.
	[backport candidate] | 
|  | * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
	  is turned on.
	  [backport candidate] | 
|  | * irdp.h: Add prototype for irdp_sock_init, and fix protos for
	  other irdp_* functions.
	* irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
	  call irdp_sock_init to create the IRDP socket.
	  (irdp_if_init) Rename to irdp_init().
	  (get_iflist_ifp) Remove function that is a duplicate of
	  if_lookup_by_index.
	  (*) Make many functions static.  And remove superfluous "\n" from
	  several zlog messages.
	* irdp_main.c: (irdp_init) Remove function that used to call
	  irdp_if_init() and irdp_sock_init(), since we will now create
	  the socket only upon first use.
	  (irdp_sock_init) Do not update global irdp_sock variable, just
	  return the fd and assume that the caller will do so.  If setsockopt
	  calls fail, close the socket before returning -1.
	  (*) Make many functions static.
	* irdp_packet.c: Initialize irdp_sock to -1.
	  (irdp_read_raw) Call standard library function if_lookup_by_index
	  instead of get_iflist_ifp.
	  (irdp_recvmsg) Should be static, not global. | 
|  | * rt_netlink.c: (netlink_link_change) If the status of an
	  operative interface changes (e.g. MTU changes), the client
	  daemons should be notified by calling zebra_interface_up_update.
	  Previously, the information was being updated in zebra's
	  interface structure, but the clients were not notified of
	  changes to an operative interface.
	* ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
	  interface changes, print a debug message and call ospf_if_reset()
	  to simulate down/up on the interface.
	* ospf_interface.h: Declare new function ospf_if_reset().
	* ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
	  and ospf_if_up for all ospf interfaces attached to an interface. | 
|  | * ospf_packet.c: (ospf_write_frags) Enhance error message to
	  show MTU.  Also make function static.
	  (ospf_write) Enhance error message to show interface name and MTU.
	  Also make function static. | 
|  | * ospf_vty.c (show_ip_ospf_interface_sub): Display interface MTU and
	bandwidth; this is useful for debugging problems.  Also, the function
	should be static. | 
|  | snmp support. | 
|  | must be after lib/ includes in some systems. Introduce SNMP_INCLUDES
	  for that. | 
|  | about various headers. CFLAGS is not correct place to specify
	  includes, INCLUDES is for that. | 
|  | exist at all.
	[backport candidate] | 
|  | tries really hard to make icc look like gcc, there are some
	  differences. It's very verbose with -Wall and it doesn't support
	  the individual -W options. We are going to ignore some of these
	  warnings. | 
|  |  | 
|  | include year 2005. | 
|  | [backport candidate] | 
|  | * interface.c, interface.h, rtadv.c, rtadv.h: extensions to Neighbor
	  discovery for Mobile IPv6. | 
|  | * Extensions to Neighbor Discovery for Mobile IPv6 | 
|  | no particular afi/safi configured.
	[backport candidate] | 
|  | * zebra.h: Must check whether __attribute__ should be defined before
	  including zassert.h.
	[backport candidate] | 
|  | * (global) update all c files to match the lib/vector.h rename of
	  (struct vector).active to max, and vector_max macro to
	  vector_active.
	* lib/vector.h: Rename to (struct vector).max to slightly less
	  confusing active, for the number of active slots, distinct from
	  allocated or active-and-not-empty. Rename vector_max to
	  vector_active for same reason. | 
|  | * command.c: (various) Fix indentation and other whitespace. | 
|  | * command.c: (sort_node) use vector_max instead of referencing
	  (struct vector *)->max directly. Test that vector_max is > 0
	  before using it to calculate an index.
	  Fixup vector loop to make main body conditional on vector slot
	  not being empty.
	  (cmd_cmdsize) Fixup vector loop to make main body conditional on
	  vector slot not being empty.
	  (cmd_filter_by_completion) ditto
	  (cmd_filter_by_string) ditto
	  (is_cmd_ambiguous) ditto
	  (cmd_describe_command_real) Change index integers to unsigned.
	  Test that vector_max is > 0 before using it to calculate an index.
	  Return immediately with CMD_ERR_NO_MATCH if vline has no
	  active slots.
	  Fixup vector loop to make main body conditional on vector slot
	  not being empty.
	  (cmd_complete_command_real) ditto.
	  (cmd_execute_command_strict) Fixup vector loop to be conditional
	  on non-null slot. | 
|  | * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
	  backward, then current time may be less than
	  ospf->lsa_refresher_started.  This was causing invalid values
	  for ospf->lsa_refresh_queue.index resulting in infinite loops.
	  Problem fixed by casting the expression to unsigned before taking
	  the modulus.
	[backport candidate] | 
|  | implemented. | 
|  | * configure.ac: Solaris 8 can use the newer lifreq based methods
	  too, allows IPv6. | 
|  | * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
	  No stock Linux kernel has ever supported it, and even if it had | 
|  | * command.c: (config_list_cmd) Don't list hidden or deprecated
	  commands, hiding these from tab completion is still to be done. | 
|  | * command.c: Undo commit of sign warning fix and hidden command
	  in list_cmd. Sign warning is more subtle. list_cmd on its own
	  will be committed after. | 
|  | quarantees that they will appear after SERVICE_NODE to make sure
	  that encrypted passwords will work ("service password-encryption"
	  command).
	[backport candidate] | 
|  | * command.c: (no_banner_motd_cmd) use XFREE.
	* vty.c: (vty_hello) fix the indentation and comment. |