From 3998bfd76620a676fbd77f19c5c6ea80a4cc88d2 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Tue, 19 Aug 2008 14:13:43 +0100 Subject: [trivia] Remove ChangeLog files, as this data is now maintained in SCM --- lib/ChangeLog | 4270 --------------------------------------------------------- 1 file changed, 4270 deletions(-) delete mode 100644 lib/ChangeLog (limited to 'lib') diff --git a/lib/ChangeLog b/lib/ChangeLog deleted file mode 100644 index 688c44f7..00000000 --- a/lib/ChangeLog +++ /dev/null @@ -1,4270 +0,0 @@ -2008-07-21 Paul Jakma - - * sockunion.c: ifdef out various places that converted - v4mapped sockets to pure v4. Doesn't seem necessary at all, - presumably a workaround for now historical inet_ntop bugs (?) - -2008-07-21 Michael H. Warfield - YOSHIFUJI Hideaki - - * sockopt.{c,h}: (sockopt_tcp_signature) Add TCP-MD5SIG support. - -2008-06-07 Paul Jakma - - * stream.{c,h}: (stream_{put,write}) add const qualifier to source - argument. Change u_char to void *. - -2008-06-02 Denis Ovsienko - - * workqueue.[ch]: completely drop WQ_AIM_HEAD flag and - work_queue_aim_head() function, they aren't needed any more - with the new meta queue structure; (work_queue_run) don't - increment the counter on work item requeueing - -2008-02-28 Paul Jakma - - * log.c: (mes_lookup) Sowmini Varadhan diagnosed a problem where - this function can cause a NULL dereference, on lookups for unknown - indices, or messages with NULL strings. Can occur, e.g., debug - logging code when processing received messages. Fixed to accept a - pointer to a default string to be used if there is no match. - * log.h: LOOKUP adjusted to match - -2008-02-28 Paul Jakma - - * linklist.c: This implementation expects that the data pointer not - be null, e.g. listgetdata() asserts this. The list add methods - don't apply the same sanity check. - - Noted by Jim Carlson in bug #437. - -2008-01-11 Andrew J. Schorr - - * zebra.h: Revert previous change, no need to include - here. - -2008-01-10 Ingo Flaschberger - - * zebra.h: If HAVE_BSD_LINK_DETECT is defined, include . - -2008-01-08 Pavol Rusnak - - * memory.c: (mtype_memstr) Fix accidental shift past width of type, - constant should have been forced to UL, rather than being left to - default to int. - -2007-11-12 Denis Ovsienko - - * linklist.c: (listnode_add_after) Don't forget to increment list - items counter. - * workqueue.h: Changed working queue flags from enum into integer - and introduced WQ_AIM_HEAD flag to indicate our will to insert - new data before the list head. - * workqueue.[ch]: (work_queue_schedule, show_work_queues, - work_queue_plug, work_queue_unplug) Adjust to the new flags style. - * workqueue.[ch]: (work_queue_aim_head) new function to control the - WQ_AIM_HEAD flag - * workqueue.[ch]: (work_queue_new) Explicitly set both WQ flags - during new WQ initialization. - * workqueue.[ch]: (work_queue_add) If WQ_AIM_HEAD indicates a need - to place the new data into list head, do it. - -2007-10-22 Lorenzo Colitti - - * smux.c: (smux_stop) Avoid cancelling a defunct thread pointer - (smux_start) Stop smux before trying to start it, possibly again. - -2007-10-04 Denis Ovsienko - - * pid_output.c: (pid_output) stop using LOGFILE_MASK - (0600 by default), introduce and use PIDFILE_MASK (0644) - instead. - -2007-09-18 Paul Jakma - - * privs.c: definition of ZCAP_NET_ADMIN on Solaris should - be PRIV_SYS_IP_CONFIG, when that's available. Thus allowing - Quagga to work with in Solaris zones with exclusive IP - instances. - -2007-08-21 Denis Ovsienko - - * sockopt.[ch]: (setsockopt_so_sendbuf, getsockopt_so_sendbuf): - new functions to adjust ospfd working socket. - -2007-08-13 Denis Ovsienko - - * zebra.h: introduce ZEBRA_ERR_KERNEL and ZEBRA_ERR_NOERROR - -2007-07-06 Atis Elsts - - * pqueue.{c,h}: Export trickle_up - -2007-07-26 Paul Jakma - - * log.c: (mes_lookup) warning about code not being in same-number - array slot should be debug, not warning. E.g. BGP has several - discontigious number spaces, allocating from different parts of a - space is not uncommon (e.g. IANA assigned versus vendor-assigned - code points in some number space). - -2007-07-06 Andrew J. Schorr - - * sockopt.{c,h}: (setsockopt_multicast_ipv4) Add some comments about - the arguments. - -2007-06-01 Andrew J. Schorr - - * zebra.h: On linux, we seem to need to include before - , otherwise we get isisd compilation errors about - __be16 not being defined. - -2007-05-10 Paul Jakma - - * zebra.h: Don't try define _GNU_SOURCE, autoconf should do it. - -2007-05-03 Paul Jakma - - * memtypes.c: Add MTYPE_ATTR_EXTRA and MTYPE_BGP_ROUTE_EXTRA - -2007-05-01 David L Stevens - - * (general) These changes collectively add route-map and - prefix-list support to zebra and fix a bug in "show - route-map" (with no argument). - * command.h: added PROTOCOL_NODE type - * log.c: (proto_name2num) new function, protocol name to - number translation. - * routemap.c: (vty_show_route_map) fixed "show route-map" - without route-map name - * routemap.h: added RMAP_ZEBRA type - * zebra.h: added proto_name2num() prototype - -2007-04-29 Andrew J. Schorr - - * log.c: (quagga_timestamp) Optimize the subsecond timestamp generation. - -2007-04-28 Andrew J. Schorr - - * command.c: (config_write_host) Save "log timestamp precision" - if not default value. - (show_logging) Show configured timestamp precision. - (config_log_timestamp_precision) Enable configuration of timestamp - precision. - (no_config_log_timestamp_precision) Restore default timestamp - precision. - (cmd_init) Install new timestamp precision commands. - * log.h: (struct zlog) New timestamp_precision field. - (quagga_timestamp) New function to generate a timestamp with the - desired precision. - (struct timestamp_control) Declare a structure for use in avoiding - repeated duplicate calls to quagga_timestamp. - * log.c: (quagga_timestamp) New function to generate a timestamp - of the desired precision. - (time_print) Call quagga_timestamp if the time hasn't already been - calculated. - (vzlog) Initialize a timestamp_control structure and pass it to - time_print and vty_log. - (zlog_backtrace) Fix 64-bit problem: cannot print size_t with %u. - * vty.h: Must now include "log.h". - (vty_log) Takes an additional struct timestamp_control argument. - * vty.c: (vty_log_out) Use new struct timestamp_control and new - quagga_timestamp function to print timestamps of the desired - precision. - (vty_time_print) Use new quagga_timestamp function. - (vty_log) Accept new struct timestamp_control argument and pass it - down to vty_log_out. - -2007-04-27 Andrew J. Schorr - - * smux.c: (smux_trap) Fix printf format to work with 64-bit size_t. - -2007-04-07 Paul Jakma - - * prefix.h: Add define to match IPv4 Link-Local addresses - -2007-03-20 Andrew J. Schorr - - * log.c: (mes_lookup) Make the function more robust: check for - cases where the index does not match the key value at that position. - If so, give a warning and fall back to a linear search. - And improve the error message in cases where even that fails. - -2006-12-12 Andrew J. Schorr - - * if.h: (struct connected) Add new ZEBRA_IFA_PEER flag indicating - whether a peer address has been configured. Comment now shows - the new interpretation of the destination addr: if ZEBRA_IFA_PEER - is set, then it must contain the destination address, otherwise - it may contain the broadcast address or be NULL. - (CONNECTED_DEST_HOST,CONNECTED_POINTOPOINT_HOST) Remove obsolete - macros that were specific to IPv4 and not fully general. - (CONNECTED_PEER) New macro to check ZEBRA_IFA_PEER flag. - (CONNECTED_PREFIX) New macro giving the prefix to insert into - the RIB: if CONNECTED_PEER, then use the destination (peer) address, - else use the address field. - (CONNECTED_ID) New macro to come up with an identifying address - for the struct connected. - * if.c: (if_lookup_address, connected_lookup_address) Streamline - logic with new CONNECTED_PREFIX macro. - * prefix.h: (PREFIX_COPY_IPV4, PREFIX_COPY_IPV6) New macros - for better performance than the general prefix_copy function. - * zclient.c: (zebra_interface_address_read) For non-null destination - addresses, set prefixlen to equal the address prefixlen. This - is needed to get the new CONNECTED_PREFIX macro to work properly. - -2006-10-14 Paul Jakma - - * if.c: (general) Handle upgrades from SUNWzebra, which tried - to track each logical interface as a seperate struct - interface, to Quagga, which assigns only one struct interface - per ifindex. - (if_sunwzebra_get) Try decompose a logical interface name - (fooX:Y) to the 'primary' name (fooX), for Solaris. - (interface_cmd) Use if_sunwzebra_get on Solaris. - -2006-09-26 Pierre-Yves Ritschard - - * smux.c: (smux_open,smux_trap,smux_register) Fix various - asn_build_* calls to pass the proper length in the final - argument: use sizeof() instead of sizeof(), - since there were several inconsistencies between the actual - variable type and the size that was passed. This should - fix some problems on 64-bit architectures where sizeof(int) - != sizeof(long). - -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. - -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. - -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. - -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.). - -2006-07-03 Andrew J. Schorr - - * vty.c: (vty_log_out) Debug messages to terminal vty sessions - should include timestamps. - -2006-06-28 Paul Jakma - - * memory.c: Fix typo in cpp conditional around malloc.h, from - comment in bug #269. - -2006-06-27 Paul Jakma - - * route_types.awk: Remove setting the 'bare' numeric route type - in redist strings. - -2006-06-15 Paul Jakma - - * command.c: (cmd_describe_command_real) Fix leak, CID #38. - * memory.h: Experimental, have XFREE macro NULL out the freed - pointer. - * linklist.c: (list_delete) call list_delete_all_node, don't - duplicate it. - * if.c: (if_flag_dump) remove the whitespace indentation, callers - should provide. - -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) - * memory.c: malloc.h is deprecated in favour of stdlib.h, however - we still need it on GNU Libc for mallinfo(). - * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty - hasn't been initiliased. - * 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. - -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. - -2006-05-21 Andrew J. Schorr - - * if.h: (struct connected) Document the meaning of the - ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags. - -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. - -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. - -2006-05-12 Paul Jakma - - * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref - of prefix and typestr strings, Coverity CID #3. - * command.c: (cmd_complete_command_real) Fix leak of cmd_vector - in error case, Coverity CID #37. - (cmd_describe_command_real) Fix return of freed pointer when - no-match, CID #55. - * vty.c: (vty_describe_command) fix leak of describe vector in - error path, CID #39. - -2006-03-30 Paul Jakma - - * command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as - potentially being unused. - * workqueue.c: (work_queue_run) fix line length of comment - -2006-03-27 Paul Jakma - - * memtypes.awk: Fix gensub call, g should be a string.. - -2006-03-25 Paul Jakma - - * workqueue.h: (struct work_queue) Remove status field and - state flag, no longer used. - -2006-03-19 Paul Jakma - - * memtypes.c: Add MTYPE_BGP_SYNCHRONISE. - -2006-03-16 Paul Jakma - - * Makefile.am: Fix -version-info argument. - -2006-03-15 Paul Jakma - - * memory.c: (mtype_memstr) new helper function to - return human friendly string for a byte count. - (mtype_stats_alloc) new function, for users to retrieve - number of objects allocated. - (show_memory_mallinfo) New function, show mallinfo statistics - if available. - (show_memory_all_cmd) Call show_memory_mallinfo, if mallinfo - is available. - * memory.h: Export mtype_memstr and mtype_stats_alloc. - Provide a define for a reasonable buffer size for - mtype_memstr. - -2006-03-14 Paul Jakma - - * 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-06 Paul Jakma - - * if.h: export show_address_cmd, for anyone who wishes to use - it. - -2006-02-21 Paul Jakma - - * sockunion.c: (sockunion_{su2str,log}) Use XSTRDUP. - Particularly with _su2str, as that string gets XFREEd, - which can be annoying if run debug code in memory.c. - -2006-02-02 Paul Jakma - - * workqueue.h: (struct work_queue) Remove the delay field. - It served no purpose and just introduced bad behaviour. - Should be excised before its allowed to escape into 1.0. - This removes need for the 'flood' and runs_since_clear - fields. - * workqueue.c: (general) excise delay factor between queue - runs, hence the 'flood' crap too.. See above. - -2006-01-19 Paul Jakma - - * stream.c: (stream_getq_from) should use POSIX uint64_t - not u_int64_t. Latter is neither a traditional BSD type, nor - a POSIX type. - -2006-01-17 Vincent Jardin - - * md5.c: Don't forget to keep const. - * regex.c: Cleanup code and remove warnings. - -2006-01-17 Paul Jakma - - * md5.{c,h}: (md5_loop) Is better off taking a void * and doing - cast to byte wise type internally, avoids needs for casts - in users. - * vty.c: (no_terminal_monitor_cmd) New ALIAS for - terminal_no_monitor, in the more normal negating format, - to be kind to my fingers. - (vty_init) install new ALIAS. - * zclient.{c,h}: (zclient_create_header) export this, seems others - could use it (in lieu of more complete zserv helpers). - -2006-01-16 Paul Jakma - - * zclient.h: Update the Zserv protocol header with a version - field. Define the old command field to be a 'marker', to - allow old Zserv and updated Zserv to be differentiated. - Future updates will bump the version field obviously. New - command field is made wider. Try to stop using the - 'zebra_size_t' typedef in the callbacks. - * zclient.c: Update to read/write new format header. - -2006-01-11 Paul Jakma - - * if.h: (struct interface) expand flags to 8 bytes. - * zclient.c: (zebra_interface_{add,state}_read) stream read of - interface flags now need to use stream_getq. - (zebra_interface_if_set_value) ditto - -2006-01-10 Paul Jakma - - * stream.c: (stream_new) Allocate stream data as seperate object. - (stream_free) free the data. - (stream_resize) new function, resize stream to new size. - (stream_{get,put}q*) new functions to get/put quad word size - types. - * stream.h: (struct stream) make data seperate from the stream. - Export new stream_resize and quad-word get/put functions. - -2005-12-29 Greg Troxel - - * vty.c (vty_hello): add cast to quiet lint (from David Young) - -2005-11-26 Paul Jakma - - * buffer.c: (struct buffer_data) change gcc zero array - declaration to C99 incomplete array. - * stream.h: (struct stream) same - -2005-11-24 Paul Jakma - - * privs.c: (zcaps2sys/solaris) remove unused variable. - (zprivs_state_caps/solaris) Format string missing a - specifier. - * zebra.h: s/u_int/unsigned int/, u_int is a BSD type, defining - __USE_BSD on Linux pulls in further things from netinet/ip.h - which dont preprocess for some reason. There is no C99 - shorthand type directly equivalent to u_int afaict, so don't - use it. - -2005-11-14 Paul Jakma - - * (general) pass struct work-queue to callback functions. - * workqueue.h: (struct work_queue) move the state flag - variables to end. - Add an opaque pointer to spec, for user-data global to the - queue. - Pass reference to work_queue to all callbacks. - * workqueue.c: (work_queue_item_remove) pass ref to workqueue - to user callbacks. - (work_queue_run) ditto. - -2005-11-14 Paul Jakma - - * (general) Add state to detect queue floods. There's no sense - trying to be sparing of CPU resources, if the queue is - flooding and using ever more memory resources. we should just - get on with clearing the queue. - The sense of delay and hold were wrong way around, fix. - * workqueue.h: (struct work_queue) Add status bitfield. Add - 'flood' integer to workqueue spec. Add runs_since_clear - counter to workqueue. - * workqueue.c: (work_queue_new) set defaults for delay, hold - and flood. - (work_queue_add) initial schedule should use delay, not hold. - (show_work_queues) Print flood field, conserve whitespace. - (work_queue_unplug) use delay, not hold. - (work_queue_run) consecutive runs should be seperated by hold - time, not delay. - Keep track of number of consecutive runs, go into 'overdrive' - if queue is being flooded, we can't avoid making heavy use of - resources, better to use CPU than ever more RAM. - * zebra.h: [bug #231] include stdint, if its there. - -2005-11-05 Paul Jakma - - * routemap.c: (vty_show_route_map_entry) call action is - seperate from exit action, latter should still be printed - regardless of whether a call is specified. - -2005-11-03 Paul Jakma - - * zebra.h: BSD BYTE_ORDER define isn't available everywhere, - define if needs be. - * checksum.h: new file. checksum.c exports in_cksum, provide - a header for it. - * checksum.c: (in_cksum) callers shouldn't have to know it uses - a u_short internally, change to void *. - * Makefile.am: Add checksum.h - * command.h: remove bogus trailling slash. - * md5.c: (general) Update it for the twentieth century. ANSI - declarations are widely supported now.. Don't include system - headers, only include zebra.h. Use POSIX types (the - alternative is to define u_int64_t in a portable way - rest - of Quagga needs same cleanup). - Make endian-conditional code be compiler conditional rather - than preprocessor conditional, so that breakage gets noticed - quicker. - * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable - compiler compatibility hack. - * if.c: (connected_free) use MTYPE for connected label. - * memtypes.c: Add MTYPE_CONNECTED_LABEL - * memtypes.h: Update auto-built file. - -2005-10-26 Paul Jakma - - * (general) Cleanup a some calls to XFREE,strdup, etc. to use - the memory.h macros. - * memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE, - MTYPE_PQUEUE_DATA and MTYPE_HOST. - * memtypes.h: update auto-built file. - * if_rmap.c: Use MTYPE_IF_RMAP_NAME. - * pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations. - * command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups, - including fixing some likely leaks in config_write_file. - * vty.c: memory macro usage fixes. - (vty_read_config) fix leak where relative config file is - specified. - -2005-10-20 Andrew J. Schorr - - * sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP - fails with errno equal to EADDRINUSE, then issue an info - message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP. - -2005-10-20 Andrew J. Schorr - - * memory.c: (show_memory_vty) Omit zero statistics. Print separators - only if some non-zero stats have been printed in between. - (show_separator) New function to print a separator. - (show_memory_all) Keep track of whether a separator is needed - between the different memory statistics groups. - -2005-10-18 Andrew J. Schorr - - * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c). - -2005-10-18 Paul Jakma - - * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT. - -2005-10-01 Andrew J. Schorr - - * zebra.h: Declare new functions zebra_route_string() and - zebra_route_char(). - * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New - functions to map zebra route numbers to strings. - -2005-09-29 Alain Ritoux - - * smux.[ch]: allow to retreive global OID (identified by <0 - namelen). - -2005-09-29 Paul Jakma - - * zebra.h: Solaris capabilities requires priv.h to be included. - * privs.{c,h}: Add support for Solaris Least-Privileges. - privs.h: Reduce some of the abstract capabilities, which do - not have rough equivalents on both systems. Rename the net - related caps to _NET, as they should have been in first - place. - (zprivs_terminate) should take the zebra_privs_t as argument so - that it can update change pointer. - Add an additional privilege state, ZPRIVS_UNKNOWN. - * privs.c: (various capability functions) Add - Solaris privileges variants. - (zprivs_state) Use privs.c specific generic types to - represent various capability/privilege related types, so that - each can be typedef'd as appropriate on each platform. - (zprivs_null_state) static added, to hold the state the null - method should report (should be raised by default, and - LOWERED if zprivs_terminate has been called) - (zprivs_state_null) Report back the zprivs_null_state. - (cap_map) Make it able to map abstract capability to multiple - system capabilities. - (zcaps2sys) Map to abstract capabilities to multiple system - privileges/capabilities. - (zprivs_init) move capability related init to seperate - function, zprivs_caps_init. - (zprivs_terminate) ditto, moved to zprivs_caps_terminate. - Set the change_state callback to the NULL state, so the - user can continue to run and use the callbacks. - -2005-09-29 Alain Ritoux - - * filer.c: show protocol name in filter_show() - * plist.c: show protocol name in vty_show_prefix_entry() - * routemap.c: show protocol name in vty_show_route_map_entry() - * vty.c: in vty_command(), show protocol name if command unknown - -2005-09-28 Alain Ritoux - - * md5-gnu.h: removed - * md5.h: replaces md5-gnu.h - * Makefile.am: use correct md5.h - * md5.c: import from WIDE - -2005-09-21 Paul Jakma - - * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA. - -2005-09-19 Hasso Tepper - - * str.[ch]: Add strndup() from glibc. - -2005-09-05 Paul Jakma - - * command.c: (install_element) be more robust. Eg, cmd_init - need not have been called, some applications may use other - library subsystems, which call install_element, without the - application wanting commands and hence not calling cmd_init. - -2005-08-22 Hugo Santos - - * command.h: (enum node_type) Add BGP_IPV6M_NODE - * command.c: (node_parent) Handle BGP_IPV6M_NODE node - (config_exit, config_end) ditto - * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node - -2005-08-10 Greg Troxel - - * getopt.h: Don't declare getopt (rather than getopt_long), since - quagga doesn't need it. - * getopt.c (getopt): Don't define getopt. - -2005-07-26 Andrew J. Schorr - * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new - to allocate the memory to make sure that all struct prefix pointers - point to objects of the same length (avoids memory overruns - on struct prefix assignments). - (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free. - It is interesting to note that these functions are never actually - called anywhere in the code. Instead prefix_free was already - being called directly, despite the previous MTYPE incompatibility. - -2005-07-26 Andrew J. Schorr - - * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is - in range before dereferencing it. - -2005-06-24 Pawel Worach - - * getopt.h: add further tests for full getopt declaration on - various systems. - -2005-06-18 Paul Jakma - - * memtypes.h: update autobuilt file to match memtypes.c changes - -2005-06-01 Paul Jakma - - * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and - MTYPE_BGP_CLEAR_NODE_QUEUE - -2005-05-24 Paul Jakma - - * memtypes.h: update this auto-built file. (maybe we should just - remove it, is GNU awk a terrible dependency to have?) - -2005-05-23 Paul Jakma - - * memtypes.awk: use character classes, which work correctly in - all LC_COLLATE environments, unlike A-Z, which doesnt work in - eg estonian collate order. Reported by Hasso. - * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command - is used, which does not supply an argv[0]. - this is a backport candidate /iff/ the trailing ; is removed - from VTY_GET_INTEGER_RANGE - * vty.h: fix the VTY_GET macros, do {..} while(0) so they have - correct function like syntax in usage. - * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code, - to allow a queue function to indicate the queue is not - ready/blocked - rather than any problem with the item at hand. - Add a notion of being able to 'plug' and 'unplug' a queue. - Add helpers to plug/unplug a queue. - Add a completion callback, to be called when a queue is emptied. - * workqueue.c: (work_queue_new) remove useless list_free. - (work_queue_schedule) new internal helper function to schedule - queue, if appropriate. - (work_queue_add) use work_queue_schedule - (show_work_queues) Print 'P' if queue is plugged. - (work_queue_plug) new API function, plug a queue - ie prevent it - from 'drained' / processed / scheduled. - (work_queue_unplug) unplug a queue, allowing it to be drained - / scheduled / processed again. - (work_queue_run) Add support for WQ_QUEUE_BLOCKED. - Add comment for RETRY_NOW case. - Make hysteris more aggresive in ramping up granularity, improves - performance significantly. - Add support for calling completion callback when queue is emptied, - possibly useful for knowing when to unplug a queue. - -2005-05-19 Paul Jakma - - * thread.c: (thread_cancel_event) the number of pending events - cancelled is potentially useful information, dont throw it away, - pass it back to the caller. - * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP - (sockunion_getpeername) ditto - * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST - -2005-05-15 Paul Jakma - - * getopt.h: It's not just __GNU_LIBRARY__ which defines - getopt, eg __EXTENSIONS__ does too on SunOS. It still seems - awfully fragile though. - * getopt.c: include zebra.h after config.h, before including - getopt.h so that things at least are consistent.. - * getopt1.c: ditto - -2005-05-07 Yar Tikhiy - - * sockopt.c: Add support for BSD style ifindex in ip_mreq. - -2005-05-06 Paul Jakma - - * (general) extern and static'ification of functions in code and - header. - Cleanup any definitions with unspecified arguments. - Add casts for callback assignments where the callback is defined, - typically, as passing void *, but the function being assigned has - some other pointer type defined as its argument, as gcc complains - about casts from void * to X* via function arguments. - Fix some old K&R style function argument definitions. - Add noreturn gcc attribute to some functions, as appropriate. - Add unused gcc attribute to some functions (eg ones meant to help - while debugging) - Add guard defines to headers which were missing them. - * command.c: (install_node) add const qualifier, still doesnt shut - up the warning though, because of the double pointer. - (cmp_node) ditto - * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived - fromn vty.h ones to fix some of the (long) < 0 warnings. - * thread.c: (various) use thread_empty - (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type - * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they - removed from ospfd/ospf_vty.h - * zebra.h: Move definition of ZEBRA_PORT to here, to remove - dependence of lib on zebra/zserv.h - -2005-05-06 Hasso Tepper - - * sockunion.c: Fix warning message. - -2005-05-03 Paul Jakma - - * stream.h: Add comment about the special zero-ing ability of - stream_put. - (stream_recvmsg, stream_write) should return ssize_t and size_t - respectively. Should both be extern linkage. - (stream_recvfrom) Stream aware wrapper around recvfrom, in style - of stream_read_try. - * stream.c: (stream_recvfrom) new function, wrapper around recvfrom. - (stream_recvmsg, stream_write) ssize_t and size_t return values - -2005-04-27 Andrew J. Schorr - - Add wall-clock timing statistics to 'show thread cpu' output. - * thread.h: Define struct rusage_t to contain wall-clock time - and cpu time. Change GETRUSAGE macro to collect both pieces - of data. Make appropriate changes to struct cpu_thread_history - to track CPU time and real time. Change proto for - thread_consumed_time to return real and cpu time elapsed. - And declare a new global variable 'struct timeval recent_time'. - * thread.c (struct timeval recent_time): New global timestamp variable. - (timeval_adjust): If timeout is negative, set to 0 (not 10 - microseconds). And remove upper bound of 1,000,000 seconds, since - this does not seem to make any sense (and it breaks - funcname_thread_add_timer_timeval). - (timeval_cmp): Should return long, not int. - (vty_out_cpu_thread_history): Show CPU time and real time. - (cpu_record_hash_print): Calculate totals for CPU and real time. - (cpu_record_print): Change 'show thread cpu' title to show CPU and - real time. - (thread_timer_remain_second): Put current time in global recent_time. - (funcname_thread_add_timer_timeval): Fix assert. Replace 2-case - switch assignment with a ternary expression. Use global recent_time - variable. Fix use of timeval_adjust (previously, the value was not - actually being adjusted). - (thread_cancel): Add missing "break" statement in case - THREAD_BACKGROUND. - (thread_timer_wait): Use global recent_time value instead of calling - gettimeofday. And there's no need to check for negative timeouts, - since timeval_subtract already sets these to zero. - (thread_timer_process): Timers are sorted, so bail out once we - encounter a timer that has not yet popped. And remove some - extraneous asserts. - (thread_fetch): Do not process foreground timers before calling - select. Instead, add them to the ready list just after the select. - Also, no need to maintain a count of the number of ready threads, - since we don't care how many there are, just whether there's - one at the head of the ready list (which is easily checked). - Stick current time in global variable recent_time to reduce - the number of calls to gettimeofday. Tighten logic for - calculating the select timeout. - (thread_consumed_time): Now returns real time and puts the elapsed - cpu time in an additional argument. - (thread_should_yield): Use real (wall-clock) time to decide whether - to yield. - (thread_call): Maintain CPU and real time statistics. - * vty.c (vty_command): For slow commands, show real and cpu time. - -2005-04-27 Andrew J. Schorr - - * workqueue.c (show_work_queues): Remove unused gettimeofday call. - -2005-04-27 Paul Jakma - - * workqueue.h: (struct work_queue_item) change retry_count to ran, - its a count of number item has been run. - * workqueue.c: (show_work_queues) Fix formating of slightly - bugfix: fix SIGFPE if wq->runs is 0. - (work_queue_run) retry logic was slightly wrong. - cycles.best is 0 initialy, granularity is 1, so update best - if cycles >= granularity, not just >. - * memory.h: memtypes is built source, default includes points to - top_builddir, so we should refer to lib/memtypes.h - -2005-04-26 Andrew J. Schorr - - * buffer.c (buffer_write): Comment out call to buffer_flush_available. - This should speed up buffering at the expense of a possible increase - in latency in flushing the data if inside a long-running thread. - -2005-04-25 Paul Jakma - - * workqueue.{c,h}: Helper API for setting up and running queues via - background threads. - * command.c: install the 'show workqueues' command - * memtypes.c: Add work queue mtypes, and a rib-queue type for - a zebra rib work queue. - * memtypes.h: Updated to match memtypes.c - * Makefile.am: Refer to source files via srcdir variable, fix - out-of-tree build breakage. - Add new workqueue files to build. - * memory.c: Make the string field much wider - * memtypes.c: Correct the prefix list str/entry strings - * thread.c: Kill unused TIMER_NO_SORT bits - -2005-04-22 Andrew J. Schorr - - * thread.h: Fix type for struct thread_master add_type: should be - unsigned char. Also, add some documentation of thread_add_background - args. And remove extraneous declaration of - show_thread_work_queues_cmd. - -2005-04-22 Paul Jakma - - * memory.h: Move include of memtypes.h to after the definition of - struct memory_list, gcc 4.0 doesn't like arrays of incomplete - types. - * thread.h: Add background thread type and thread_add_background - macro and accompanying funcname_... function. - export thread_should_yield, background threads can use it. - Lower thread yield time to 10ms, 100ms is noticeable lag and - a thread would only be /starting/ to finish sometime afterward. - * thread.c: (general) Add background thread type and schedule - nearly all thread types through the ready list for fairness. - (timeval_adjust) static qualifier missing - (vty_out_cpu_thread_history) add support for printout of - background threads - (show_thread_cpu) ditto. - (thread_master_debug) add debug of background list - (thread_master_create) fixup long line - (thread_add_unuse) add asserts for required state. - (thread_master_free) free background thread list - (funcname_thread_add_timer_timeval) make generic, able to - support arbitrary timer-like thread types. - (funcname_thread_add_timer) pass thread type to .._add_timer_timeval - (funcname_thread_add_timer_msec) ditto - (funcname_thread_add_background) Add a background thread, with an - optional millisecond delay factor, using .._add_timer_timeval. - (thread_cancel) Add background thread type. - Move the thread_list_delete common to all cases to bottom of - function, after the switch statement.. - (thread_cancel_event) indent - (thread_timer_wait) Static qualifier, and make it able to cope - with arbitrary timer-like thread lists, so its of use to - background threads too. - (thread_process_fd) static qualifier. Again, make it take a list - reference rather than thread_master. Fix indentation. - (thread_timer_process) Check for ready timer-like threads in the - given list and move them on to the ready list - code originally - embedded in thread_fetch. - (thread_fetch) Schedule all threads, other than events, through - the ready list, to ensure fairness. Timer readying code moved to - thread_timer_process so it can be reused for background threads. - Remove the unneeded quagga_sigevent_process, as pointed out by - John Lin . - (thread_should_yield) make this available. - -2005-04-16 Andrew J. Schorr - - * thread.h (thread_consumed_time): Declare new function to calculate - elapsed microseconds. - * thread.c (thread_consumed_time): Must be global not static so we - can call it from lib/vty.c:vty_command. - (thread_should_yield): Surround with `#if 0' to make clear that this - function is not currently being used anywhere. - (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG - warning message if the thread takes more than CONSUMED_TIME_CHECK - microseconds. - * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU - HOG warning message if the command takes more than CONSUMED_TIME_CHECK - microseconds. - -2005-04-16 Paul Jakma - - * memtypes.c: the comment about use of comments in the comments - headers was causing comment within comment warnings from compiler - * memtypes.awk: Add extensive comments on the file format for - memtypes.c. - tighten the pattern for the MTYPE matching action (suggestion from - Andrew) and tighten which field we try the match on. - -2005-04-15 Paul Jakma - - * memtypes.c: The new, unified location for memory type definitions. - The memtype enum and declarations for memory_lists are built from - this automatically and put into memtypes.h. - * memtypes.awk: New script to generate memtypes.h from memtypes.c - * memory.h: Finally, the enum can banished! - * memory.c: Finally, the seperate mtype memory_list definitions can - be banished! - (log_memstats) Increase width of fields - (show_memory_zebra_cmd) display zebra specific memory types. - Increase width of fields. - * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h - Add a rule to build memtypes.h using memtypes.awk. - Add memtypes.awk to EXTRA_DIST. - memtypes.awk is gawk dependent, use the GAWK automake var. - * memtypes.h: New file, auto-generated, checked in for convenience. - -2005-04-11 Andrew J. Schorr - - * zclient.h (struct zclient): Add two fields to support non-blocking - I/O: struct buffer *wb, and struct thread *t_write. - (zclient_free): Remove function. - (zebra_redistribute_send): Change 2nd arg from socket fd to - struct zclient * (needed to support non-blocking I/O and buffering). - (zclient_send_message): New function to send an arbitrary - message with non-blocking I/O. - * zclient.c (zclient_new): Create write buffer. - (zclient_free): Remove unused function. - (zclient_stop): Must cancel new t_write thread. Also, reset - all buffers: ibuf, obuf, and wb. - (zclient_failed): New helper function for typical error handling. - (zclient_flush_data): New thread to flush queued data. - (zclient_send_message): New function to send the message in - zclient->obuf to zebra using non-blocking I/O and buffering. - (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use - new zclient_send_message function instead of calling writen. - (zclient_start): Set socket non-blocking. Also, change 2nd arg - to zebra_redistribute_send from zclient->sock to zclient. - (zebra_redistribute_send): Change 2nd arg to struct zclient *. - Can now use zclient->obuf to assemble the message instead of - allocating a temporary stream. And call zclient_send_message to - send the message instead of writen. - (zclient_read): Convert to support non-blocking I/O by using - stream_read_try instead of deprecated stream_read. - (zclient_redistribute): Change 2nd arg to zebra_redistribute_send - from zclient->sock to zclient. - -2005-04-09 Jeroen Simonetti - - * routemap.c: Show description in "show route-map" output. - -2005-04-08 Andrew J. Schorr - - * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined. - -2005-04-08 Andrew J. Schorr - - * vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate - compiler warnings when assigning a (const char *) value to - struct iovec iov_base. - -2005-04-08 Andrew J. Schorr - - * zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This - fixes a problem where we were not getting the declaration of strnlen - in . - -2005-04-08 Hasso Tepper - - * routemap.[ch]: Added "description ..." command. - -2005-04-08 Hasso Tepper - - * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more - inet_ntoa alike. - -2005-04-07 Paul Jakma - - * linklist.h: Add usage comments. - Rename getdata macro to listgetdata. - Rename nextnode to listnextnode and fix its odd behaviour to be - less dangerous. - Make listgetdata macro assert node is not null, NULL list entries - should be bug condition. - ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use - with for loop, Suggested by Jim Carlson of Sun. - Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the - "safety" of previous macro. - LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to - distinguish from the similarly named functions, and reflect their - effect better. - Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section - with the old defines which were modified above, - for backwards compatibility - guarded to prevent Quagga using it.. - * linklist.c: fix up for linklist.h changes. - * *.c: fix up for new list loop macro, try audit other loop - usage at same time, to some degree. - -2004-04-05 Hasso Tepper - - * lib/prefix.[hc]: inet6_ntoa utility function copied from - ripngd/ripngd.c (inet6_ntop). - -2004-04-05 Paul Jakma - - * vty.c: Improve logging of failures to open vty socket(s). - See bugid #163. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-04-02 Andrew J. Schorr - - * str.c: Replace strlcpy and strlcat with actual working versions - copied from rsync-2.6.2/lib/compat.c. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-03-16 Andrew J. Schorr - - * zebra.h: Must check whether __attribute__ should be defined before - including zassert.h. - -2005-03-14 Paul Jakma - - * 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. - (various) Fix indentation and other whitespace. - 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. - -2005-03-09 Paul Jakma - - * 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. - * command.c: (config_list_cmd) Don't list hidden or deprecated - commands, hiding these from tab completion is still to be done. - -2005-03-08 Paul Jakma - - * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE. - (no_banner_motd_cmd) use XFREE. - (cmd_describe_command_real) sign compile warning fix - (cmd_complete_command_real) ditto. - (config_list_cmd) Don't list hidden or deprecated commands, - hiding these from tab completion is still to be done. - * command.h: cmd attr enum should start at 1. - * vty.c: (vty_hello) suggestions from Andrew, read by line and - stub out trailling non-printable characters on each line thus - allowing us to specify VTY_NEWLINE to vty_out. - -2005-03-08 Jeroen Massar - - * vty.c: (vty_hello) display motd file, if set - * command.h: add char *motdfile to struct host - * command.c: (config_write_host) write out motdfile config - (banner_motd_file_cmd) new command, allow motd to be read from - file. - (no_banner_motd_cmd) free motdfile string, if needs be. - (cmd_init) init (struct host).motdfile. Add new motd file - commands. - -2005-03-07 Michael Sandee - - * command.c: host.name might be NULL. - * vty.c: Fix fd leak. - -2005-02-24 Andrew J. Schorr - - * stream.c: (stream_read_try) Log a warning message if a fatal - I/O error occurs. - (stream_fifo_new) Fix prototype. - * stream.h: Fix prototype for stream_fifo_new (need void arg). - -2005-02-23 Andrew J. Schorr - - * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset). - -2005-02-23 Andrew J. Schorr - - * buffer.h: Make the struct buffer and struct buffer_data structures - private by moving them inside buffer.c. Add comments for all - functions. Rename buffer_write as buffer_put (to be more consistent - with the buffer_putc and buffer_putstr functions). Declare a new - buffer_write function that is used to write data to a file descriptor - and/or add it to the buffer queue. Remove unused function - buffer_flush_vty_all. Create a new enum typedef buffer_status_t - to be used as the return code for all buffer_flush* functions - and buffer_write. - * buffer.c: The struct buffer and struct buffer_data declarations - are now private to this file. In conjunction with that, remove - some unnecessary fields: struct buffer (alloc, unused_head, - unused_tail, length), struct buffer_data (prev). - (buffer_data_new) Removed: functionality incorporated into buffer_add. - (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead. - (buffer_new) Use calloc instead of malloc + memset(zero). - Supply an appropriate default size if the specified size is 0. - (buffer_free) Eliminate code duplication by calling buffer_reset to - free the contents of the buffer (and remove unused code related - to unused_head). - (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more - compact). - (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set - alloc and length to 0 (these fields have been removed). - (buffer_add) Fix scope to be static. Call XMALLOC directly instead - of calling removed buffer_data_new function. Simplify the logic - (since it's now a singly-linked list instead of doubly-linked). - (buffer_write) Renamed to buffer_put. Change to void, since return - code of 1 was meaningless. No need to adjust length field, since - it has been removed. - (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty) - Remove unused functions. - (buffer_flush_all) Rewrite using buffer_flush_available to eliminate - a possible failure mode if IOV_MAX is less than the number of buffers - on the queue. - (buffer_flush_window) Incorporate logic from buffer_flush_vty. - Log an error message if there is a writev error. - (buffer_flush_available) Be more paranoid: check for case where - buffer is already empty. Use new ERRNO_IO_RETRY macro, and use - new enum for return codes. Simplify deletion logic (since it's - now a singly-linked list). - (buffer_write) New function for use with non-blocking I/O. - * vty.h: Replace the struct vty sb_buffer field with a fixed-size - (5-character) sb_buf field and an sb_len field, since using - a struct buffer was inappropriate for this task. Add some useful - comments about telnet window size negotiation. - * vty.c: Include (no longer included by zebra.h). - Remove VTY_OBUF_SIZE (instead use buffer_new default size). - Make telnet_backward_char and telnet_space_char static const. - (vty_out) Replace buffer_write with buffer_put. - (vty_log_out) Check for I/O errors. If fatal, close the vty session. - Consolidate 3 separate writes into a single write call. - (vty_will_echo,vty_command,vty_next_line,vty_previous_line, - vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo, - vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout, - vty_config_write,vty_save_cwd) Fix scope to static. - (vty_new) Let buffer_new use its default buffer size. - (vty_write) Fix signature: 2nd arg should be const char *. - Replaced buffer_write with buffer_put. - (vty_telnet_option) Fix minor bug (window height or width greater than - 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer - (which was being used improperly). - (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal. - If the error is fatal, call buffer_reset so vty_close does not attempt - to flush the data. Use new sb_buf and sb_len instead of sb_buffer - to store the SB negotiation string. - (vty_flush) When vty->lines is 0, call buffer_flush_available instead - of buffer_flush_window. Look at the return code from buffer_flush - to detect I/O errors (and in that case, log an error message and - close the vty). - (vty_create) Fix scope to static. Initialize sb_len to 0 instead - of creating sb_buffer. - (vty_accept) Set socket nonblocking. - (vtysh_accept) Use new set_nonblocking function instead of calling - fcntl directly. - (vtysh_flush) New function called from vtysh_read (after command - execution) and from vtysh_write. This flushes the buffer - and reacts appropriately to the return code (by closing the vty - or scheduling further flushes). - (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY. - If not, just try again later. Otherwise, call buffer_reset before - calling vty_close (to avoid trying to flush the buffer in vty_close). - Fix logic to allow case where a command does not arrive atomically - in a single read call by checking for the terminating NUL char. - (vtysh_write) Use new vtysh_flush helper function. - (vty_close) No need to call buffer_empty, just call buffer_flush_all - in any case (it will check whether the buffer is empty). - Do not free sb_buffer (since it has been removed). - (vty_log_fixed) Use writev instead of write. - * zebra.h: Do not include , since this is used only - by lib/vty.c. - -2005-02-21 Vincenzo Eramo - - * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It - will allow to update node when: - i) a node is inserted into the priority queue; - ii) a node position is modified in the priority queue; - * pqueue.h: Export trickle_down() function. - -2005-02-19 Paul Jakma - - * stream.c: (stream_new) fix dumb mistake. - -2005-02-17 Andrew J. Schorr - - * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro. - -2005-02-17 Andrew J. Schorr - - * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O - operation should be retried. This eliminates the need to duplicate - the same logic testing for EAGAIN or EINTR in multiple places. - -2005-02-16 Andrew J. Schorr - - * stream.h: Declare new function stream_read_try suitable for use - with non-blocking file descriptors. Indicate that stream_read - and stream_read_unblock are deprecated. - * stream.c: (stream_read_try) New function for use with non-blocking - I/O. - (stream_recvmsg) Should return -1 if the stream is too small to - contain the data. - -2005-02-16 Andrew J. Schorr - - * network.c: (set_nonblocking) Should check return code from - fcntl(F_GETFL). - -2005-02-15 Andrew J. Schorr - - * network.h: Declare new function set_nonblocking. Indicate that - readn and writen are deprecated. - * network.c: (set_nonblocking) New function to make a file descriptor - non-blocking, since it seems silly to have fcntl calls sprinkled - throughout the code. - -2005-02-14 Paul Jakma - - * stream.h: Unsigned long updated to size_t - * stream.c: ditto - * stream.h: Add stream_copy, stream_dup, stream_recvmsg. - Add comment describing struct stream abstraction, and various - other comments. - Deprecate several unsafe/ambigious macros. - Add STREAM_WRITEABLE and STREAM_READABLE. - Add (stream_getl_from) for symmetry. - Update stream_forward_{endp,getp} to use size_t offset. - Make stream data a 0 length array, rather than a seperate malloc. - * stream.c: Add consistency checks. Update to follow stream.h - changes. - (stream_new) Alloc stream+data in one go. - (stream_copy) new function, copy a stream. - (stream_dup) new function, dup a stream. - (stream_recvmsg) new function, recvmsg data into a stream. - (stream_empty) no need to check getp == 0. - -2005-02-09 Paul Jakma - - * stream.h: Remove putp. Update reference to putp with endp. - Add stream_forward_endp, which daemons were doing manually. - Rename stream_forward to stream_forward_getp. - stream.c: Remove/update references to putp. - introduce stream_forward_endp. - -2005-02-08 Andrew J. Schorr - - * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG - to use compound assignment operators (aesthetic change). - -2005-02-03 Andrew J. Schorr - - * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno() - since it is not async-signal-safe. - (_zlog_assert_failed) Rewrite crashlog logic more compactly. - (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd - for use in signal handler. - -2005-02-03 Andrew J. Schorr - - * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed - inside this function only. - (open_crashlog) New function to open /var/tmp/quagga..crashlog - with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info. - (zlog_signal,_zlog_assert_failed) Increase logging priority from - LOG_ERR to LOG_CRIT. If no file logging is configured, try to use - open_crashlog to create a crash logfile. - (zlog_backtrace_sigsafe) If a crashlog file descriptor is open, - dump a backtrace to that file. - -2005-02-02 Andrew J. Schorr - - * if.h: Declare if_flag_dump. - -2005-01-30 Andrew J. Schorr - - * daemon.c: (daemon) Replace perror with zlog_err. - * vty.c: (vty_serv_un) Replace perror with zlog_err. - -2005-01-29 Andrew J. Schorr - - * buffer.h: Fix comment on buffer_getstr to reflect that it now - uses XMALLOC. - * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc. - * filter.c: (access_list_remark,ipv6_access_list_remark) Use - argv_concat instead of buffer_getstr. - * if.c: (interface_desc) Use argv_concat instead of buffer_getstr. - * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description) - Use argv_concat instead of buffer_getstr. - -2005-01-28 Andrew J. Schorr - - * lib/buffer.h: Document behavior of buffer_getstr function. - * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where - the string extends beyond the head struct buffer_data. - -2005-01-28 Andrew J. Schorr - - * lib/command.h: Document behavior of argv_concat function. - * lib/command.c: (argv_concat) Calculate total string length first so - we can call malloc just once (instead of realloc'ing to add each - string element). - (do_echo,config_logmsg) Allow for possible NULL return value from - argv_concat. - -2005-01-23 Hasso Tepper - - * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will - use it as well. - -2005-01-18 Andrew J. Schorr - - * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final - two args (siginfo and program_counter). - * log.c: (hex_append) Include this function only if SA_SIGINFO or - HAVE_GLIBC_BACKTRACE is defined. - (zlog_signal) Final two args (siginfo and program_counter) now - depend on whether SA_SIGINFO is defined on this platform. - * sigevent.c: (program_counter) Do not include this function if - SA_SIGINFO is not defined on this platform. - (exit_handler,core_handler) Test for SA_SIGINFO to decide whether - 2nd & 3rd arguments are present and to decide how to invoke - zlog_signal. - (trap_default_signals) Test for SA_SIGINFO and invoke sigaction - appropriately. - -2005-01-17 Andrew J. Schorr - - * log.h: Change prototype for zlog_backtrace_sigsafe to take additional - program_counter argument. - * log.c: (zlog_backtrace_sigsafe) Add additional program_counter - argument. If it is non-NULL, use backtrace_symbols_fd to resolve - the address. - (zlog_signal) Call zlog_backtrace_sigsafe with additional - program_counter argument. - -2005-01-17 Hasso Tepper - - * command.[ch], vty.c: cmd_execute_command() function must not attempt - to walk up in the node tree if called from vtysh. Different daemons - might have commands with same syntax in different nodes (for example - "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons). - -2005-01-14 Andrew J. Schorr - - * command.c (print_version): Do not bother even to examine host.name, - since it is always NULL when this function is called from main. - -2005-01-14 Greg Troxel - - * command.c (print_version): Don't print host.name if it is NULL. - Fixes segfault on Solaris reported by Goetz von Escher - -2005-01-12 Andrew J. Schorr - - * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to - pass additional siginfo_t and ucontext_t arguments to core_handler - and exit_handler. - (core_handler,exit_handler) Now invoked with 3 arguments (using - SA_SIGINFO). Pass additional info to zlog_signal. - (program_counter) New function to find program counter in ucontext_t, - needs to be enhanced to support more platforms (currently works only - on Linux/x86). - * log.h: Change the zlog_signal prototype to add new arguments - siginfo_t * and program_counter. - * log.c: (zlog_signal) Add new arguments siginfo and program_counter. - Include si_addr and program counter (if non-NULL) in message. - And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since - that is now used to render the si_addr and PC pointers. - -2005-01-12 Andrew J. Schorr - - * zebra.h: If not C99 and no va_copy macro available, fall back to - memcpy (solves a build problem on FreeBSD 4.x). - -2005-01-04 Andrew J. Schorr - - * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether - config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined - by the configure test program). - * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead - of CMSG_FIRSTHDR. - -2005-01-02 Hasso Tepper - - * command.c: Revert int -> unsigned int fixes in - cmd_describe_command_real() and cmd_complete_command_real(). index can - be actually negative and it caused crash with "do" in vty. - -2004-12-29 Greg Troxel - - * sockopt.c (getsockopt_ipv4_ifindex): Document calling - convention. Beef up comments. Handle the case where the cmsghdr - has a zero controllen, or more specifically when the wanted option - is not present. This is needed for Solaris 8, and in general for - any platform for which configure finds a method and it can fail. - Mark some changes with XXX to be cleaned up post 0.98. - -2004-12-28 Andrew J. Schorr - - * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message. - When neither IP_PKTINFO nor IP_RECVIF is defined, make return value - deterministic (-1). - -2004-12-28 Andrew J. Schorr - - * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk. - -2004-12-21 Paul Jakma - - * if.h: Add more 'non-generic' IFF_ flags. - * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like' - * stream.c: Dont allocate streams with 0 sized data buffers - -2004-12-17 Andrew J. Schorr - - * command.c: (do_echo) Added new "echo" command, useful for - watchdog pinging to make sure the daemon is responsive. - -2004-12-17 Andrew J. Schorr - - * pid_output.c: (pid_output_lock) Eliminate static function, and just - use the #ifdef to decide which version of the function to include. - This eliminates a compilation problem with gcc4. And fix the - non-fcntl version so that it actually compiles. Exit with - status 1 instead of -1 on error. - -2004-12-15 Andrew J. Schorr - - * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting. - -2004-12-10 Andrew J. Schorr - - * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to - LOG_ERR instead of LOG_EMERG. - -2004-12-09 Andrew J. Schorr - - * log.c: (hex_append) No need to include this function if - HAVE_GLIBC_BACKTRACE is not defined. - -2004-12-08 Andrew J. Schorr - - * prefix.c: (prefix_copy) Error message before abort should - have severity LOG_ERR, not LOG_INFO. - * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO. - -2004-12-07 Andrew J. Schorr - - * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * command.c: (config_write_host) Note that "log trap" is deprecated - when writing out the config. - -2004-12-07 Andrew J. Schorr - - * log.h: Replace struct zlog flags and maskpri fields with maxlvl - array to support individual logging levels for each destination. - Remove the 2nd argument to openzlog since the default logging config - should be standardized inside the library. Replaced the - zlog_set_flag and zlog_reset_flag functions with zlog_set_level. - And zlog_set_file now requires an additional log_level argument. - Declare zlog_proto_names for use inside command.c in the - "show logging" command. Added defines useful for command - construction. - * log.c: (vzlog) Decide where to send the message based on the - individual logging levels configured for each destination. - Remove support for ZLOG_STDERR since it was never actually used. - Support record-priority for terminal monitors. - (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific - logging levels. Remove stderr support (was never used). Added - support for terminal monitor logging. - (_zlog_assert_failed) Increase message severity to LOG_EMERG. - (openzlog) Remove 2nd argument since default config should be - standardized in library. By default, terminal monitoring - is set to debug, and all other logging is disabled. - (zlog_set_flag,zlog_reset_flag) Removed. - (zlog_set_level) New function to replace zlog_set_flag and - zlog_reset_flag. Supports destination-specific logging levels. - (zlog_set_file,zlog_reset_file) Support file-specific logging level. - (zlog_rotate) Log an error message if fopen fails, and support - new file-specific logging level. - * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that - command functions will be static instead of global. Remove - declarations for config_exit and config_help. Define new macros - DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can - have deprecated commands in vtysh. Similarly, for completeness, - define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED. - Also, fix bug in ALIAS_ATTR macro (didn't matter because it - was never used). - * command.c: Make many functions static instead of global. - (facility_name,facility_match,level_match) New functions - to support enhanced destination-specific logging levels. - (config_write_host) Support new destination-specific logging levels. - (config_logmsg) Added new "logmsg" command to help test logging - system. - (show_logging) Added "show logging" command to show the current - configuration of the logging system. - (config_log_stdout_level) Support explicit stdout logging level. - (no_config_log_stdout) Now takes optional LEVEL arg. - (config_log_monitor,config_log_monitor_level,no_config_log_monitor) - New commands creating new "log monitor" commands to set terminal - monitoring log level. - (config_log_file_level) Support explicit file logging level. - (config_log_syslog_level) Support explicit syslog logging level. - (config_log_facility,no_config_log_facility) Implement new - "log facility" command. - (cmd_init) Add hooks for new commands: "show logging", "logmsg", - "log stdout ", "log monitor", "log monitor ", - "no log monitor", "log file ", - "no log file ", "log syslog ", - "log facility", and "no log facility". - * vty.h: Added a "level" argument to vty_log so it can support - "log record-priority". Declare new function vty_log_fixed for - use in signal handlers. - * vty.c: (vty_log,vty_log_out) Added a "level" argument to support - "log record-priority" for vty terminal monitors. - (vty_down_level) Use config_exit_cmd.func instead of calling - config_exit directly (since command functions will now be static - instead of global). - (vty_log_fixed) New function to send terminal monitor messages - from inside a signal handler. - -2004-12-03 Andrew J. Schorr - - * log.h: Document appropriate use of syslog logging priorities - inside quagga. - -2004-12-03 Andrew J. Schorr - - * command.h: Remove fields log_stdout and log_syslog from struct host, - since they are just trying to duplicate information in the - zlog_default structure. Note that this fixes a bug since those - fields were not registering any logging that was established - in the initial call to openzlog (this affects only the zebra and - ospf6d daemons). It is probably a bug to turn on any logging by - default in the call to openzlog. - * command.c: (config_write_host) Get logging info from zlog_default - instead of now-removed fields host.log_stdout and host.log_syslog. - (config_log_stdout,no_config_log_stdout) Do not set now-removed field - host.log_stdout, since this info is recorded in zlog_default. - (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile. - (config_log_syslog,config_log_syslog_facility,no_config_log_syslog) - Do not set now-removed field host.log_syslog, since this info is - recorded in zlog_default. - -2004-12-03 Andrew J. Schorr - - * version.h.in: Remove declaration for pid_output_lock, this function - is now static, not global. - * pid_output.c: (pid_output_lock) This function should be static, not - global. And remove "old umask" error message, since it was really - an unimportant debug message, not an error. - (pid_output) Need to declare static function pid_output_lock. - -2004-11-28 Andrew J. Schorr - - * log.h: Remove several unused fields from struct zlog. Add comments - for other fields, and add one new field syslog_options that is - used in the new syslog_sigsafe implementation. - * log.c: (syslog_sigsafe) New function to send syslog messages in - an async-signal safe way that can be used inside a signal handler. - (syslog_connect) New function to connect to syslog daemon inside a - signal handler. This function supports only systems where /dev/log - is a unix datagram socket (e.g. not Solaris). - (zlog_signal) Call syslog_sigsafe if syslog logging is enabled. - (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is - enabled. - (openzlog) Save syslog_options for use in syslog_sigsafe. - (num_append) Fix bug: handle 0 properly. - (hex_append) New function to print a u_long in hex format. - -2004-11-28 Hasso Tepper - - * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well. - -2004-11-26 Andrew J. Schorr - - * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe - to the more self-explanatory zlog_backtrace_sigsafe. - -2004-11-26 Andrew J. Schorr - - * debug.[ch]: Remove unused files. - * Makefile.am: Remove references to debug.c and debug.h - -2004-11-26 Andrew J. Schorr - - * log.c: (zlog_backtrace) New function to log a backtrace. - (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way. - Unfortunately, this function does not support syslog logging yet. - (zlog_signal) Move backtrace code into separate function - zlog_backtrace_safe. - (_zlog_assert_failed) Call zlog_backtrace before aborting. - * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe. - * memory.c: (zerror) Call zlog_backtrace before aborting. - -2004-11-26 Andrew J. Schorr - - * Makefile.am: Need to add zassert.h to pkginclude_HEADERS. - -2004-11-25 Andrew J. Schorr - - * zebra.h: If not C99 and there's no va_copy macro and there is - a __va_copy macro, define va_copy as __va_copy. - -2004-11-25 Andrew J. Schorr - - * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should - set l_whence to SEEK_SET, not SEEK_END. And after writing new - pid to file, must ftruncate to eliminate any extraneous bytes left - over from the last time a pid was written. - -2004-11-24 Andrew J. Schorr - - * zassert.h: New header file to declare a quagga-specific assert macro. - * log.c: (_zlog_assert_failed) New function called when assert fails - to log the error and abort. - * zebra.h: Include "zassert.h" instead of . - * regex.c: Include "zassert.h" instead of . - -2004-11-23 Andrew J. Schorr - - * sigevent.c: (signal_init) Set up some default signal handlers - so that processes will issue an error message before terminating - or dumping core. - (trap_default_signals) New function to set up signal handlers - for various signals that may kill the process. - (exit_handler) Call zlog_signal, then _exit. - (core_handler) Call zlog_signal, then abort. - * log.h: Declare new function zlog_signal. - * log.c: (zlog_signal) New function to log information about - a received signal before the process dies. Try to log a - backtrace also. - (quagga_signal_handler,signal_set) Should be static. - -2004-11-23 Andrew J. Schorr - - * log.c: (vzlog) Take a single va_list argument and use va_copy - as necessary for multiple traversals. - (zlog) Pass only one va_list to vzlog. - (zlog_*,plog_*) Use a macro for boilerplate code; pass only one - va_list to vzlog. - (zlog_set_file) Remove unused 2nd argument (flags). - (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions. - * log.h: Remove ZLOG_*_INDEX defines (no longer used). - Remove unused 2nd argument from zlog_set_file prototype. - Fix prototype for zlog_rotate. - * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file. - * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals - properly. - (vty_log) Must use va_copy for multiple traversals of va_list arg. - -2004-11-19 David Young - - * log.c: (safe_strerror) New function: safe wrapper for strerror. - -2004-11-19 Andrew J. Schorr - - * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being - printed every time. - -2004-11-16 Andrew J. Schorr - - * memory.h: Fix prototype for memory_init(). - * memory.c: Declare many functions and data structures static instead - of global. Fix prototype for memory_init(). - -2004-11-15 Greg Troxel - - * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without - alignment (users should use CMSG_SPACE). - - * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if - asumming 4-byte alignment, since this isn't safe. - -2004-11-15 Andrew J. Schorr - - * memory.c: (zerror) Use zlog_err instead of fprintf to stderr. - Instead of exiting, log currenty memory usage and then abort. - (log_memstats) New function to log memory statistics, called by - zerror. - (show_memory_all) Loop over new mlists array instead of calling - show_memory_vty separately for each memory_list. - -2004-11-08 Paul Jakma - - * buffer.c: Add missing include of log.h. - (buffer_flush_available) written is compared against - mostly against unsigned types, only for the writev do we need - signed compare, so declare it as size_t and cast it to ssize_t - just for the error compare when we've called writev. - * buffer.h: Add comment that buffer data sizes really should be - size_t. - -2004-11-07 Paul Jakma - - * version.h.in: add autoconf configure_input output var - -2004-11-04 Andrew J. Schorr - - * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE - capabilities (that were used only in bgpd/bgp_route.c and are now - removed). Also remove some other fields that were not being - used at all. - * vty.c: (vty_execute) Do not test for obsolete status values VTY_START - and VTY_CONTINUE. - (vty_read) Remove calls to vty->output_func since that was part - of the VTY_CONTINUE infrastructure that has been removed. - (vty_flush) Remove code to support VTY_START and VTY_CONTINUE. - (vty_close) Remove code to cancel vty->t_output thread, since that - thread was never actually used. - -2004-11-04 Andrew J. Schorr - - * vty.c: Vtysh connections to daemons should use buffering. - (vty_out) Remove exception for vty_shell_serv, just use buffer_write. - (vty_new) Increase output buffer size to 4096 rounded up to a - multiple of pagesize. - (vtysh_read) After command has been executed and all output buffered, - call buffer_flush_available and schedule further writes if the - buffers are not yet empty. - (vtysh_write) New function to flush output to vtysh when the socket - is writeable. - (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh - clients. Also, should save read thread in vty->t_read so the - thread can be cancelled in vty_close. - * buffer.h: In struct buffer_data, remove unused "parent" field. - Convert "unsigned char *data" to "unsigned char data[0]" to save - a malloc. Declare new function buffer_flush_available that works - with non-blocking sockets. - * buffer.c: (buffer_data_new) Use a single malloc now that data is - a variable-size array at end of structure. - (buffer_data_free) Just a single free now that data is part of the - structure. - (buffer_write) Simplify the logic to make behavior more transparent. - (buffer_flush) Decrease b->length as data is written out. - (buffer_flush_vty_all) Decrease b->length as buffers are freed. - (buffer_flush_vty) Decrease b->length as data is written out. - (buffer_flush_available) New function to flush non-blocking sockets. - -2004-11-01 Paul Jakma - - * sockopt.c: (setsockopt_pktinfo) remove, its unused. - -2004-10-31 Paul Jakma - - * vty.c: As per Andrew's suggestions.. - (vty_serv_un) remove flags. - (vtysh_accept) close socket if we cant set NONBLOCK. Add flags. - * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER. - * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS - * thread.c: Update stats and funcname alloc/free to use previous - specific memory type defines. Use XCALLOC and sizeof the type, - not the pointer. - * smux.c: fix int to size_t compile warnings - -2004-10-29 Paul Jakma - - * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un - to vtysh_accept, where sock is the actual fd we wanted to set to - O_NONBLOCK, ie the /connected/ vtysh unix socket. - -2004-10-23 Hasso Tepper - - * zclient.c: Unbreak reading interface update message. Might fix - blocker bugzilla #109. - -2004-10-22 Paul Jakma - - * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not - -1. - (setsockopt_pktinfo) unexported - * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway - define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have - neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo - Nurges for highlighting problem and fix. - Fix elif that should be an else. - * command.h: Cleanup the defines a bit, add helper defines and - collapse all defines to use those. Add an attribute field to - cmd_element to support, eg hidden or deprecated commands, add - defun defines for such. All that's left to do is add logic - to command.c to check these attributes... ;) - * zebra.h: reserve ZEBRA_ROUTE_HSLS - -2004-10-19 Hasso Tepper - - * version.h.in: Define copyright string QUAGGA_COPYRIGHT. - * print_version.c: Remove. print_version () function moved to - command.[c|h]. - * command.c: Use QUAGGA_COPYRIGHT. - * Makefile.am: Remove useless version.c and print_version.c files. - -2004-10-19 Andrew J. Schorr - - * zclient.c: (zebra_interface_address_read) If the destination address - is encoded as all zeroes, load it as a NULL pointer. - * if.h: Add comment describing struct connected destination field - and indicating that it may be NULL. Define macros - CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help - with PtP logic (distinguish between host and subnet addressing). - * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing - properly, - (connected_lookup_address) ditto. - (connected_add_by_prefix) Handle case where destination is NULL, - * prefix.[c|h]: New functions ipv4_network_addr and - ipv4_broadcast_addr. - -2004-10-13 Hasso Tepper - - * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading - configuration from file. Fixes critical bugzilla #113. - * smux.c, smux.h: Remove all defaults to initialize smux connection to - snmpd by default even if not configured to do so. "smux peer OID - " initializes now connection and "no smux peer" terminates - it. - -2004-10-13 Paul Jakma - - * (global) more const'ification. - * sockunion.c: (sockunion_su2str) buffer should be sized - SU_ADDRSTRLEN. - (sockunion_log) do not return stack variables, strdup buf before - return. - * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied - values against ULONG_MAX is daft, when caller probably has passed - a type that can not hold ULONG_MAX. use a temporary long instead. - Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make - VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE. - -2004-10-11 Hasso Tepper - - * command.h: Sync DEFUNSH with other macros. - * sockunion.c, sockunion.h: More const strings. - -2004-10-11 Paul Jakma - - * thread.c: (funcname_thread_add_timer) - (funcname_thread_add_timer_msec) Fix mistakes from last change. - Pointed out by Liu Xin in [quagga-dev 1609]. - * if.h: mtu's should be unsigned. - * routemap.{c,h}: const char updates - * smux.{c,h}: ditto - -2004-10-10 Paul Jakma - - * version.h.in: (pid_output*) add const qualifier. - * command.h: Change DEFUN func to take const char *[] rather - than char **, to begin process of fixing compile warnings in lib/. - Nearly all other changes in this commit follow from this change. - * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take - const void * and cast an automatic const char *p to it. - (buffer_putstr) add const - * command.c: (zencrypt) const qualifier - (cmd_execute_command_real) ditto - (cmd_execute_command_strict) ditto - (config_log_file) ditto. - Fix leak of getcwd() returned string. - * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname. - * distribute.{c,h}: Update with const qualifier. - (distribute_free) use MTYPE_DISTRIBUTE_IFNAME - (distribute_lookup) Cast to char *, note that it's ok. - (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME. - (distribute_get) Cast to char *, note that it's ok. - * filter.c: Update with const qualifier. - * if.{c,h}: ditto. - * if_rmap.{c,h}: ditto. - (if_rmap_lookup) Cast to char *, note that it's ok. - (if_rmap_get) ditto. - * log.{c,h}: Update with const qualifier. - * plist.{c,h}: ditto. - * routemap.{c,h}: ditto. - * smux.{c,h}: ditto. Fix some signed/unsigned comparisons. - * sockopt.c: (getsockopt_cmsg_data) add return for error case. - * vty.c: Update with const qualifier. - -2004-10-08 Hasso Tepper - - * routemap.c, routemap.h: Make some string arguments const. - -2004-10-05 Paul Jakma - - * version.h.in: print_version declaration is here, not in automake - generated version.h. - -2004-10-08 Hasso Tepper - - * command.c, command.h: Make argument of cmd_make_strvec function - const. - * command.c: Make hostname commands usable in vtysh again. - -2004-10-07 Hasso Tepper - - * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more - strings const. - -2004-10-05 Hasso Tepper - - * *.[c|h]: Make many strings cons and a lot of int -> unsigned int - changes to fix warnings. - -2004-10-05 Paul Jakma - - * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh}, - functions to change byte order between system IP_HDRINCL order - and host order. - * thread.c: (funcname_thread_add_timer_timeval) new function, add - timer at specified timeval. - (funcname_thread_add_timer) use funcname_thread_add_timer_timeval. - (funcname_thread_add_timer_msec) ditto - -2004-10-04 Hasso Tepper - - * memory.c, memory.h: Make char * argument of strdup functions const. - * prefix.c, prefix.h: Make many arguments const. Reorder stuff in - header. - * log.h: Make log message const in struct message. - * log.c: Fix some indenting. - * network.c, network.h: Make second argument of writen() const. - -2004-10-03 Hasso Tepper - - * command.h: Introduce SERVICE_NODE for "service <...>" commands. - * command.c: Don't initialize commands that don't make sense if vtysh - is used. - * vty.c: Make VTY_NODE appear in vtysh. - -2004-10-03 James R. Leu - - * zclient.c, zclient.h: zclient functions for router id handling. - * zebra.h: New message types for router id handling. - -2004-09-27 Paul Jakma - - * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd - to try to fragment oversized packets. Enabled only for Linux. - Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order, - to consolidate various ad-hoc platform defines for same thing. - -2004-09-26 Hasso Tepper - - * vty.c, sockopt.c: Fix compiler warnings. - -2004-09-23 Hasso Tepper - - * linklist.h: Remove list and listnode typedefs. - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma - - * sockopt.c: Add missing bracket - -2004-09-17 Paul Jakma - - * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd. - -2004-09-13 Paul Jakma - - * command.c: Update the copyright string in the default motd. - -2004-08-31 David Wiggins - - * hash.c (hash_iterate): Save next pointer before calling - procedure, so that iteration works even if the called procedure - deletes the hash backet. - - * linklist.h (listtail): new macro, not yet used. - -2004-08-27 Hasso Tepper - - * command.c: Install "terminal length" commands only if vty is used. - Vtysh will handle it itself. - -2004-08-26 Greg Troxel - - * sockopt.h: Define method-independent macro for callers of - get_ifindex to use for cmsg length. - -2004-08-19 Paul Jakma - - * zebra.h: add MAX and MIN defines (eg for ospf6d) - -2004-08-19 Paul Jakma - - * sockopt.c: include sockopt.h - rename some of the _pktinfo_ functions to _ifindex, where that is - their purpose. - (getsockopt_ipv6_pktinfo_ifindex) renamed to - getsockopt_ipv6_ifindex. - (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex - (setsockopt_pktinfo) update with previous and add comment re - AF_INET portability. - (setsockopt_ifindex) generic ifindex function ala - setsockopt_pktinfo. - (getsockopt_ipv4_pktinfo_ifindex) renamed to - getsockopt_ipv4_ifindex. - (getsockopt_ipv4_ifindex) rejiggling to reduce repeated - ifdef/elses. pktinfo case forgot to set ifindex. - (getsockopt_pktinfo_ifindex) renamed to - getsockopt_ifindex. update some calls to renamed functions. - * sockopt.h: Update renamed exported functions - Rename the CMSG_SIZE macros to IFINDEX. - Guard IPv4 PKTINFO in a conditional define. - -2004-08-18 Paul Jakma - - * vty.c: (vty_serv_un) set unix vty socket to nonblocking - to prevent inadvertent blocking of daemons by use of - vtysh. TODO: disentangle manual paging from the buffer_write - path so that unix vty can use this path too and be reliable. - -2004-07-23 Greg Troxel - - * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile - on NetBSD, and add comments to make it less confusing. Change the - sense of the SUNOS_5 test to make parallel structure between the - variables and the code. - -2004-07-23 Paul Jakma - - * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for - sizeof pktinfo as appropriate, to be used when allocating msg - buffers. export setsockopt_pktinfo() and - getsockopt_pktinfo_ifindex() - * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably - set received ifindex sock option. - (getsockopt_pktinfo_ifindex) portably retrieve ifindex. - (getsockopt_cmsg_data) retrieve indicated control info from - message header. - (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above. - (setsockopt_ipv4_pktinfo) v4 version - (setsockopt_pktinfo) the exported version - (getsockopt_ipv4_pktinfo_ifindex) v4 specific version - (getsockopt_pktinfo_ifindex) the exported version - -2004-07-14 Paul Jakma - - * sigevent.c: (quagga_signal_handler) add a global caught flag, set - the flags to a constant rather increment to be kinder. - (quagga_sigevent_process) new function, to do core of what - quagga_signal_timer did. dont block signals at all as sig->caught - is volatile sig_atomic_t and should be safe to access from signal - and normal contexts. The signal blocking is unneeded paranoia, but - is left intact under an ifdef, should some platform require it. - Check global caught flag before iterating through array. - (quagga_signal_timer) nearly everything moved to - quagga_sigevent_process. Left in under ifdef, in case some - platform could use a regular timer check for signals. - * sigevent.h: quagga_sigevent_process declaration. - * thread.c: (thread_fetch) check for signals at beginning of - scheduler loop, check for signals if select returns EINTR. - -2004-07-13 Greg Troxel - - * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP - confuses gdb, at least on NetBSD 2.0_BETA, where the block - succeeds. - -2004-07-09 Paul Jakma - - * Merge Kunihiro's 'show route-map' change and add - compatibility aliases for route-map continue - * jhash.{c,h}: New files. Bob Jenkins' public domain hashing - function, as implemented in linux kernel by David Miller. - -2004-07-09 Juris Kalnins - - * if.c: (if_cmp_func) fix for interface names where name is same, - but one has no number, eg "devtyp" and "devtyp0". - -2004-06-30 Greg Troxel - - * Makefile.am: Make libzebra shared. - -2004-06-21 Paul Jakma - - * ChangeLog: fix my last update config.h -> zebra.h ;) - * zebra.h: Fix gcc check. - -2004-06-11 Sowmini Varadhan - - * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast - to u_char. (ipv6_access_list_remark_cmd) ditto. - if.c: ditto - * network.c: (readn/writen) pointer arg should be type u_char. - * plist.c: needs to include stream.h, not declare stream functions - internally. - (various) Add static qualifier to internal functions. - (prefix_list_type_str) extraneous breaks in switch statement. - (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast - * stream.h: depends on plist.h and export stream_put_prefix - * vty.c: (vty_) should use - unsigned char, telnet options are 0 -> 255. - * zclient.c: various u_char<->char type cleanups. - * zebra.h: Having to define CMSG_* can apply to more than just - BSDI_NRL. - -2004-06-09 Paul Jakma - - * zebra.h: __attribute__ is a gcc'ism - -2004-06-04 Paul Jakma - - * type mismatch fixes - -2004-05-18 Hasso Tepper - - * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository. - -2004-05-08 Paul Jakma - - * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe - message format. - -2004-05-08 Sowmini Varadhan - - * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route - (zapi_ipv4_delete) ditto. - (zapi_ipv4_route) add/delete a route by way of cmd arg. - (zapi_ipv6_add) collapsed into zapi_ipv6_route. - (zapi_ipv6_delete) ditto. - (zapi_ipv6_route) add/delete a route by way of cmd arg. - (zebra_interface_address_delete_read) collapsed into - zebra_interface_address_read. - (zebra_interface_address_delete_read) ditto. - (zebra_interface_address_read) read address add/delete messages - by way of type argument. Describe command message format. - (zebra_interface_add_read) Unconditionally read new ifmtu6 field. - Describe command message format. - (zebra_interface_state_read) Unconditionally read new ifmtu6 field. - (zclient_redistribute_set) Collapsed into zclient_redistribute - (zclient_redistribute_unset) ditto - (zclient_redistribute) set/unset redistribution. - (zclient_redistribute_default_set) Collapsed into - zclient_redistribute_default. - (zclient_redistribute_default_unset) ditto. - (zclient_redistribute_default) Redistribute default set/unset. - * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add - zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add - zclient_redistribute. Ditto for - zclient_redistribute_default_{set/unset}. - -2004-05-08 Sowmini Varadhan - - * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ - from IPv4, and Solaris treats the MTU's differently. - Add connected_add_by_prefix, for use by later patch. - * if.c: (connected_add_by_prefix) Add prefix to connected list. - (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag - (if_dump) Dump mtu6 flag, for HAVE_IPV6. - * command.c: (sockunion_getsockname) use socklen_t for len. - (sockunion_getpeername) ditto. - -2004-04-21 Boris Kovalenko - - * daemon.c: (daemon) fix check for error return from setsid - -2004-01-19 Paul Jakma - - * sigevent.{c,h}: New files, implement event handled signals. - see signal_init() in sigevent.h. - -2003-12-23 Vincent Jardin - - * {command.c, memory.c, vty.c, zebra.h}: Add isisd support - -2003-12-22 Greg Troxel - - * vty.c (vty_use_backup_config): Don't free filenames before using - them for unlink. - -2003-08-20 Yasuhiro Ohara - - * command.c: Fix display problem for command line - description - -2003-05-24 Anil Madhavapeddy - - * (sockunion.c): Incorrect bounds specified in sockunion_log() - -2003-05-08 Sergiy Vyshnevetskiy - - * vty.c: -A option - -2003-04-19 Hasso Tepper - - * rip_routemap.c: sync daemon's route-map commands to have same - syntax - -2002-09-28 Yasuhiro Ohara - - * vty.c (vty_flush): One line more on vty. - -2002-09-27 Kunihiro Ishiguro - - * vector.c (vector_lookup): Add new function. - -2002-08-19 Kunihiro Ishiguro - - * thread.c (timeval_adjust): Fix unconditional crush due to - FreeBSD's select() system call timeval value check. - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2002-06-21 Kunihiro Ishiguro - - * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank - van Maarseveen's suggestion. - -2002-06-18 Kunihiro Ishiguro - - * command.c: Change bcopy() to memcpy(). - -2001-12-12 Kunihiro Ishiguro - - * command.c (config_password): Fix host.password clear bug. - Reported by Wang Jian . - -2001-08-29 Kunihiro Ishiguro - - * thread.c (thread_should_yield): New function to check thread - should yeild it's execution to other thread. Suggested by: Rick - Payne - -2001-08-20 Kunihiro Ishiguro - - * thread.c (thread_timer_cmp): Rewrite function. - - * hash.c: Add hash_get(). Change hash_pull() to hash_release(). - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-12 Akihiro Mizutani - - * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0" - string to "1.1.0.0/16". - -2001-08-10 Kunihiro Ishiguro - - * filter.c (access_list_lookup): access_list_lookup's first - argument is changed from address family to AFI. - - * plist.c: (prefix_list_lookup): Likewise. - -2001-07-27 Akihiro Mizutani - - * plist.c: ge and le display order is changed. Old compatible - rule (len <= ge-value <= le-value) is removed. - -2001-07-08 Kunihiro Ishiguro - - * prefix.h: Temporary fix for alignment of prefix problem. - -2001-06-21 Kunihiro Ishiguro - - * prefix.h (struct prefix): Remove safi and padding field. - (struct prefix_ipv4): Likewise. - (struct prefix_ipv6): Likewise. - (struct prefix_ls): Likewise. - (struct prefix_rd): Likewise. - - * command.h (enum node_type): Preparation for BGP new config. - - * vty.c (vty_end_config): Likewise. - -2001-06-17 Kunihiro Ishiguro - - * routemap.c (route_map_rule_delete): Call func_free when - route-map rule is deleted. - -2001-06-14 "Akihiro Mizutani" - - * routemap.c (route_map_index_lookup): Prevent to use deny and - permit for same route-map sequence. - -2001-04-12 Kunihiro Ishiguro - - * vty.c (vty_read_config): Fix warning. - -2001-03-08 Kunihiro Ishiguro - - * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address - strings. - -2001-03-07 Kunihiro Ishiguro - - * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for - CMSG_FIRSTHDR. - -2001-03-07 Michael Rozhavsky - - * zebra.h (struct in_pktinfo): structure in_pktinfo declaration. - -2001-02-19 Kunihiro Ishiguro - - * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory - lib" member. - -2001-02-13 Matthew Grant - - * vty.c (vty_read_config): Revert check of integrate_default when - VTYSH is defined. - -2001-02-13 Kunihiro Ishiguro - - * vty.c (vty_read_config): Do not check integrate_default. That - should be used only by vtysh. - -2001-02-08 Matthew Grant - - * vty.c (vty_serv_un): Set umask 0077. - (vty_read_config): Stat for vtysh Zebra.conf, if found startup and - wait for boot configuration. - - * if.c (if_lookup_address): Make it smart implementation. - - * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket - options for IPv4 This is here so that people only have to do their - OS multicast mess in one place rather than all through zebra, - ospfd, and ripd . - -2001-02-04 Akihiro Mizutani - - * plist.c (vty_prefix_list_install): Even when argument is - invalid, new memory is allocated. Now memory allocation is done - after argument check. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-31 Akihiro Mizutani - - * vty.c (vty_login): Add vty login command. - -2001-01-31 Kunihiro Ishiguro - - * vty.c (vty_reset): Close accept socket. - -2001-01-30 Kunihiro Ishiguro - - * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit - attribute. - -2001-01-22 Kunihiro Ishiguro - - * zclient.c (zebra_interface_address_add_read): Fetch interface - address flag. - (zebra_interface_address_delete_read): Likewise. - -2001-01-16 Kunihiro Ishiguro - - * table.c (route_node_match_ipv4): Utility function for IPv4 - address lookup. - (route_node_match_ipv6): Utility function for IPv4 address lookup. - -2001-01-15 Kunihiro Ishiguro - - * if.c: Delete RIP_API part until new implementation comes out. - -2001-01-13 Kunihiro Ishiguro - - * hash.h (struct Hash): Rename alloc to count. Change type to - unsigned long. - - * stream.c (stream_getc_from): New function. - (stream_getw_from): Likewise. - - * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route. - -2001-01-11 Kunihiro Ishiguro - - * flap.c: File is removed. - - * flap.c: Likewise. - - * roken.h: Likewise. - - * buffer.c (buffer_new): Remove type option to buffer_new(). - -2001-01-10 Kunihiro Ishiguro - - * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part. - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - - * command.c: Update Copyright year. - -2001-01-09 Matthew Grant - - * if.c (if_create): Register connected_free() function for - deletion. - (if_delete): Free connected information when the interface is - deleted. - (if_lookup_by_index): Fix argument type from int to unsigned int. - (connected_add): Keep list in order if old info found, essential - for repeatable operation in some daemons. - -2001-01-09 endo@suri.co.jp (Masahiko Endo) - - * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty - read thread. - -2001-01-08 Kunihiro Ishiguro - - * filter.c (access_list_delete): Access-list name is not freed. - - * plist.c (prefix_list_delete): Prefix-list name is not freed. - -2000-12-29 Kunihiro Ishiguro - - * zclient.c (zclient_start): Change to use UNIX domain - socket for zebra communication. - - * vector.c (vector_init): vector_alloc and vector_data_alloc is - removed. All memory allocation count should be maintained by - XMALLOC and XFREE macros. - -2000-12-28 Kunihiro Ishiguro - - * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values. - -2000-12-27 Kunihiro Ishiguro - - * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative - value. - -2000-12-25 "Wataru Uno" - - * vty.c (vtysh_read): Don't allocate new buffer because buffer is - allocated in vty_new (). - -2000-12-14 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_AS_FILTER_STR. - - * command.c (config_write_terminal): Display "end" at the end of - configuration. - - * plist.c (vty_prefix_list_install): Use AF_INET to determine - lenum length. - -2000-12-13 "Wataru Uno" - - * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System, - then all lines write by IOV_MAX. - -2000-12-12 Michael Rozhavsky - - * command.c (config_write_file): Robust method for writing - configuration file and recover from backing up config file. - -2000-11-29 Kunihiro Ishiguro - - * smux.c (smux_connect): More fail check. - (smux_trap): When SMUX connection is not established, do nothing. - -2000-11-28 Gleb Natapov - - * thread.c (thread_fetch): Execut event list first. Old event - list is renamed to ready list. With this change, event thread is - executed before any other thread. - - * thread.h (struct thread_master): Add ready list. - -2000-11-28 Kunihiro Ishiguro - - * linklist.c (listnode_add_after): Add node right after the - listnode pointer. - -2000-11-27 Kunihiro Ishiguro - - * smux.h: Pass struct variable to WriteMethod. - -2000-11-25 Frank van Maarseveen - - * if.c (if_lookup_address): When looking up interface with IP - address, Sometimes multiple interfaces will match. Now PtP - interfaces prevail in such a case which seem the right thing to - do: There will probably also be host routes which usually prevail - over network routes. - -2000-11-25 Kunihiro Ishiguro - - * smux.c (smux_trap): SMUX trap implementation. - -2000-11-19 Akihiro Mizutani - - * plist.c: Add automatic conversion function of an old rule. - ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32 - -2000-11-16 Yon Uriarte - - * zclient.c (zebra_interface_add_read): Read hardware address when - hw_addr_len is greater than 0. - -2000-11-15 Akihiro Mizutani - - * plist.c: The rule of "len <= ge-value <= le-value" - was changed to "len < ge-value <= le-value". - -2000-11-09 Yasuhiro Ohara - - * memory.[ch]: Added #define and functions for ospf6d. - - * log.[ch]: some platform says that the data of used va_list - is undefined. Changed to hold list of va_list for each - vsnprintf. - -2000-11-07 Rick Payne - - * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP. - -2000-11-06 Kunihiro Ishiguro - - * command.c (config_exit): Fix bug of missing break after case - BGP_VPNV4_NODE. - -2000-10-30 Kunihiro Ishiguro - - * vector.c (vector_unset): Check i is not nevative. - -2000-10-24 Arkadiusz Miskiewicz - - * smux.c (smux_sock): Set terminating '\0'. Check address family. - - * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use - gai_strerror. Check address family. - -2000-10-23 Jochen Friedrich - - * smux.c: Use linklist rather than vector. - (smux_getnext): A SMUX subagent has to behave as if it manages the - whole SNMP MIB tree itself. It's the duty of the master agent to - collect the best answer and return it to the manager. See RFC 1227 - chapter 3.1.6 for the glory details :-). ucd-snmp really behaves - bad here as it actually might ask multiple times for the same - GETNEXT request as it throws away the answer when it expects it in - a different subtree and might come back later with the very same - request. - -2000-10-23 Kunihiro Ishiguro - - * command.c (cmd_init): Log related command are only installed for - terminal mode. - -2000-10-21 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c. - - * zebra.h: Remove #warn directive. - -2000-10-20 Kunihiro Ishiguro - - * keychain.c (keychain_init): Register "key chain" command to - KEYCHAIN_NODE and KEYCHAIN_KEY_NODE. - - * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other - CONFIG_NODE. - - * command.c (config_end): Likewise. - - * keychain.c (keychain_get): Key is sorted by it's identifier - value. - -2000-10-19 Kunihiro Ishiguro - - * linklist.c (list_delete_all_node): Call delete function if it is - defined. - - * command.c (cmd_execute_command_strict): Add modification for - vtysh. - (cmd_execute_command_strict): Remove first argument cmdvec because - it is global varibale in command.c. - -2000-10-18 Kunihiro Ishiguro - - * command.c (cmd_init): Install - copy_runningconfig_startupconfig_cmd only in terminal mode. - - * linklist.c (list_delete_node): Simplify the function. - (listnode_lookup): Renamed from list_lookup_node. - -2000-10-17 Kunihiro Ishiguro - - * stream.h: Undef stream_read and stream_write without - parenthesis. - - * newlist.c: File removed. - - * newlist.h: Likewise. - - * linklist.c (list_new): Remove list_init(). To allocate new - linked list, please use list_new(). - (listnode_add): Remove list_add_node(). To add new node to linked - list, please use listnode_add(). - (list_delete_by_val): Revemove fucntion. - -2000-10-16 Nobuaki Tanaka - - * table.c (route_table_free): Reimplement route_table_free(). - -2000-10-11 Kunihiro Ishiguro - - * keychain.c (keychain_get): Register key_delete_func to key - list's delete function. Use linklist.c instead of newlist.c. - -2000-10-04 Akihiro Mizutani - - * filter.c (access_list_remark): Add access-list's remark command. - (no_access_list): "no access-list 100 permit any" error message - bug is fixed. - -2000-10-03 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_SOCKUNION. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-10-01 Kunihiro Ishiguro - - * linklist.c (list_add_node_head): Delete unused function. - (list_add_node_tail): Likewise. - -2000-09-26 Kunihiro Ishiguro - - * stream.c (stream_read_unblock): Add new function for unblocking - read. - -2000-09-26 Jochen Friedrich - - * smux.c (smux_register): Fix bug of can't register more than one - MIB with SMUX. - -2000-09-26 Makoto Otsuka - - * vty.c (vty_close): Fix memory leak of sb_buffer. - (vty_new): Likewise. - -2000-09-21 steve@Watt.COM (Steve Watt) - - * log.h: Do not declare zlog_priority[0] variable. - -2000-09-12 Kunihiro Ishiguro - - * linklist.h (struct _list ): Add member cmp for compare function. - (struct _list ): Member up is deleted - -2000-09-12 David Lipovkov - - * if.c: Include RIP_API header when RIP API is enabled. - -2000-09-10 Kunihiro Ishiguro - - * prefix.c (prefix_free): Siplify prefix_free(). - - * keychain.c (key_match_for_accept): strncmp check bug is fixed. - -2000-09-07 Kunihiro Ishiguro - - * zebra.h: Merge roken.h into zebra.h. - -2000-09-05 Akihiro Mizutani - - * routemap.c (route_map_init_vty): Install route-map command to - RMAP_NODE. - -2000-08-22 Kunihiro Ishiguro - - * thread.c (thread_get_id): Remove pthread related garbage. - - * command.h (struct host): Likewise. - - * zebra.h: Likewise. - -2000-08-20 Kunihiro Ishiguro - - * command.h (node_type ): Add AAA node for authentication. - - * vty.c (vty_close): Do not close stdout. - -2000-08-18 Kunihiro Ishiguro - - * vty.c (vty_init_vtysh): Added for vtysh. - - * distribute.c (districute_list_prefix_all): Interface independent - filter can be set. - (distribute_list_all): Likewise. - (config_show_distribute): Display current distribute-list status - for "show ip protocols". - -2000-08-18 Akihiro Mizutani - - * command.c (config_terminal_no_length): no terminal monitor -> - terminal no monitor - (cmd_init): Do not install service_terminal_length_cmd into - ENABLE_NODE. - - * vty.c (terminal_no_monitor): no terminal length -> terminal no - length. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-08-17 Magnus Ahltorp - - * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for - better IAC handling. - - * vty.c (vty_telnet_option): Change telnet option handling. - -2000-08-15 Gleb Natapov - - * zclient.c (zclient_redistribute_unset): New function added. - -2000-08-14 Kunihiro Ishiguro - - * zclient.c (zebra_interface_add_read): Change ifindex restore - size from two octet to four. - (zebra_interface_state_read): Likewise. - (zebra_interface_address_add_read): Likewise. - -2000-08-13 Kunihiro Ishiguro - - * vty.c (vty_event): Use vector_set_index() instead of - vector_set(). - -2000-08-07 Kunihiro Ishiguro - - * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default - Administrative Distance of each protocol. - -2000-08-07 Matthew Grant - - * if.h (struct interface ): Add new member bandwidth to struct - interface. - - * zclient.c (zebra_interface_add_read): Fetch bandwidth value. - (zebra_interface_state_read): Likewise. - -2000-08-07 Gleb Natapov - - * routemap.c (route_map_event_hook): New hook route_map_event_hook - is added. This hook is called when route-map is changed. The - parameters passed to the hook are 'event' and 'route-map name' - - * routemap.h: Add prototype for route_map_event_hook(). - -2000-08-06 Kunihiro Ishiguro - - * zclient.c (zebra_ipv4_route): zebra_ipv4_route(), - zebra_ipv4_add(), zebra_ipv4_delete() are removed. - - * routemap.c (route_map_empty): Add new function. - (route_map_delete): Use route_map_index_delete() instead of - route_map_index_free(). - (route_map_index_free): Function removed. - -2000-08-06 Gleb Natapov - - * routemap.c (route_map_index_delete): Add check for route-map is - empty or not. - -2000-08-03 Kunihiro Ishiguro - - * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct - zclient. - -2000-08-02 Kunihiro Ishiguro - - * zclient.h (struct zebra): Add obuf for output buffer. - - * if.c: Remove #ifdef NRL enclosing if_nametoindex() and - if_indextoname(). - -2000-08-02 David Lipovkov - - * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added. - (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted. - - * if.c (interface_pseudo): Add "pseudo" command to interface node. - (no_interface_pseudo): Add "no pseudo" command to interface node. - - * zclient.c (zebra_interface_add_read): Set pseudo flag when it is - send from zebra. - -2000-08-01 Kunihiro Ishiguro - - * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message. - (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise. - - * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility. - -2000-07-31 Kunihiro Ishiguro - - * vty.c: Use vector for VTY server thread listing instead of - single value. - -2000-07-30 Kunihiro Ishiguro - - * keychain.c (no_key_chain): "no key chain WORD" command is added. - -2000-07-29 Kunihiro Ishiguro - - * command.c (config_from_file): If command fail in - KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE. - - * vty.h (struct vty ): Add index_sub member. - -2000-07-27 Akihiro Mizutani - - * if.c: Help strings updates. - -2000-07-11 Akihiro Mizutani - - * command.c (no_config_enable_password): Add "no enable password" - command. - (config_write_host): Display password string. - - * routemap.c (route_map_delete_match): Add support for delete - match without argument. - (route_map_delete_set): Likewise. - -2000-07-09 Kunihiro Ishiguro - - * command.h (node_type ): Change KEYCHAIN_NODE and - KEYCHAIN_KEY_NODE place just before INTERFACE_NODE. - -2000-07-09 Jochen Friedrich - - * smux.c (config_write_smux): Fixes the option to override OID and - password for SMUX. - -2000-07-09 Kunihiro Ishiguro - - * command.h (node_type ): Add SMUX_NODE for SMUX configuration. - -2000-07-09 Toshiaki Takada - - * command.c: Sort descvec command's help. - - * vty.c (vty_describe_command): Display '' at the end of - descriptions. - -2000-07-05 Toshiaki Takada - - * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug - treatment of double colon. - -2000-07-04 Kunihiro Ishiguro - - * zclient.h: Add zclient_redistribute_default_{set,unset}(). - - * keychain.c: New file for authentication key management. - * keychain.h: Likewise. - - * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or - ipchains. - * tcpfilter.h: Likewise. - - * flap.h: New file for route flap dampening. - * flap.c: Likewise. - -2000-07-04 Toshiaki Takada - - * filter.c (struct filter): Add exact flag. - (access_list): Add exact-match command. - (ipv6_access_list): Add exact-match command. - -2000-07-03 Kunihiro Ishiguro - - * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for - request default route. - -2000-07-01 Hideaki YOSHIFUJI (吉藤英明) - - * smux.c: Add IPv6 smux connection code. - -2000-06-15 Kunihiro Ishiguro - - * vty.c (vty_complete_command): To cooperate readline library, - returned string is newly allocated. So some match function case - need, free of memory. - -2000-06-12 Akihiro Mizutani - - * distribute.c: Fix help strings. - -2000-06-11 Kunihiro Ishiguro - - * command.c (cmd_complete_command): Add check for vector_slot - (vline, index) is not NULL when calculating lcd. - (cmd_entry_function): First check variable arguemnt to prevent it - from completion. - -2000-06-10 Kunihiro Ishiguro - - * vty.h (struct vty ): Add output_count member for displaying - output route count. Remove arugment arg from output_func because - the value is passed by vty argument. Change output to output_rn. - Add output_clean function pointer member. Add output_type member. - -2000-06-10 Toshiaki Takada - - * command.c (show_startup_config): Add "show startup-config" - command. - -2000-06-06 Akihiro Mizutani - - * filter.c: Fix help strings. - -2000-06-05 Kunihiro Ishiguro - - * prefix.h (struct prefix_rd): New prefix structure for routing - distinguisher. - (struct prefix): Add padding to every prefix structure. - - - * routemap.c (route_map_add_match): When completely same match - statement exists, don't duplicate it. - -2000-06-05 Akihiro Mizutani - - * routemap.c: Change NAME to WORD. - - * plist.c: Fix help strings. - -2000-06-02 Akihiro Mizutani - - * routemap.c: Fix route-map help strings. - -2000-06-01 Kunihiro Ishiguro - - * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment - to filter other non vararg commands. - - * routemap.c (route_map_init_vty): Use install_default() for - install common commands into route-map node.. - -2000-06-01 Akihiro Mizutani - - * command.h (OSPF_STR): Macro added. - -2000-05-31 Kunihiro Ishiguro - - * command.c (cmd_complete_command): LCD completion must not modify - installed command string. - - * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change - X:X::X:X to X:X::X:X/M. - -2000-05-31 Toshiaki Takada - - * vty.c (show_history): New defun added. - -2000-05-30 Kunihiro Ishiguro - - * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion - list. CMD_COMPLETE_MATCH is used for LCD completion. - - * vty.c (vty_complete_command): Matched string's LCD is completed. - - * command.c (cmd_lcd): New function for calculate LCD of matched - strings. - -2000-05-26 Kunihiro Ishiguro - - * command.c (install_default): config_write_terminal_cmd, - config_write_file_cmd, config_write_memory_cmd are added to - default node. - - * memory.c (memory_init): Divide show memory command into each - sort. - - * command.c (cmd_init): config_write_terminal_cmd, - config_write_file_cmd, config_write_memory_cmd are added to - CONFIG_NODE. - - * routemap.c (route_map_index_free): New function. - (no_route_map_all): New DEFUN for "no route-map NAME". - - * filter.c (no_access_list_all): New DEFUN for delete access-list - with NAME. - (no_ipv6_access_list_all): Likewise. - -2000-05-23 Kunihiro Ishiguro - - * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is - specified, user can not use "ge" and "le" statement. - -2000-05-22 Thomas Molkenbur - - * routemap.c (route_map_add_set): Fix bug of next pointer missing. - - * table.c (route_table_free): Like wise. - -2000-05-22 Toshiaki Takada - - * vty.c (vty_stop_input): Set history pointer to the latest one. - - * vty.c (vty_hist_add): Do not add command line history when input - is as same as previous one. - -2000-05-14 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL. - -2000-05-13 Kunihiro Ishiguro - - * command.h (node_type ): Add BGP_VPNV4_NODE. - -2000-05-08 Kunihiro Ishiguro - - * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind - argument. Reported by: Vesselin Mladenov . - - * filter.c (ipv6_access_list): Add IPv6 prefix example instead of - IPv4 example. Reported by: Love . - - * command.c (cmd_complete_command): Make it sure last element of - matchvec is NULL. This fix problem which cause crush in - vty_complete_command(). Reported by: JINMEI Tatuya - . - -2000-04-28 Love - - * prefix.h (struct prefix): Add padding. - -2000-04-28 Kunihiro Ishiguro - - * command.c (show_version): Update copyright year. - -2000-04-27 Kunihiro Ishiguro - - * routemap.c (route_map_apply): When map is NULL, return deny. - -2000-04-26 Kunihiro Ishiguro - - * filter.c (access_list_apply): When access is NULL, return deny. - - * plist.c (prefix_list_apply): When plist is NULL, return deny. - -2000-04-23 Kunihiro Ishiguro - - * command.h (node_type ): Change RDISC_NODE to IRDP_NODE. - -2000-04-18 Toshiaki Takada - - * filter.[ch] (access_list_add_hook), (access_list_delete_hook): - Add argument for hook function to give struct access_list *. - -2000-04-17 Kunihiro Ishiguro - - * plist.c (prefix_list_entry_match): In case of le nor ge is - specified, exact match is performed. - (prefix_list_entry_match): Add any entry matching check. - -2000-04-09 Kunihiro Ishiguro - - * vty.c (exec_timeout): Separate timeout setting to minutes and - seconds. - (no_exec_timeout): Add "no exec-timeout" command. - - * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to - 600. - -2000-03-31 Jochen Friedrich - - * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so - it is a primitive encoding and not constructed. - -2000-03-28 Toshiaki Takada - - * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO. - -2000-03-26 Love - - * zclient.c (zclient_read): Add nbytes size check for - ZEBRA_HEADER_SIZE. Check return value of steam_read (). - -2000-03-26 Rick Payne - - * routemap.c: Add flexible route-map commands such as on-match - next, on-match goto N. - - * routemap.h: Likewise - -2000-03-23 Adrian Bool - - * command.c (config_log_trap): Add new command "log trap - PRIORITY". - -2000-03-14 Toshiaki Takada - - * memory.c (struct memory_list): Add Link List and Link Node - to view. - - * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE. - -2000-01-20 Hideto Yamakawa - - * str.c (snprintf): Fix bug of calling sprintf instead of - vsprintf. - -2000-01-16 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_RIP_PEER. - -2000-01-15 Toshiaki Takada - - * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY. - -2000-01-15 Kunihiro Ishiguro - - * command.h (node_type ): Add MASC_NODE for masc. - -2000-01-09 Wang Jianliang - - * routemap.c (route_map_index_add): When route_map_index is not - empty and insert new item at the head, it can cause core dump. - Fix "if (index == map->head)" to "if (point == map->head). - (route_map_add_set): If there is an old set command, override old - set command with new one. - (route_map_index_delete): Use while() instead of for for() for - logical correctness. - -1999-12-26 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_BGP_STATIC. - -1999-12-23 Alex Zinin - * zebra.h, zclient.*: dynamic int up/down message - support - -1999-12-10 Kunihiro Ishiguro - - * thread.c (thread_cancel_event): Add a function for clean up - events. - -1999-12-09 Kunihiro Ishiguro - - * dropline.c: Delete file. - dropline.h: Linewise. - -1999-12-14 Kunihiro Ishiguro - - * filter.c (access_list_filter_delete): Wrong pointer - access->master was pointed out after access is freed. I store - master value at the beginning of the function. - -1999-12-08 Kunihiro Ishiguro - - * vty.c (exec_timeout): Change of VTY timeout affect to current - VTY connection. - (vty_accept): Instead of immediate exit() return -1. - -1999-12-07 Kunihiro Ishiguro - - * vty.c (vty_configure_lock): Configuration lock function added. - Only one VTY can use CONFI_NODE at the same time. - - * log.c: Delete zvlog_* functions. Now zlog_* does the same - thing. - - * log.c (log_init): Function removed. - (log_close): Likewise. - (log_flush): Likewise. - (log_open): Likewise. - - * vty.c (terminal_monitor): Add new command. - (no_terminal_monitor): Likewise. - - * log.c (old_log): Function removed. - (old_log2): Likewise. - (old_log_warn): Likewise. - -1999-12-04 Toshiaki Takada - - * command.c (cmd_ipv6_match): New function added. - (cmd_ipv6_prefix_match): Likewise. - -1999-12-04 Kunihiro Ishiguro - - * command.c (cmd_ipv6_match): - - * table.c: Delete #ifdef HAVE_MBGPV4. - - * prefix.h (struct prefix): Add safi member. - (struct prefix_ipv4): Likewise. - (struct prefix_ipv6): Likewise. - -1999-12-04 Rumen Svobodnikov - - * memory.c (struct mstat): Revert to support MEMORY_LOG. - -1999-11-25 Kunihiro Ishiguro - - * version.h: Bump up to 0.81c for testing new kernel codes. - -1999-11-21 Kunihiro Ishiguro - - * thread.h (struct thread): Pthread support is disabled all - platform. - -1999-11-21 Michael Handler - - * Include and under SUNOS_5. - -1999-11-21 Kunihiro Ishiguro - - * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6 -1999-11-13 Kunihiro Ishiguro - - * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE. - -1999-11-12 Kunihiro Ishiguro - - * command.c (disable): Add `disable' command. - -1999-11-09 Kunihiro Ishiguro - - * plist.c (vty_prefix_list_install): Add any check. - -1999-11-04 Kunihiro Ishiguro - - * command.h (node_type ): Add DUMP_NODE. - -1999-11-03 Kunihiro Ishiguro - - * smux.c: Change default SMUX oid to compatible with gated. - -1999-10-30 Kunihiro Ishiguro - - * if_rmap.c: New file added. - - * if_rmap.h: New file added. - -1999-10-29 Alex Zinin - - * hash.c: add hash_free() function - -1999-10-25 Kunihiro Ishiguro - - * hash.c (hash_clean): Add clean function. - - * plist.c (prefix_list_reset): Add reset function. - - * filter.c (access_list_reset): Add reset function. - -1999-10-17 Kunihiro Ishiguro - - * client.c: Merged with zclient.c. - * client.h: Merged with zclient.h. - -1999-10-15 Jordan Mendelson - - * md5.c: Imported from GNU C Library. - * md5-gnu.h: Likewise. - -1999-10-15 Jochen Friedrich - - * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement. - -1999-10-06 Kunihiro Ishiguro - - * smux.h: New file added. - - * snmp.c: Rename to smux.c. - -1999-10-02 Kunihiro Ishiguro - - * command.c (cmd_execute_command_strict): Filter ambious commands. - (cmd_filter_by_string): Change to return enum match_type. - -1999-10-01 Toshiaki Takada - - * vty.c (vty_describe_fold): New function which does VTY - description line fold. - * vty.c (vty_describe_command): Set description column. - -1999-09-30 Kunihiro Ishiguro - - * plist.c (prefix_list_init_ipv4): VTY user interface is improved. - -1999-09-26 Kunihiro Ishiguro - - * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and - CMD_IPV4_PREFIX check. Both return type must be exact_match. - -1999-09-24 Toshiaki Takada - - * command.c (cmd_filter_by_completion), - (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range - parameter matches range. - -1999-09-22 Kunihiro Ishiguro - - * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match - is performed. - -1999-09-21 Kunihiro Ishiguro - - * vty.c (vty_read): Control-C stop VTY_MORE mode. - -1999-09-20 Kunihiro Ishiguro - - * command.h (node_type ): Add ACCESS_IPV6_NODE and - PREFIX_IPV6_NODE. - - * distribute.h: New file added. - - * command.h (node_type ): Delete DISTRIBUTE_NODE. - -1999-09-18 Kunihiro Ishiguro - - * vty.c (vty_terminate_all): New function added for reload - support. - -1999-09-06 Kunihiro Ishiguro - - * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE. - -1999-08-31 Janos Farkas - - * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like - esc-ctrl-h (delete word backwards). - -1999-08-24 Kunihiro Ishiguro - - * if.h: Add if_nametoindex for NRL. - -1999-08-23 Kunihiro Ishiguro - - * if.c (if_create): New function. - -1999-08-22 Kunihiro Ishiguro - - * snmp.c: New file. - -1999-08-21 Kunihiro Ishiguro - - * stream.c (stream_put): stream_memcpy () is changed to stream_put - (). stream_get () is added. - -1999-08-18 Toshiaki Takada - - * memory.h (enum): Add MTYPE_OSPF_LSA_DATA. - -1999-08-18 Yasuhiro Ohara - - * table.c (route_table_finish): add function frees table. - -1999-08-12 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_RTADV_PREFIX. - -1999-08-11 Kunihiro Ishiguro - - * if.h (struct interface ): hw_address, hw_address_len added. - -1999-08-10 Kunihiro Ishiguro - - * if.h (struct interface ): Change structure member if_data to - info, index to ifindex. - -1999-08-08 Rick Payne - - * routemap.c: Multi protocol route-map modification. - - * routemap.c (route_map_apply): Route match process bug is fixed. - -1999-08-05 Kunihiro Ishiguro - - * thread.c (thread_fetch): When signal comes, goto retry point. - -1999-08-04 Kunihiro Ishiguro - - * Makefile.am: Add sockopt.c and sockopt.h - * sockopt.c: New file. - * sockopt.h: New file. - -1999-08-02 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Release zebra-0.75 - -1999-08-01 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE. - -1999-07-31 Kunihiro Ishiguro - - * sockunion.h: Add sockunion_getpeername (). - -1999-07-27 Kunihiro Ishiguro - - * version.h: Release zebra-0.74 - -1999-07-26 Kunihiro Ishiguro - - * command.h (struct host): Delete lines from struct host. Add - lines to struct vty. - - * command.c: Delete `lines LINES'. Terminal display line settings - should be done by `terminal length' command. - -1999-07-24 Kunihiro Ishiguro - - * memory.h (enum): MTYPE_OSPF_PATH are added. - -1999-07-22 Toshiaki Takada - - * memory.h (enum): MTYPE_OSPF_NEXTHOP is added. - -1999-07-21 Toshiaki Takada - - * linklist.c (list_add_node_prev), (list_add_node_next), - (list_add_list): New function added. - - * table.c (route_table_free): New function added. - -1999-07-21 Kunihiro Ishiguro - - * plist.c (config_write_prefix): Set write flag when configuration - is written. - -1999-07-15 Yasuhiro Ohara - - * prefix.c : prefix_cmp() added. change apply_mask() to - apply_mask_ipv4(), and new apply_mask() added. - -1999-07-14 Yasuhiro Ohara - - * prefix.c (prefix2str): append prefixlen. - -1999-07-13 Kunihiro Ishiguro - - * command.c (config_terminal): Change "config terminal" to - "configure terminal". Reported by Georg Hitsch - . - (config_terminal_length): `terminal length <0-512>' is added. At - this moment this command is only usef for vty interface. - Suggested by Georg Hitsch . - -1999-07-12 Kunihiro Ishiguro - - * routemap.c (rulecmp): Add wrapper function of strcmp. - -1999-07-08 Rick Payne - - * sockunion.c (inet_aton): Fix bug of inet_aton. - -1999-07-08 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Start zebra-0.73 - -1999-07-06 Kunihiro Ishiguro - - * version.h: Bump up to 0.72. - -1999-07-05 Kunihiro Ishiguro - - * command.c (install_default): New function for install default - commands to the node. - - * memory.h (enum): MTYPE_NEXTHOP is added. - -1999-07-01 - - * command.c (no_banner_motd): `no banner motd' command added. - -1999-06-30 Kunihiro Ishiguro - - * regex.c: Update to glibc-2.1.1's posix/regex.c - - * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h - - * prefix.h (IPV4_ADDR_SAME): Macro added. - (IPV6_ADDR_SAME): Likewise. - -1999-06-29 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_OSPF_VERTEX - - * version.h: Bump up to 0.71. - - * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind - VTY socket when IPv6 is enabled. - -1999-06-28 Kunihiro Ishiguro - - * vty.c (vty_serv_sock): Change vty_serv_sock determine which - address family to bind. - - * command.c: Add quit command. - -1999-06-26 NOGUCHI kay - - * vty.c (vty_read_config): Fix bug of configuration file path - detection. - -1999-06-25 Kunihiro Ishiguro - - * version.h: Bump up to 0.70. - -1999-06-17 Kunihiro Ishiguro - - * buffer.h (GETL): Remove GETL macro. - - * version.h: Bump up to 0.69. - -1999-06-14 Kunihiro Ishiguro - - * if.c (connected_add): Commented out connected_log. - -1999-06-13 Kunihiro Ishiguro - - * command.h (struct cmd_element ): strvec and descvec is combined - into newstrvec. - - * command.c (desc_make): Function removed. - (desc_next): Function removed. - - * command.h (struct cmd_element ): docvec is removed from struct - cmd_element. - -1999-06-12 Kunihiro Ishiguro - - * command.c (cmd_execute_command): Remove command NULL check. - - * command.h (struct cmd_element ): Add newstrvec entry to struct - cmd_element. - (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support - (a|b|c) statement. - (DESC): DESC macro is removed. - - * vty.c (vty_complete_command): When return value is - CMD_ERR_NO_MATCH, don't display error message. - -1999-06-08 Kunihiro Ishiguro - - * table.c (route_next_until): New function. - - * version.h: Bump up to 0.68. - -1999-06-06 Kunihiro Ishiguro - - * vty.c (vty_close): Free vty->buf when vty is closed. - - * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and - MTYPE_COMMUNITY_LIST. - - * vty.h (struct vty ): Change buf from static length buffer to - variable length buffer. - - * vty.c (vty_ensure): New function added. - -1999-06-04 Kunihiro Ishiguro - - * command.h (node_type ): Add COMMUNITY_LIST_NODE. - - * command.c (config_enable_password): Freeing host.enable bug is - fixed. - (config_enable_password): Add argc count check. - -1999-05-31 Kunihiro Ishiguro - - * version.h: Bump up to 0.67. - -1999-05-30 Kunihiro Ishiguro - - * command.c (zencrypt): New function for encrypt password. - - * command.h (struct host): Add password_encrypt and - enable_encrypt. - -1999-05-30 Jochen Friedrich - - * command.h (struct host): New member encrypt is added for - encrypted password. - -1999-05-30 Kunihiro Ishiguro - - * vty.c: Remove all_digit_check function. Instead use all_digit. - - * prefix.c (all_digit): New function for checking string is made - from digit character. - -1999-05-25 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): Add zclient.c. - (noinst_HEADERS): Add zclient.h - - * zclient.[ch]: New file for zebra client routine. - - * memory.h (enum): Add MTYPE_ZEBRA. - -1999-05-19 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Update to 0.66. - -1999-05-15 Kunihiro Ishiguro - - * buffer.h (GETC,GETW): Macro deleted. - -1999-05-15 Carlos Alberto Barcenilla - - * prefix.h (IPV4_NET0, IPV4_NET127): Macro added. - -1999-05-15 Kunihiro Ishiguro - - * vty.c (service_advanced_vty): New command added. - (no_service_advanced_vty): Likewise. - -1999-05-14 Kunihiro Ishiguro - - * vty.c (vty_auth): If advanced flag is set and enable password is - not set, directly login to the ENABLE_NODE. This feature is - originally designed and implemented by Stephen R. van den Berg - . - - * command.h (host): Add advanced flag to struct host for advanced - vty terminal interface. - - * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release. - -1999-05-14 Stephen R. van den Berg - - * command.h (node_type ): Add TABLE_NODE. - - * vty.c (vty_telnet_option): Check host.lines value. - - * command.c (config_lines): DEFUN for 'lines LINES' command. - - * zebra.h: Include for uname(). - (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple - routing table. - - * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable - password is not set. - (vty_prompt): Get machine's hostname when hostname is not set. - -1999-05-11 James Willard - - * command.c (config_exit): Close connection when `exit' command is - executed at ENABLE_NODE. - -1999-05-10 Kunihiro Ishiguro - - * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE. - - * command.c (cmd_execute_command_strict): Matched command size - check added. - (cmd_make_desc_line): New function for DEFUN2. - - * command.h (struct cmd_element ): Add descsize. - -1999-05-09 Kunihiro Ishiguro - - * command.h (struct cmd_element ): Remame descvec to docvec. - (struct cmd_element ): Add descvec for new description system. - - * command.c (desc_make): Check cmd->descvec. - -1999-05-06 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL. - -1999-05-05 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta - release. - -1999-05-04 Yasuhiro Ohara - - * linklist.c (list_delete_all_node): bug fix. - previous code loses current position when node - is deleted. - -1999-05-03 Kunihiro Ishiguro - - * command.h (DESC): Macro added. - (struct cmd_element2): Delete struct cmd_element2. - - * plist.c (prefix_list): Sequential number option check is added. - -1999-05-02 Yasuhiro Ohara - - * log.c (zvlog_{debug,info,notice,warn,err}): have been - added. now we can log both console and file, but still - need some fix about config write. - -1999-05-02 Kunihiro Ishiguro - - * log.c (zvlog_debug): Fix yasu's change. - -1999-05-01 Kunihiro Ishiguro - - * plist.c (prefix_list): Fix typo. - -1999-04-30 Kunihiro Ishiguro - - * Set version to 0.63 for first beta package. - -1999-04-27 Carlos Barcenilla - - * prefix.c (str2prefix_ipv4): Fix prefix length check. - (str2prefix_ipv6): Likewise. - -1999-04-25 Kunihiro Ishiguro - - * memory.h (enum): Add MTPYE_PREFIX_LIST and - MTYPE_PREFIX_LIST_ENTRY. - - * command.h (node_type ): Add PREFIX_NODE. - -1999-04-25 Carlos Barcenilla - - * command.c: ALIAS (config_write_memory_cmd) and ALIAS - (copy_runningconfig_startupconfig_cmd) is added. - - * table.c (route_node_lookup): Unused match variable deletion. - -1999-04-24 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): plist.c added. - (noinst_HEADERS): plist.h added. - - * plist.c, plist.h: New file added. - - * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR. - * memory.c: Likewise. - -1999-04-19 Carlos Alberto Barcenilla - - * command.c (show_version): `show version' command added. - -1999-04-19 Kunihiro Ishiguro - - * prefix.c (str2prefix_ipv6): Prefix length overflow check. - -1999-04-19 Carlos Alberto Barcenilla - - * prefix.c (str2prefix_ipv4): Prefix length overflow check. - -1999-04-19 Alex Bligh - - * prefix.c (sockunion2hostprefix): Function added. - (sockunion2prefix): Address family was not set. Now it is set. - - * vty.c: VTY access-class command is added. - -1999-04-18 Kunihiro Ishiguro - - * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree, - xstrdup are likewise. - -1999-04-18 Yasuhiro Ohara - - * thread.c: Add thread_execute for other routing daemon. - OSPF tasks need to be generated by "sheduled" and "executed". - -1999-04-13 Kunihiro Ishiguro - - * buffer.c: Rewrite buffer_write and buffer_flush related - functions for fixing bugs. Reason of the problem and fix is - suggested by Alex Bligh . - -1999-04-12 Alex Bligh - - * command.c (cmd_entry_function_descr): Added for variable - argument help display. - -1999-04-07 Kunihiro Ishiguro - - * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution. - -1999-03-24 Kunihiro Ishiguro - - * stream.c: stream_fifo_free bug is fixed. - -1999-03-19 Toshiaki Takada - - * stream.c (stream_strncpy): Added for getting any length bytes - from stream. - -1999-03-16 Kunihiro Ishiguro - - * version.h (ZEBRA_BUG_ADDRESS): New macro added. - -1999-03-14 Kunihiro Ishiguro - - * buffer.c (buffer_flush_window): If ep is same as buffer's size - length and lp is overrun one octet. - -1999-03-13 Kunihiro Ishiguro - - * vty.h: add VTY's timeout function. - -1999-03-05 - - * command.h (node_type ): Add OSPF6_node. - -1999-03-04 Kunihiro Ishiguro - - * zebra.h: Check HAVE_SYS_SELECT_H when include - -1999-03-03 Jeroen Ruigrok/Asmodai - - * zebra.h: Include if it exists. - -1999-03-02 Kunihiro Ishiguro - - * getopt.[ch],getopt1.c: Sync with glibc-2.1. - - * log.c (zlog): Tempolary ZLOG_STDOUT feature added. - - * command.h: Include vector.h and vty.h - -1999-02-25 Kunihiro Ishiguro - - * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt. - - * routemap.c (route_map_apply_index): Add prefix argument. - (route_map_apply): Likewise. - - * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED. - - * stream.c: Add stream_fifo related functions. - -1999-02-24 Kunihiro Ishiguro - - * daemon.c: Return integer value. File descriptor close is added. - - * memory.h (enum): add MTYPE_OSPF_LSA. - -1999-02-23 Kunihiro Ishiguro - - * rsh.c: Remove empty file. - -1999-02-22 - - * routemap.c: Add add/delete hook to route_map_master. - -1999-02-19 Peter Galbavy - - * str.[ch] added to supply wrappers for snprintf(), strlcat() and - strlcpy on system without these. - -1999-02-18 Peter Galbavy - - * syslog support added - -1999-02-02 Kunihiro Ishiguro - - * filter.c (access_list_add_hook): added for hook function management. - * filter.c (access_list_delete_hook): Likewise. - -1999-01-19 Kunihiro Ishiguro - - * stream.c: New file. - * stream.h: New file. - * Divide stream related fucntions from buffer.[ch] into stream.[ch]. - -1999-01-14 Kunihiro Ishiguro - - * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA - - * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument. - -1998-12-23 Kunihiro Ishiguro - - * routemap.c: route_map_index_delete() added. - -1998-12-22 Kunihiro Ishiguro - - * buffer.c (buffer_empty): check cp instead of sp. - -1998-12-17 Kunihiro Ishiguro - - * radix.[ch]: Deleted. - -1998-12-15 Magnus Ahltorp - - * buffer.c: Prototype fixes. - * prefix.c: Likewise. - * sockunion.c: Likewise. - * sockunion.h: Likewise. - -1998-12-14 Kunihiro Ishiguro - - * vty.c (vty_read): DELETE key works as vty_delete_char. - -1998-12-13 Kunihiro Ishiguro - - * log.c (time_print): chane %y to %Y. - -1998-12-10 Kunihiro Ishiguro - - * distribute.c: new file. - -1998-12-09 Kunihiro Ishiguro - - * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add - complete support of IPv6 access list. - - * command.c (config_write_element): function delete. - (config_write_host): function add. password and enable password - isn't printed to vty interface. - -1998-12-08 Kunihiro Ishiguro - - * filter.c: Change prefix_ipv4 to prefix and add support of - prefix_ipv6 filtering. - -1998-12-07 Kunihiro Ishiguro - - * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps - header includes. - -1998-12-05 Kunihiro Ishiguro - - * log.c (log_flush): fix function name typo. - -1998-12-04 Yasuhiro Ohara - - * memory.h: OSPF memory type is added. - -1998-11-15 Kunihiro Ishiguro - - * command.c (sort_node): add sort_node() for pretty printing of - command on vty interface. - (config_password): delete the restriction of charaster of password - string. - -1998-09-05 Kunihiro Ishiguro - - * prefix.c (prefix_ipv4_any): add prefix_ipv4_any(). - -1998-08-25 Kunihiro Ishiguro - - * network.h: New file. - -1998-08-24 Kunihiro Ishiguro - - * vty.c (vty_will_echo): function name change from vty_off_echo. - -1998-08-18 Kunihiro Ishiguro - - * buffer.h: add PUTC,PUTW,PUTL macros. - -1998-07-22 Kunihiro Ishiguro - - * route.[ch]: renamed to prefix.[ch] - -1998-06-09 Kunihiro Ishiguro - - * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6. - - * Makefile.am: @INCLUDES@ is deleted from INCLUDES. - -1998-06-07 Kunihiro Ishiguro - - * host.[ch]: merged with command.[ch] - -1998-05-08 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES. - -1998-05-07 Kunihiro Ishiguro - - * route.c (str2prefix): str2prefix () is gone. - -1998-05-03 Kunihiro Ishiguro - - * vty.c (vty_read_config): change CONDIR to SYSCONFDIR. - - * .cvsignore: add file. - - * memory.c (xerror): add arguent `type' and `size'. - - * socket.c: deleted. - -1998-05-02 Kunihiro Ishiguro - - * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC. - * linklist.c: same as above. - -1998-04-30 Kunihiro Ishiguro - - * filter.[ch]: added. - -1998-04-01 Kunihiro Ishiguro - - * vty.c (config_who): return CMD_SUCCESS - -1998-04-01 Jochen Friedrich - - * table.c (route_dump_node): route_dump_node is IPv6 specific - function so move #ifdef to the end of route_dump_node (). - -1998-03-05 "Hannes R. Boehm" - - * if.c: DEFUN(interface_desc) added. - -1998-03-05 Kunihiro Ishiguro - - * if.c: separated from ripd/rip_interface.c - -1998-03-04 Kunihiro Ishiguro - - * thread.[ch] : added. - -1998-02-14 Kunihiro Ishiguro - - * vty.c (vty_delete_char): fix size bug. - (vty_backward_pure_word): function added. - (vty_read): ESC + 'f' perform vty_forward_word. - (vty_read): ESC + 'b' perform vty_backward_word. - -1998-02-11 Kunihiro Ishiguro - - * radix.c (radix_lookup_rt): add mask check. - (radix_delete_duproute): add mask check. - -1998-02-10 Kunihiro Ishiguro - - * command.c (config_write_file): fix vty -> file_vty. - -1998-02-06 Kunihiro Ishiguro - - * command.c (cmd_filter_ambiguous): add complex type treatment. - -1998-02-05 Kunihiro Ishiguro - - * vty.c (vty_time_print): function added. - (vty_complete_command): now [...] element isn't shown by completion. - -1998-01-26 Kunihiro Ishiguro - - * command.c : change from cmd_install_node() to install_node(). - -1998-01-16 Kunihiro Ishiguro - - * route.[ch]: struct rt{} is replaced by struct prefix{}. - -1998-01-06 Kunihiro Ishiguro - - * command.c (cmd_execute_command): check command length. - - * timer.c (zebra_timer_set): add zebra_timer_set. - -1998-01-05 Kunihiro Ishiguro - - * command.h (node_type ): add ZEBRA_NODE. - - * command.c (config_exit): add RIP_NODE. - (config_write_file): add RIP_NODE. - -1998-01-04 Kunihiro Ishiguro - - * print_version.c (print_version): Now Copyright is 1996-1998. - - * sockunion.c (sockunion_log): moved from ../zebra/route.c - -1997-12-30 Kunihiro Ishiguro - - * host.c (config_logfile): change 'log PATH' to 'logfile PATH'. - - * sockunion.c (sockunion_sameprefix): add same prefix for - sockunion. - -1997-12-29 Kunihiro Ishiguro - - * radix.[ch] : are moved from ../zebra directroy. - - * command.c (config_from_file): if command execution failed down - level to CONFIG_NODE. - - * host.c: config_log function which enable 'log FILENAME' command. - -1997-12-23 Kunihiro Ishiguro - - * vty.c: add vty_transpose_chars (). Now you can use '^T' to - transpose character. - - * command.c: cmd_cmdsize add, this is useful to check incomplete - command. - -1997-12-07 Kunihiro Ishiguro - - * fd.h: add family for address family - -1997-12-06 Kunihiro Ishiguro - - * command.o - * vty.o - * host.o is moved from ../zebra - -1997-08-14 Kunihiro Ishiguro - - * make library directory. - -- cgit v1.2.1