diff options
| author | Paul Jakma <paul.jakma@sun.com> | 2008-08-19 14:13:43 +0100 | 
|---|---|---|
| committer | Paul Jakma <paul@quagga.net> | 2008-08-22 19:57:22 +0100 | 
| commit | 3998bfd76620a676fbd77f19c5c6ea80a4cc88d2 (patch) | |
| tree | 66bf93340e55bb06b25544ef04afec3749269391 /lib | |
| parent | e5248434c0d287668be956a2bd52399d67b16c39 (diff) | |
[trivia] Remove ChangeLog files, as this data is now maintained in SCM
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/ChangeLog | 4270 | 
1 files changed, 0 insertions, 4270 deletions
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 <paul.jakma@sun.com> - -	* 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 <mhw@wittsend.com> -           YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> - -	* sockopt.{c,h}: (sockopt_tcp_signature) Add TCP-MD5SIG support. - -2008-06-07 Paul Jakma <paul@jakma.org> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* zebra.h: Revert previous change, no need to include <net/if_media.h> -	  here. - -2008-01-10 Ingo Flaschberger <if@xip.at> - -	* zebra.h: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h>. - -2008-01-08 Pavol Rusnak <prusnak@suse.cz> - -	* 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 <lorenzo@colitti.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <atis@mikrotik.com> - -	* pqueue.{c,h}: Export trickle_up - -2007-07-26  Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* sockopt.{c,h}: (setsockopt_multicast_ipv4) Add some comments about -	  the arguments. - -2007-06-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* zebra.h: On linux, we seem to need to include <linux/types.h> before -	  <sys/sysctl.h>, otherwise we get isisd compilation errors about -	  __be16 not being defined. - -2007-05-10 Paul Jakma <paul.jakma@sun.com> - -	* zebra.h: Don't try define _GNU_SOURCE, autoconf should do it. - -2007-05-03 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: Add MTYPE_ATTR_EXTRA and MTYPE_BGP_ROUTE_EXTRA - -2007-05-01 David L Stevens <dlstevens@us.ibm.com> - -	* (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 <ajschorr@alumni.princeton.edu> - -	* log.c: (quagga_timestamp) Optimize the subsecond timestamp generation. - -2007-04-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* smux.c: (smux_trap) Fix printf format to work with 64-bit size_t. - -2007-04-07 Paul Jakma <paul.jakma@sun.com> - -	* prefix.h: Add define to match IPv4 Link-Local addresses - -2007-03-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <pierre-yves@spootnik.org> - -	* smux.c: (smux_open,smux_trap,smux_register) Fix various -	  asn_build_* calls to pass the proper length in the final -	  argument: use sizeof(<variable>) instead of sizeof(<type>), -	  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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* vty.c: (vty_log_out) Debug messages to terminal vty sessions -	  should include timestamps. - -2006-06-28 Paul Jakma <paul.jakma@sun.com> - -	* memory.c: Fix typo in cpp conditional around malloc.h, from -	  comment in bug #269. - -2006-06-27 Paul Jakma <paul.jakma@sun.com> - -	* route_types.awk: Remove setting the 'bare' numeric route type -	  in redist strings. - -2006-06-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* if.h: (struct connected) Document the meaning of the -	  ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags. - -2006-05-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* memtypes.awk: Fix gensub call, g should be a string.. - -2006-03-25 Paul Jakma <paul.jakma@sun.com> - -	* workqueue.h: (struct work_queue) Remove status field and -	  state flag, no longer used. - -2006-03-19 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: Add MTYPE_BGP_SYNCHRONISE. - -2006-03-16 Paul Jakma <paul.jakma@sun.com> - -	* Makefile.am: Fix -version-info argument. - -2006-03-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* privs.c: (zprivs_caps_init) Change user IDs before lowering -	  privileges, while this seems to work on Linux, on Solaris -	  it rightfully refuses due to PRIV_PROC_SETID having been -	  dropped. -	* command.h: Add the struct host global exported from command.c - -2006-03-06 Paul Jakma <paul.jakma@sun.com> - -	* if.h: export show_address_cmd, for anyone who wishes to use -	  it. - -2006-02-21 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <vincent.jardin@6wind.com> - -	* md5.c: Don't forget to keep const. -	* regex.c: Cleanup code and remove warnings. - -2006-01-17 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* vty.c (vty_hello): add cast to quiet lint (from David Young) - -2005-11-26 Paul Jakma <paul.jakma@sun.com> - -	* buffer.c: (struct buffer_data) change gcc zero array -	  declaration to C99 incomplete array. -	* stream.h: (struct stream) same - -2005-11-24 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c). - -2005-10-18 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT. - -2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <alain.ritoux@6wind.com> - -	* smux.[ch]: allow to retreive global OID (identified by <0 -	  namelen). - -2005-09-29 Paul Jakma <paul.jakma@sun.com> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <paul.jakma@sun.com> - -	* memtypes.{c,h}: Add MTYPE_AS_SEG_DATA. -	 -2005-09-19 Hasso Tepper <hasso at quagga.net> - -	* str.[ch]: Add strndup() from glibc. - -2005-09-05 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hsantos@av.it.pt> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> -	* 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 <ajschorr@alumni.princeton.edu> - -	* prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is -	  in range before dereferencing it. - -2005-06-24 Pawel Worach <pawel.worach@gmail.com> - -	* getopt.h: add further tests for full getopt declaration on -	  various systems. - -2005-06-18 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.h: update autobuilt file to match memtypes.c changes - -2005-06-01 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and -	  MTYPE_BGP_CLEAR_NODE_QUEUE - -2005-05-24 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <yar@comp.chem.msu.su> - -	* sockopt.c: Add support for BSD style ifindex in ip_mreq. - -2005-05-06 Paul Jakma <paul@dishone.st> - -	* (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 <hasso at quagga.net> - -	* sockunion.c: Fix warning message. - -2005-05-03 Paul Jakma <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	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 <ajschorr@alumni.princeton.edu> - -	* workqueue.c (show_work_queues): Remove unused gettimeofday call. - -2005-04-27 Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <john.ch.lin@gmail.com>. -	  (thread_should_yield) make this available. -	 -2005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <jeroens@office.netland.nl> - -	* routemap.c: Show description in "show route-map" output. - -2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined. - -2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <string.h>. - -2005-04-08 Hasso Tepper <hasso at quagga.net> - -	* routemap.[ch]: Added "description ..." command. - -2005-04-08 Hasso Tepper <hasso at quagga.net> - -	* prefix.[hc]: Pass argument to the inet6_ntoa by value making it more -	  inet_ntoa alike. - -2005-04-07 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* lib/prefix.[hc]: inet6_ntoa utility function copied from -	  ripngd/ripngd.c (inet6_ntop). - -2004-04-05 Paul Jakma <paul@dishone.st> - -	* vty.c: Improve logging of failures to open vty socket(s). -	  See bugid #163. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* zebra.h: Must check whether __attribute__ should be defined before -	  including zassert.h. - -2005-03-14 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <jeroen@unfix.org> - -	* 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 <voidptr@voidptr.sboost.org> - -	* command.c: host.name might be NULL. -	* vty.c: Fix fd leak. - -2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset). - -2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <arpa/telnet.h> (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 <arpa/telnet.h>, since this is used only -	  by lib/vty.c. - -2005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it> - -	* 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 <paul.jakma@sun.com> - -	* stream.c: (stream_new) fix dumb mistake. - -2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro. - -2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* network.c: (set_nonblocking) Should check return code from -	  fcntl(F_GETFL). - -2005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> -	 -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG -	  to use compound assignment operators (aesthetic change). - -2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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.<daemon>.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 <ajschorr@alumni.princeton.edu> - -	* if.h: Declare if_flag_dump. - -2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* daemon.c: (daemon) Replace perror with zlog_err. -	* vty.c: (vty_serv_un) Replace perror with zlog_err. - -2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will -	  use it as well. - -2005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* command.c (print_version): Don't print host.name if it is NULL. -	Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch> -	 -2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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<TAB>" in vty. - -2004-12-29  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk. - -2004-12-21 Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> -	 -	* 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 <ajschorr@alumni.princeton.edu> - -	* sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting. - -2004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> -	 -	* log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to -	  LOG_ERR instead of LOG_EMERG. - -2004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* log.c: (hex_append) No need to include this function if -	  HAVE_GLIBC_BACKTRACE is not defined. - -2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* command.c: (config_write_host) Note that "log trap" is deprecated -	  when writing out the config. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <level>", "log monitor", "log monitor <level>", -	  "no log monitor", "log file <filename> <level>", -	  "no log file <filename> <level>", "log syslog <level>", -	  "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 <ajschorr@alumni.princeton.edu> - -	* log.h: Document appropriate use of syslog logging priorities -	  inside quagga. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well. - -2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* debug.[ch]: Remove unused files. -	* Makefile.am: Remove references to debug.c and debug.h - -2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* Makefile.am: Need to add zassert.h to pkginclude_HEADERS. - -2004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <assert.h>. -	* regex.c: Include "zassert.h" instead of <assert.h>. - -2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <dyoung@pobox.com> - -	* log.c: (safe_strerror) New function: safe wrapper for strerror. - -2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* sockopt.c: (setsockopt_so_recvbuf) Stop error message from being -	  printed every time. - -2004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* version.h.in: add autoconf configure_input output var - -2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* sockopt.c: (setsockopt_pktinfo) remove, its unused. - -2004-10-31 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* zclient.c: Unbreak reading interface update message. Might fix -	blocker bugzilla #109. - -2004-10-22 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* 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 <aschorr@telemetry-investments.com> - -	* 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 <hasso at quagga.net> - -	* 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 -	  <password>" initializes now connection and "no smux peer" terminates -	  it. - -2004-10-13 Paul Jakma <paul@dishone.st> - -	* (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 <hasso at quagga.net> - -	* command.h: Sync DEFUNSH with other macros. -	* sockunion.c, sockunion.h: More const strings. - -2004-10-11 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* routemap.c, routemap.h: Make some string arguments const. - -2004-10-05 Paul Jakma <paul@dishone.st> - -	* version.h.in: print_version declaration is here, not in automake -	  generated version.h. - -2004-10-08 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more -	  strings const. - -2004-10-05 Hasso Tepper <hasso at quagga.net> - -	* *.[c|h]: Make many strings cons and a lot of int -> unsigned int -	  changes to fix warnings. - -2004-10-05 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* 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  <hasso at quagga.net> - -	* 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 <jleu at mindspring.com> - -	* zclient.c, zclient.h: zclient functions for router id handling. -	* zebra.h: New message types for router id handling. - -2004-09-27 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* vty.c, sockopt.c: Fix compiler warnings. - -2004-09-23 Hasso Tepper <hasso at quagga.net> - -	* linklist.h: Remove list and listnode typedefs. -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma <paul@dishone.st> - -	* sockopt.c: Add missing bracket - -2004-09-17 Paul Jakma <paul@dishone.st> - -	* sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd. - -2004-09-13 Paul Jakma <paul@dishone.st> - -	* command.c: Update the copyright string in the default motd. - -2004-08-31  David Wiggins  <dwiggins@bbn.com> - -	* 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 <hasso at quagga.net> - -	* command.c: Install "terminal length" commands only if vty is used. -	  Vtysh will handle it itself. - -2004-08-26  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* sockopt.h: Define method-independent macro for callers of -	get_ifindex to use for cmsg length. - -2004-08-19 Paul Jakma <paul@dishone.st> - -	* zebra.h: add MAX and MIN defines (eg for ospf6d) - -2004-08-19 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* 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 <juris@mt.lv> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* Makefile.am: Make libzebra shared. - -2004-06-21 Paul Jakma <paul@dishone.st> - -	* ChangeLog: fix my last update config.h -> zebra.h ;) -	* zebra.h: Fix gcc check. -	 -2004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com> - -	* 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_<telnet option build functions>) 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 <paul@dishone.st> - -	* zebra.h: __attribute__ is a gcc'ism -	 -2004-06-04 Paul Jakma <paul@dishone.st> - -        * type mismatch fixes -         -2004-05-18 Hasso Tepper <hasso@estpak.ee> -	 -	* pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository. - -2004-05-08 Paul Jakma <paul@dishone.st> - -	* zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe -	  message format. - -2004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com> - -	* 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 <sowmini.varadhan@sun.com> - -	* 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 <boris@tagnet.ru> - -	* daemon.c: (daemon) fix check for error return from setsid -	 -2004-01-19 Paul Jakma <paul@dishone.st> - -	* sigevent.{c,h}: New files, implement event handled signals. -	  see signal_init() in sigevent.h. -	   -2003-12-23  Vincent Jardin  <jardin@6wind.com> - -	* {command.c, memory.c, vty.c, zebra.h}: Add isisd support - -2003-12-22  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* vty.c (vty_use_backup_config): Don't free filenames before using -	them for unlink. - -2003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* command.c: Fix <cr> display problem for command line -	  description - -2003-05-24 Anil Madhavapeddy - -	* (sockunion.c): Incorrect bounds specified in sockunion_log() - -2003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net> - -	* vty.c: -A option - -2003-04-19 Hasso Tepper <hasso@estpak.ee> - -	* rip_routemap.c: sync daemon's route-map commands to have same -	syntax - -2002-09-28  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* vty.c (vty_flush): One line more on vty. - -2002-09-27  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* vector.c (vector_lookup): Add new function. - -2002-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* thread.c (timeval_adjust): Fix unconditional crush due to -	FreeBSD's select() system call timeval value check. - -2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2002-06-21  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank -	van Maarseveen's suggestion. - -2002-06-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c: Change bcopy() to memcpy(). - -2001-12-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_password): Fix host.password clear bug. -	Reported by Wang Jian <lark@linux.net.cn>. - -2001-08-29  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* thread.c (thread_should_yield): New function to check thread -	should yeild it's execution to other thread.  Suggested by: Rick -	Payne <rickp@ayrnetworks.com> - -2001-08-20  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* thread.c (thread_timer_cmp): Rewrite function. - -	* hash.c: Add hash_get().  Change hash_pull() to hash_release(). - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-08-12  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* plist.c: ge and le display order is changed.  Old compatible -	rule (len <= ge-value <= le-value) is removed. - -2001-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* prefix.h: Temporary fix for alignment of prefix problem. - -2001-06-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* routemap.c (route_map_rule_delete): Call func_free when -	route-map rule is deleted. - -2001-06-14  "Akihiro Mizutani" <mizutani@dml.com> - -	* routemap.c (route_map_index_lookup): Prevent to use deny and -	permit for same route-map sequence. - -2001-04-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read_config): Fix warning. - -2001-03-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address -	strings. - -2001-03-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for -	CMSG_FIRSTHDR. - -2001-03-07  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* zebra.h (struct in_pktinfo): structure in_pktinfo declaration. - -2001-02-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory -	lib" member. - -2001-02-13  Matthew Grant <grantma@anathoth.gen.nz> - -	* vty.c (vty_read_config): Revert check of integrate_default when -	VTYSH is defined. - -2001-02-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read_config): Do not check integrate_default.  That -	should be used only by vtysh. - -2001-02-08  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.91 is released. - -2001-01-31  Akihiro Mizutani <mizutani@dml.com> - -	* vty.c (vty_login): Add vty login command. - -2001-01-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_reset): Close accept socket. - -2001-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit -	attribute. - -2001-01-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zclient.c (zebra_interface_address_add_read): Fetch interface -	address flag. -	(zebra_interface_address_delete_read): Likewise. - -2001-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* if.c: Delete RIP_API part until new implementation comes out. - -2001-01-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zclient.c (zapi_ipv4_delete): Remove OLD_RIB part. - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.90 is released. - -	* command.c: Update Copyright year. - -2001-01-09  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values. - -2000-12-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative -	value. - -2000-12-25  "Wataru Uno" <wataru@po.ntts.co.jp> - -	* vty.c (vtysh_read): Don't allocate new buffer because buffer is -	allocated in vty_new (). - -2000-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <wataru@po.ntts.co.jp> - -	* buffer.c (buffer_flush_vty): If IOV_MAX defined in the System, -	then all lines write by IOV_MAX. - -2000-12-12  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* command.c (config_write_file): Robust method for writing -	configuration file and recover from backing up config file. - -2000-11-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.c (smux_connect): More fail check. -	(smux_trap): When SMUX connection is not established, do nothing. - -2000-11-28  Gleb Natapov <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* linklist.c (listnode_add_after): Add node right after the -	listnode pointer. - -2000-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.h: Pass struct variable to WriteMethod. - -2000-11-25  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> - -	* 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  <kunihiro@zebra.org> - -	* smux.c (smux_trap): SMUX trap implementation. - -2000-11-19  Akihiro Mizutani <mizutani@dml.com> - -	* 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 <ukl2@rz.uni-karlsruhe.de> - -	* zclient.c (zebra_interface_add_read): Read hardware address when -	hw_addr_len is greater than 0. - -2000-11-15  Akihiro Mizutani <mizutani@dml.com> - -	* plist.c: The rule of "len <= ge-value <= le-value"  -	was changed to "len < ge-value <= le-value". - -2000-11-09  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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 <rickp@rossfell.co.uk> - -	* memory.h (enum): Add MTYPE_COMMUNITY_REGEXP. - -2000-11-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_exit): Fix bug of missing break after case -	BGP_VPNV4_NODE. - -2000-10-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vector.c (vector_unset): Check i is not nevative. - -2000-10-24  Arkadiusz Miskiewicz <misiek@pld.org.pl> - -	* 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 <jochen@scram.de> - -	* 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  <kunihiro@zebra.org> - -	* command.c (cmd_init): Log related command are only installed for -	terminal mode. - -2000-10-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c. - -	* zebra.h: Remove #warn directive. - -2000-10-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <nobby@po.ntts.co.jp> - -	* table.c (route_table_free): Reimplement route_table_free(). - -2000-10-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_SOCKUNION. - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-10-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* linklist.c (list_add_node_head): Delete unused function. -	(list_add_node_tail): Likewise. - -2000-09-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c (stream_read_unblock): Add new function for unblocking -	read. - -2000-09-26  Jochen Friedrich <jochen@nwe.de> - -	* smux.c (smux_register): Fix bug of can't register more than one -	MIB with SMUX. - -2000-09-26  Makoto Otsuka <otsuka@inl.ntts.co.jp> - -	* 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  <kunihiro@zebra.org> - -	* linklist.h (struct _list ): Add member cmp for compare function. -	(struct _list ): Member up is deleted - -2000-09-12  David Lipovkov <dlipovkov@OpticalAccess.com> - -	* if.c: Include RIP_API header when RIP API is enabled. - -2000-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* prefix.c (prefix_free): Siplify prefix_free(). - -	* keychain.c (key_match_for_accept): strncmp check bug is fixed. - -2000-09-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h: Merge roken.h into zebra.h. - -2000-09-05  Akihiro Mizutani <mizutani@dml.com> - -	* routemap.c (route_map_init_vty): Install route-map command to -	RMAP_NODE. - -2000-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.c (thread_get_id): Remove pthread related garbage. - -	* command.h (struct host): Likewise. - -	* zebra.h: Likewise. - -2000-08-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add AAA node for authentication. - -	* vty.c (vty_close): Do not close stdout. - -2000-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -2000-08-17  Magnus Ahltorp <ahltorp@nada.kth.se> - -	* 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 <gleb@nbase.co.il> - -	* zclient.c (zclient_redistribute_unset):  New function added. - -2000-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.c (vty_event): Use vector_set_index() instead of -	vector_set(). - -2000-08-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default -	Administrative Distance of each protocol. - -2000-08-07  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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 <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* 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 <gleb@nbase.co.il> - -	* routemap.c (route_map_index_delete): Add check for route-map is -	empty or not. - -2000-08-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zclient.c (zebra_ipv4_add): Change socket arguemnt with struct -	zclient. - -2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <davidl@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.c: Use vector for VTY server thread listing instead of -	single value. - -2000-07-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* keychain.c (no_key_chain): "no key chain WORD" command is added. - -2000-07-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* if.c: Help strings updates. - -2000-07-11  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* command.h (node_type ): Change KEYCHAIN_NODE and -	KEYCHAIN_KEY_NODE place just before INTERFACE_NODE. - -2000-07-09  Jochen Friedrich <jochen@scram.de> - -	* smux.c (config_write_smux): Fixes the option to override OID and -	password for SMUX. - -2000-07-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add SMUX_NODE for SMUX configuration. - -2000-07-09  Toshiaki Takada  <takada@zebra.org> - -	* command.c: Sort descvec command's help. - -	* vty.c (vty_describe_command): Display '<cr>' at the end of -	descriptions. - -2000-07-05  Toshiaki Takada  <takada@zebra.org> - -	* command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match):  Fix bug -	treatment of double colon. - -2000-07-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for -	request default route. - -2000-07-01  Hideaki YOSHIFUJI (吉藤英明) <yoshfuji@ecei.tohoku.ac.jp> - -	* smux.c: Add IPv6 smux connection code. - -2000-06-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* distribute.c: Fix help strings. - -2000-06-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <takada@zebra.org> - -	* command.c (show_startup_config): Add "show startup-config" -	command. - -2000-06-06  Akihiro Mizutani <mizutani@dml.com> - -	* filter.c: Fix help strings. - -2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* routemap.c: Change NAME to WORD. - -	* plist.c: Fix help strings. - -2000-06-02  Akihiro Mizutani <mizutani@dml.com> - -	* routemap.c: Fix route-map help strings. - -2000-06-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <mizutani@dml.com> - -	* command.h (OSPF_STR):  Macro added. - -2000-05-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <takada@zebra.org> - -	* vty.c (show_history):  New defun added. - -2000-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <tmo@datus.datus.com> - -	* routemap.c (route_map_add_set): Fix bug of next pointer missing. - -	* table.c (route_table_free): Like wise. - -2000-05-22  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL. - -2000-05-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add BGP_VPNV4_NODE. - -2000-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vtysh_accept): Add cast of struct sockaddr * to bind -	argument.  Reported by: Vesselin Mladenov <mladenov@netbg.com>. - -	* filter.c (ipv6_access_list): Add IPv6 prefix example instead of -	IPv4 example.  Reported by: Love <lha@s3.kth.se>. - -	* 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 -	<jinmei@isl.rdc.toshiba.co.jp>. - -2000-04-28  Love <lha@s3.kth.se> - -	* prefix.h (struct prefix): Add padding. - -2000-04-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (show_version): Update copyright year. - -2000-04-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c (route_map_apply): When map is NULL, return deny. - -2000-04-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* command.h (node_type ): Change RDISC_NODE to IRDP_NODE. - -2000-04-18  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <jochen@scram.de> - -	* 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  <takada@zebra.org> - -	* memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO. - -2000-03-26  Love <lha@s3.kth.se> - -	* zclient.c (zclient_read): Add nbytes size check for -	ZEBRA_HEADER_SIZE.  Check return value of steam_read (). - -2000-03-26  Rick Payne <rickp@rossfell.co.uk> - -	* routemap.c: Add flexible route-map commands such as on-match -	next, on-match goto N. - -	* routemap.h: Likewise - -2000-03-23  Adrian Bool <aid@u.net.uk> - -	* command.c (config_log_trap): Add new command "log trap -	PRIORITY". - -2000-03-14  Toshiaki Takada  <takada@zebra.org> - -	* 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 <hideto.yamakawa@soliton.co.jp> - -	* str.c (snprintf): Fix bug of calling sprintf instead of -	vsprintf. - -2000-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_RIP_PEER. - -2000-01-15  Toshiaki Takada  <takada@zebra.org> - -	* memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY. - -2000-01-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add MASC_NODE for masc. - -2000-01-09  Wang Jianliang <wangjl@soim.net> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_BGP_STATIC. - -1999-12-23  Alex Zinin <zinin@amt.ru> -	* zebra.h, zclient.*: dynamic int up/down message -	support - -1999-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.c (thread_cancel_event): Add a function for clean up -	events. - -1999-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* dropline.c: Delete file. -	dropline.h: Linewise.	 - -1999-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <takada@zebra.org> - -	* command.c (cmd_ipv6_match): New function added. -	(cmd_ipv6_prefix_match): Likewise. -	 -1999-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <rumen@linux.tu-varna.acad.bg> - -	* memory.c (struct mstat): Revert to support MEMORY_LOG. - -1999-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.81c for testing new kernel codes. - -1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.h (struct thread): Pthread support is disabled all -	platform. - -1999-11-21  Michael Handler <handler@sub-rosa.com> - -	* Include <limits.h> and <strings.h> under SUNOS_5. - -1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6 -1999-11-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE. - -1999-11-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (disable): Add `disable' command. - -1999-11-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* plist.c (vty_prefix_list_install): Add any check. - -1999-11-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add DUMP_NODE. - -1999-11-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.c: Change default SMUX oid to compatible with gated. - -1999-10-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if_rmap.c: New file added. - -	* if_rmap.h: New file added. - -1999-10-29  Alex Zinin  <zinin@amt.ru> - -	* hash.c: add hash_free() function - -1999-10-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* client.c: Merged with zclient.c. -	* client.h: Merged with zclient.h. - -1999-10-15  Jordan Mendelson <jordy@wserv.com> - -	* md5.c: Imported from GNU C Library. -	* md5-gnu.h: Likewise. - -1999-10-15  Jochen Friedrich <jochen@scram.de> - -	* smux.c (smux_getresp_send): SMUX_GETRSP codes improvement. - -1999-10-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.h: New file added. - -	* snmp.c: Rename to smux.c. - -1999-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (cmd_execute_command_strict): Filter ambious commands. -	(cmd_filter_by_string): Change to return enum match_type. - -1999-10-01  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* plist.c (prefix_list_init_ipv4): VTY user interface is improved. - -1999-09-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <takada@zebra.org> - -	* command.c (cmd_filter_by_completion), -	(is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range  -	parameter matches range. - -1999-09-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c (route_map_apply): Returm RM_DENYMATCH when no match -	is performed. - -1999-09-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read): Control-C stop VTY_MORE mode. - -1999-09-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.c (vty_terminate_all): New function added for reload -	support. - -1999-09-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE. - -1999-08-31  Janos Farkas <chexum@shadow.banki.hu> - -	* vty.c (vty_read): Handle also 0x7f (alt-backspace), just like -	esc-ctrl-h (delete word backwards). - -1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.h: Add if_nametoindex for NRL. - -1999-08-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c (if_create): New function. - -1999-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* snmp.c: New file. - -1999-08-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c (stream_put): stream_memcpy () is changed to stream_put -	().  stream_get () is added. - -1999-08-18  Toshiaki Takada  <takada@zebra.org> - -	* memory.h (enum): Add MTYPE_OSPF_LSA_DATA. -	 -1999-08-18  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* table.c (route_table_finish): add function frees table. - -1999-08-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_RTADV_PREFIX. - -1999-08-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.h (struct interface ): hw_address, hw_address_len added. - -1999-08-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.h (struct interface ): Change structure member if_data to -	info, index to ifindex. - -1999-08-08  Rick Payne <rickp@rossfell.co.uk> - -	* routemap.c: Multi protocol route-map modification. - -	* routemap.c (route_map_apply): Route match process bug is fixed. - -1999-08-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.c (thread_fetch): When signal comes, goto retry point. - -1999-08-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am: Add sockopt.c and sockopt.h -	* sockopt.c: New file. -	* sockopt.h: New file. -	 -1999-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Release zebra-0.75 - -1999-08-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_RIPNG_AGGREGATE. - -1999-07-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* sockunion.h: Add sockunion_getpeername (). - -1999-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Release zebra-0.74 - -1999-07-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): MTYPE_OSPF_PATH are added. - -1999-07-22  Toshiaki Takada  <takada@zebra.org> - -	* memory.h (enum): MTYPE_OSPF_NEXTHOP is added. - -1999-07-21  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* plist.c (config_write_prefix): Set write flag when configuration -	is written. - -1999-07-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>  - -	* prefix.c : prefix_cmp() added. change apply_mask() to -	apply_mask_ipv4(), and new apply_mask() added. - -1999-07-14  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* prefix.c (prefix2str): append prefixlen. - -1999-07-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_terminal): Change "config terminal" to -	"configure terminal".  Reported by Georg Hitsch -	<georg@atnet.at>. -	(config_terminal_length): `terminal length <0-512>' is added.  At -	this moment this command is only usef for vty interface. -	Suggested by Georg Hitsch <georg@atnet.at>. - -1999-07-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c (rulecmp): Add wrapper function of strcmp. - -1999-07-08  Rick Payne <rickp@rossfell.co.uk> - -	* sockunion.c (inet_aton): Fix bug of inet_aton. - -1999-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Start zebra-0.73 - -1999-07-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.72. - -1999-07-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (install_default): New function for install default -	commands to the node. - -	* memory.h (enum): MTYPE_NEXTHOP is added. - -1999-07-01    <kunihiro@zebra.org> - -	* command.c (no_banner_motd): `no banner motd' command added. - -1999-06-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <kay@dti.ad.jp> - -	* vty.c (vty_read_config): Fix bug of configuration file path -	detection. - -1999-06-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.70. - -1999-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.h (GETL): Remove GETL macro. - -	* version.h: Bump up to 0.69. - -1999-06-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c (connected_add): Commented out connected_log. - -1999-06-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* table.c (route_next_until): New function. - -	* version.h: Bump up to 0.68. - -1999-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.67. - -1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (zencrypt): New function for encrypt password. - -	* command.h (struct host): Add password_encrypt and -	enable_encrypt. - -1999-05-30  Jochen Friedrich <jochen@scram.de> - -	* command.h (struct host): New member encrypt is added for -	encrypted password. - -1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Update to 0.66. - -1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.h (GETC,GETW): Macro deleted. - -1999-05-15  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> - -	* prefix.h (IPV4_NET0, IPV4_NET127): Macro added. - -1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (service_advanced_vty): New command added. -	(no_service_advanced_vty): Likewise. - -1999-05-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 -	<srb@cuci.nl>. - -	* 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 <srb@cuci.nl> - -	* 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 <sys/utsname.h> 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 <james@whispering.org> - -	* command.c (config_exit): Close connection when `exit' command is -	executed at ENABLE_NODE. - -1999-05-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL. - -1999-05-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta -	release. - -1999-05-04  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* linklist.c (list_delete_all_node): bug fix.  -	previous code loses current position when node -	is deleted. - -1999-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* log.c (zvlog_debug): Fix yasu's change. - -1999-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* plist.c (prefix_list): Fix typo. - -1999-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.63 for first beta package. - -1999-04-27  Carlos Barcenilla <barce@frlp.utn.edu.ar> - -	* prefix.c (str2prefix_ipv4): Fix prefix length check. -	(str2prefix_ipv6): Likewise. - -1999-04-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTPYE_PREFIX_LIST and -	MTYPE_PREFIX_LIST_ENTRY. - -	* command.h (node_type ): Add PREFIX_NODE. - -1999-04-25  Carlos Barcenilla <barce@frlp.utn.edu.ar> - -	* 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  <kunihiro@zebra.org> - -	* 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 <barce@frlp.utn.edu.ar> - -	* command.c (show_version): `show version' command added. - -1999-04-19  Kunihiro Ishiguro <kunihiro@zebra.org> - -	* prefix.c (str2prefix_ipv6): Prefix length overflow check. - -1999-04-19  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> - -	* prefix.c (str2prefix_ipv4): Prefix length overflow check. - -1999-04-19  Alex Bligh <amb@gxn.net> - -	* 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  <kunihiro@zebra.org> - -	* memory.c: Change xmalloc to zmalloc.  xcalloc, xrealloc, xfree, -	xstrdup are likewise. - -1999-04-18  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* thread.c: Add thread_execute for other routing daemon. -	OSPF tasks need to be generated by "sheduled" and "executed". - -1999-04-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.c: Rewrite buffer_write and buffer_flush related -	functions for fixing bugs.  Reason of the problem and fix is -	suggested by Alex Bligh <amb@gxn.net>. -	 -1999-04-12  Alex Bligh <amb@gxn.net> - -	* command.c (cmd_entry_function_descr): Added for variable -	argument help display. - -1999-04-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution. - -1999-03-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c: stream_fifo_free bug is fixed. - -1999-03-19  Toshiaki Takada  <takada@zebra.org> - -	* stream.c (stream_strncpy): Added for getting any length bytes -	from stream. - -1999-03-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_BUG_ADDRESS): New macro added. - -1999-03-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.h: add VTY's timeout function. - -1999-03-05    <kunihiro@zebra.org> - -	* command.h (node_type ): Add OSPF6_node. - -1999-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h> - -1999-03-03  Jeroen Ruigrok/Asmodai <asmodai@wxs.nl> - -	* zebra.h: Include <net/if_var.h> if it exists. - -1999-03-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* daemon.c: Return integer value.  File descriptor close is added. - -	* memory.h (enum): add MTYPE_OSPF_LSA. - -1999-02-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rsh.c: Remove empty file. - -1999-02-22    <kunihiro@zebra.org> - -	* routemap.c: Add add/delete hook to route_map_master. - -1999-02-19  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* str.[ch] added to supply wrappers for snprintf(), strlcat() and -	strlcpy on system without these. - -1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* syslog support added - -1999-02-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* filter.c (access_list_add_hook): added for hook function management. -	* filter.c (access_list_delete_hook): Likewise. - -1999-01-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c: New file. -	* stream.h: New file. -	* Divide stream related fucntions from buffer.[ch] into stream.[ch]. -	 -1999-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA - -	* buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument. - -1998-12-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c: route_map_index_delete() added. - -1998-12-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.c (buffer_empty): check cp instead of sp. - -1998-12-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* radix.[ch]: Deleted. - -1998-12-15  Magnus Ahltorp <map@stacken.kth.se> - -	* buffer.c: Prototype fixes. -	* prefix.c: Likewise. -	* sockunion.c: Likewise. -	* sockunion.h: Likewise. - -1998-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read): DELETE key works as vty_delete_char. - -1998-12-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* log.c (time_print): chane %y to %Y. - -1998-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* distribute.c: new file. - -1998-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* filter.c: Change prefix_ipv4 to prefix and add support of -	prefix_ipv6 filtering. - -1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps -	header includes. - -1998-12-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* log.c (log_flush): fix function name typo. - -1998-12-04  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* memory.h: OSPF memory type is added. - -1998-11-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@debian.zebra.org> - -	* prefix.c (prefix_ipv4_any): add prefix_ipv4_any(). - -1998-08-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* network.h: New file. - -1998-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_will_echo): function name change from vty_off_echo. - -1998-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.h: add PUTC,PUTW,PUTL macros. - -1998-07-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* route.[ch]: renamed to prefix.[ch] - -1998-06-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6. - -	* Makefile.am: @INCLUDES@ is deleted from INCLUDES. - -1998-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* host.[ch]: merged with command.[ch] - -1998-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES. - -1998-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* route.c (str2prefix): str2prefix () is gone. - -1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC. -	* linklist.c: same as above. - -1998-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* filter.[ch]: added. - -1998-04-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (config_who): return CMD_SUCCESS - -1998-04-01  Jochen Friedrich <jochen@scram.de> - -	* 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" <hannes@boehm.org> - -	* if.c: DEFUN(interface_desc) added. - -1998-03-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c: separated from ripd/rip_interface.c - -1998-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.[ch] : added. - -1998-02-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* radix.c (radix_lookup_rt): add mask check. -	(radix_delete_duproute): add mask check. - -1998-02-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_write_file): fix vty -> file_vty. - -1998-02-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (cmd_filter_ambiguous): add complex type treatment. - -1998-02-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_time_print): function added. -	(vty_complete_command): now [...] element isn't shown by completion. - -1998-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c : change from cmd_install_node() to install_node(). - -1998-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* route.[ch]: struct rt{} is replaced by struct prefix{}. - -1998-01-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (cmd_execute_command): check command length. - -	* timer.c (zebra_timer_set): add zebra_timer_set. - -1998-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* print_version.c (print_version): Now Copyright is 1996-1998. - -	* sockunion.c (sockunion_log): moved from ../zebra/route.c - -1997-12-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* host.c (config_logfile): change 'log PATH' to 'logfile PATH'. - -	* sockunion.c (sockunion_sameprefix): add same prefix for -	sockunion. - -1997-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* fd.h: add family for address family - -1997-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.o -	* vty.o -	* host.o    is moved from ../zebra - -1997-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* make library directory. -  | 
