blob: 736e3ae51d8673ebce88bab8e7cfd7ebe87c9aaf [file] [log] [blame]
ajsdb8eaac2005-03-16 16:13:06 +000012005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
3 * zebra.h: Must check whether __attribute__ should be defined before
4 including zassert.h.
5
paulb8961472005-03-14 17:35:52 +000062005-03-14 Paul Jakma <paul.jakma@sun.com>
7
8 * command.c: (sort_node) use vector_max instead of referencing
9 (struct vector *)->max directly. Test that vector_max is > 0
10 before using it to calculate an index.
11 Fixup vector loop to make main body conditional on vector slot
12 not being empty.
13 (cmd_cmdsize) Fixup vector loop to make main body conditional on
14 vector slot not being empty.
15 (cmd_filter_by_completion) ditto
16 (cmd_filter_by_string) ditto
17 (is_cmd_ambiguous) ditto
18 (cmd_describe_command_real) Change index integers to unsigned.
19 Test that vector_max is > 0 before using it to calculate an index.
20 Return immediately with CMD_ERR_NO_MATCH if vline has no
21 active slots.
22 Fixup vector loop to make main body conditional on vector slot
23 not being empty.
24 (cmd_complete_command_real) ditto.
25 (cmd_execute_command_strict) Fixup vector loop to be conditional
26 on non-null slot.
paul909a2152005-03-14 17:41:45 +000027 (various) Fix indentation and other whitespace.
paul55468c82005-03-14 20:19:01 +000028 vector.h: Rename to (struct vector).max to slightly less confusing
29 active, for the number of active slots, distinct from allocated
30 or active-and-not-empty. Rename vector_max to vector_active
31 for same reason.
paulb8961472005-03-14 17:35:52 +000032
paul9e92eea2005-03-09 13:39:26 +0000332005-03-09 Paul Jakma <paul.jakma@sun.com>
34
35 * command.c: Undo commit of sign warning fix and hidden command
36 in list_cmd. Sign warning is more subtle. list_cmd on its own
37 will be committed after.
paul4275b1d2005-03-09 13:42:23 +000038 * command.c: (config_list_cmd) Don't list hidden or deprecated
39 commands, hiding these from tab completion is still to be done.
paul9e92eea2005-03-09 13:39:26 +000040
paulb45da6f2005-03-08 15:16:57 +0000412005-03-08 Paul Jakma <paul.jakma@sun.com>
42
paul9c5d8562005-03-08 15:56:42 +000043 * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
paul22085182005-03-08 16:00:12 +000044 (no_banner_motd_cmd) use XFREE.
paul9c5d8562005-03-08 15:56:42 +000045 (cmd_describe_command_real) sign compile warning fix
46 (cmd_complete_command_real) ditto.
47 (config_list_cmd) Don't list hidden or deprecated commands,
48 hiding these from tab completion is still to be done.
49 * command.h: cmd attr enum should start at 1.
paulb45da6f2005-03-08 15:16:57 +000050 * vty.c: (vty_hello) suggestions from Andrew, read by line and
51 stub out trailling non-printable characters on each line thus
52 allowing us to specify VTY_NEWLINE to vty_out.
53
paul3b0c5d92005-03-08 10:43:43 +0000542005-03-08 Jeroen Massar <jeroen@unfix.org>
55
56 * vty.c: (vty_hello) display motd file, if set
57 * command.h: add char *motdfile to struct host
58 * command.c: (config_write_host) write out motdfile config
59 (banner_motd_file_cmd) new command, allow motd to be read from
60 file.
61 (no_banner_motd_cmd) free motdfile string, if needs be.
62 (cmd_init) init (struct host).motdfile. Add new motd file
63 commands.
64
hasso12f6ea22005-03-07 08:35:39 +0000652005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
66
67 * command.c: host.name might be NULL.
68 * vty.c: Fix fd leak.
69
ajs81fb3242005-02-24 16:02:53 +0000702005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
71
72 * stream.c: (stream_read_try) Log a warning message if a fatal
73 I/O error occurs.
74 (stream_fifo_new) Fix prototype.
75 * stream.h: Fix prototype for stream_fifo_new (need void arg).
76
ajs9fc7ebf2005-02-23 15:12:34 +0000772005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
78
ajscdb6ee92005-02-23 15:48:32 +000079 * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
80
812005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
82
ajs9fc7ebf2005-02-23 15:12:34 +000083 * buffer.h: Make the struct buffer and struct buffer_data structures
84 private by moving them inside buffer.c. Add comments for all
85 functions. Rename buffer_write as buffer_put (to be more consistent
86 with the buffer_putc and buffer_putstr functions). Declare a new
87 buffer_write function that is used to write data to a file descriptor
88 and/or add it to the buffer queue. Remove unused function
89 buffer_flush_vty_all. Create a new enum typedef buffer_status_t
90 to be used as the return code for all buffer_flush* functions
91 and buffer_write.
92 * buffer.c: The struct buffer and struct buffer_data declarations
93 are now private to this file. In conjunction with that, remove
94 some unnecessary fields: struct buffer (alloc, unused_head,
95 unused_tail, length), struct buffer_data (prev).
96 (buffer_data_new) Removed: functionality incorporated into buffer_add.
97 (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
98 (buffer_new) Use calloc instead of malloc + memset(zero).
99 Supply an appropriate default size if the specified size is 0.
100 (buffer_free) Eliminate code duplication by calling buffer_reset to
101 free the contents of the buffer (and remove unused code related
102 to unused_head).
103 (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
104 compact).
105 (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set
106 alloc and length to 0 (these fields have been removed).
107 (buffer_add) Fix scope to be static. Call XMALLOC directly instead
108 of calling removed buffer_data_new function. Simplify the logic
109 (since it's now a singly-linked list instead of doubly-linked).
110 (buffer_write) Renamed to buffer_put. Change to void, since return
111 code of 1 was meaningless. No need to adjust length field, since
112 it has been removed.
113 (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
114 Remove unused functions.
115 (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
116 a possible failure mode if IOV_MAX is less than the number of buffers
117 on the queue.
118 (buffer_flush_window) Incorporate logic from buffer_flush_vty.
119 Log an error message if there is a writev error.
120 (buffer_flush_available) Be more paranoid: check for case where
121 buffer is already empty. Use new ERRNO_IO_RETRY macro, and use
122 new enum for return codes. Simplify deletion logic (since it's
123 now a singly-linked list).
124 (buffer_write) New function for use with non-blocking I/O.
125 * vty.h: Replace the struct vty sb_buffer field with a fixed-size
126 (5-character) sb_buf field and an sb_len field, since using
127 a struct buffer was inappropriate for this task. Add some useful
128 comments about telnet window size negotiation.
129 * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
130 Remove VTY_OBUF_SIZE (instead use buffer_new default size).
131 Make telnet_backward_char and telnet_space_char static const.
132 (vty_out) Replace buffer_write with buffer_put.
133 (vty_log_out) Check for I/O errors. If fatal, close the vty session.
134 Consolidate 3 separate writes into a single write call.
135 (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
136 vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
137 vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
138 vty_config_write,vty_save_cwd) Fix scope to static.
139 (vty_new) Let buffer_new use its default buffer size.
140 (vty_write) Fix signature: 2nd arg should be const char *.
141 Replaced buffer_write with buffer_put.
142 (vty_telnet_option) Fix minor bug (window height or width greater than
143 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer
144 (which was being used improperly).
145 (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
146 If the error is fatal, call buffer_reset so vty_close does not attempt
147 to flush the data. Use new sb_buf and sb_len instead of sb_buffer
148 to store the SB negotiation string.
149 (vty_flush) When vty->lines is 0, call buffer_flush_available instead
150 of buffer_flush_window. Look at the return code from buffer_flush
151 to detect I/O errors (and in that case, log an error message and
152 close the vty).
153 (vty_create) Fix scope to static. Initialize sb_len to 0 instead
154 of creating sb_buffer.
155 (vty_accept) Set socket nonblocking.
156 (vtysh_accept) Use new set_nonblocking function instead of calling
157 fcntl directly.
158 (vtysh_flush) New function called from vtysh_read (after command
159 execution) and from vtysh_write. This flushes the buffer
160 and reacts appropriately to the return code (by closing the vty
161 or scheduling further flushes).
162 (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
163 If not, just try again later. Otherwise, call buffer_reset before
164 calling vty_close (to avoid trying to flush the buffer in vty_close).
165 Fix logic to allow case where a command does not arrive atomically
166 in a single read call by checking for the terminating NUL char.
167 (vtysh_write) Use new vtysh_flush helper function.
168 (vty_close) No need to call buffer_empty, just call buffer_flush_all
169 in any case (it will check whether the buffer is empty).
170 Do not free sb_buffer (since it has been removed).
171 (vty_log_fixed) Use writev instead of write.
172 * zebra.h: Do not include <arpa/telnet.h>, since this is used only
173 by lib/vty.c.
174
hassoc3c07f22005-02-21 18:17:52 +00001752005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
176
177 * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
178 will allow to update node when:
179 i) a node is inserted into the priority queue;
180 ii) a node position is modified in the priority queue;
181 * pqueue.h: Export trickle_down() function.
182
paul109ac962005-02-19 01:17:07 +00001832005-02-19 Paul Jakma <paul.jakma@sun.com>
184
185 * stream.c: (stream_new) fix dumb mistake.
186
ajsd7e2a812005-02-17 20:02:49 +00001872005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
188
ajs53270112005-02-17 20:07:22 +0000189 * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.
190
1912005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
192
ajsd7e2a812005-02-17 20:02:49 +0000193 * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
194 operation should be retried. This eliminates the need to duplicate
195 the same logic testing for EAGAIN or EINTR in multiple places.
196
ajs42218e72005-02-16 16:25:39 +00001972005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
198
ajs262feb12005-02-16 20:35:47 +0000199 * stream.h: Declare new function stream_read_try suitable for use
200 with non-blocking file descriptors. Indicate that stream_read
201 and stream_read_unblock are deprecated.
202 * stream.c: (stream_read_try) New function for use with non-blocking
203 I/O.
204 (stream_recvmsg) Should return -1 if the stream is too small to
205 contain the data.
206
2072005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
208
ajs42218e72005-02-16 16:25:39 +0000209 * network.c: (set_nonblocking) Should check return code from
210 fcntl(F_GETFL).
211
ajsa269d612005-02-16 00:45:37 +00002122005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
213
214 * network.h: Declare new function set_nonblocking. Indicate that
215 readn and writen are deprecated.
216 * network.c: (set_nonblocking) New function to make a file descriptor
217 non-blocking, since it seems silly to have fcntl calls sprinkled
218 throughout the code.
219
paul1dd13d42005-02-14 23:49:09 +00002202005-02-14 Paul Jakma <paul.jakma@sun.com>
paulf2e6c422005-02-12 14:35:49 +0000221
222 * stream.h: Unsigned long updated to size_t
223 * stream.c: ditto
paul050c0132005-02-14 23:47:47 +0000224 * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
225 Add comment describing struct stream abstraction, and various
226 other comments.
227 Deprecate several unsafe/ambigious macros.
228 Add STREAM_WRITEABLE and STREAM_READABLE.
229 Add (stream_getl_from) for symmetry.
230 Update stream_forward_{endp,getp} to use size_t offset.
231 Make stream data a 0 length array, rather than a seperate malloc.
232 * stream.c: Add consistency checks. Update to follow stream.h
233 changes.
234 (stream_new) Alloc stream+data in one go.
235 (stream_copy) new function, copy a stream.
236 (stream_dup) new function, dup a stream.
237 (stream_recvmsg) new function, recvmsg data into a stream.
238 (stream_empty) no need to check getp == 0.
paulf2e6c422005-02-12 14:35:49 +0000239
paul9985f832005-02-09 15:51:56 +00002402005-02-09 Paul Jakma <paul.jakma@sun.com>
241
242 * stream.h: Remove putp. Update reference to putp with endp.
243 Add stream_forward_endp, which daemons were doing manually.
244 Rename stream_forward to stream_forward_getp.
245 stream.c: Remove/update references to putp.
246 introduce stream_forward_endp.
247
ajs548e6f72005-02-08 15:57:25 +00002482005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
249
250 * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
251 to use compound assignment operators (aesthetic change).
252
ajs1e221352005-02-03 16:42:40 +00002532005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
254
ajsc4c7d0c2005-02-03 19:22:05 +0000255 * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
256 since it is not async-signal-safe.
257 (_zlog_assert_failed) Rewrite crashlog logic more compactly.
258 (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
259 for use in signal handler.
260
2612005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
262
ajs1e221352005-02-03 16:42:40 +0000263 * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
264 inside this function only.
265 (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
266 with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
267 (zlog_signal,_zlog_assert_failed) Increase logging priority from
268 LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
269 open_crashlog to create a crash logfile.
270 (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
271 dump a backtrace to that file.
272
ajs847947f2005-02-02 18:38:48 +00002732005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
274
275 * if.h: Declare if_flag_dump.
276
ajs6a52d0d2005-01-30 18:49:28 +00002772005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
278
279 * daemon.c: (daemon) Replace perror with zlog_err.
280 * vty.c: (vty_serv_un) Replace perror with zlog_err.
281
ajs3b8b1852005-01-29 18:19:13 +00002822005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
283
284 * buffer.h: Fix comment on buffer_getstr to reflect that it now
285 uses XMALLOC.
286 * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
287 * filter.c: (access_list_remark,ipv6_access_list_remark) Use
288 argv_concat instead of buffer_getstr.
289 * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
290 * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
291 Use argv_concat instead of buffer_getstr.
292
ajsf6834d42005-01-28 20:28:35 +00002932005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
294
ajsafb8b602005-01-28 20:41:07 +0000295 * lib/buffer.h: Document behavior of buffer_getstr function.
296 * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
297 the string extends beyond the head struct buffer_data.
298
2992005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
300
ajsf6834d42005-01-28 20:28:35 +0000301 * lib/command.h: Document behavior of argv_concat function.
302 * lib/command.c: (argv_concat) Calculate total string length first so
303 we can call malloc just once (instead of realloc'ing to add each
304 string element).
305 (do_echo,config_logmsg) Allow for possible NULL return value from
306 argv_concat.
307
hasso13bfca72005-01-23 21:42:25 +00003082005-01-23 Hasso Tepper <hasso at quagga.net>
309
310 * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
311 use it as well.
312
ajs31364272005-01-18 22:18:59 +00003132005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
314
315 * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
316 two args (siginfo and program_counter).
317 * log.c: (hex_append) Include this function only if SA_SIGINFO or
318 HAVE_GLIBC_BACKTRACE is defined.
319 (zlog_signal) Final two args (siginfo and program_counter) now
320 depend on whether SA_SIGINFO is defined on this platform.
321 * sigevent.c: (program_counter) Do not include this function if
322 SA_SIGINFO is not defined on this platform.
323 (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
324 2nd & 3rd arguments are present and to decide how to invoke
325 zlog_signal.
326 (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
327 appropriately.
328
ajs239c26f2005-01-17 15:22:28 +00003292005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
330
331 * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
332 program_counter argument.
333 * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
334 argument. If it is non-NULL, use backtrace_symbols_fd to resolve
335 the address.
336 (zlog_signal) Call zlog_backtrace_sigsafe with additional
337 program_counter argument.
338
hasso87d683b2005-01-16 23:31:54 +00003392005-01-17 Hasso Tepper <hasso at quagga.net>
340
341 * command.[ch], vty.c: cmd_execute_command() function must not attempt
342 to walk up in the node tree if called from vtysh. Different daemons
343 might have commands with same syntax in different nodes (for example
344 "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
345
ajscb585b62005-01-14 17:09:38 +00003462005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
347
348 * command.c (print_version): Do not bother even to examine host.name,
349 since it is always NULL when this function is called from main.
350
gdtf867d322005-01-14 15:47:33 +00003512005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com>
352
353 * command.c (print_version): Don't print host.name if it is NULL.
354 Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
355
ajse22f5512005-01-12 16:18:17 +00003562005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
357
ajs40abf232005-01-12 17:27:27 +0000358 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
359 pass additional siginfo_t and ucontext_t arguments to core_handler
360 and exit_handler.
361 (core_handler,exit_handler) Now invoked with 3 arguments (using
362 SA_SIGINFO). Pass additional info to zlog_signal.
363 (program_counter) New function to find program counter in ucontext_t,
364 needs to be enhanced to support more platforms (currently works only
365 on Linux/x86).
366 * log.h: Change the zlog_signal prototype to add new arguments
367 siginfo_t * and program_counter.
368 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
369 Include si_addr and program counter (if non-NULL) in message.
370 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
371 that is now used to render the si_addr and PC pointers.
372
3732005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
374
ajse22f5512005-01-12 16:18:17 +0000375 * zebra.h: If not C99 and no va_copy macro available, fall back to
376 memcpy (solves a build problem on FreeBSD 4.x).
377
ajsb99760a2005-01-04 16:24:43 +00003782005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
379
380 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
381 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
382 by the configure test program).
383 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
384 of CMSG_FIRSTHDR.
385
hassocba8a602005-01-02 18:51:01 +00003862005-01-02 Hasso Tepper <hasso at quagga.net>
387
388 * command.c: Revert int -> unsigned int fixes in
389 cmd_describe_command_real() and cmd_complete_command_real(). index can
390 be actually negative and it caused crash with "do<TAB>" in vty.
391
gdt1d69fdf2004-12-29 18:53:30 +00003922004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
393
gdtd44debe2004-12-29 20:06:23 +0000394 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
395 convention. Beef up comments. Handle the case where the cmsghdr
396 has a zero controllen, or more specifically when the wanted option
397 is not present. This is needed for Solaris 8, and in general for
398 any platform for which configure finds a method and it can fail.
399 Mark some changes with XXX to be cleaned up post 0.98.
400
ajsaf04bd72004-12-28 17:00:12 +00004012004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
402
ajs1d75c8c2004-12-28 21:43:17 +0000403 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
404 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
405 deterministic (-1).
406
4072004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
408
ajsaf04bd72004-12-28 17:00:12 +0000409 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
410
paul4ba9b922004-12-21 22:34:58 +00004112004-12-21 Paul Jakma <paul.jakma@sun.com>
412
413 * if.h: Add more 'non-generic' IFF_ flags.
414 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +0000415 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +0000416
ajs202d08c2004-12-17 20:50:00 +00004172004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +0000418
419 * command.c: (do_echo) Added new "echo" command, useful for
420 watchdog pinging to make sure the daemon is responsive.
421
4222004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +0000423
424 * pid_output.c: (pid_output_lock) Eliminate static function, and just
425 use the #ifdef to decide which version of the function to include.
426 This eliminates a compilation problem with gcc4. And fix the
427 non-fcntl version so that it actually compiles. Exit with
428 status 1 instead of -1 on error.
429
ajs81fc57c2004-12-15 17:41:14 +00004302004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
431
432 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
433
ajs3378d202004-12-10 22:43:17 +00004342004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
435
436 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
437 LOG_ERR instead of LOG_EMERG.
438
ajsc3324c62004-12-09 17:26:31 +00004392004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
440
441 * log.c: (hex_append) No need to include this function if
442 HAVE_GLIBC_BACKTRACE is not defined.
443
ajsb9e70282004-12-08 17:14:45 +00004442004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
445
446 * prefix.c: (prefix_copy) Error message before abort should
447 have severity LOG_ERR, not LOG_INFO.
448 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
449
ajs274a4a42004-12-07 15:39:31 +00004502004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
451
ajs8ddca702004-12-07 18:53:52 +0000452 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
453
4542004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
455
ajs82146b82004-12-07 17:15:55 +0000456 * command.c: (config_write_host) Note that "log trap" is deprecated
457 when writing out the config.
458
4592004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
460
ajs274a4a42004-12-07 15:39:31 +0000461 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
462 array to support individual logging levels for each destination.
463 Remove the 2nd argument to openzlog since the default logging config
464 should be standardized inside the library. Replaced the
465 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
466 And zlog_set_file now requires an additional log_level argument.
467 Declare zlog_proto_names for use inside command.c in the
468 "show logging" command. Added defines useful for command
469 construction.
470 * log.c: (vzlog) Decide where to send the message based on the
471 individual logging levels configured for each destination.
472 Remove support for ZLOG_STDERR since it was never actually used.
473 Support record-priority for terminal monitors.
474 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
475 logging levels. Remove stderr support (was never used). Added
476 support for terminal monitor logging.
477 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
478 (openzlog) Remove 2nd argument since default config should be
479 standardized in library. By default, terminal monitoring
480 is set to debug, and all other logging is disabled.
481 (zlog_set_flag,zlog_reset_flag) Removed.
482 (zlog_set_level) New function to replace zlog_set_flag and
483 zlog_reset_flag. Supports destination-specific logging levels.
484 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
485 (zlog_rotate) Log an error message if fopen fails, and support
486 new file-specific logging level.
487 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
488 command functions will be static instead of global. Remove
489 declarations for config_exit and config_help. Define new macros
490 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
491 have deprecated commands in vtysh. Similarly, for completeness,
492 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
493 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
494 was never used).
495 * command.c: Make many functions static instead of global.
496 (facility_name,facility_match,level_match) New functions
497 to support enhanced destination-specific logging levels.
498 (config_write_host) Support new destination-specific logging levels.
499 (config_logmsg) Added new "logmsg" command to help test logging
500 system.
501 (show_logging) Added "show logging" command to show the current
502 configuration of the logging system.
503 (config_log_stdout_level) Support explicit stdout logging level.
504 (no_config_log_stdout) Now takes optional LEVEL arg.
505 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
506 New commands creating new "log monitor" commands to set terminal
507 monitoring log level.
508 (config_log_file_level) Support explicit file logging level.
509 (config_log_syslog_level) Support explicit syslog logging level.
510 (config_log_facility,no_config_log_facility) Implement new
511 "log facility" command.
512 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
513 "log stdout <level>", "log monitor", "log monitor <level>",
514 "no log monitor", "log file <filename> <level>",
515 "no log file <filename> <level>", "log syslog <level>",
516 "log facility", and "no log facility".
517 * vty.h: Added a "level" argument to vty_log so it can support
518 "log record-priority". Declare new function vty_log_fixed for
519 use in signal handlers.
520 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
521 "log record-priority" for vty terminal monitors.
522 (vty_down_level) Use config_exit_cmd.func instead of calling
523 config_exit directly (since command functions will now be static
524 instead of global).
525 (vty_log_fixed) New function to send terminal monitor messages
526 from inside a signal handler.
527
ajs887c44a2004-12-03 16:36:46 +00005282004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
529
ajs5e764772004-12-03 19:03:33 +0000530 * log.h: Document appropriate use of syslog logging priorities
531 inside quagga.
532
5332004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
534
ajs56f20692004-12-03 17:40:31 +0000535 * command.h: Remove fields log_stdout and log_syslog from struct host,
536 since they are just trying to duplicate information in the
537 zlog_default structure. Note that this fixes a bug since those
538 fields were not registering any logging that was established
539 in the initial call to openzlog (this affects only the zebra and
540 ospf6d daemons). It is probably a bug to turn on any logging by
541 default in the call to openzlog.
542 * command.c: (config_write_host) Get logging info from zlog_default
543 instead of now-removed fields host.log_stdout and host.log_syslog.
544 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
545 host.log_stdout, since this info is recorded in zlog_default.
546 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
547 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
548 Do not set now-removed field host.log_syslog, since this info is
549 recorded in zlog_default.
550
5512004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
552
ajs887c44a2004-12-03 16:36:46 +0000553 * version.h.in: Remove declaration for pid_output_lock, this function
554 is now static, not global.
555 * pid_output.c: (pid_output_lock) This function should be static, not
556 global. And remove "old umask" error message, since it was really
557 an unimportant debug message, not an error.
558 (pid_output) Need to declare static function pid_output_lock.
559
ajs7d149b82004-11-28 23:00:01 +00005602004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
561
562 * log.h: Remove several unused fields from struct zlog. Add comments
563 for other fields, and add one new field syslog_options that is
564 used in the new syslog_sigsafe implementation.
565 * log.c: (syslog_sigsafe) New function to send syslog messages in
566 an async-signal safe way that can be used inside a signal handler.
567 (syslog_connect) New function to connect to syslog daemon inside a
568 signal handler. This function supports only systems where /dev/log
569 is a unix datagram socket (e.g. not Solaris).
570 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
571 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
572 enabled.
573 (openzlog) Save syslog_options for use in syslog_sigsafe.
574 (num_append) Fix bug: handle 0 properly.
575 (hex_append) New function to print a u_long in hex format.
576
hasso2557aed2004-11-28 21:16:20 +00005772004-11-28 Hasso Tepper <hasso at quagga.net>
578
579 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
580
ajsd1c51d72004-11-26 14:14:30 +00005812004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
582
ajs48d6c692004-11-26 20:52:59 +0000583 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
584 to the more self-explanatory zlog_backtrace_sigsafe.
585
5862004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
587
ajs5b85fac2004-11-26 19:36:42 +0000588 * debug.[ch]: Remove unused files.
589 * Makefile.am: Remove references to debug.c and debug.h
590
5912004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
592
ajs063ee522004-11-26 18:11:14 +0000593 * log.c: (zlog_backtrace) New function to log a backtrace.
594 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
595 Unfortunately, this function does not support syslog logging yet.
596 (zlog_signal) Move backtrace code into separate function
597 zlog_backtrace_safe.
598 (_zlog_assert_failed) Call zlog_backtrace before aborting.
599 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
600 * memory.c: (zerror) Call zlog_backtrace before aborting.
601
6022004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
603
ajsd1c51d72004-11-26 14:14:30 +0000604 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
605
ajse5879ca2004-11-25 16:07:53 +00006062004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
607
ajs4cf0d0d2004-11-25 17:14:34 +0000608 * zebra.h: If not C99 and there's no va_copy macro and there is
609 a __va_copy macro, define va_copy as __va_copy.
610
6112004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
612
ajse5879ca2004-11-25 16:07:53 +0000613 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
614 set l_whence to SEEK_SET, not SEEK_END. And after writing new
615 pid to file, must ftruncate to eliminate any extraneous bytes left
616 over from the last time a pid was written.
617
ajscee3df12004-11-24 17:14:49 +00006182004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
619
620 * zassert.h: New header file to declare a quagga-specific assert macro.
621 * log.c: (_zlog_assert_failed) New function called when assert fails
622 to log the error and abort.
623 * zebra.h: Include "zassert.h" instead of <assert.h>.
624 * regex.c: Include "zassert.h" instead of <assert.h>.
625
ajsd246bd92004-11-23 17:35:08 +00006262004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
627
ajs59a06a92004-11-23 18:19:14 +0000628 * sigevent.c: (signal_init) Set up some default signal handlers
629 so that processes will issue an error message before terminating
630 or dumping core.
631 (trap_default_signals) New function to set up signal handlers
632 for various signals that may kill the process.
633 (exit_handler) Call zlog_signal, then _exit.
634 (core_handler) Call zlog_signal, then abort.
635 * log.h: Declare new function zlog_signal.
636 * log.c: (zlog_signal) New function to log information about
637 a received signal before the process dies. Try to log a
638 backtrace also.
639 (quagga_signal_handler,signal_set) Should be static.
640
6412004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
642
ajsd246bd92004-11-23 17:35:08 +0000643 * log.c: (vzlog) Take a single va_list argument and use va_copy
644 as necessary for multiple traversals.
645 (zlog) Pass only one va_list to vzlog.
646 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
647 va_list to vzlog.
648 (zlog_set_file) Remove unused 2nd argument (flags).
649 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
650 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
651 Remove unused 2nd argument from zlog_set_file prototype.
652 Fix prototype for zlog_rotate.
653 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
654 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
655 properly.
656 (vty_log) Must use va_copy for multiple traversals of va_list arg.
657
ajsca359762004-11-19 23:40:16 +00006582004-11-19 David Young <dyoung@pobox.com>
659
660 * log.c: (safe_strerror) New function: safe wrapper for strerror.
661
ajsff29bb32004-11-19 18:29:22 +00006622004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
663
664 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
665 printed every time.
666
ajsf858e492004-11-16 14:25:30 +00006672004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
668
669 * memory.h: Fix prototype for memory_init().
670 * memory.c: Declare many functions and data structures static instead
671 of global. Fix prototype for memory_init().
672
gdt69e13252004-11-15 18:51:15 +00006732004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
674
675 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
676 alignment (users should use CMSG_SPACE).
677
678 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
679 asumming 4-byte alignment, since this isn't safe.
680
ajs7fa25ff2004-11-15 16:12:32 +00006812004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
682
683 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
684 Instead of exiting, log currenty memory usage and then abort.
685 (log_memstats) New function to log memory statistics, called by
686 zerror.
687 (show_memory_all) Loop over new mlists array instead of calling
688 show_memory_vty separately for each memory_list.
689
paulb86718e2004-11-08 17:34:07 +00006902004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +0000691
paul2265d202004-11-08 15:43:21 +0000692 * buffer.c: Add missing include of log.h.
693 (buffer_flush_available) written is compared against
694 mostly against unsigned types, only for the writev do we need
695 signed compare, so declare it as size_t and cast it to ssize_t
696 just for the error compare when we've called writev.
697 * buffer.h: Add comment that buffer data sizes really should be
698 size_t.
699
7002004-11-07 Paul Jakma <paul@dishone.st>
701
702 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +0000703
ajs49ff6d92004-11-04 19:26:16 +00007042004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
705
ajs5a646652004-11-05 01:25:55 +0000706 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
707 capabilities (that were used only in bgpd/bgp_route.c and are now
708 removed). Also remove some other fields that were not being
709 used at all.
710 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
711 and VTY_CONTINUE.
712 (vty_read) Remove calls to vty->output_func since that was part
713 of the VTY_CONTINUE infrastructure that has been removed.
714 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
715 (vty_close) Remove code to cancel vty->t_output thread, since that
716 thread was never actually used.
717
7182004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
719
ajs49ff6d92004-11-04 19:26:16 +0000720 * vty.c: Vtysh connections to daemons should use buffering.
721 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
722 (vty_new) Increase output buffer size to 4096 rounded up to a
723 multiple of pagesize.
724 (vtysh_read) After command has been executed and all output buffered,
725 call buffer_flush_available and schedule further writes if the
726 buffers are not yet empty.
727 (vtysh_write) New function to flush output to vtysh when the socket
728 is writeable.
729 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
730 clients. Also, should save read thread in vty->t_read so the
731 thread can be cancelled in vty_close.
732 * buffer.h: In struct buffer_data, remove unused "parent" field.
733 Convert "unsigned char *data" to "unsigned char data[0]" to save
734 a malloc. Declare new function buffer_flush_available that works
735 with non-blocking sockets.
736 * buffer.c: (buffer_data_new) Use a single malloc now that data is
737 a variable-size array at end of structure.
738 (buffer_data_free) Just a single free now that data is part of the
739 structure.
740 (buffer_write) Simplify the logic to make behavior more transparent.
741 (buffer_flush) Decrease b->length as data is written out.
742 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
743 (buffer_flush_vty) Decrease b->length as data is written out.
744 (buffer_flush_available) New function to flush non-blocking sockets.
745
paule064d6d2004-11-01 08:59:21 +00007462004-11-01 Paul Jakma <paul@dishone.st>
747
748 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
749
paul75e15fe2004-10-31 02:13:09 +00007502004-10-31 Paul Jakma <paul@dishone.st>
751
752 * vty.c: As per Andrew's suggestions..
753 (vty_serv_un) remove flags.
754 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +0000755 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +0000756 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
757 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +0000758 specific memory type defines. Use XCALLOC and sizeof the type,
759 not the pointer.
paul70e149e2004-10-31 16:29:50 +0000760 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +0000761
pauldccfb192004-10-29 08:29:36 +00007622004-10-29 Paul Jakma <paul@dishone.st>
763
764 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
765 to vtysh_accept, where sock is the actual fd we wanted to set to
766 O_NONBLOCK, ie the /connected/ vtysh unix socket.
767
hasso508ec912004-10-23 14:26:49 +00007682004-10-23 Hasso Tepper <hasso at quagga.net>
769
770 * zclient.c: Unbreak reading interface update message. Might fix
771 blocker bugzilla #109.
772
paul23b9c612004-10-22 11:51:57 +00007732004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +0000774
775 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +0000776 -1.
777 (setsockopt_pktinfo) unexported
778 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
779 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +0000780 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
781 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +0000782 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +0000783 * command.h: Cleanup the defines a bit, add helper defines and
784 collapse all defines to use those. Add an attribute field to
785 cmd_element to support, eg hidden or deprecated commands, add
786 defun defines for such. All that's left to do is add logic
787 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +0000788 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +0000789
hasso6590f2c2004-10-19 20:40:08 +00007902004-10-19 Hasso Tepper <hasso at quagga.net>
791
792 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
793 * print_version.c: Remove. print_version () function moved to
794 command.[c|h].
795 * command.c: Use QUAGGA_COPYRIGHT.
796 * Makefile.am: Remove useless version.c and print_version.c files.
797
hasso3fb9cd62004-10-19 19:44:43 +00007982004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
799
800 * zclient.c: (zebra_interface_address_read) If the destination address
801 is encoded as all zeroes, load it as a NULL pointer.
802 * if.h: Add comment describing struct connected destination field
803 and indicating that it may be NULL. Define macros
804 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
805 with PtP logic (distinguish between host and subnet addressing).
806 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
807 properly,
808 (connected_lookup_address) ditto.
809 (connected_add_by_prefix) Handle case where destination is NULL,
810 * prefix.[c|h]: New functions ipv4_network_addr and
811 ipv4_broadcast_addr.
812
hassoddd85ed2004-10-13 08:18:07 +00008132004-10-13 Hasso Tepper <hasso at quagga.net>
814
815 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
816 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +0000817 * smux.c, smux.h: Remove all defaults to initialize smux connection to
818 snmpd by default even if not configured to do so. "smux peer OID
819 <password>" initializes now connection and "no smux peer" terminates
820 it.
hassoddd85ed2004-10-13 08:18:07 +0000821
paul42d49862004-10-13 05:22:18 +00008222004-10-13 Paul Jakma <paul@dishone.st>
823
824 * (global) more const'ification.
825 * sockunion.c: (sockunion_su2str) buffer should be sized
826 SU_ADDRSTRLEN.
827 (sockunion_log) do not return stack variables, strdup buf before
828 return.
829 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
830 values against ULONG_MAX is daft, when caller probably has passed
831 a type that can not hold ULONG_MAX. use a temporary long instead.
832 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
833 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
834
hassoa1494112004-10-11 12:53:17 +00008352004-10-11 Hasso Tepper <hasso at quagga.net>
836
837 * command.h: Sync DEFUNSH with other macros.
838 * sockunion.c, sockunion.h: More const strings.
839
paul9076fbd2004-10-11 09:40:58 +00008402004-10-11 Paul Jakma <paul@dishone.st>
841
842 * thread.c: (funcname_thread_add_timer)
843 (funcname_thread_add_timer_msec) Fix mistakes from last change.
844 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +0000845 * if.h: mtu's should be unsigned.
846 * routemap.{c,h}: const char updates
847 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +0000848
paul9035efa2004-10-10 11:56:56 +00008492004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +0000850
851 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +0000852 * command.h: Change DEFUN func to take const char *[] rather
853 than char **, to begin process of fixing compile warnings in lib/.
854 Nearly all other changes in this commit follow from this change.
855 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
856 const void * and cast an automatic const char *p to it.
857 (buffer_putstr) add const
858 * command.c: (zencrypt) const qualifier
859 (cmd_execute_command_real) ditto
860 (cmd_execute_command_strict) ditto
861 (config_log_file) ditto.
862 Fix leak of getcwd() returned string.
863 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
864 * distribute.{c,h}: Update with const qualifier.
865 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
866 (distribute_lookup) Cast to char *, note that it's ok.
867 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
868 (distribute_get) Cast to char *, note that it's ok.
869 * filter.c: Update with const qualifier.
870 * if.{c,h}: ditto.
871 * if_rmap.{c,h}: ditto.
872 (if_rmap_lookup) Cast to char *, note that it's ok.
873 (if_rmap_get) ditto.
874 * log.{c,h}: Update with const qualifier.
875 * plist.{c,h}: ditto.
876 * routemap.{c,h}: ditto.
877 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
878 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
879 * vty.c: Update with const qualifier.
880
hasso27a43a82004-10-08 06:29:12 +00008812004-10-08 Hasso Tepper <hasso at quagga.net>
882
883 * routemap.c, routemap.h: Make some string arguments const.
884
paul5973ee72004-10-08 01:36:54 +00008852004-10-05 Paul Jakma <paul@dishone.st>
886
887 * version.h.in: print_version declaration is here, not in automake
888 generated version.h.
889
hassoea8e9d92004-10-07 21:32:14 +00008902004-10-08 Hasso Tepper <hasso at quagga.net>
891
892 * command.c, command.h: Make argument of cmd_make_strvec function
893 const.
894 * command.c: Make hostname commands usable in vtysh again.
895
hasso6ad96ea2004-10-07 19:33:46 +00008962004-10-07 Hasso Tepper <hasso at quagga.net>
897
898 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
899 strings const.
900
hasso8c328f12004-10-05 21:01:23 +00009012004-10-05 Hasso Tepper <hasso at quagga.net>
902
903 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
904 changes to fix warnings.
905
paul96e27c92004-10-05 14:33:43 +00009062004-10-05 Paul Jakma <paul@dishone.st>
907
908 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
909 functions to change byte order between system IP_HDRINCL order
910 and host order.
paul98c91ac2004-10-05 14:57:50 +0000911 * thread.c: (funcname_thread_add_timer_timeval) new function, add
912 timer at specified timeval.
913 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
914 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +0000915
hassob04c6992004-10-04 19:10:31 +00009162004-10-04 Hasso Tepper <hasso at quagga.net>
917
918 * memory.c, memory.h: Make char * argument of strdup functions const.
919 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
920 header.
921 * log.h: Make log message const in struct message.
922 * log.c: Fix some indenting.
923 * network.c, network.h: Make second argument of writen() const.
924
hassoe7168df2004-10-03 20:11:32 +00009252004-10-03 Hasso Tepper <hasso at quagga.net>
926
927 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
928 * command.c: Don't initialize commands that don't make sense if vtysh
929 is used.
930 * vty.c: Make VTY_NODE appear in vtysh.
931
hasso18a6dce2004-10-03 18:18:34 +00009322004-10-03 James R. Leu <jleu at mindspring.com>
933
934 * zclient.c, zclient.h: zclient functions for router id handling.
935 * zebra.h: New message types for router id handling.
936
paul9172ee02004-09-27 12:46:37 +00009372004-09-27 Paul Jakma <paul@dishone.st>
938
939 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
940 to try to fragment oversized packets. Enabled only for Linux.
941 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
942 to consolidate various ad-hoc platform defines for same thing.
943
hassoe473b032004-09-26 16:08:11 +00009442004-09-26 Hasso Tepper <hasso at quagga.net>
945
946 * vty.c, sockopt.c: Fix compiler warnings.
947
hasso52dc7ee2004-09-23 19:18:23 +00009482004-09-23 Hasso Tepper <hasso at quagga.net>
949
950 * linklist.h: Remove list and listnode typedefs.
951 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
952
paul0b3acf42004-09-17 08:39:08 +00009532004-09-17 Paul Jakma <paul@dishone.st>
954
paulb89e60c2004-09-21 15:43:13 +0000955 * sockopt.c: Add missing bracket
956
9572004-09-17 Paul Jakma <paul@dishone.st>
958
paul0b3acf42004-09-17 08:39:08 +0000959 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
960
paul33394762004-09-13 11:27:57 +00009612004-09-13 Paul Jakma <paul@dishone.st>
962
963 * command.c: Update the copyright string in the default motd.
964
gdt630e4802004-08-31 17:28:41 +00009652004-08-31 David Wiggins <dwiggins@bbn.com>
966
967 * hash.c (hash_iterate): Save next pointer before calling
968 procedure, so that iteration works even if the called procedure
969 deletes the hash backet.
970
971 * linklist.h (listtail): new macro, not yet used.
972
hasso34553cc2004-08-27 13:56:39 +00009732004-08-27 Hasso Tepper <hasso at quagga.net>
974
975 * command.c: Install "terminal length" commands only if vty is used.
976 Vtysh will handle it itself.
977
gdtafa43b22004-08-26 13:12:41 +00009782004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
979
980 * sockopt.h: Define method-independent macro for callers of
981 get_ifindex to use for cmsg length.
982
paule6822762004-08-19 04:13:29 +00009832004-08-19 Paul Jakma <paul@dishone.st>
984
paulefba6ce2004-08-25 13:47:16 +0000985 * zebra.h: add MAX and MIN defines (eg for ospf6d)
986
9872004-08-19 Paul Jakma <paul@dishone.st>
988
paule6822762004-08-19 04:13:29 +0000989 * sockopt.c: include sockopt.h
990 rename some of the _pktinfo_ functions to _ifindex, where that is
991 their purpose.
992 (getsockopt_ipv6_pktinfo_ifindex) renamed to
993 getsockopt_ipv6_ifindex.
994 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
995 (setsockopt_pktinfo) update with previous and add comment re
996 AF_INET portability.
997 (setsockopt_ifindex) generic ifindex function ala
998 setsockopt_pktinfo.
999 (getsockopt_ipv4_pktinfo_ifindex) renamed to
1000 getsockopt_ipv4_ifindex.
1001 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
1002 ifdef/elses. pktinfo case forgot to set ifindex.
1003 (getsockopt_pktinfo_ifindex) renamed to
1004 getsockopt_ifindex. update some calls to renamed functions.
1005 * sockopt.h: Update renamed exported functions
1006 Rename the CMSG_SIZE macros to IFINDEX.
1007 Guard IPv4 PKTINFO in a conditional define.
1008
paulc0618de2004-08-18 21:52:58 +000010092004-08-18 Paul Jakma <paul@dishone.st>
1010
1011 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
1012 to prevent inadvertent blocking of daemons by use of
1013 vtysh. TODO: disentangle manual paging from the buffer_write
1014 path so that unix vty can use this path too and be reliable.
1015
gdt33f92322004-07-23 16:14:32 +000010162004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
1017
1018 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
1019 on NetBSD, and add comments to make it less confusing. Change the
1020 sense of the SUNOS_5 test to make parallel structure between the
1021 variables and the code.
1022
paul4f7baa02004-07-23 15:11:07 +000010232004-07-23 Paul Jakma <paul@dishone.st>
1024
1025 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
1026 sizeof pktinfo as appropriate, to be used when allocating msg
1027 buffers. export setsockopt_pktinfo() and
1028 getsockopt_pktinfo_ifindex()
1029 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
1030 set received ifindex sock option.
1031 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
1032 (getsockopt_cmsg_data) retrieve indicated control info from
1033 message header.
1034 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
1035 (setsockopt_ipv4_pktinfo) v4 version
1036 (setsockopt_pktinfo) the exported version
1037 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
1038 (getsockopt_pktinfo_ifindex) the exported version
1039
paul05c447d2004-07-22 19:14:27 +000010402004-07-14 Paul Jakma <paul@dishone.st>
1041
1042 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
1043 the flags to a constant rather increment to be kinder.
1044 (quagga_sigevent_process) new function, to do core of what
1045 quagga_signal_timer did. dont block signals at all as sig->caught
1046 is volatile sig_atomic_t and should be safe to access from signal
1047 and normal contexts. The signal blocking is unneeded paranoia, but
1048 is left intact under an ifdef, should some platform require it.
1049 Check global caught flag before iterating through array.
1050 (quagga_signal_timer) nearly everything moved to
1051 quagga_sigevent_process. Left in under ifdef, in case some
1052 platform could use a regular timer check for signals.
1053 * sigevent.h: quagga_sigevent_process declaration.
1054 * thread.c: (thread_fetch) check for signals at beginning of
1055 scheduler loop, check for signals if select returns EINTR.
1056
gdtb7797132004-07-13 13:47:25 +000010572004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
1058
1059 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
1060 confuses gdb, at least on NetBSD 2.0_BETA, where the block
1061 succeeds.
1062
paul5510e832004-07-09 14:00:01 +000010632004-07-09 Paul Jakma <paul@dishone.st>
1064
1065 * Merge Kunihiro's 'show route-map' change and add
1066 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +00001067 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
1068 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +00001069
paulb06c14f2004-07-09 12:24:42 +000010702004-07-09 Juris Kalnins <juris@mt.lv>
1071
1072 * if.c: (if_cmp_func) fix for interface names where name is same,
1073 but one has no number, eg "devtyp" and "devtyp0".
1074
gdt87efd642004-06-30 17:36:11 +000010752004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1076
1077 * Makefile.am: Make libzebra shared.
1078
paul138ce752004-06-21 10:35:59 +000010792004-06-21 Paul Jakma <paul@dishone.st>
1080
1081 * ChangeLog: fix my last update config.h -> zebra.h ;)
1082 * zebra.h: Fix gcc check.
1083
paul02ff83c2004-06-11 11:27:03 +000010842004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
1085
1086 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
1087 to u_char. (ipv6_access_list_remark_cmd) ditto.
1088 if.c: ditto
1089 * network.c: (readn/writen) pointer arg should be type u_char.
1090 * plist.c: needs to include stream.h, not declare stream functions
1091 internally.
1092 (various) Add static qualifier to internal functions.
1093 (prefix_list_type_str) extraneous breaks in switch statement.
1094 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
1095 * stream.h: depends on plist.h and export stream_put_prefix
1096 * vty.c: (vty_<telnet option build functions>) should use
1097 unsigned char, telnet options are 0 -> 255.
1098 * zclient.c: various u_char<->char type cleanups.
1099 * zebra.h: Having to define CMSG_* can apply to more than just
1100 BSDI_NRL.
1101
paul51a87982004-06-09 10:36:05 +000011022004-06-09 Paul Jakma <paul@dishone.st>
1103
paul138ce752004-06-21 10:35:59 +00001104 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +00001105
paul5228ad22004-06-04 17:58:18 +000011062004-06-04 Paul Jakma <paul@dishone.st>
1107
1108 * type mismatch fixes
1109
hasso6708fa32004-05-18 18:46:54 +000011102004-05-18 Hasso Tepper <hasso@estpak.ee>
1111
1112 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
1113
paul0a589352004-05-08 11:48:26 +000011142004-05-08 Paul Jakma <paul@dishone.st>
1115
1116 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
1117 message format.
1118
11192004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1120
1121 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
1122 (zapi_ipv4_delete) ditto.
1123 (zapi_ipv4_route) add/delete a route by way of cmd arg.
1124 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
1125 (zapi_ipv6_delete) ditto.
1126 (zapi_ipv6_route) add/delete a route by way of cmd arg.
1127 (zebra_interface_address_delete_read) collapsed into
1128 zebra_interface_address_read.
1129 (zebra_interface_address_delete_read) ditto.
1130 (zebra_interface_address_read) read address add/delete messages
1131 by way of type argument. Describe command message format.
1132 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
1133 Describe command message format.
1134 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
1135 (zclient_redistribute_set) Collapsed into zclient_redistribute
1136 (zclient_redistribute_unset) ditto
1137 (zclient_redistribute) set/unset redistribution.
1138 (zclient_redistribute_default_set) Collapsed into
1139 zclient_redistribute_default.
1140 (zclient_redistribute_default_unset) ditto.
1141 (zclient_redistribute_default) Redistribute default set/unset.
1142 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
1143 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
1144 zclient_redistribute. Ditto for
1145 zclient_redistribute_default_{set/unset}.
1146
paul4a7aac12004-05-08 05:00:31 +000011472004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1148
1149 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
1150 from IPv4, and Solaris treats the MTU's differently.
1151 Add connected_add_by_prefix, for use by later patch.
1152 * if.c: (connected_add_by_prefix) Add prefix to connected list.
1153 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
1154 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +00001155 * command.c: (sockunion_getsockname) use socklen_t for len.
1156 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +00001157
paul31fcdd32004-04-21 11:00:43 +000011582004-04-21 Boris Kovalenko <boris@tagnet.ru>
1159
1160 * daemon.c: (daemon) fix check for error return from setsid
1161
paulc49b3062004-01-19 21:23:37 +000011622004-01-19 Paul Jakma <paul@dishone.st>
1163
1164 * sigevent.{c,h}: New files, implement event handled signals.
1165 see signal_init() in sigevent.h.
1166
jardinc32e1b52003-12-23 09:06:51 +000011672003-12-23 Vincent Jardin <jardin@6wind.com>
1168
1169 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
1170
gdt3dbf9962003-12-22 20:18:18 +000011712003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
1172
1173 * vty.c (vty_use_backup_config): Don't free filenames before using
1174 them for unlink.
1175
paul54aba542003-08-21 20:28:24 +000011762003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1177
1178 * command.c: Fix <cr> display problem for command line
1179 description
1180
paule9af5c72003-05-24 11:54:31 +000011812003-05-24 Anil Madhavapeddy
1182
1183 * (sockunion.c): Incorrect bounds specified in sockunion_log()
1184
paul445f1432003-05-16 19:00:31 +000011852003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
1186
1187 * vty.c: -A option
1188
11892003-04-19 Hasso Tepper <hasso@estpak.ee>
1190
1191 * rip_routemap.c: sync daemon's route-map commands to have same
1192 syntax
1193
paul718e3742002-12-13 20:15:29 +000011942002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1195
1196 * vty.c (vty_flush): One line more on vty.
1197
11982002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1199
1200 * vector.c (vector_lookup): Add new function.
1201
12022002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1203
1204 * thread.c (timeval_adjust): Fix unconditional crush due to
1205 FreeBSD's select() system call timeval value check.
1206
12072002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1208
1209 * zebra-0.93 released.
1210
12112002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1212
1213 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
1214 van Maarseveen's suggestion.
1215
12162002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1217
1218 * command.c: Change bcopy() to memcpy().
1219
12202001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1221
1222 * command.c (config_password): Fix host.password clear bug.
1223 Reported by Wang Jian <lark@linux.net.cn>.
1224
12252001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1226
1227 * thread.c (thread_should_yield): New function to check thread
1228 should yeild it's execution to other thread. Suggested by: Rick
1229 Payne <rickp@ayrnetworks.com>
1230
12312001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1232
1233 * thread.c (thread_timer_cmp): Rewrite function.
1234
1235 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
1236
12372001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1238
1239 * zebra-0.92a released.
1240
12412001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1242
1243 * zebra-0.92 released.
1244
12452001-08-12 Akihiro Mizutani <mizutani@dml.com>
1246
1247 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
1248 string to "1.1.0.0/16".
1249
12502001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1251
1252 * filter.c (access_list_lookup): access_list_lookup's first
1253 argument is changed from address family to AFI.
1254
1255 * plist.c: (prefix_list_lookup): Likewise.
1256
12572001-07-27 Akihiro Mizutani <mizutani@dml.com>
1258
1259 * plist.c: ge and le display order is changed. Old compatible
1260 rule (len <= ge-value <= le-value) is removed.
1261
12622001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1263
1264 * prefix.h: Temporary fix for alignment of prefix problem.
1265
12662001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1267
1268 * prefix.h (struct prefix): Remove safi and padding field.
1269 (struct prefix_ipv4): Likewise.
1270 (struct prefix_ipv6): Likewise.
1271 (struct prefix_ls): Likewise.
1272 (struct prefix_rd): Likewise.
1273
1274 * command.h (enum node_type): Preparation for BGP new config.
1275
1276 * vty.c (vty_end_config): Likewise.
1277
12782001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1279
1280 * routemap.c (route_map_rule_delete): Call func_free when
1281 route-map rule is deleted.
1282
12832001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
1284
1285 * routemap.c (route_map_index_lookup): Prevent to use deny and
1286 permit for same route-map sequence.
1287
12882001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1289
1290 * vty.c (vty_read_config): Fix warning.
1291
12922001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1293
1294 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
1295 strings.
1296
12972001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1298
1299 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
1300 CMSG_FIRSTHDR.
1301
13022001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1303
1304 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
1305
13062001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1307
1308 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
1309 lib" member.
1310
13112001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
1312
1313 * vty.c (vty_read_config): Revert check of integrate_default when
1314 VTYSH is defined.
1315
13162001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1317
1318 * vty.c (vty_read_config): Do not check integrate_default. That
1319 should be used only by vtysh.
1320
13212001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1322
1323 * vty.c (vty_serv_un): Set umask 0077.
1324 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
1325 wait for boot configuration.
1326
1327 * if.c (if_lookup_address): Make it smart implementation.
1328
1329 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
1330 options for IPv4 This is here so that people only have to do their
1331 OS multicast mess in one place rather than all through zebra,
1332 ospfd, and ripd .
1333
13342001-02-04 Akihiro Mizutani <mizutani@dml.com>
1335
1336 * plist.c (vty_prefix_list_install): Even when argument is
1337 invalid, new memory is allocated. Now memory allocation is done
1338 after argument check.
1339
13402001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1341
1342 * zebra-0.91 is released.
1343
13442001-01-31 Akihiro Mizutani <mizutani@dml.com>
1345
1346 * vty.c (vty_login): Add vty login command.
1347
13482001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1349
1350 * vty.c (vty_reset): Close accept socket.
1351
13522001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1353
1354 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
1355 attribute.
1356
13572001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1358
1359 * zclient.c (zebra_interface_address_add_read): Fetch interface
1360 address flag.
1361 (zebra_interface_address_delete_read): Likewise.
1362
13632001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1364
1365 * table.c (route_node_match_ipv4): Utility function for IPv4
1366 address lookup.
1367 (route_node_match_ipv6): Utility function for IPv4 address lookup.
1368
13692001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1370
1371 * if.c: Delete RIP_API part until new implementation comes out.
1372
13732001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1374
1375 * hash.h (struct Hash): Rename alloc to count. Change type to
1376 unsigned long.
1377
1378 * stream.c (stream_getc_from): New function.
1379 (stream_getw_from): Likewise.
1380
1381 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
1382
13832001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1384
1385 * flap.c: File is removed.
1386
1387 * flap.c: Likewise.
1388
1389 * roken.h: Likewise.
1390
1391 * buffer.c (buffer_new): Remove type option to buffer_new().
1392
13932001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1394
1395 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
1396
13972001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1398
1399 * zebra-0.90 is released.
1400
1401 * command.c: Update Copyright year.
1402
14032001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1404
1405 * if.c (if_create): Register connected_free() function for
1406 deletion.
1407 (if_delete): Free connected information when the interface is
1408 deleted.
1409 (if_lookup_by_index): Fix argument type from int to unsigned int.
1410 (connected_add): Keep list in order if old info found, essential
1411 for repeatable operation in some daemons.
1412
14132001-01-09 endo@suri.co.jp (Masahiko Endo)
1414
1415 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
1416 read thread.
1417
14182001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1419
1420 * filter.c (access_list_delete): Access-list name is not freed.
1421
1422 * plist.c (prefix_list_delete): Prefix-list name is not freed.
1423
14242000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1425
1426 * zclient.c (zclient_start): Change to use UNIX domain
1427 socket for zebra communication.
1428
1429 * vector.c (vector_init): vector_alloc and vector_data_alloc is
1430 removed. All memory allocation count should be maintained by
1431 XMALLOC and XFREE macros.
1432
14332000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1434
1435 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
1436
14372000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1438
1439 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
1440 value.
1441
14422000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
1443
1444 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
1445 allocated in vty_new ().
1446
14472000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1448
1449 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
1450
1451 * command.c (config_write_terminal): Display "end" at the end of
1452 configuration.
1453
1454 * plist.c (vty_prefix_list_install): Use AF_INET to determine
1455 lenum length.
1456
14572000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
1458
1459 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
1460 then all lines write by IOV_MAX.
1461
14622000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1463
1464 * command.c (config_write_file): Robust method for writing
1465 configuration file and recover from backing up config file.
1466
14672000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1468
1469 * smux.c (smux_connect): More fail check.
1470 (smux_trap): When SMUX connection is not established, do nothing.
1471
14722000-11-28 Gleb Natapov <gleb@nbase.co.il>
1473
1474 * thread.c (thread_fetch): Execut event list first. Old event
1475 list is renamed to ready list. With this change, event thread is
1476 executed before any other thread.
1477
1478 * thread.h (struct thread_master): Add ready list.
1479
14802000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1481
1482 * linklist.c (listnode_add_after): Add node right after the
1483 listnode pointer.
1484
14852000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1486
1487 * smux.h: Pass struct variable to WriteMethod.
1488
14892000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1490
1491 * if.c (if_lookup_address): When looking up interface with IP
1492 address, Sometimes multiple interfaces will match. Now PtP
1493 interfaces prevail in such a case which seem the right thing to
1494 do: There will probably also be host routes which usually prevail
1495 over network routes.
1496
14972000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1498
1499 * smux.c (smux_trap): SMUX trap implementation.
1500
15012000-11-19 Akihiro Mizutani <mizutani@dml.com>
1502
1503 * plist.c: Add automatic conversion function of an old rule.
1504 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
1505
15062000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1507
1508 * zclient.c (zebra_interface_add_read): Read hardware address when
1509 hw_addr_len is greater than 0.
1510
15112000-11-15 Akihiro Mizutani <mizutani@dml.com>
1512
1513 * plist.c: The rule of "len <= ge-value <= le-value"
1514 was changed to "len < ge-value <= le-value".
1515
15162000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1517
1518 * memory.[ch]: Added #define and functions for ospf6d.
1519
1520 * log.[ch]: some platform says that the data of used va_list
1521 is undefined. Changed to hold list of va_list for each
1522 vsnprintf.
1523
15242000-11-07 Rick Payne <rickp@rossfell.co.uk>
1525
1526 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
1527
15282000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1529
1530 * command.c (config_exit): Fix bug of missing break after case
1531 BGP_VPNV4_NODE.
1532
15332000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1534
1535 * vector.c (vector_unset): Check i is not nevative.
1536
15372000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1538
1539 * smux.c (smux_sock): Set terminating '\0'. Check address family.
1540
1541 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
1542 gai_strerror. Check address family.
1543
15442000-10-23 Jochen Friedrich <jochen@scram.de>
1545
1546 * smux.c: Use linklist rather than vector.
1547 (smux_getnext): A SMUX subagent has to behave as if it manages the
1548 whole SNMP MIB tree itself. It's the duty of the master agent to
1549 collect the best answer and return it to the manager. See RFC 1227
1550 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
1551 bad here as it actually might ask multiple times for the same
1552 GETNEXT request as it throws away the answer when it expects it in
1553 a different subtree and might come back later with the very same
1554 request.
1555
15562000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1557
1558 * command.c (cmd_init): Log related command are only installed for
1559 terminal mode.
1560
15612000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1562
1563 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
1564
1565 * zebra.h: Remove #warn directive.
1566
15672000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1568
1569 * keychain.c (keychain_init): Register "key chain" command to
1570 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
1571
1572 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
1573 CONFIG_NODE.
1574
1575 * command.c (config_end): Likewise.
1576
1577 * keychain.c (keychain_get): Key is sorted by it's identifier
1578 value.
1579
15802000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1581
1582 * linklist.c (list_delete_all_node): Call delete function if it is
1583 defined.
1584
1585 * command.c (cmd_execute_command_strict): Add modification for
1586 vtysh.
1587 (cmd_execute_command_strict): Remove first argument cmdvec because
1588 it is global varibale in command.c.
1589
15902000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1591
1592 * command.c (cmd_init): Install
1593 copy_runningconfig_startupconfig_cmd only in terminal mode.
1594
1595 * linklist.c (list_delete_node): Simplify the function.
1596 (listnode_lookup): Renamed from list_lookup_node.
1597
15982000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1599
1600 * stream.h: Undef stream_read and stream_write without
1601 parenthesis.
1602
1603 * newlist.c: File removed.
1604
1605 * newlist.h: Likewise.
1606
1607 * linklist.c (list_new): Remove list_init(). To allocate new
1608 linked list, please use list_new().
1609 (listnode_add): Remove list_add_node(). To add new node to linked
1610 list, please use listnode_add().
1611 (list_delete_by_val): Revemove fucntion.
1612
16132000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
1614
1615 * table.c (route_table_free): Reimplement route_table_free().
1616
16172000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1618
1619 * keychain.c (keychain_get): Register key_delete_func to key
1620 list's delete function. Use linklist.c instead of newlist.c.
1621
16222000-10-04 Akihiro Mizutani <mizutani@dml.com>
1623
1624 * filter.c (access_list_remark): Add access-list's remark command.
1625 (no_access_list): "no access-list 100 permit any" error message
1626 bug is fixed.
1627
16282000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1629
1630 * memory.h (enum): Add MTYPE_SOCKUNION.
1631
16322000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1633
1634 * zebra-0.89 is released.
1635
16362000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1637
1638 * linklist.c (list_add_node_head): Delete unused function.
1639 (list_add_node_tail): Likewise.
1640
16412000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1642
1643 * stream.c (stream_read_unblock): Add new function for unblocking
1644 read.
1645
16462000-09-26 Jochen Friedrich <jochen@nwe.de>
1647
1648 * smux.c (smux_register): Fix bug of can't register more than one
1649 MIB with SMUX.
1650
16512000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
1652
1653 * vty.c (vty_close): Fix memory leak of sb_buffer.
1654 (vty_new): Likewise.
1655
16562000-09-21 steve@Watt.COM (Steve Watt)
1657
1658 * log.h: Do not declare zlog_priority[0] variable.
1659
16602000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1661
1662 * linklist.h (struct _list ): Add member cmp for compare function.
1663 (struct _list ): Member up is deleted
1664
16652000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
1666
1667 * if.c: Include RIP_API header when RIP API is enabled.
1668
16692000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1670
1671 * prefix.c (prefix_free): Siplify prefix_free().
1672
1673 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
1674
16752000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1676
1677 * zebra.h: Merge roken.h into zebra.h.
1678
16792000-09-05 Akihiro Mizutani <mizutani@dml.com>
1680
1681 * routemap.c (route_map_init_vty): Install route-map command to
1682 RMAP_NODE.
1683
16842000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1685
1686 * thread.c (thread_get_id): Remove pthread related garbage.
1687
1688 * command.h (struct host): Likewise.
1689
1690 * zebra.h: Likewise.
1691
16922000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1693
1694 * command.h (node_type ): Add AAA node for authentication.
1695
1696 * vty.c (vty_close): Do not close stdout.
1697
16982000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1699
1700 * vty.c (vty_init_vtysh): Added for vtysh.
1701
1702 * distribute.c (districute_list_prefix_all): Interface independent
1703 filter can be set.
1704 (distribute_list_all): Likewise.
1705 (config_show_distribute): Display current distribute-list status
1706 for "show ip protocols".
1707
17082000-08-18 Akihiro Mizutani <mizutani@dml.com>
1709
1710 * command.c (config_terminal_no_length): no terminal monitor ->
1711 terminal no monitor
1712 (cmd_init): Do not install service_terminal_length_cmd into
1713 ENABLE_NODE.
1714
1715 * vty.c (terminal_no_monitor): no terminal length -> terminal no
1716 length.
1717
17182000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1719
1720 * zebra-0.88 is released.
1721
17222000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
1723
1724 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
1725 better IAC handling.
1726
1727 * vty.c (vty_telnet_option): Change telnet option handling.
1728
17292000-08-15 Gleb Natapov <gleb@nbase.co.il>
1730
1731 * zclient.c (zclient_redistribute_unset): New function added.
1732
17332000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1734
1735 * zclient.c (zebra_interface_add_read): Change ifindex restore
1736 size from two octet to four.
1737 (zebra_interface_state_read): Likewise.
1738 (zebra_interface_address_add_read): Likewise.
1739
17402000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1741
1742 * vty.c (vty_event): Use vector_set_index() instead of
1743 vector_set().
1744
17452000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1746
1747 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
1748 Administrative Distance of each protocol.
1749
17502000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1751
1752 * if.h (struct interface ): Add new member bandwidth to struct
1753 interface.
1754
1755 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
1756 (zebra_interface_state_read): Likewise.
1757
17582000-08-07 Gleb Natapov <gleb@nbase.co.il>
1759
1760 * routemap.c (route_map_event_hook): New hook route_map_event_hook
1761 is added. This hook is called when route-map is changed. The
1762 parameters passed to the hook are 'event' and 'route-map name'
1763
1764 * routemap.h: Add prototype for route_map_event_hook().
1765
17662000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1767
1768 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
1769 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
1770
1771 * routemap.c (route_map_empty): Add new function.
1772 (route_map_delete): Use route_map_index_delete() instead of
1773 route_map_index_free().
1774 (route_map_index_free): Function removed.
1775
17762000-08-06 Gleb Natapov <gleb@nbase.co.il>
1777
1778 * routemap.c (route_map_index_delete): Add check for route-map is
1779 empty or not.
1780
17812000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1782
1783 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
1784 zclient.
1785
17862000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1787
1788 * zclient.h (struct zebra): Add obuf for output buffer.
1789
1790 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
1791 if_indextoname().
1792
17932000-08-02 David Lipovkov <davidl@nbase.co.il>
1794
1795 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
1796 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
1797
1798 * if.c (interface_pseudo): Add "pseudo" command to interface node.
1799 (no_interface_pseudo): Add "no pseudo" command to interface node.
1800
1801 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
1802 send from zebra.
1803
18042000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1805
1806 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
1807 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
1808
1809 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
1810
18112000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1812
1813 * vty.c: Use vector for VTY server thread listing instead of
1814 single value.
1815
18162000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1817
1818 * keychain.c (no_key_chain): "no key chain WORD" command is added.
1819
18202000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1821
1822 * command.c (config_from_file): If command fail in
1823 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
1824
1825 * vty.h (struct vty ): Add index_sub member.
1826
18272000-07-27 Akihiro Mizutani <mizutani@dml.com>
1828
1829 * if.c: Help strings updates.
1830
18312000-07-11 Akihiro Mizutani <mizutani@dml.com>
1832
1833 * command.c (no_config_enable_password): Add "no enable password"
1834 command.
1835 (config_write_host): Display password string.
1836
1837 * routemap.c (route_map_delete_match): Add support for delete
1838 match without argument.
1839 (route_map_delete_set): Likewise.
1840
18412000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1842
1843 * command.h (node_type ): Change KEYCHAIN_NODE and
1844 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
1845
18462000-07-09 Jochen Friedrich <jochen@scram.de>
1847
1848 * smux.c (config_write_smux): Fixes the option to override OID and
1849 password for SMUX.
1850
18512000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1852
1853 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
1854
18552000-07-09 Toshiaki Takada <takada@zebra.org>
1856
1857 * command.c: Sort descvec command's help.
1858
1859 * vty.c (vty_describe_command): Display '<cr>' at the end of
1860 descriptions.
1861
18622000-07-05 Toshiaki Takada <takada@zebra.org>
1863
1864 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
1865 treatment of double colon.
1866
18672000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1868
1869 * zclient.h: Add zclient_redistribute_default_{set,unset}().
1870
1871 * keychain.c: New file for authentication key management.
1872 * keychain.h: Likewise.
1873
1874 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
1875 ipchains.
1876 * tcpfilter.h: Likewise.
1877
1878 * flap.h: New file for route flap dampening.
1879 * flap.c: Likewise.
1880
18812000-07-04 Toshiaki Takada <takada@zebra.org>
1882
1883 * filter.c (struct filter): Add exact flag.
1884 (access_list): Add exact-match command.
1885 (ipv6_access_list): Add exact-match command.
1886
18872000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1888
1889 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
1890 request default route.
1891
18922000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
1893
1894 * smux.c: Add IPv6 smux connection code.
1895
18962000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1897
1898 * vty.c (vty_complete_command): To cooperate readline library,
1899 returned string is newly allocated. So some match function case
1900 need, free of memory.
1901
19022000-06-12 Akihiro Mizutani <mizutani@dml.com>
1903
1904 * distribute.c: Fix help strings.
1905
19062000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1907
1908 * command.c (cmd_complete_command): Add check for vector_slot
1909 (vline, index) is not NULL when calculating lcd.
1910 (cmd_entry_function): First check variable arguemnt to prevent it
1911 from completion.
1912
19132000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1914
1915 * vty.h (struct vty ): Add output_count member for displaying
1916 output route count. Remove arugment arg from output_func because
1917 the value is passed by vty argument. Change output to output_rn.
1918 Add output_clean function pointer member. Add output_type member.
1919
19202000-06-10 Toshiaki Takada <takada@zebra.org>
1921
1922 * command.c (show_startup_config): Add "show startup-config"
1923 command.
1924
19252000-06-06 Akihiro Mizutani <mizutani@dml.com>
1926
1927 * filter.c: Fix help strings.
1928
19292000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1930
1931 * prefix.h (struct prefix_rd): New prefix structure for routing
1932 distinguisher.
1933 (struct prefix): Add padding to every prefix structure.
1934
1935
1936 * routemap.c (route_map_add_match): When completely same match
1937 statement exists, don't duplicate it.
1938
19392000-06-05 Akihiro Mizutani <mizutani@dml.com>
1940
1941 * routemap.c: Change NAME to WORD.
1942
1943 * plist.c: Fix help strings.
1944
19452000-06-02 Akihiro Mizutani <mizutani@dml.com>
1946
1947 * routemap.c: Fix route-map help strings.
1948
19492000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1950
1951 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
1952 to filter other non vararg commands.
1953
1954 * routemap.c (route_map_init_vty): Use install_default() for
1955 install common commands into route-map node..
1956
19572000-06-01 Akihiro Mizutani <mizutani@dml.com>
1958
1959 * command.h (OSPF_STR): Macro added.
1960
19612000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1962
1963 * command.c (cmd_complete_command): LCD completion must not modify
1964 installed command string.
1965
1966 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
1967 X:X::X:X to X:X::X:X/M.
1968
19692000-05-31 Toshiaki Takada <takada@zebra.org>
1970
1971 * vty.c (show_history): New defun added.
1972
19732000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1974
1975 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
1976 list. CMD_COMPLETE_MATCH is used for LCD completion.
1977
1978 * vty.c (vty_complete_command): Matched string's LCD is completed.
1979
1980 * command.c (cmd_lcd): New function for calculate LCD of matched
1981 strings.
1982
19832000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1984
1985 * command.c (install_default): config_write_terminal_cmd,
1986 config_write_file_cmd, config_write_memory_cmd are added to
1987 default node.
1988
1989 * memory.c (memory_init): Divide show memory command into each
1990 sort.
1991
1992 * command.c (cmd_init): config_write_terminal_cmd,
1993 config_write_file_cmd, config_write_memory_cmd are added to
1994 CONFIG_NODE.
1995
1996 * routemap.c (route_map_index_free): New function.
1997 (no_route_map_all): New DEFUN for "no route-map NAME".
1998
1999 * filter.c (no_access_list_all): New DEFUN for delete access-list
2000 with NAME.
2001 (no_ipv6_access_list_all): Likewise.
2002
20032000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2004
2005 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
2006 specified, user can not use "ge" and "le" statement.
2007
20082000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
2009
2010 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
2011
2012 * table.c (route_table_free): Like wise.
2013
20142000-05-22 Toshiaki Takada <takada@zebra.org>
2015
2016 * vty.c (vty_stop_input): Set history pointer to the latest one.
2017
2018 * vty.c (vty_hist_add): Do not add command line history when input
2019 is as same as previous one.
2020
20212000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2022
2023 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
2024
20252000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2026
2027 * command.h (node_type ): Add BGP_VPNV4_NODE.
2028
20292000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2030
2031 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
2032 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
2033
2034 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
2035 IPv4 example. Reported by: Love <lha@s3.kth.se>.
2036
2037 * command.c (cmd_complete_command): Make it sure last element of
2038 matchvec is NULL. This fix problem which cause crush in
2039 vty_complete_command(). Reported by: JINMEI Tatuya
2040 <jinmei@isl.rdc.toshiba.co.jp>.
2041
20422000-04-28 Love <lha@s3.kth.se>
2043
2044 * prefix.h (struct prefix): Add padding.
2045
20462000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2047
2048 * command.c (show_version): Update copyright year.
2049
20502000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2051
2052 * routemap.c (route_map_apply): When map is NULL, return deny.
2053
20542000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2055
2056 * filter.c (access_list_apply): When access is NULL, return deny.
2057
2058 * plist.c (prefix_list_apply): When plist is NULL, return deny.
2059
20602000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2061
2062 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
2063
20642000-04-18 Toshiaki Takada <takada@zebra.org>
2065
2066 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
2067 Add argument for hook function to give struct access_list *.
2068
20692000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2070
2071 * plist.c (prefix_list_entry_match): In case of le nor ge is
2072 specified, exact match is performed.
2073 (prefix_list_entry_match): Add any entry matching check.
2074
20752000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2076
2077 * vty.c (exec_timeout): Separate timeout setting to minutes and
2078 seconds.
2079 (no_exec_timeout): Add "no exec-timeout" command.
2080
2081 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
2082 600.
2083
20842000-03-31 Jochen Friedrich <jochen@scram.de>
2085
2086 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
2087 it is a primitive encoding and not constructed.
2088
20892000-03-28 Toshiaki Takada <takada@zebra.org>
2090
2091 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
2092
20932000-03-26 Love <lha@s3.kth.se>
2094
2095 * zclient.c (zclient_read): Add nbytes size check for
2096 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
2097
20982000-03-26 Rick Payne <rickp@rossfell.co.uk>
2099
2100 * routemap.c: Add flexible route-map commands such as on-match
2101 next, on-match goto N.
2102
2103 * routemap.h: Likewise
2104
21052000-03-23 Adrian Bool <aid@u.net.uk>
2106
2107 * command.c (config_log_trap): Add new command "log trap
2108 PRIORITY".
2109
21102000-03-14 Toshiaki Takada <takada@zebra.org>
2111
2112 * memory.c (struct memory_list): Add Link List and Link Node
2113 to view.
2114
2115 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
2116
21172000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
2118
2119 * str.c (snprintf): Fix bug of calling sprintf instead of
2120 vsprintf.
2121
21222000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2123
2124 * memory.h (enum): Add MTYPE_RIP_PEER.
2125
21262000-01-15 Toshiaki Takada <takada@zebra.org>
2127
2128 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
2129
21302000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2131
2132 * command.h (node_type ): Add MASC_NODE for masc.
2133
21342000-01-09 Wang Jianliang <wangjl@soim.net>
2135
2136 * routemap.c (route_map_index_add): When route_map_index is not
2137 empty and insert new item at the head, it can cause core dump.
2138 Fix "if (index == map->head)" to "if (point == map->head).
2139 (route_map_add_set): If there is an old set command, override old
2140 set command with new one.
2141 (route_map_index_delete): Use while() instead of for for() for
2142 logical correctness.
2143
21441999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2145
2146 * memory.h (enum): Add MTYPE_BGP_STATIC.
2147
21481999-12-23 Alex Zinin <zinin@amt.ru>
2149 * zebra.h, zclient.*: dynamic int up/down message
2150 support
2151
21521999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2153
2154 * thread.c (thread_cancel_event): Add a function for clean up
2155 events.
2156
21571999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2158
2159 * dropline.c: Delete file.
2160 dropline.h: Linewise.
2161
21621999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2163
2164 * filter.c (access_list_filter_delete): Wrong pointer
2165 access->master was pointed out after access is freed. I store
2166 master value at the beginning of the function.
2167
21681999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2169
2170 * vty.c (exec_timeout): Change of VTY timeout affect to current
2171 VTY connection.
2172 (vty_accept): Instead of immediate exit() return -1.
2173
21741999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2175
2176 * vty.c (vty_configure_lock): Configuration lock function added.
2177 Only one VTY can use CONFI_NODE at the same time.
2178
2179 * log.c: Delete zvlog_* functions. Now zlog_* does the same
2180 thing.
2181
2182 * log.c (log_init): Function removed.
2183 (log_close): Likewise.
2184 (log_flush): Likewise.
2185 (log_open): Likewise.
2186
2187 * vty.c (terminal_monitor): Add new command.
2188 (no_terminal_monitor): Likewise.
2189
2190 * log.c (old_log): Function removed.
2191 (old_log2): Likewise.
2192 (old_log_warn): Likewise.
2193
21941999-12-04 Toshiaki Takada <takada@zebra.org>
2195
2196 * command.c (cmd_ipv6_match): New function added.
2197 (cmd_ipv6_prefix_match): Likewise.
2198
21991999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2200
2201 * command.c (cmd_ipv6_match):
2202
2203 * table.c: Delete #ifdef HAVE_MBGPV4.
2204
2205 * prefix.h (struct prefix): Add safi member.
2206 (struct prefix_ipv4): Likewise.
2207 (struct prefix_ipv6): Likewise.
2208
22091999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
2210
2211 * memory.c (struct mstat): Revert to support MEMORY_LOG.
2212
22131999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2214
2215 * version.h: Bump up to 0.81c for testing new kernel codes.
2216
22171999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2218
2219 * thread.h (struct thread): Pthread support is disabled all
2220 platform.
2221
22221999-11-21 Michael Handler <handler@sub-rosa.com>
2223
2224 * Include <limits.h> and <strings.h> under SUNOS_5.
2225
22261999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2227
2228 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
22291999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2230
2231 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
2232
22331999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2234
2235 * command.c (disable): Add `disable' command.
2236
22371999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2238
2239 * plist.c (vty_prefix_list_install): Add any check.
2240
22411999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2242
2243 * command.h (node_type ): Add DUMP_NODE.
2244
22451999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2246
2247 * smux.c: Change default SMUX oid to compatible with gated.
2248
22491999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2250
2251 * if_rmap.c: New file added.
2252
2253 * if_rmap.h: New file added.
2254
22551999-10-29 Alex Zinin <zinin@amt.ru>
2256
2257 * hash.c: add hash_free() function
2258
22591999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2260
2261 * hash.c (hash_clean): Add clean function.
2262
2263 * plist.c (prefix_list_reset): Add reset function.
2264
2265 * filter.c (access_list_reset): Add reset function.
2266
22671999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2268
2269 * client.c: Merged with zclient.c.
2270 * client.h: Merged with zclient.h.
2271
22721999-10-15 Jordan Mendelson <jordy@wserv.com>
2273
2274 * md5.c: Imported from GNU C Library.
2275 * md5-gnu.h: Likewise.
2276
22771999-10-15 Jochen Friedrich <jochen@scram.de>
2278
2279 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
2280
22811999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2282
2283 * smux.h: New file added.
2284
2285 * snmp.c: Rename to smux.c.
2286
22871999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2288
2289 * command.c (cmd_execute_command_strict): Filter ambious commands.
2290 (cmd_filter_by_string): Change to return enum match_type.
2291
22921999-10-01 Toshiaki Takada <takada@zebra.org>
2293
2294 * vty.c (vty_describe_fold): New function which does VTY
2295 description line fold.
2296 * vty.c (vty_describe_command): Set description column.
2297
22981999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2299
2300 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
2301
23021999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2303
2304 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
2305 CMD_IPV4_PREFIX check. Both return type must be exact_match.
2306
23071999-09-24 Toshiaki Takada <takada@zebra.org>
2308
2309 * command.c (cmd_filter_by_completion),
2310 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
2311 parameter matches range.
2312
23131999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2314
2315 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
2316 is performed.
2317
23181999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2319
2320 * vty.c (vty_read): Control-C stop VTY_MORE mode.
2321
23221999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2323
2324 * command.h (node_type ): Add ACCESS_IPV6_NODE and
2325 PREFIX_IPV6_NODE.
2326
2327 * distribute.h: New file added.
2328
2329 * command.h (node_type ): Delete DISTRIBUTE_NODE.
2330
23311999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2332
2333 * vty.c (vty_terminate_all): New function added for reload
2334 support.
2335
23361999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2337
2338 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
2339
23401999-08-31 Janos Farkas <chexum@shadow.banki.hu>
2341
2342 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
2343 esc-ctrl-h (delete word backwards).
2344
23451999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2346
2347 * if.h: Add if_nametoindex for NRL.
2348
23491999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2350
2351 * if.c (if_create): New function.
2352
23531999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2354
2355 * snmp.c: New file.
2356
23571999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2358
2359 * stream.c (stream_put): stream_memcpy () is changed to stream_put
2360 (). stream_get () is added.
2361
23621999-08-18 Toshiaki Takada <takada@zebra.org>
2363
2364 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
2365
23661999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2367
2368 * table.c (route_table_finish): add function frees table.
2369
23701999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2371
2372 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
2373
23741999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2375
2376 * if.h (struct interface ): hw_address, hw_address_len added.
2377
23781999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2379
2380 * if.h (struct interface ): Change structure member if_data to
2381 info, index to ifindex.
2382
23831999-08-08 Rick Payne <rickp@rossfell.co.uk>
2384
2385 * routemap.c: Multi protocol route-map modification.
2386
2387 * routemap.c (route_map_apply): Route match process bug is fixed.
2388
23891999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2390
2391 * thread.c (thread_fetch): When signal comes, goto retry point.
2392
23931999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2394
2395 * Makefile.am: Add sockopt.c and sockopt.h
2396 * sockopt.c: New file.
2397 * sockopt.h: New file.
2398
23991999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2400
2401 * version.h (ZEBRA_VERSION): Release zebra-0.75
2402
24031999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2404
2405 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
2406
24071999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2408
2409 * sockunion.h: Add sockunion_getpeername ().
2410
24111999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2412
2413 * version.h: Release zebra-0.74
2414
24151999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2416
2417 * command.h (struct host): Delete lines from struct host. Add
2418 lines to struct vty.
2419
2420 * command.c: Delete `lines LINES'. Terminal display line settings
2421 should be done by `terminal length' command.
2422
24231999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2424
2425 * memory.h (enum): MTYPE_OSPF_PATH are added.
2426
24271999-07-22 Toshiaki Takada <takada@zebra.org>
2428
2429 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
2430
24311999-07-21 Toshiaki Takada <takada@zebra.org>
2432
2433 * linklist.c (list_add_node_prev), (list_add_node_next),
2434 (list_add_list): New function added.
2435
2436 * table.c (route_table_free): New function added.
2437
24381999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2439
2440 * plist.c (config_write_prefix): Set write flag when configuration
2441 is written.
2442
24431999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2444
2445 * prefix.c : prefix_cmp() added. change apply_mask() to
2446 apply_mask_ipv4(), and new apply_mask() added.
2447
24481999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2449
2450 * prefix.c (prefix2str): append prefixlen.
2451
24521999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2453
2454 * command.c (config_terminal): Change "config terminal" to
2455 "configure terminal". Reported by Georg Hitsch
2456 <georg@atnet.at>.
2457 (config_terminal_length): `terminal length <0-512>' is added. At
2458 this moment this command is only usef for vty interface.
2459 Suggested by Georg Hitsch <georg@atnet.at>.
2460
24611999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2462
2463 * routemap.c (rulecmp): Add wrapper function of strcmp.
2464
24651999-07-08 Rick Payne <rickp@rossfell.co.uk>
2466
2467 * sockunion.c (inet_aton): Fix bug of inet_aton.
2468
24691999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2470
2471 * version.h (ZEBRA_VERSION): Start zebra-0.73
2472
24731999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2474
2475 * version.h: Bump up to 0.72.
2476
24771999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2478
2479 * command.c (install_default): New function for install default
2480 commands to the node.
2481
2482 * memory.h (enum): MTYPE_NEXTHOP is added.
2483
24841999-07-01 <kunihiro@zebra.org>
2485
2486 * command.c (no_banner_motd): `no banner motd' command added.
2487
24881999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2489
2490 * regex.c: Update to glibc-2.1.1's posix/regex.c
2491
2492 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
2493
2494 * prefix.h (IPV4_ADDR_SAME): Macro added.
2495 (IPV6_ADDR_SAME): Likewise.
2496
24971999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2498
2499 * memory.h (enum): Add MTYPE_OSPF_VERTEX
2500
2501 * version.h: Bump up to 0.71.
2502
2503 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
2504 VTY socket when IPv6 is enabled.
2505
25061999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2507
2508 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
2509 address family to bind.
2510
2511 * command.c: Add quit command.
2512
25131999-06-26 NOGUCHI kay <kay@dti.ad.jp>
2514
2515 * vty.c (vty_read_config): Fix bug of configuration file path
2516 detection.
2517
25181999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2519
2520 * version.h: Bump up to 0.70.
2521
25221999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2523
2524 * buffer.h (GETL): Remove GETL macro.
2525
2526 * version.h: Bump up to 0.69.
2527
25281999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2529
2530 * if.c (connected_add): Commented out connected_log.
2531
25321999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2533
2534 * command.h (struct cmd_element ): strvec and descvec is combined
2535 into newstrvec.
2536
2537 * command.c (desc_make): Function removed.
2538 (desc_next): Function removed.
2539
2540 * command.h (struct cmd_element ): docvec is removed from struct
2541 cmd_element.
2542
25431999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2544
2545 * command.c (cmd_execute_command): Remove command NULL check.
2546
2547 * command.h (struct cmd_element ): Add newstrvec entry to struct
2548 cmd_element.
2549 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
2550 (a|b|c) statement.
2551 (DESC): DESC macro is removed.
2552
2553 * vty.c (vty_complete_command): When return value is
2554 CMD_ERR_NO_MATCH, don't display error message.
2555
25561999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2557
2558 * table.c (route_next_until): New function.
2559
2560 * version.h: Bump up to 0.68.
2561
25621999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2563
2564 * vty.c (vty_close): Free vty->buf when vty is closed.
2565
2566 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
2567 MTYPE_COMMUNITY_LIST.
2568
2569 * vty.h (struct vty ): Change buf from static length buffer to
2570 variable length buffer.
2571
2572 * vty.c (vty_ensure): New function added.
2573
25741999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2575
2576 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
2577
2578 * command.c (config_enable_password): Freeing host.enable bug is
2579 fixed.
2580 (config_enable_password): Add argc count check.
2581
25821999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2583
2584 * version.h: Bump up to 0.67.
2585
25861999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2587
2588 * command.c (zencrypt): New function for encrypt password.
2589
2590 * command.h (struct host): Add password_encrypt and
2591 enable_encrypt.
2592
25931999-05-30 Jochen Friedrich <jochen@scram.de>
2594
2595 * command.h (struct host): New member encrypt is added for
2596 encrypted password.
2597
25981999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2599
2600 * vty.c: Remove all_digit_check function. Instead use all_digit.
2601
2602 * prefix.c (all_digit): New function for checking string is made
2603 from digit character.
2604
26051999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2606
2607 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
2608 (noinst_HEADERS): Add zclient.h
2609
2610 * zclient.[ch]: New file for zebra client routine.
2611
2612 * memory.h (enum): Add MTYPE_ZEBRA.
2613
26141999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2615
2616 * version.h (ZEBRA_VERSION): Update to 0.66.
2617
26181999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2619
2620 * buffer.h (GETC,GETW): Macro deleted.
2621
26221999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2623
2624 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
2625
26261999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2627
2628 * vty.c (service_advanced_vty): New command added.
2629 (no_service_advanced_vty): Likewise.
2630
26311999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2632
2633 * vty.c (vty_auth): If advanced flag is set and enable password is
2634 not set, directly login to the ENABLE_NODE. This feature is
2635 originally designed and implemented by Stephen R. van den Berg
2636 <srb@cuci.nl>.
2637
2638 * command.h (host): Add advanced flag to struct host for advanced
2639 vty terminal interface.
2640
2641 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
2642
26431999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2644
2645 * command.h (node_type ): Add TABLE_NODE.
2646
2647 * vty.c (vty_telnet_option): Check host.lines value.
2648
2649 * command.c (config_lines): DEFUN for 'lines LINES' command.
2650
2651 * zebra.h: Include <sys/utsname.h> for uname().
2652 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
2653 routing table.
2654
2655 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
2656 password is not set.
2657 (vty_prompt): Get machine's hostname when hostname is not set.
2658
26591999-05-11 James Willard <james@whispering.org>
2660
2661 * command.c (config_exit): Close connection when `exit' command is
2662 executed at ENABLE_NODE.
2663
26641999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2665
2666 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
2667
2668 * command.c (cmd_execute_command_strict): Matched command size
2669 check added.
2670 (cmd_make_desc_line): New function for DEFUN2.
2671
2672 * command.h (struct cmd_element ): Add descsize.
2673
26741999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2675
2676 * command.h (struct cmd_element ): Remame descvec to docvec.
2677 (struct cmd_element ): Add descvec for new description system.
2678
2679 * command.c (desc_make): Check cmd->descvec.
2680
26811999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2682
2683 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
2684
26851999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2686
2687 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
2688 release.
2689
26901999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2691
2692 * linklist.c (list_delete_all_node): bug fix.
2693 previous code loses current position when node
2694 is deleted.
2695
26961999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2697
2698 * command.h (DESC): Macro added.
2699 (struct cmd_element2): Delete struct cmd_element2.
2700
2701 * plist.c (prefix_list): Sequential number option check is added.
2702
27031999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2704
2705 * log.c (zvlog_{debug,info,notice,warn,err}): have been
2706 added. now we can log both console and file, but still
2707 need some fix about config write.
2708
27091999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2710
2711 * log.c (zvlog_debug): Fix yasu's change.
2712
27131999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2714
2715 * plist.c (prefix_list): Fix typo.
2716
27171999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2718
2719 * Set version to 0.63 for first beta package.
2720
27211999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2722
2723 * prefix.c (str2prefix_ipv4): Fix prefix length check.
2724 (str2prefix_ipv6): Likewise.
2725
27261999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2727
2728 * memory.h (enum): Add MTPYE_PREFIX_LIST and
2729 MTYPE_PREFIX_LIST_ENTRY.
2730
2731 * command.h (node_type ): Add PREFIX_NODE.
2732
27331999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2734
2735 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
2736 (copy_runningconfig_startupconfig_cmd) is added.
2737
2738 * table.c (route_node_lookup): Unused match variable deletion.
2739
27401999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2741
2742 * Makefile.am (libzebra_a_SOURCES): plist.c added.
2743 (noinst_HEADERS): plist.h added.
2744
2745 * plist.c, plist.h: New file added.
2746
2747 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
2748 * memory.c: Likewise.
2749
27501999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2751
2752 * command.c (show_version): `show version' command added.
2753
27541999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2755
2756 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
2757
27581999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2759
2760 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
2761
27621999-04-19 Alex Bligh <amb@gxn.net>
2763
2764 * prefix.c (sockunion2hostprefix): Function added.
2765 (sockunion2prefix): Address family was not set. Now it is set.
2766
2767 * vty.c: VTY access-class command is added.
2768
27691999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2770
2771 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
2772 xstrdup are likewise.
2773
27741999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2775
2776 * thread.c: Add thread_execute for other routing daemon.
2777 OSPF tasks need to be generated by "sheduled" and "executed".
2778
27791999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2780
2781 * buffer.c: Rewrite buffer_write and buffer_flush related
2782 functions for fixing bugs. Reason of the problem and fix is
2783 suggested by Alex Bligh <amb@gxn.net>.
2784
27851999-04-12 Alex Bligh <amb@gxn.net>
2786
2787 * command.c (cmd_entry_function_descr): Added for variable
2788 argument help display.
2789
27901999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2791
2792 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
2793
27941999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2795
2796 * stream.c: stream_fifo_free bug is fixed.
2797
27981999-03-19 Toshiaki Takada <takada@zebra.org>
2799
2800 * stream.c (stream_strncpy): Added for getting any length bytes
2801 from stream.
2802
28031999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2804
2805 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
2806
28071999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2808
2809 * buffer.c (buffer_flush_window): If ep is same as buffer's size
2810 length and lp is overrun one octet.
2811
28121999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2813
2814 * vty.h: add VTY's timeout function.
2815
28161999-03-05 <kunihiro@zebra.org>
2817
2818 * command.h (node_type ): Add OSPF6_node.
2819
28201999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2821
2822 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
2823
28241999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
2825
2826 * zebra.h: Include <net/if_var.h> if it exists.
2827
28281999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2829
2830 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
2831
2832 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
2833
2834 * command.h: Include vector.h and vty.h
2835
28361999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2837
2838 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
2839
2840 * routemap.c (route_map_apply_index): Add prefix argument.
2841 (route_map_apply): Likewise.
2842
2843 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
2844
2845 * stream.c: Add stream_fifo related functions.
2846
28471999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2848
2849 * daemon.c: Return integer value. File descriptor close is added.
2850
2851 * memory.h (enum): add MTYPE_OSPF_LSA.
2852
28531999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2854
2855 * rsh.c: Remove empty file.
2856
28571999-02-22 <kunihiro@zebra.org>
2858
2859 * routemap.c: Add add/delete hook to route_map_master.
2860
28611999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
2862
2863 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
2864 strlcpy on system without these.
2865
28661999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2867
2868 * syslog support added
2869
28701999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2871
2872 * filter.c (access_list_add_hook): added for hook function management.
2873 * filter.c (access_list_delete_hook): Likewise.
2874
28751999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2876
2877 * stream.c: New file.
2878 * stream.h: New file.
2879 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
2880
28811999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2882
2883 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
2884
2885 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
2886
28871998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2888
2889 * routemap.c: route_map_index_delete() added.
2890
28911998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2892
2893 * buffer.c (buffer_empty): check cp instead of sp.
2894
28951998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2896
2897 * radix.[ch]: Deleted.
2898
28991998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2900
2901 * buffer.c: Prototype fixes.
2902 * prefix.c: Likewise.
2903 * sockunion.c: Likewise.
2904 * sockunion.h: Likewise.
2905
29061998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2907
2908 * vty.c (vty_read): DELETE key works as vty_delete_char.
2909
29101998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2911
2912 * log.c (time_print): chane %y to %Y.
2913
29141998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2915
2916 * distribute.c: new file.
2917
29181998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2919
2920 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
2921 complete support of IPv6 access list.
2922
2923 * command.c (config_write_element): function delete.
2924 (config_write_host): function add. password and enable password
2925 isn't printed to vty interface.
2926
29271998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2928
2929 * filter.c: Change prefix_ipv4 to prefix and add support of
2930 prefix_ipv6 filtering.
2931
29321998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2933
2934 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
2935 header includes.
2936
29371998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2938
2939 * log.c (log_flush): fix function name typo.
2940
29411998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2942
2943 * memory.h: OSPF memory type is added.
2944
29451998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2946
2947 * command.c (sort_node): add sort_node() for pretty printing of
2948 command on vty interface.
2949 (config_password): delete the restriction of charaster of password
2950 string.
2951
29521998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
2953
2954 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
2955
29561998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2957
2958 * network.h: New file.
2959
29601998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2961
2962 * vty.c (vty_will_echo): function name change from vty_off_echo.
2963
29641998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2965
2966 * buffer.h: add PUTC,PUTW,PUTL macros.
2967
29681998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2969
2970 * route.[ch]: renamed to prefix.[ch]
2971
29721998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2973
2974 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
2975
2976 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
2977
29781998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2979
2980 * host.[ch]: merged with command.[ch]
2981
29821998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2983
2984 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
2985
29861998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2987
2988 * route.c (str2prefix): str2prefix () is gone.
2989
29901998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2991
2992 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
2993
2994 * .cvsignore: add file.
2995
2996 * memory.c (xerror): add arguent `type' and `size'.
2997
2998 * socket.c: deleted.
2999
30001998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3001
3002 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
3003 * linklist.c: same as above.
3004
30051998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3006
3007 * filter.[ch]: added.
3008
30091998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3010
3011 * vty.c (config_who): return CMD_SUCCESS
3012
30131998-04-01 Jochen Friedrich <jochen@scram.de>
3014
3015 * table.c (route_dump_node): route_dump_node is IPv6 specific
3016 function so move #ifdef to the end of route_dump_node ().
3017
30181998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
3019
3020 * if.c: DEFUN(interface_desc) added.
3021
30221998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3023
3024 * if.c: separated from ripd/rip_interface.c
3025
30261998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3027
3028 * thread.[ch] : added.
3029
30301998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3031
3032 * vty.c (vty_delete_char): fix size bug.
3033 (vty_backward_pure_word): function added.
3034 (vty_read): ESC + 'f' perform vty_forward_word.
3035 (vty_read): ESC + 'b' perform vty_backward_word.
3036
30371998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3038
3039 * radix.c (radix_lookup_rt): add mask check.
3040 (radix_delete_duproute): add mask check.
3041
30421998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3043
3044 * command.c (config_write_file): fix vty -> file_vty.
3045
30461998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3047
3048 * command.c (cmd_filter_ambiguous): add complex type treatment.
3049
30501998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3051
3052 * vty.c (vty_time_print): function added.
3053 (vty_complete_command): now [...] element isn't shown by completion.
3054
30551998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3056
3057 * command.c : change from cmd_install_node() to install_node().
3058
30591998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3060
3061 * route.[ch]: struct rt{} is replaced by struct prefix{}.
3062
30631998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3064
3065 * command.c (cmd_execute_command): check command length.
3066
3067 * timer.c (zebra_timer_set): add zebra_timer_set.
3068
30691998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3070
3071 * command.h (node_type ): add ZEBRA_NODE.
3072
3073 * command.c (config_exit): add RIP_NODE.
3074 (config_write_file): add RIP_NODE.
3075
30761998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3077
3078 * print_version.c (print_version): Now Copyright is 1996-1998.
3079
3080 * sockunion.c (sockunion_log): moved from ../zebra/route.c
3081
30821997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3083
3084 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
3085
3086 * sockunion.c (sockunion_sameprefix): add same prefix for
3087 sockunion.
3088
30891997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3090
3091 * radix.[ch] : are moved from ../zebra directroy.
3092
3093 * command.c (config_from_file): if command execution failed down
3094 level to CONFIG_NODE.
3095
3096 * host.c: config_log function which enable 'log FILENAME' command.
3097
30981997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3099
3100 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
3101 transpose character.
3102
3103 * command.c: cmd_cmdsize add, this is useful to check incomplete
3104 command.
3105
31061997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3107
3108 * fd.h: add family for address family
3109
31101997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3111
3112 * command.o
3113 * vty.o
3114 * host.o is moved from ../zebra
3115
31161997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3117
3118 * make library directory.
3119