1 2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
3 * debug.[ch]: Remove unused files.
4 * Makefile.am: Remove references to debug.c and debug.h
6 2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
8 * log.c: (zlog_backtrace) New function to log a backtrace.
9 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
10 Unfortunately, this function does not support syslog logging yet.
11 (zlog_signal) Move backtrace code into separate function
13 (_zlog_assert_failed) Call zlog_backtrace before aborting.
14 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
15 * memory.c: (zerror) Call zlog_backtrace before aborting.
17 2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
19 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
21 2004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
23 * zebra.h: If not C99 and there's no va_copy macro and there is
24 a __va_copy macro, define va_copy as __va_copy.
26 2004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
28 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
29 set l_whence to SEEK_SET, not SEEK_END. And after writing new
30 pid to file, must ftruncate to eliminate any extraneous bytes left
31 over from the last time a pid was written.
33 2004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
35 * zassert.h: New header file to declare a quagga-specific assert macro.
36 * log.c: (_zlog_assert_failed) New function called when assert fails
37 to log the error and abort.
38 * zebra.h: Include "zassert.h" instead of <assert.h>.
39 * regex.c: Include "zassert.h" instead of <assert.h>.
41 2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
43 * sigevent.c: (signal_init) Set up some default signal handlers
44 so that processes will issue an error message before terminating
46 (trap_default_signals) New function to set up signal handlers
47 for various signals that may kill the process.
48 (exit_handler) Call zlog_signal, then _exit.
49 (core_handler) Call zlog_signal, then abort.
50 * log.h: Declare new function zlog_signal.
51 * log.c: (zlog_signal) New function to log information about
52 a received signal before the process dies. Try to log a
54 (quagga_signal_handler,signal_set) Should be static.
56 2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
58 * log.c: (vzlog) Take a single va_list argument and use va_copy
59 as necessary for multiple traversals.
60 (zlog) Pass only one va_list to vzlog.
61 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
63 (zlog_set_file) Remove unused 2nd argument (flags).
64 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
65 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
66 Remove unused 2nd argument from zlog_set_file prototype.
67 Fix prototype for zlog_rotate.
68 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
69 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
71 (vty_log) Must use va_copy for multiple traversals of va_list arg.
73 2004-11-19 David Young <dyoung@pobox.com>
75 * log.c: (safe_strerror) New function: safe wrapper for strerror.
77 2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
79 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
82 2004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
84 * memory.h: Fix prototype for memory_init().
85 * memory.c: Declare many functions and data structures static instead
86 of global. Fix prototype for memory_init().
88 2004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
90 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
91 alignment (users should use CMSG_SPACE).
93 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
94 asumming 4-byte alignment, since this isn't safe.
96 2004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
98 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
99 Instead of exiting, log currenty memory usage and then abort.
100 (log_memstats) New function to log memory statistics, called by
102 (show_memory_all) Loop over new mlists array instead of calling
103 show_memory_vty separately for each memory_list.
105 2004-11-08 Paul Jakma <paul@dishone.st>
107 * buffer.c: Add missing include of log.h.
108 (buffer_flush_available) written is compared against
109 mostly against unsigned types, only for the writev do we need
110 signed compare, so declare it as size_t and cast it to ssize_t
111 just for the error compare when we've called writev.
112 * buffer.h: Add comment that buffer data sizes really should be
115 2004-11-07 Paul Jakma <paul@dishone.st>
117 * version.h.in: add autoconf configure_input output var
119 2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
121 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
122 capabilities (that were used only in bgpd/bgp_route.c and are now
123 removed). Also remove some other fields that were not being
125 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
127 (vty_read) Remove calls to vty->output_func since that was part
128 of the VTY_CONTINUE infrastructure that has been removed.
129 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
130 (vty_close) Remove code to cancel vty->t_output thread, since that
131 thread was never actually used.
133 2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
135 * vty.c: Vtysh connections to daemons should use buffering.
136 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
137 (vty_new) Increase output buffer size to 4096 rounded up to a
138 multiple of pagesize.
139 (vtysh_read) After command has been executed and all output buffered,
140 call buffer_flush_available and schedule further writes if the
141 buffers are not yet empty.
142 (vtysh_write) New function to flush output to vtysh when the socket
144 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
145 clients. Also, should save read thread in vty->t_read so the
146 thread can be cancelled in vty_close.
147 * buffer.h: In struct buffer_data, remove unused "parent" field.
148 Convert "unsigned char *data" to "unsigned char data[0]" to save
149 a malloc. Declare new function buffer_flush_available that works
150 with non-blocking sockets.
151 * buffer.c: (buffer_data_new) Use a single malloc now that data is
152 a variable-size array at end of structure.
153 (buffer_data_free) Just a single free now that data is part of the
155 (buffer_write) Simplify the logic to make behavior more transparent.
156 (buffer_flush) Decrease b->length as data is written out.
157 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
158 (buffer_flush_vty) Decrease b->length as data is written out.
159 (buffer_flush_available) New function to flush non-blocking sockets.
161 2004-11-01 Paul Jakma <paul@dishone.st>
163 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
165 2004-10-31 Paul Jakma <paul@dishone.st>
167 * vty.c: As per Andrew's suggestions..
168 (vty_serv_un) remove flags.
169 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
170 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
171 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
172 * thread.c: Update stats and funcname alloc/free to use previous
173 specific memory type defines. Use XCALLOC and sizeof the type,
175 * smux.c: fix int to size_t compile warnings
177 2004-10-29 Paul Jakma <paul@dishone.st>
179 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
180 to vtysh_accept, where sock is the actual fd we wanted to set to
181 O_NONBLOCK, ie the /connected/ vtysh unix socket.
183 2004-10-23 Hasso Tepper <hasso at quagga.net>
185 * zclient.c: Unbreak reading interface update message. Might fix
186 blocker bugzilla #109.
188 2004-10-22 Paul Jakma <paul@dishone.st>
190 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
192 (setsockopt_pktinfo) unexported
193 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
194 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
195 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
196 Nurges for highlighting problem and fix.
197 Fix elif that should be an else.
198 * command.h: Cleanup the defines a bit, add helper defines and
199 collapse all defines to use those. Add an attribute field to
200 cmd_element to support, eg hidden or deprecated commands, add
201 defun defines for such. All that's left to do is add logic
202 to command.c to check these attributes... ;)
203 * zebra.h: reserve ZEBRA_ROUTE_HSLS
205 2004-10-19 Hasso Tepper <hasso at quagga.net>
207 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
208 * print_version.c: Remove. print_version () function moved to
210 * command.c: Use QUAGGA_COPYRIGHT.
211 * Makefile.am: Remove useless version.c and print_version.c files.
213 2004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
215 * zclient.c: (zebra_interface_address_read) If the destination address
216 is encoded as all zeroes, load it as a NULL pointer.
217 * if.h: Add comment describing struct connected destination field
218 and indicating that it may be NULL. Define macros
219 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
220 with PtP logic (distinguish between host and subnet addressing).
221 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
223 (connected_lookup_address) ditto.
224 (connected_add_by_prefix) Handle case where destination is NULL,
225 * prefix.[c|h]: New functions ipv4_network_addr and
228 2004-10-13 Hasso Tepper <hasso at quagga.net>
230 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
231 configuration from file. Fixes critical bugzilla #113.
232 * smux.c, smux.h: Remove all defaults to initialize smux connection to
233 snmpd by default even if not configured to do so. "smux peer OID
234 <password>" initializes now connection and "no smux peer" terminates
237 2004-10-13 Paul Jakma <paul@dishone.st>
239 * (global) more const'ification.
240 * sockunion.c: (sockunion_su2str) buffer should be sized
242 (sockunion_log) do not return stack variables, strdup buf before
244 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
245 values against ULONG_MAX is daft, when caller probably has passed
246 a type that can not hold ULONG_MAX. use a temporary long instead.
247 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
248 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
250 2004-10-11 Hasso Tepper <hasso at quagga.net>
252 * command.h: Sync DEFUNSH with other macros.
253 * sockunion.c, sockunion.h: More const strings.
255 2004-10-11 Paul Jakma <paul@dishone.st>
257 * thread.c: (funcname_thread_add_timer)
258 (funcname_thread_add_timer_msec) Fix mistakes from last change.
259 Pointed out by Liu Xin in [quagga-dev 1609].
260 * if.h: mtu's should be unsigned.
261 * routemap.{c,h}: const char updates
264 2004-10-10 Paul Jakma <paul@dishone.st>
266 * version.h.in: (pid_output*) add const qualifier.
267 * command.h: Change DEFUN func to take const char *[] rather
268 than char **, to begin process of fixing compile warnings in lib/.
269 Nearly all other changes in this commit follow from this change.
270 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
271 const void * and cast an automatic const char *p to it.
272 (buffer_putstr) add const
273 * command.c: (zencrypt) const qualifier
274 (cmd_execute_command_real) ditto
275 (cmd_execute_command_strict) ditto
276 (config_log_file) ditto.
277 Fix leak of getcwd() returned string.
278 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
279 * distribute.{c,h}: Update with const qualifier.
280 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
281 (distribute_lookup) Cast to char *, note that it's ok.
282 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
283 (distribute_get) Cast to char *, note that it's ok.
284 * filter.c: Update with const qualifier.
286 * if_rmap.{c,h}: ditto.
287 (if_rmap_lookup) Cast to char *, note that it's ok.
289 * log.{c,h}: Update with const qualifier.
290 * plist.{c,h}: ditto.
291 * routemap.{c,h}: ditto.
292 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
293 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
294 * vty.c: Update with const qualifier.
296 2004-10-08 Hasso Tepper <hasso at quagga.net>
298 * routemap.c, routemap.h: Make some string arguments const.
300 2004-10-05 Paul Jakma <paul@dishone.st>
302 * version.h.in: print_version declaration is here, not in automake
305 2004-10-08 Hasso Tepper <hasso at quagga.net>
307 * command.c, command.h: Make argument of cmd_make_strvec function
309 * command.c: Make hostname commands usable in vtysh again.
311 2004-10-07 Hasso Tepper <hasso at quagga.net>
313 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
316 2004-10-05 Hasso Tepper <hasso at quagga.net>
318 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
319 changes to fix warnings.
321 2004-10-05 Paul Jakma <paul@dishone.st>
323 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
324 functions to change byte order between system IP_HDRINCL order
326 * thread.c: (funcname_thread_add_timer_timeval) new function, add
327 timer at specified timeval.
328 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
329 (funcname_thread_add_timer_msec) ditto
331 2004-10-04 Hasso Tepper <hasso at quagga.net>
333 * memory.c, memory.h: Make char * argument of strdup functions const.
334 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
336 * log.h: Make log message const in struct message.
337 * log.c: Fix some indenting.
338 * network.c, network.h: Make second argument of writen() const.
340 2004-10-03 Hasso Tepper <hasso at quagga.net>
342 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
343 * command.c: Don't initialize commands that don't make sense if vtysh
345 * vty.c: Make VTY_NODE appear in vtysh.
347 2004-10-03 James R. Leu <jleu at mindspring.com>
349 * zclient.c, zclient.h: zclient functions for router id handling.
350 * zebra.h: New message types for router id handling.
352 2004-09-27 Paul Jakma <paul@dishone.st>
354 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
355 to try to fragment oversized packets. Enabled only for Linux.
356 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
357 to consolidate various ad-hoc platform defines for same thing.
359 2004-09-26 Hasso Tepper <hasso at quagga.net>
361 * vty.c, sockopt.c: Fix compiler warnings.
363 2004-09-23 Hasso Tepper <hasso at quagga.net>
365 * linklist.h: Remove list and listnode typedefs.
366 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
368 2004-09-17 Paul Jakma <paul@dishone.st>
370 * sockopt.c: Add missing bracket
372 2004-09-17 Paul Jakma <paul@dishone.st>
374 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
376 2004-09-13 Paul Jakma <paul@dishone.st>
378 * command.c: Update the copyright string in the default motd.
380 2004-08-31 David Wiggins <dwiggins@bbn.com>
382 * hash.c (hash_iterate): Save next pointer before calling
383 procedure, so that iteration works even if the called procedure
384 deletes the hash backet.
386 * linklist.h (listtail): new macro, not yet used.
388 2004-08-27 Hasso Tepper <hasso at quagga.net>
390 * command.c: Install "terminal length" commands only if vty is used.
391 Vtysh will handle it itself.
393 2004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
395 * sockopt.h: Define method-independent macro for callers of
396 get_ifindex to use for cmsg length.
398 2004-08-19 Paul Jakma <paul@dishone.st>
400 * zebra.h: add MAX and MIN defines (eg for ospf6d)
402 2004-08-19 Paul Jakma <paul@dishone.st>
404 * sockopt.c: include sockopt.h
405 rename some of the _pktinfo_ functions to _ifindex, where that is
407 (getsockopt_ipv6_pktinfo_ifindex) renamed to
408 getsockopt_ipv6_ifindex.
409 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
410 (setsockopt_pktinfo) update with previous and add comment re
412 (setsockopt_ifindex) generic ifindex function ala
414 (getsockopt_ipv4_pktinfo_ifindex) renamed to
415 getsockopt_ipv4_ifindex.
416 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
417 ifdef/elses. pktinfo case forgot to set ifindex.
418 (getsockopt_pktinfo_ifindex) renamed to
419 getsockopt_ifindex. update some calls to renamed functions.
420 * sockopt.h: Update renamed exported functions
421 Rename the CMSG_SIZE macros to IFINDEX.
422 Guard IPv4 PKTINFO in a conditional define.
424 2004-08-18 Paul Jakma <paul@dishone.st>
426 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
427 to prevent inadvertent blocking of daemons by use of
428 vtysh. TODO: disentangle manual paging from the buffer_write
429 path so that unix vty can use this path too and be reliable.
431 2004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
433 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
434 on NetBSD, and add comments to make it less confusing. Change the
435 sense of the SUNOS_5 test to make parallel structure between the
436 variables and the code.
438 2004-07-23 Paul Jakma <paul@dishone.st>
440 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
441 sizeof pktinfo as appropriate, to be used when allocating msg
442 buffers. export setsockopt_pktinfo() and
443 getsockopt_pktinfo_ifindex()
444 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
445 set received ifindex sock option.
446 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
447 (getsockopt_cmsg_data) retrieve indicated control info from
449 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
450 (setsockopt_ipv4_pktinfo) v4 version
451 (setsockopt_pktinfo) the exported version
452 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
453 (getsockopt_pktinfo_ifindex) the exported version
455 2004-07-14 Paul Jakma <paul@dishone.st>
457 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
458 the flags to a constant rather increment to be kinder.
459 (quagga_sigevent_process) new function, to do core of what
460 quagga_signal_timer did. dont block signals at all as sig->caught
461 is volatile sig_atomic_t and should be safe to access from signal
462 and normal contexts. The signal blocking is unneeded paranoia, but
463 is left intact under an ifdef, should some platform require it.
464 Check global caught flag before iterating through array.
465 (quagga_signal_timer) nearly everything moved to
466 quagga_sigevent_process. Left in under ifdef, in case some
467 platform could use a regular timer check for signals.
468 * sigevent.h: quagga_sigevent_process declaration.
469 * thread.c: (thread_fetch) check for signals at beginning of
470 scheduler loop, check for signals if select returns EINTR.
472 2004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
474 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
475 confuses gdb, at least on NetBSD 2.0_BETA, where the block
478 2004-07-09 Paul Jakma <paul@dishone.st>
480 * Merge Kunihiro's 'show route-map' change and add
481 compatibility aliases for route-map continue
482 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
483 function, as implemented in linux kernel by David Miller.
485 2004-07-09 Juris Kalnins <juris@mt.lv>
487 * if.c: (if_cmp_func) fix for interface names where name is same,
488 but one has no number, eg "devtyp" and "devtyp0".
490 2004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
492 * Makefile.am: Make libzebra shared.
494 2004-06-21 Paul Jakma <paul@dishone.st>
496 * ChangeLog: fix my last update config.h -> zebra.h ;)
497 * zebra.h: Fix gcc check.
499 2004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
501 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
502 to u_char. (ipv6_access_list_remark_cmd) ditto.
504 * network.c: (readn/writen) pointer arg should be type u_char.
505 * plist.c: needs to include stream.h, not declare stream functions
507 (various) Add static qualifier to internal functions.
508 (prefix_list_type_str) extraneous breaks in switch statement.
509 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
510 * stream.h: depends on plist.h and export stream_put_prefix
511 * vty.c: (vty_<telnet option build functions>) should use
512 unsigned char, telnet options are 0 -> 255.
513 * zclient.c: various u_char<->char type cleanups.
514 * zebra.h: Having to define CMSG_* can apply to more than just
517 2004-06-09 Paul Jakma <paul@dishone.st>
519 * zebra.h: __attribute__ is a gcc'ism
521 2004-06-04 Paul Jakma <paul@dishone.st>
523 * type mismatch fixes
525 2004-05-18 Hasso Tepper <hasso@estpak.ee>
527 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
529 2004-05-08 Paul Jakma <paul@dishone.st>
531 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
534 2004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
536 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
537 (zapi_ipv4_delete) ditto.
538 (zapi_ipv4_route) add/delete a route by way of cmd arg.
539 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
540 (zapi_ipv6_delete) ditto.
541 (zapi_ipv6_route) add/delete a route by way of cmd arg.
542 (zebra_interface_address_delete_read) collapsed into
543 zebra_interface_address_read.
544 (zebra_interface_address_delete_read) ditto.
545 (zebra_interface_address_read) read address add/delete messages
546 by way of type argument. Describe command message format.
547 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
548 Describe command message format.
549 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
550 (zclient_redistribute_set) Collapsed into zclient_redistribute
551 (zclient_redistribute_unset) ditto
552 (zclient_redistribute) set/unset redistribution.
553 (zclient_redistribute_default_set) Collapsed into
554 zclient_redistribute_default.
555 (zclient_redistribute_default_unset) ditto.
556 (zclient_redistribute_default) Redistribute default set/unset.
557 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
558 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
559 zclient_redistribute. Ditto for
560 zclient_redistribute_default_{set/unset}.
562 2004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
564 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
565 from IPv4, and Solaris treats the MTU's differently.
566 Add connected_add_by_prefix, for use by later patch.
567 * if.c: (connected_add_by_prefix) Add prefix to connected list.
568 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
569 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
570 * command.c: (sockunion_getsockname) use socklen_t for len.
571 (sockunion_getpeername) ditto.
573 2004-04-21 Boris Kovalenko <boris@tagnet.ru>
575 * daemon.c: (daemon) fix check for error return from setsid
577 2004-01-19 Paul Jakma <paul@dishone.st>
579 * sigevent.{c,h}: New files, implement event handled signals.
580 see signal_init() in sigevent.h.
582 2003-12-23 Vincent Jardin <jardin@6wind.com>
584 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
586 2003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
588 * vty.c (vty_use_backup_config): Don't free filenames before using
591 2003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
593 * command.c: Fix <cr> display problem for command line
596 2003-05-24 Anil Madhavapeddy
598 * (sockunion.c): Incorrect bounds specified in sockunion_log()
600 2003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
604 2003-04-19 Hasso Tepper <hasso@estpak.ee>
606 * rip_routemap.c: sync daemon's route-map commands to have same
609 2002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
611 * vty.c (vty_flush): One line more on vty.
613 2002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
615 * vector.c (vector_lookup): Add new function.
617 2002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
619 * thread.c (timeval_adjust): Fix unconditional crush due to
620 FreeBSD's select() system call timeval value check.
622 2002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
624 * zebra-0.93 released.
626 2002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
628 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
629 van Maarseveen's suggestion.
631 2002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
633 * command.c: Change bcopy() to memcpy().
635 2001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
637 * command.c (config_password): Fix host.password clear bug.
638 Reported by Wang Jian <lark@linux.net.cn>.
640 2001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
642 * thread.c (thread_should_yield): New function to check thread
643 should yeild it's execution to other thread. Suggested by: Rick
644 Payne <rickp@ayrnetworks.com>
646 2001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
648 * thread.c (thread_timer_cmp): Rewrite function.
650 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
652 2001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
654 * zebra-0.92a released.
656 2001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
658 * zebra-0.92 released.
660 2001-08-12 Akihiro Mizutani <mizutani@dml.com>
662 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
663 string to "1.1.0.0/16".
665 2001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
667 * filter.c (access_list_lookup): access_list_lookup's first
668 argument is changed from address family to AFI.
670 * plist.c: (prefix_list_lookup): Likewise.
672 2001-07-27 Akihiro Mizutani <mizutani@dml.com>
674 * plist.c: ge and le display order is changed. Old compatible
675 rule (len <= ge-value <= le-value) is removed.
677 2001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
679 * prefix.h: Temporary fix for alignment of prefix problem.
681 2001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
683 * prefix.h (struct prefix): Remove safi and padding field.
684 (struct prefix_ipv4): Likewise.
685 (struct prefix_ipv6): Likewise.
686 (struct prefix_ls): Likewise.
687 (struct prefix_rd): Likewise.
689 * command.h (enum node_type): Preparation for BGP new config.
691 * vty.c (vty_end_config): Likewise.
693 2001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
695 * routemap.c (route_map_rule_delete): Call func_free when
696 route-map rule is deleted.
698 2001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
700 * routemap.c (route_map_index_lookup): Prevent to use deny and
701 permit for same route-map sequence.
703 2001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
705 * vty.c (vty_read_config): Fix warning.
707 2001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
709 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
712 2001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
714 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
717 2001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
719 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
721 2001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
723 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
726 2001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
728 * vty.c (vty_read_config): Revert check of integrate_default when
731 2001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
733 * vty.c (vty_read_config): Do not check integrate_default. That
734 should be used only by vtysh.
736 2001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
738 * vty.c (vty_serv_un): Set umask 0077.
739 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
740 wait for boot configuration.
742 * if.c (if_lookup_address): Make it smart implementation.
744 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
745 options for IPv4 This is here so that people only have to do their
746 OS multicast mess in one place rather than all through zebra,
749 2001-02-04 Akihiro Mizutani <mizutani@dml.com>
751 * plist.c (vty_prefix_list_install): Even when argument is
752 invalid, new memory is allocated. Now memory allocation is done
753 after argument check.
755 2001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
757 * zebra-0.91 is released.
759 2001-01-31 Akihiro Mizutani <mizutani@dml.com>
761 * vty.c (vty_login): Add vty login command.
763 2001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
765 * vty.c (vty_reset): Close accept socket.
767 2001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
769 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
772 2001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
774 * zclient.c (zebra_interface_address_add_read): Fetch interface
776 (zebra_interface_address_delete_read): Likewise.
778 2001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
780 * table.c (route_node_match_ipv4): Utility function for IPv4
782 (route_node_match_ipv6): Utility function for IPv4 address lookup.
784 2001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
786 * if.c: Delete RIP_API part until new implementation comes out.
788 2001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
790 * hash.h (struct Hash): Rename alloc to count. Change type to
793 * stream.c (stream_getc_from): New function.
794 (stream_getw_from): Likewise.
796 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
798 2001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
800 * flap.c: File is removed.
806 * buffer.c (buffer_new): Remove type option to buffer_new().
808 2001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
810 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
812 2001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
814 * zebra-0.90 is released.
816 * command.c: Update Copyright year.
818 2001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
820 * if.c (if_create): Register connected_free() function for
822 (if_delete): Free connected information when the interface is
824 (if_lookup_by_index): Fix argument type from int to unsigned int.
825 (connected_add): Keep list in order if old info found, essential
826 for repeatable operation in some daemons.
828 2001-01-09 endo@suri.co.jp (Masahiko Endo)
830 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
833 2001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
835 * filter.c (access_list_delete): Access-list name is not freed.
837 * plist.c (prefix_list_delete): Prefix-list name is not freed.
839 2000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
841 * zclient.c (zclient_start): Change to use UNIX domain
842 socket for zebra communication.
844 * vector.c (vector_init): vector_alloc and vector_data_alloc is
845 removed. All memory allocation count should be maintained by
846 XMALLOC and XFREE macros.
848 2000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
850 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
852 2000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
854 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
857 2000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
859 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
860 allocated in vty_new ().
862 2000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
864 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
866 * command.c (config_write_terminal): Display "end" at the end of
869 * plist.c (vty_prefix_list_install): Use AF_INET to determine
872 2000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
874 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
875 then all lines write by IOV_MAX.
877 2000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
879 * command.c (config_write_file): Robust method for writing
880 configuration file and recover from backing up config file.
882 2000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
884 * smux.c (smux_connect): More fail check.
885 (smux_trap): When SMUX connection is not established, do nothing.
887 2000-11-28 Gleb Natapov <gleb@nbase.co.il>
889 * thread.c (thread_fetch): Execut event list first. Old event
890 list is renamed to ready list. With this change, event thread is
891 executed before any other thread.
893 * thread.h (struct thread_master): Add ready list.
895 2000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
897 * linklist.c (listnode_add_after): Add node right after the
900 2000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
902 * smux.h: Pass struct variable to WriteMethod.
904 2000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
906 * if.c (if_lookup_address): When looking up interface with IP
907 address, Sometimes multiple interfaces will match. Now PtP
908 interfaces prevail in such a case which seem the right thing to
909 do: There will probably also be host routes which usually prevail
912 2000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
914 * smux.c (smux_trap): SMUX trap implementation.
916 2000-11-19 Akihiro Mizutani <mizutani@dml.com>
918 * plist.c: Add automatic conversion function of an old rule.
919 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
921 2000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
923 * zclient.c (zebra_interface_add_read): Read hardware address when
924 hw_addr_len is greater than 0.
926 2000-11-15 Akihiro Mizutani <mizutani@dml.com>
928 * plist.c: The rule of "len <= ge-value <= le-value"
929 was changed to "len < ge-value <= le-value".
931 2000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
933 * memory.[ch]: Added #define and functions for ospf6d.
935 * log.[ch]: some platform says that the data of used va_list
936 is undefined. Changed to hold list of va_list for each
939 2000-11-07 Rick Payne <rickp@rossfell.co.uk>
941 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
943 2000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
945 * command.c (config_exit): Fix bug of missing break after case
948 2000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
950 * vector.c (vector_unset): Check i is not nevative.
952 2000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
954 * smux.c (smux_sock): Set terminating '\0'. Check address family.
956 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
957 gai_strerror. Check address family.
959 2000-10-23 Jochen Friedrich <jochen@scram.de>
961 * smux.c: Use linklist rather than vector.
962 (smux_getnext): A SMUX subagent has to behave as if it manages the
963 whole SNMP MIB tree itself. It's the duty of the master agent to
964 collect the best answer and return it to the manager. See RFC 1227
965 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
966 bad here as it actually might ask multiple times for the same
967 GETNEXT request as it throws away the answer when it expects it in
968 a different subtree and might come back later with the very same
971 2000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
973 * command.c (cmd_init): Log related command are only installed for
976 2000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
978 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
980 * zebra.h: Remove #warn directive.
982 2000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
984 * keychain.c (keychain_init): Register "key chain" command to
985 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
987 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
990 * command.c (config_end): Likewise.
992 * keychain.c (keychain_get): Key is sorted by it's identifier
995 2000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
997 * linklist.c (list_delete_all_node): Call delete function if it is
1000 * command.c (cmd_execute_command_strict): Add modification for
1002 (cmd_execute_command_strict): Remove first argument cmdvec because
1003 it is global varibale in command.c.
1005 2000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1007 * command.c (cmd_init): Install
1008 copy_runningconfig_startupconfig_cmd only in terminal mode.
1010 * linklist.c (list_delete_node): Simplify the function.
1011 (listnode_lookup): Renamed from list_lookup_node.
1013 2000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1015 * stream.h: Undef stream_read and stream_write without
1018 * newlist.c: File removed.
1020 * newlist.h: Likewise.
1022 * linklist.c (list_new): Remove list_init(). To allocate new
1023 linked list, please use list_new().
1024 (listnode_add): Remove list_add_node(). To add new node to linked
1025 list, please use listnode_add().
1026 (list_delete_by_val): Revemove fucntion.
1028 2000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
1030 * table.c (route_table_free): Reimplement route_table_free().
1032 2000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1034 * keychain.c (keychain_get): Register key_delete_func to key
1035 list's delete function. Use linklist.c instead of newlist.c.
1037 2000-10-04 Akihiro Mizutani <mizutani@dml.com>
1039 * filter.c (access_list_remark): Add access-list's remark command.
1040 (no_access_list): "no access-list 100 permit any" error message
1043 2000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1045 * memory.h (enum): Add MTYPE_SOCKUNION.
1047 2000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1049 * zebra-0.89 is released.
1051 2000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1053 * linklist.c (list_add_node_head): Delete unused function.
1054 (list_add_node_tail): Likewise.
1056 2000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1058 * stream.c (stream_read_unblock): Add new function for unblocking
1061 2000-09-26 Jochen Friedrich <jochen@nwe.de>
1063 * smux.c (smux_register): Fix bug of can't register more than one
1066 2000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
1068 * vty.c (vty_close): Fix memory leak of sb_buffer.
1069 (vty_new): Likewise.
1071 2000-09-21 steve@Watt.COM (Steve Watt)
1073 * log.h: Do not declare zlog_priority[0] variable.
1075 2000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1077 * linklist.h (struct _list ): Add member cmp for compare function.
1078 (struct _list ): Member up is deleted
1080 2000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
1082 * if.c: Include RIP_API header when RIP API is enabled.
1084 2000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1086 * prefix.c (prefix_free): Siplify prefix_free().
1088 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
1090 2000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1092 * zebra.h: Merge roken.h into zebra.h.
1094 2000-09-05 Akihiro Mizutani <mizutani@dml.com>
1096 * routemap.c (route_map_init_vty): Install route-map command to
1099 2000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1101 * thread.c (thread_get_id): Remove pthread related garbage.
1103 * command.h (struct host): Likewise.
1105 * zebra.h: Likewise.
1107 2000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1109 * command.h (node_type ): Add AAA node for authentication.
1111 * vty.c (vty_close): Do not close stdout.
1113 2000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1115 * vty.c (vty_init_vtysh): Added for vtysh.
1117 * distribute.c (districute_list_prefix_all): Interface independent
1119 (distribute_list_all): Likewise.
1120 (config_show_distribute): Display current distribute-list status
1121 for "show ip protocols".
1123 2000-08-18 Akihiro Mizutani <mizutani@dml.com>
1125 * command.c (config_terminal_no_length): no terminal monitor ->
1127 (cmd_init): Do not install service_terminal_length_cmd into
1130 * vty.c (terminal_no_monitor): no terminal length -> terminal no
1133 2000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1135 * zebra-0.88 is released.
1137 2000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
1139 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
1140 better IAC handling.
1142 * vty.c (vty_telnet_option): Change telnet option handling.
1144 2000-08-15 Gleb Natapov <gleb@nbase.co.il>
1146 * zclient.c (zclient_redistribute_unset): New function added.
1148 2000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1150 * zclient.c (zebra_interface_add_read): Change ifindex restore
1151 size from two octet to four.
1152 (zebra_interface_state_read): Likewise.
1153 (zebra_interface_address_add_read): Likewise.
1155 2000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1157 * vty.c (vty_event): Use vector_set_index() instead of
1160 2000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1162 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
1163 Administrative Distance of each protocol.
1165 2000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1167 * if.h (struct interface ): Add new member bandwidth to struct
1170 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
1171 (zebra_interface_state_read): Likewise.
1173 2000-08-07 Gleb Natapov <gleb@nbase.co.il>
1175 * routemap.c (route_map_event_hook): New hook route_map_event_hook
1176 is added. This hook is called when route-map is changed. The
1177 parameters passed to the hook are 'event' and 'route-map name'
1179 * routemap.h: Add prototype for route_map_event_hook().
1181 2000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1183 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
1184 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
1186 * routemap.c (route_map_empty): Add new function.
1187 (route_map_delete): Use route_map_index_delete() instead of
1188 route_map_index_free().
1189 (route_map_index_free): Function removed.
1191 2000-08-06 Gleb Natapov <gleb@nbase.co.il>
1193 * routemap.c (route_map_index_delete): Add check for route-map is
1196 2000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1198 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
1201 2000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1203 * zclient.h (struct zebra): Add obuf for output buffer.
1205 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
1208 2000-08-02 David Lipovkov <davidl@nbase.co.il>
1210 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
1211 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
1213 * if.c (interface_pseudo): Add "pseudo" command to interface node.
1214 (no_interface_pseudo): Add "no pseudo" command to interface node.
1216 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
1219 2000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1221 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
1222 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
1224 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
1226 2000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1228 * vty.c: Use vector for VTY server thread listing instead of
1231 2000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1233 * keychain.c (no_key_chain): "no key chain WORD" command is added.
1235 2000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1237 * command.c (config_from_file): If command fail in
1238 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
1240 * vty.h (struct vty ): Add index_sub member.
1242 2000-07-27 Akihiro Mizutani <mizutani@dml.com>
1244 * if.c: Help strings updates.
1246 2000-07-11 Akihiro Mizutani <mizutani@dml.com>
1248 * command.c (no_config_enable_password): Add "no enable password"
1250 (config_write_host): Display password string.
1252 * routemap.c (route_map_delete_match): Add support for delete
1253 match without argument.
1254 (route_map_delete_set): Likewise.
1256 2000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1258 * command.h (node_type ): Change KEYCHAIN_NODE and
1259 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
1261 2000-07-09 Jochen Friedrich <jochen@scram.de>
1263 * smux.c (config_write_smux): Fixes the option to override OID and
1266 2000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1268 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
1270 2000-07-09 Toshiaki Takada <takada@zebra.org>
1272 * command.c: Sort descvec command's help.
1274 * vty.c (vty_describe_command): Display '<cr>' at the end of
1277 2000-07-05 Toshiaki Takada <takada@zebra.org>
1279 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
1280 treatment of double colon.
1282 2000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1284 * zclient.h: Add zclient_redistribute_default_{set,unset}().
1286 * keychain.c: New file for authentication key management.
1287 * keychain.h: Likewise.
1289 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
1291 * tcpfilter.h: Likewise.
1293 * flap.h: New file for route flap dampening.
1296 2000-07-04 Toshiaki Takada <takada@zebra.org>
1298 * filter.c (struct filter): Add exact flag.
1299 (access_list): Add exact-match command.
1300 (ipv6_access_list): Add exact-match command.
1302 2000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1304 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
1305 request default route.
1307 2000-07-01 Hideaki YOSHIFUJI (
\e$B5HF#1QL@
\e(B) <yoshfuji@ecei.tohoku.ac.jp>
1309 * smux.c: Add IPv6 smux connection code.
1311 2000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1313 * vty.c (vty_complete_command): To cooperate readline library,
1314 returned string is newly allocated. So some match function case
1315 need, free of memory.
1317 2000-06-12 Akihiro Mizutani <mizutani@dml.com>
1319 * distribute.c: Fix help strings.
1321 2000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1323 * command.c (cmd_complete_command): Add check for vector_slot
1324 (vline, index) is not NULL when calculating lcd.
1325 (cmd_entry_function): First check variable arguemnt to prevent it
1328 2000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1330 * vty.h (struct vty ): Add output_count member for displaying
1331 output route count. Remove arugment arg from output_func because
1332 the value is passed by vty argument. Change output to output_rn.
1333 Add output_clean function pointer member. Add output_type member.
1335 2000-06-10 Toshiaki Takada <takada@zebra.org>
1337 * command.c (show_startup_config): Add "show startup-config"
1340 2000-06-06 Akihiro Mizutani <mizutani@dml.com>
1342 * filter.c: Fix help strings.
1344 2000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1346 * prefix.h (struct prefix_rd): New prefix structure for routing
1348 (struct prefix): Add padding to every prefix structure.
1351 * routemap.c (route_map_add_match): When completely same match
1352 statement exists, don't duplicate it.
1354 2000-06-05 Akihiro Mizutani <mizutani@dml.com>
1356 * routemap.c: Change NAME to WORD.
1358 * plist.c: Fix help strings.
1360 2000-06-02 Akihiro Mizutani <mizutani@dml.com>
1362 * routemap.c: Fix route-map help strings.
1364 2000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1366 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
1367 to filter other non vararg commands.
1369 * routemap.c (route_map_init_vty): Use install_default() for
1370 install common commands into route-map node..
1372 2000-06-01 Akihiro Mizutani <mizutani@dml.com>
1374 * command.h (OSPF_STR): Macro added.
1376 2000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1378 * command.c (cmd_complete_command): LCD completion must not modify
1379 installed command string.
1381 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
1382 X:X::X:X to X:X::X:X/M.
1384 2000-05-31 Toshiaki Takada <takada@zebra.org>
1386 * vty.c (show_history): New defun added.
1388 2000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1390 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
1391 list. CMD_COMPLETE_MATCH is used for LCD completion.
1393 * vty.c (vty_complete_command): Matched string's LCD is completed.
1395 * command.c (cmd_lcd): New function for calculate LCD of matched
1398 2000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1400 * command.c (install_default): config_write_terminal_cmd,
1401 config_write_file_cmd, config_write_memory_cmd are added to
1404 * memory.c (memory_init): Divide show memory command into each
1407 * command.c (cmd_init): config_write_terminal_cmd,
1408 config_write_file_cmd, config_write_memory_cmd are added to
1411 * routemap.c (route_map_index_free): New function.
1412 (no_route_map_all): New DEFUN for "no route-map NAME".
1414 * filter.c (no_access_list_all): New DEFUN for delete access-list
1416 (no_ipv6_access_list_all): Likewise.
1418 2000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1420 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
1421 specified, user can not use "ge" and "le" statement.
1423 2000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
1425 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
1427 * table.c (route_table_free): Like wise.
1429 2000-05-22 Toshiaki Takada <takada@zebra.org>
1431 * vty.c (vty_stop_input): Set history pointer to the latest one.
1433 * vty.c (vty_hist_add): Do not add command line history when input
1434 is as same as previous one.
1436 2000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1438 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
1440 2000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1442 * command.h (node_type ): Add BGP_VPNV4_NODE.
1444 2000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1446 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
1447 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
1449 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
1450 IPv4 example. Reported by: Love <lha@s3.kth.se>.
1452 * command.c (cmd_complete_command): Make it sure last element of
1453 matchvec is NULL. This fix problem which cause crush in
1454 vty_complete_command(). Reported by: JINMEI Tatuya
1455 <jinmei@isl.rdc.toshiba.co.jp>.
1457 2000-04-28 Love <lha@s3.kth.se>
1459 * prefix.h (struct prefix): Add padding.
1461 2000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1463 * command.c (show_version): Update copyright year.
1465 2000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1467 * routemap.c (route_map_apply): When map is NULL, return deny.
1469 2000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1471 * filter.c (access_list_apply): When access is NULL, return deny.
1473 * plist.c (prefix_list_apply): When plist is NULL, return deny.
1475 2000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1477 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
1479 2000-04-18 Toshiaki Takada <takada@zebra.org>
1481 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
1482 Add argument for hook function to give struct access_list *.
1484 2000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1486 * plist.c (prefix_list_entry_match): In case of le nor ge is
1487 specified, exact match is performed.
1488 (prefix_list_entry_match): Add any entry matching check.
1490 2000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1492 * vty.c (exec_timeout): Separate timeout setting to minutes and
1494 (no_exec_timeout): Add "no exec-timeout" command.
1496 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
1499 2000-03-31 Jochen Friedrich <jochen@scram.de>
1501 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
1502 it is a primitive encoding and not constructed.
1504 2000-03-28 Toshiaki Takada <takada@zebra.org>
1506 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
1508 2000-03-26 Love <lha@s3.kth.se>
1510 * zclient.c (zclient_read): Add nbytes size check for
1511 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
1513 2000-03-26 Rick Payne <rickp@rossfell.co.uk>
1515 * routemap.c: Add flexible route-map commands such as on-match
1516 next, on-match goto N.
1518 * routemap.h: Likewise
1520 2000-03-23 Adrian Bool <aid@u.net.uk>
1522 * command.c (config_log_trap): Add new command "log trap
1525 2000-03-14 Toshiaki Takada <takada@zebra.org>
1527 * memory.c (struct memory_list): Add Link List and Link Node
1530 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
1532 2000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1534 * str.c (snprintf): Fix bug of calling sprintf instead of
1537 2000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1539 * memory.h (enum): Add MTYPE_RIP_PEER.
1541 2000-01-15 Toshiaki Takada <takada@zebra.org>
1543 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
1545 2000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1547 * command.h (node_type ): Add MASC_NODE for masc.
1549 2000-01-09 Wang Jianliang <wangjl@soim.net>
1551 * routemap.c (route_map_index_add): When route_map_index is not
1552 empty and insert new item at the head, it can cause core dump.
1553 Fix "if (index == map->head)" to "if (point == map->head).
1554 (route_map_add_set): If there is an old set command, override old
1555 set command with new one.
1556 (route_map_index_delete): Use while() instead of for for() for
1557 logical correctness.
1559 1999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1561 * memory.h (enum): Add MTYPE_BGP_STATIC.
1563 1999-12-23 Alex Zinin <zinin@amt.ru>
1564 * zebra.h, zclient.*: dynamic int up/down message
1567 1999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1569 * thread.c (thread_cancel_event): Add a function for clean up
1572 1999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1574 * dropline.c: Delete file.
1575 dropline.h: Linewise.
1577 1999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1579 * filter.c (access_list_filter_delete): Wrong pointer
1580 access->master was pointed out after access is freed. I store
1581 master value at the beginning of the function.
1583 1999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1585 * vty.c (exec_timeout): Change of VTY timeout affect to current
1587 (vty_accept): Instead of immediate exit() return -1.
1589 1999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1591 * vty.c (vty_configure_lock): Configuration lock function added.
1592 Only one VTY can use CONFI_NODE at the same time.
1594 * log.c: Delete zvlog_* functions. Now zlog_* does the same
1597 * log.c (log_init): Function removed.
1598 (log_close): Likewise.
1599 (log_flush): Likewise.
1600 (log_open): Likewise.
1602 * vty.c (terminal_monitor): Add new command.
1603 (no_terminal_monitor): Likewise.
1605 * log.c (old_log): Function removed.
1606 (old_log2): Likewise.
1607 (old_log_warn): Likewise.
1609 1999-12-04 Toshiaki Takada <takada@zebra.org>
1611 * command.c (cmd_ipv6_match): New function added.
1612 (cmd_ipv6_prefix_match): Likewise.
1614 1999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1616 * command.c (cmd_ipv6_match):
1618 * table.c: Delete #ifdef HAVE_MBGPV4.
1620 * prefix.h (struct prefix): Add safi member.
1621 (struct prefix_ipv4): Likewise.
1622 (struct prefix_ipv6): Likewise.
1624 1999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
1626 * memory.c (struct mstat): Revert to support MEMORY_LOG.
1628 1999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1630 * version.h: Bump up to 0.81c for testing new kernel codes.
1632 1999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1634 * thread.h (struct thread): Pthread support is disabled all
1637 1999-11-21 Michael Handler <handler@sub-rosa.com>
1639 * Include <limits.h> and <strings.h> under SUNOS_5.
1641 1999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1643 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
1644 1999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1646 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
1648 1999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1650 * command.c (disable): Add `disable' command.
1652 1999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1654 * plist.c (vty_prefix_list_install): Add any check.
1656 1999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1658 * command.h (node_type ): Add DUMP_NODE.
1660 1999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1662 * smux.c: Change default SMUX oid to compatible with gated.
1664 1999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1666 * if_rmap.c: New file added.
1668 * if_rmap.h: New file added.
1670 1999-10-29 Alex Zinin <zinin@amt.ru>
1672 * hash.c: add hash_free() function
1674 1999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1676 * hash.c (hash_clean): Add clean function.
1678 * plist.c (prefix_list_reset): Add reset function.
1680 * filter.c (access_list_reset): Add reset function.
1682 1999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1684 * client.c: Merged with zclient.c.
1685 * client.h: Merged with zclient.h.
1687 1999-10-15 Jordan Mendelson <jordy@wserv.com>
1689 * md5.c: Imported from GNU C Library.
1690 * md5-gnu.h: Likewise.
1692 1999-10-15 Jochen Friedrich <jochen@scram.de>
1694 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
1696 1999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1698 * smux.h: New file added.
1700 * snmp.c: Rename to smux.c.
1702 1999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1704 * command.c (cmd_execute_command_strict): Filter ambious commands.
1705 (cmd_filter_by_string): Change to return enum match_type.
1707 1999-10-01 Toshiaki Takada <takada@zebra.org>
1709 * vty.c (vty_describe_fold): New function which does VTY
1710 description line fold.
1711 * vty.c (vty_describe_command): Set description column.
1713 1999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1715 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
1717 1999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1719 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
1720 CMD_IPV4_PREFIX check. Both return type must be exact_match.
1722 1999-09-24 Toshiaki Takada <takada@zebra.org>
1724 * command.c (cmd_filter_by_completion),
1725 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
1726 parameter matches range.
1728 1999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1730 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
1733 1999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1735 * vty.c (vty_read): Control-C stop VTY_MORE mode.
1737 1999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1739 * command.h (node_type ): Add ACCESS_IPV6_NODE and
1742 * distribute.h: New file added.
1744 * command.h (node_type ): Delete DISTRIBUTE_NODE.
1746 1999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1748 * vty.c (vty_terminate_all): New function added for reload
1751 1999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1753 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
1755 1999-08-31 Janos Farkas <chexum@shadow.banki.hu>
1757 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
1758 esc-ctrl-h (delete word backwards).
1760 1999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1762 * if.h: Add if_nametoindex for NRL.
1764 1999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1766 * if.c (if_create): New function.
1768 1999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1772 1999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1774 * stream.c (stream_put): stream_memcpy () is changed to stream_put
1775 (). stream_get () is added.
1777 1999-08-18 Toshiaki Takada <takada@zebra.org>
1779 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
1781 1999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1783 * table.c (route_table_finish): add function frees table.
1785 1999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1787 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
1789 1999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1791 * if.h (struct interface ): hw_address, hw_address_len added.
1793 1999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1795 * if.h (struct interface ): Change structure member if_data to
1796 info, index to ifindex.
1798 1999-08-08 Rick Payne <rickp@rossfell.co.uk>
1800 * routemap.c: Multi protocol route-map modification.
1802 * routemap.c (route_map_apply): Route match process bug is fixed.
1804 1999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1806 * thread.c (thread_fetch): When signal comes, goto retry point.
1808 1999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1810 * Makefile.am: Add sockopt.c and sockopt.h
1811 * sockopt.c: New file.
1812 * sockopt.h: New file.
1814 1999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1816 * version.h (ZEBRA_VERSION): Release zebra-0.75
1818 1999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1820 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
1822 1999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1824 * sockunion.h: Add sockunion_getpeername ().
1826 1999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1828 * version.h: Release zebra-0.74
1830 1999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1832 * command.h (struct host): Delete lines from struct host. Add
1833 lines to struct vty.
1835 * command.c: Delete `lines LINES'. Terminal display line settings
1836 should be done by `terminal length' command.
1838 1999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1840 * memory.h (enum): MTYPE_OSPF_PATH are added.
1842 1999-07-22 Toshiaki Takada <takada@zebra.org>
1844 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
1846 1999-07-21 Toshiaki Takada <takada@zebra.org>
1848 * linklist.c (list_add_node_prev), (list_add_node_next),
1849 (list_add_list): New function added.
1851 * table.c (route_table_free): New function added.
1853 1999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1855 * plist.c (config_write_prefix): Set write flag when configuration
1858 1999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1860 * prefix.c : prefix_cmp() added. change apply_mask() to
1861 apply_mask_ipv4(), and new apply_mask() added.
1863 1999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1865 * prefix.c (prefix2str): append prefixlen.
1867 1999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1869 * command.c (config_terminal): Change "config terminal" to
1870 "configure terminal". Reported by Georg Hitsch
1872 (config_terminal_length): `terminal length <0-512>' is added. At
1873 this moment this command is only usef for vty interface.
1874 Suggested by Georg Hitsch <georg@atnet.at>.
1876 1999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1878 * routemap.c (rulecmp): Add wrapper function of strcmp.
1880 1999-07-08 Rick Payne <rickp@rossfell.co.uk>
1882 * sockunion.c (inet_aton): Fix bug of inet_aton.
1884 1999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1886 * version.h (ZEBRA_VERSION): Start zebra-0.73
1888 1999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1890 * version.h: Bump up to 0.72.
1892 1999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1894 * command.c (install_default): New function for install default
1895 commands to the node.
1897 * memory.h (enum): MTYPE_NEXTHOP is added.
1899 1999-07-01 <kunihiro@zebra.org>
1901 * command.c (no_banner_motd): `no banner motd' command added.
1903 1999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1905 * regex.c: Update to glibc-2.1.1's posix/regex.c
1907 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
1909 * prefix.h (IPV4_ADDR_SAME): Macro added.
1910 (IPV6_ADDR_SAME): Likewise.
1912 1999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1914 * memory.h (enum): Add MTYPE_OSPF_VERTEX
1916 * version.h: Bump up to 0.71.
1918 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
1919 VTY socket when IPv6 is enabled.
1921 1999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1923 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
1924 address family to bind.
1926 * command.c: Add quit command.
1928 1999-06-26 NOGUCHI kay <kay@dti.ad.jp>
1930 * vty.c (vty_read_config): Fix bug of configuration file path
1933 1999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1935 * version.h: Bump up to 0.70.
1937 1999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1939 * buffer.h (GETL): Remove GETL macro.
1941 * version.h: Bump up to 0.69.
1943 1999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1945 * if.c (connected_add): Commented out connected_log.
1947 1999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1949 * command.h (struct cmd_element ): strvec and descvec is combined
1952 * command.c (desc_make): Function removed.
1953 (desc_next): Function removed.
1955 * command.h (struct cmd_element ): docvec is removed from struct
1958 1999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1960 * command.c (cmd_execute_command): Remove command NULL check.
1962 * command.h (struct cmd_element ): Add newstrvec entry to struct
1964 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
1966 (DESC): DESC macro is removed.
1968 * vty.c (vty_complete_command): When return value is
1969 CMD_ERR_NO_MATCH, don't display error message.
1971 1999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1973 * table.c (route_next_until): New function.
1975 * version.h: Bump up to 0.68.
1977 1999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1979 * vty.c (vty_close): Free vty->buf when vty is closed.
1981 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
1982 MTYPE_COMMUNITY_LIST.
1984 * vty.h (struct vty ): Change buf from static length buffer to
1985 variable length buffer.
1987 * vty.c (vty_ensure): New function added.
1989 1999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1991 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
1993 * command.c (config_enable_password): Freeing host.enable bug is
1995 (config_enable_password): Add argc count check.
1997 1999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1999 * version.h: Bump up to 0.67.
2001 1999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2003 * command.c (zencrypt): New function for encrypt password.
2005 * command.h (struct host): Add password_encrypt and
2008 1999-05-30 Jochen Friedrich <jochen@scram.de>
2010 * command.h (struct host): New member encrypt is added for
2013 1999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2015 * vty.c: Remove all_digit_check function. Instead use all_digit.
2017 * prefix.c (all_digit): New function for checking string is made
2018 from digit character.
2020 1999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2022 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
2023 (noinst_HEADERS): Add zclient.h
2025 * zclient.[ch]: New file for zebra client routine.
2027 * memory.h (enum): Add MTYPE_ZEBRA.
2029 1999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2031 * version.h (ZEBRA_VERSION): Update to 0.66.
2033 1999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2035 * buffer.h (GETC,GETW): Macro deleted.
2037 1999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2039 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
2041 1999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2043 * vty.c (service_advanced_vty): New command added.
2044 (no_service_advanced_vty): Likewise.
2046 1999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2048 * vty.c (vty_auth): If advanced flag is set and enable password is
2049 not set, directly login to the ENABLE_NODE. This feature is
2050 originally designed and implemented by Stephen R. van den Berg
2053 * command.h (host): Add advanced flag to struct host for advanced
2054 vty terminal interface.
2056 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
2058 1999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2060 * command.h (node_type ): Add TABLE_NODE.
2062 * vty.c (vty_telnet_option): Check host.lines value.
2064 * command.c (config_lines): DEFUN for 'lines LINES' command.
2066 * zebra.h: Include <sys/utsname.h> for uname().
2067 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
2070 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
2071 password is not set.
2072 (vty_prompt): Get machine's hostname when hostname is not set.
2074 1999-05-11 James Willard <james@whispering.org>
2076 * command.c (config_exit): Close connection when `exit' command is
2077 executed at ENABLE_NODE.
2079 1999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2081 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
2083 * command.c (cmd_execute_command_strict): Matched command size
2085 (cmd_make_desc_line): New function for DEFUN2.
2087 * command.h (struct cmd_element ): Add descsize.
2089 1999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2091 * command.h (struct cmd_element ): Remame descvec to docvec.
2092 (struct cmd_element ): Add descvec for new description system.
2094 * command.c (desc_make): Check cmd->descvec.
2096 1999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2098 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
2100 1999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2102 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
2105 1999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2107 * linklist.c (list_delete_all_node): bug fix.
2108 previous code loses current position when node
2111 1999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2113 * command.h (DESC): Macro added.
2114 (struct cmd_element2): Delete struct cmd_element2.
2116 * plist.c (prefix_list): Sequential number option check is added.
2118 1999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2120 * log.c (zvlog_{debug,info,notice,warn,err}): have been
2121 added. now we can log both console and file, but still
2122 need some fix about config write.
2124 1999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2126 * log.c (zvlog_debug): Fix yasu's change.
2128 1999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2130 * plist.c (prefix_list): Fix typo.
2132 1999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2134 * Set version to 0.63 for first beta package.
2136 1999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2138 * prefix.c (str2prefix_ipv4): Fix prefix length check.
2139 (str2prefix_ipv6): Likewise.
2141 1999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2143 * memory.h (enum): Add MTPYE_PREFIX_LIST and
2144 MTYPE_PREFIX_LIST_ENTRY.
2146 * command.h (node_type ): Add PREFIX_NODE.
2148 1999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2150 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
2151 (copy_runningconfig_startupconfig_cmd) is added.
2153 * table.c (route_node_lookup): Unused match variable deletion.
2155 1999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2157 * Makefile.am (libzebra_a_SOURCES): plist.c added.
2158 (noinst_HEADERS): plist.h added.
2160 * plist.c, plist.h: New file added.
2162 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
2163 * memory.c: Likewise.
2165 1999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2167 * command.c (show_version): `show version' command added.
2169 1999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2171 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
2173 1999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2175 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
2177 1999-04-19 Alex Bligh <amb@gxn.net>
2179 * prefix.c (sockunion2hostprefix): Function added.
2180 (sockunion2prefix): Address family was not set. Now it is set.
2182 * vty.c: VTY access-class command is added.
2184 1999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2186 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
2187 xstrdup are likewise.
2189 1999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2191 * thread.c: Add thread_execute for other routing daemon.
2192 OSPF tasks need to be generated by "sheduled" and "executed".
2194 1999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2196 * buffer.c: Rewrite buffer_write and buffer_flush related
2197 functions for fixing bugs. Reason of the problem and fix is
2198 suggested by Alex Bligh <amb@gxn.net>.
2200 1999-04-12 Alex Bligh <amb@gxn.net>
2202 * command.c (cmd_entry_function_descr): Added for variable
2203 argument help display.
2205 1999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2207 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
2209 1999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2211 * stream.c: stream_fifo_free bug is fixed.
2213 1999-03-19 Toshiaki Takada <takada@zebra.org>
2215 * stream.c (stream_strncpy): Added for getting any length bytes
2218 1999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2220 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
2222 1999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2224 * buffer.c (buffer_flush_window): If ep is same as buffer's size
2225 length and lp is overrun one octet.
2227 1999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2229 * vty.h: add VTY's timeout function.
2231 1999-03-05 <kunihiro@zebra.org>
2233 * command.h (node_type ): Add OSPF6_node.
2235 1999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2237 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
2239 1999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
2241 * zebra.h: Include <net/if_var.h> if it exists.
2243 1999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2245 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
2247 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
2249 * command.h: Include vector.h and vty.h
2251 1999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2253 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
2255 * routemap.c (route_map_apply_index): Add prefix argument.
2256 (route_map_apply): Likewise.
2258 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
2260 * stream.c: Add stream_fifo related functions.
2262 1999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2264 * daemon.c: Return integer value. File descriptor close is added.
2266 * memory.h (enum): add MTYPE_OSPF_LSA.
2268 1999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2270 * rsh.c: Remove empty file.
2272 1999-02-22 <kunihiro@zebra.org>
2274 * routemap.c: Add add/delete hook to route_map_master.
2276 1999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
2278 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
2279 strlcpy on system without these.
2281 1999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2283 * syslog support added
2285 1999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2287 * filter.c (access_list_add_hook): added for hook function management.
2288 * filter.c (access_list_delete_hook): Likewise.
2290 1999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2292 * stream.c: New file.
2293 * stream.h: New file.
2294 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
2296 1999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2298 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
2300 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
2302 1998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2304 * routemap.c: route_map_index_delete() added.
2306 1998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2308 * buffer.c (buffer_empty): check cp instead of sp.
2310 1998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2312 * radix.[ch]: Deleted.
2314 1998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2316 * buffer.c: Prototype fixes.
2317 * prefix.c: Likewise.
2318 * sockunion.c: Likewise.
2319 * sockunion.h: Likewise.
2321 1998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2323 * vty.c (vty_read): DELETE key works as vty_delete_char.
2325 1998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2327 * log.c (time_print): chane %y to %Y.
2329 1998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2331 * distribute.c: new file.
2333 1998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2335 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
2336 complete support of IPv6 access list.
2338 * command.c (config_write_element): function delete.
2339 (config_write_host): function add. password and enable password
2340 isn't printed to vty interface.
2342 1998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2344 * filter.c: Change prefix_ipv4 to prefix and add support of
2345 prefix_ipv6 filtering.
2347 1998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2349 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
2352 1998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2354 * log.c (log_flush): fix function name typo.
2356 1998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2358 * memory.h: OSPF memory type is added.
2360 1998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2362 * command.c (sort_node): add sort_node() for pretty printing of
2363 command on vty interface.
2364 (config_password): delete the restriction of charaster of password
2367 1998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
2369 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
2371 1998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2373 * network.h: New file.
2375 1998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2377 * vty.c (vty_will_echo): function name change from vty_off_echo.
2379 1998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2381 * buffer.h: add PUTC,PUTW,PUTL macros.
2383 1998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2385 * route.[ch]: renamed to prefix.[ch]
2387 1998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2389 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
2391 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
2393 1998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2395 * host.[ch]: merged with command.[ch]
2397 1998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2399 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
2401 1998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2403 * route.c (str2prefix): str2prefix () is gone.
2405 1998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2407 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
2409 * .cvsignore: add file.
2411 * memory.c (xerror): add arguent `type' and `size'.
2413 * socket.c: deleted.
2415 1998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2417 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
2418 * linklist.c: same as above.
2420 1998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2422 * filter.[ch]: added.
2424 1998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2426 * vty.c (config_who): return CMD_SUCCESS
2428 1998-04-01 Jochen Friedrich <jochen@scram.de>
2430 * table.c (route_dump_node): route_dump_node is IPv6 specific
2431 function so move #ifdef to the end of route_dump_node ().
2433 1998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
2435 * if.c: DEFUN(interface_desc) added.
2437 1998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2439 * if.c: separated from ripd/rip_interface.c
2441 1998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2443 * thread.[ch] : added.
2445 1998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2447 * vty.c (vty_delete_char): fix size bug.
2448 (vty_backward_pure_word): function added.
2449 (vty_read): ESC + 'f' perform vty_forward_word.
2450 (vty_read): ESC + 'b' perform vty_backward_word.
2452 1998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2454 * radix.c (radix_lookup_rt): add mask check.
2455 (radix_delete_duproute): add mask check.
2457 1998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2459 * command.c (config_write_file): fix vty -> file_vty.
2461 1998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2463 * command.c (cmd_filter_ambiguous): add complex type treatment.
2465 1998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2467 * vty.c (vty_time_print): function added.
2468 (vty_complete_command): now [...] element isn't shown by completion.
2470 1998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2472 * command.c : change from cmd_install_node() to install_node().
2474 1998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2476 * route.[ch]: struct rt{} is replaced by struct prefix{}.
2478 1998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2480 * command.c (cmd_execute_command): check command length.
2482 * timer.c (zebra_timer_set): add zebra_timer_set.
2484 1998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2486 * command.h (node_type ): add ZEBRA_NODE.
2488 * command.c (config_exit): add RIP_NODE.
2489 (config_write_file): add RIP_NODE.
2491 1998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2493 * print_version.c (print_version): Now Copyright is 1996-1998.
2495 * sockunion.c (sockunion_log): moved from ../zebra/route.c
2497 1997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2499 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
2501 * sockunion.c (sockunion_sameprefix): add same prefix for
2504 1997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2506 * radix.[ch] : are moved from ../zebra directroy.
2508 * command.c (config_from_file): if command execution failed down
2509 level to CONFIG_NODE.
2511 * host.c: config_log function which enable 'log FILENAME' command.
2513 1997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2515 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
2516 transpose character.
2518 * command.c: cmd_cmdsize add, this is useful to check incomplete
2521 1997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2523 * fd.h: add family for address family
2525 1997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2529 * host.o is moved from ../zebra
2531 1997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2533 * make library directory.