blob: 03ca581f37824c4643563825de7e3be383e2ed1a [file] [log] [blame]
paulb45da6f2005-03-08 15:16:57 +000012005-03-08 Paul Jakma <paul.jakma@sun.com>
2
paul9c5d8562005-03-08 15:56:42 +00003 * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
4 (cmd_describe_command_real) sign compile warning fix
5 (cmd_complete_command_real) ditto.
6 (config_list_cmd) Don't list hidden or deprecated commands,
7 hiding these from tab completion is still to be done.
8 * command.h: cmd attr enum should start at 1.
paulb45da6f2005-03-08 15:16:57 +00009 * vty.c: (vty_hello) suggestions from Andrew, read by line and
10 stub out trailling non-printable characters on each line thus
11 allowing us to specify VTY_NEWLINE to vty_out.
12
paul3b0c5d92005-03-08 10:43:43 +0000132005-03-08 Jeroen Massar <jeroen@unfix.org>
14
15 * vty.c: (vty_hello) display motd file, if set
16 * command.h: add char *motdfile to struct host
17 * command.c: (config_write_host) write out motdfile config
18 (banner_motd_file_cmd) new command, allow motd to be read from
19 file.
20 (no_banner_motd_cmd) free motdfile string, if needs be.
21 (cmd_init) init (struct host).motdfile. Add new motd file
22 commands.
23
hasso12f6ea22005-03-07 08:35:39 +0000242005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
25
26 * command.c: host.name might be NULL.
27 * vty.c: Fix fd leak.
28
ajs81fb3242005-02-24 16:02:53 +0000292005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
30
31 * stream.c: (stream_read_try) Log a warning message if a fatal
32 I/O error occurs.
33 (stream_fifo_new) Fix prototype.
34 * stream.h: Fix prototype for stream_fifo_new (need void arg).
35
ajs9fc7ebf2005-02-23 15:12:34 +0000362005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
37
ajscdb6ee92005-02-23 15:48:32 +000038 * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
39
402005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
41
ajs9fc7ebf2005-02-23 15:12:34 +000042 * buffer.h: Make the struct buffer and struct buffer_data structures
43 private by moving them inside buffer.c. Add comments for all
44 functions. Rename buffer_write as buffer_put (to be more consistent
45 with the buffer_putc and buffer_putstr functions). Declare a new
46 buffer_write function that is used to write data to a file descriptor
47 and/or add it to the buffer queue. Remove unused function
48 buffer_flush_vty_all. Create a new enum typedef buffer_status_t
49 to be used as the return code for all buffer_flush* functions
50 and buffer_write.
51 * buffer.c: The struct buffer and struct buffer_data declarations
52 are now private to this file. In conjunction with that, remove
53 some unnecessary fields: struct buffer (alloc, unused_head,
54 unused_tail, length), struct buffer_data (prev).
55 (buffer_data_new) Removed: functionality incorporated into buffer_add.
56 (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
57 (buffer_new) Use calloc instead of malloc + memset(zero).
58 Supply an appropriate default size if the specified size is 0.
59 (buffer_free) Eliminate code duplication by calling buffer_reset to
60 free the contents of the buffer (and remove unused code related
61 to unused_head).
62 (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
63 compact).
64 (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set
65 alloc and length to 0 (these fields have been removed).
66 (buffer_add) Fix scope to be static. Call XMALLOC directly instead
67 of calling removed buffer_data_new function. Simplify the logic
68 (since it's now a singly-linked list instead of doubly-linked).
69 (buffer_write) Renamed to buffer_put. Change to void, since return
70 code of 1 was meaningless. No need to adjust length field, since
71 it has been removed.
72 (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
73 Remove unused functions.
74 (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
75 a possible failure mode if IOV_MAX is less than the number of buffers
76 on the queue.
77 (buffer_flush_window) Incorporate logic from buffer_flush_vty.
78 Log an error message if there is a writev error.
79 (buffer_flush_available) Be more paranoid: check for case where
80 buffer is already empty. Use new ERRNO_IO_RETRY macro, and use
81 new enum for return codes. Simplify deletion logic (since it's
82 now a singly-linked list).
83 (buffer_write) New function for use with non-blocking I/O.
84 * vty.h: Replace the struct vty sb_buffer field with a fixed-size
85 (5-character) sb_buf field and an sb_len field, since using
86 a struct buffer was inappropriate for this task. Add some useful
87 comments about telnet window size negotiation.
88 * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
89 Remove VTY_OBUF_SIZE (instead use buffer_new default size).
90 Make telnet_backward_char and telnet_space_char static const.
91 (vty_out) Replace buffer_write with buffer_put.
92 (vty_log_out) Check for I/O errors. If fatal, close the vty session.
93 Consolidate 3 separate writes into a single write call.
94 (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
95 vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
96 vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
97 vty_config_write,vty_save_cwd) Fix scope to static.
98 (vty_new) Let buffer_new use its default buffer size.
99 (vty_write) Fix signature: 2nd arg should be const char *.
100 Replaced buffer_write with buffer_put.
101 (vty_telnet_option) Fix minor bug (window height or width greater than
102 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer
103 (which was being used improperly).
104 (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
105 If the error is fatal, call buffer_reset so vty_close does not attempt
106 to flush the data. Use new sb_buf and sb_len instead of sb_buffer
107 to store the SB negotiation string.
108 (vty_flush) When vty->lines is 0, call buffer_flush_available instead
109 of buffer_flush_window. Look at the return code from buffer_flush
110 to detect I/O errors (and in that case, log an error message and
111 close the vty).
112 (vty_create) Fix scope to static. Initialize sb_len to 0 instead
113 of creating sb_buffer.
114 (vty_accept) Set socket nonblocking.
115 (vtysh_accept) Use new set_nonblocking function instead of calling
116 fcntl directly.
117 (vtysh_flush) New function called from vtysh_read (after command
118 execution) and from vtysh_write. This flushes the buffer
119 and reacts appropriately to the return code (by closing the vty
120 or scheduling further flushes).
121 (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
122 If not, just try again later. Otherwise, call buffer_reset before
123 calling vty_close (to avoid trying to flush the buffer in vty_close).
124 Fix logic to allow case where a command does not arrive atomically
125 in a single read call by checking for the terminating NUL char.
126 (vtysh_write) Use new vtysh_flush helper function.
127 (vty_close) No need to call buffer_empty, just call buffer_flush_all
128 in any case (it will check whether the buffer is empty).
129 Do not free sb_buffer (since it has been removed).
130 (vty_log_fixed) Use writev instead of write.
131 * zebra.h: Do not include <arpa/telnet.h>, since this is used only
132 by lib/vty.c.
133
hassoc3c07f22005-02-21 18:17:52 +00001342005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
135
136 * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
137 will allow to update node when:
138 i) a node is inserted into the priority queue;
139 ii) a node position is modified in the priority queue;
140 * pqueue.h: Export trickle_down() function.
141
paul109ac962005-02-19 01:17:07 +00001422005-02-19 Paul Jakma <paul.jakma@sun.com>
143
144 * stream.c: (stream_new) fix dumb mistake.
145
ajsd7e2a812005-02-17 20:02:49 +00001462005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
147
ajs53270112005-02-17 20:07:22 +0000148 * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.
149
1502005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
151
ajsd7e2a812005-02-17 20:02:49 +0000152 * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
153 operation should be retried. This eliminates the need to duplicate
154 the same logic testing for EAGAIN or EINTR in multiple places.
155
ajs42218e72005-02-16 16:25:39 +00001562005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
157
ajs262feb12005-02-16 20:35:47 +0000158 * stream.h: Declare new function stream_read_try suitable for use
159 with non-blocking file descriptors. Indicate that stream_read
160 and stream_read_unblock are deprecated.
161 * stream.c: (stream_read_try) New function for use with non-blocking
162 I/O.
163 (stream_recvmsg) Should return -1 if the stream is too small to
164 contain the data.
165
1662005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
167
ajs42218e72005-02-16 16:25:39 +0000168 * network.c: (set_nonblocking) Should check return code from
169 fcntl(F_GETFL).
170
ajsa269d612005-02-16 00:45:37 +00001712005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
172
173 * network.h: Declare new function set_nonblocking. Indicate that
174 readn and writen are deprecated.
175 * network.c: (set_nonblocking) New function to make a file descriptor
176 non-blocking, since it seems silly to have fcntl calls sprinkled
177 throughout the code.
178
paul1dd13d42005-02-14 23:49:09 +00001792005-02-14 Paul Jakma <paul.jakma@sun.com>
paulf2e6c422005-02-12 14:35:49 +0000180
181 * stream.h: Unsigned long updated to size_t
182 * stream.c: ditto
paul050c0132005-02-14 23:47:47 +0000183 * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
184 Add comment describing struct stream abstraction, and various
185 other comments.
186 Deprecate several unsafe/ambigious macros.
187 Add STREAM_WRITEABLE and STREAM_READABLE.
188 Add (stream_getl_from) for symmetry.
189 Update stream_forward_{endp,getp} to use size_t offset.
190 Make stream data a 0 length array, rather than a seperate malloc.
191 * stream.c: Add consistency checks. Update to follow stream.h
192 changes.
193 (stream_new) Alloc stream+data in one go.
194 (stream_copy) new function, copy a stream.
195 (stream_dup) new function, dup a stream.
196 (stream_recvmsg) new function, recvmsg data into a stream.
197 (stream_empty) no need to check getp == 0.
paulf2e6c422005-02-12 14:35:49 +0000198
paul9985f832005-02-09 15:51:56 +00001992005-02-09 Paul Jakma <paul.jakma@sun.com>
200
201 * stream.h: Remove putp. Update reference to putp with endp.
202 Add stream_forward_endp, which daemons were doing manually.
203 Rename stream_forward to stream_forward_getp.
204 stream.c: Remove/update references to putp.
205 introduce stream_forward_endp.
206
ajs548e6f72005-02-08 15:57:25 +00002072005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
208
209 * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
210 to use compound assignment operators (aesthetic change).
211
ajs1e221352005-02-03 16:42:40 +00002122005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
213
ajsc4c7d0c2005-02-03 19:22:05 +0000214 * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
215 since it is not async-signal-safe.
216 (_zlog_assert_failed) Rewrite crashlog logic more compactly.
217 (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
218 for use in signal handler.
219
2202005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
221
ajs1e221352005-02-03 16:42:40 +0000222 * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
223 inside this function only.
224 (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
225 with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
226 (zlog_signal,_zlog_assert_failed) Increase logging priority from
227 LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
228 open_crashlog to create a crash logfile.
229 (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
230 dump a backtrace to that file.
231
ajs847947f2005-02-02 18:38:48 +00002322005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
233
234 * if.h: Declare if_flag_dump.
235
ajs6a52d0d2005-01-30 18:49:28 +00002362005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
237
238 * daemon.c: (daemon) Replace perror with zlog_err.
239 * vty.c: (vty_serv_un) Replace perror with zlog_err.
240
ajs3b8b1852005-01-29 18:19:13 +00002412005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
242
243 * buffer.h: Fix comment on buffer_getstr to reflect that it now
244 uses XMALLOC.
245 * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
246 * filter.c: (access_list_remark,ipv6_access_list_remark) Use
247 argv_concat instead of buffer_getstr.
248 * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
249 * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
250 Use argv_concat instead of buffer_getstr.
251
ajsf6834d42005-01-28 20:28:35 +00002522005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
253
ajsafb8b602005-01-28 20:41:07 +0000254 * lib/buffer.h: Document behavior of buffer_getstr function.
255 * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
256 the string extends beyond the head struct buffer_data.
257
2582005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
259
ajsf6834d42005-01-28 20:28:35 +0000260 * lib/command.h: Document behavior of argv_concat function.
261 * lib/command.c: (argv_concat) Calculate total string length first so
262 we can call malloc just once (instead of realloc'ing to add each
263 string element).
264 (do_echo,config_logmsg) Allow for possible NULL return value from
265 argv_concat.
266
hasso13bfca72005-01-23 21:42:25 +00002672005-01-23 Hasso Tepper <hasso at quagga.net>
268
269 * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
270 use it as well.
271
ajs31364272005-01-18 22:18:59 +00002722005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
273
274 * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
275 two args (siginfo and program_counter).
276 * log.c: (hex_append) Include this function only if SA_SIGINFO or
277 HAVE_GLIBC_BACKTRACE is defined.
278 (zlog_signal) Final two args (siginfo and program_counter) now
279 depend on whether SA_SIGINFO is defined on this platform.
280 * sigevent.c: (program_counter) Do not include this function if
281 SA_SIGINFO is not defined on this platform.
282 (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
283 2nd & 3rd arguments are present and to decide how to invoke
284 zlog_signal.
285 (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
286 appropriately.
287
ajs239c26f2005-01-17 15:22:28 +00002882005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
289
290 * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
291 program_counter argument.
292 * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
293 argument. If it is non-NULL, use backtrace_symbols_fd to resolve
294 the address.
295 (zlog_signal) Call zlog_backtrace_sigsafe with additional
296 program_counter argument.
297
hasso87d683b2005-01-16 23:31:54 +00002982005-01-17 Hasso Tepper <hasso at quagga.net>
299
300 * command.[ch], vty.c: cmd_execute_command() function must not attempt
301 to walk up in the node tree if called from vtysh. Different daemons
302 might have commands with same syntax in different nodes (for example
303 "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
304
ajscb585b62005-01-14 17:09:38 +00003052005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
306
307 * command.c (print_version): Do not bother even to examine host.name,
308 since it is always NULL when this function is called from main.
309
gdtf867d322005-01-14 15:47:33 +00003102005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com>
311
312 * command.c (print_version): Don't print host.name if it is NULL.
313 Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
314
ajse22f5512005-01-12 16:18:17 +00003152005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
316
ajs40abf232005-01-12 17:27:27 +0000317 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
318 pass additional siginfo_t and ucontext_t arguments to core_handler
319 and exit_handler.
320 (core_handler,exit_handler) Now invoked with 3 arguments (using
321 SA_SIGINFO). Pass additional info to zlog_signal.
322 (program_counter) New function to find program counter in ucontext_t,
323 needs to be enhanced to support more platforms (currently works only
324 on Linux/x86).
325 * log.h: Change the zlog_signal prototype to add new arguments
326 siginfo_t * and program_counter.
327 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
328 Include si_addr and program counter (if non-NULL) in message.
329 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
330 that is now used to render the si_addr and PC pointers.
331
3322005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
333
ajse22f5512005-01-12 16:18:17 +0000334 * zebra.h: If not C99 and no va_copy macro available, fall back to
335 memcpy (solves a build problem on FreeBSD 4.x).
336
ajsb99760a2005-01-04 16:24:43 +00003372005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
338
339 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
340 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
341 by the configure test program).
342 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
343 of CMSG_FIRSTHDR.
344
hassocba8a602005-01-02 18:51:01 +00003452005-01-02 Hasso Tepper <hasso at quagga.net>
346
347 * command.c: Revert int -> unsigned int fixes in
348 cmd_describe_command_real() and cmd_complete_command_real(). index can
349 be actually negative and it caused crash with "do<TAB>" in vty.
350
gdt1d69fdf2004-12-29 18:53:30 +00003512004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
352
gdtd44debe2004-12-29 20:06:23 +0000353 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
354 convention. Beef up comments. Handle the case where the cmsghdr
355 has a zero controllen, or more specifically when the wanted option
356 is not present. This is needed for Solaris 8, and in general for
357 any platform for which configure finds a method and it can fail.
358 Mark some changes with XXX to be cleaned up post 0.98.
359
ajsaf04bd72004-12-28 17:00:12 +00003602004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
361
ajs1d75c8c2004-12-28 21:43:17 +0000362 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
363 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
364 deterministic (-1).
365
3662004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
367
ajsaf04bd72004-12-28 17:00:12 +0000368 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
369
paul4ba9b922004-12-21 22:34:58 +00003702004-12-21 Paul Jakma <paul.jakma@sun.com>
371
372 * if.h: Add more 'non-generic' IFF_ flags.
373 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +0000374 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +0000375
ajs202d08c2004-12-17 20:50:00 +00003762004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +0000377
378 * command.c: (do_echo) Added new "echo" command, useful for
379 watchdog pinging to make sure the daemon is responsive.
380
3812004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +0000382
383 * pid_output.c: (pid_output_lock) Eliminate static function, and just
384 use the #ifdef to decide which version of the function to include.
385 This eliminates a compilation problem with gcc4. And fix the
386 non-fcntl version so that it actually compiles. Exit with
387 status 1 instead of -1 on error.
388
ajs81fc57c2004-12-15 17:41:14 +00003892004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
390
391 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
392
ajs3378d202004-12-10 22:43:17 +00003932004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
394
395 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
396 LOG_ERR instead of LOG_EMERG.
397
ajsc3324c62004-12-09 17:26:31 +00003982004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
399
400 * log.c: (hex_append) No need to include this function if
401 HAVE_GLIBC_BACKTRACE is not defined.
402
ajsb9e70282004-12-08 17:14:45 +00004032004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
404
405 * prefix.c: (prefix_copy) Error message before abort should
406 have severity LOG_ERR, not LOG_INFO.
407 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
408
ajs274a4a42004-12-07 15:39:31 +00004092004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
410
ajs8ddca702004-12-07 18:53:52 +0000411 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
412
4132004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
414
ajs82146b82004-12-07 17:15:55 +0000415 * command.c: (config_write_host) Note that "log trap" is deprecated
416 when writing out the config.
417
4182004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
419
ajs274a4a42004-12-07 15:39:31 +0000420 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
421 array to support individual logging levels for each destination.
422 Remove the 2nd argument to openzlog since the default logging config
423 should be standardized inside the library. Replaced the
424 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
425 And zlog_set_file now requires an additional log_level argument.
426 Declare zlog_proto_names for use inside command.c in the
427 "show logging" command. Added defines useful for command
428 construction.
429 * log.c: (vzlog) Decide where to send the message based on the
430 individual logging levels configured for each destination.
431 Remove support for ZLOG_STDERR since it was never actually used.
432 Support record-priority for terminal monitors.
433 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
434 logging levels. Remove stderr support (was never used). Added
435 support for terminal monitor logging.
436 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
437 (openzlog) Remove 2nd argument since default config should be
438 standardized in library. By default, terminal monitoring
439 is set to debug, and all other logging is disabled.
440 (zlog_set_flag,zlog_reset_flag) Removed.
441 (zlog_set_level) New function to replace zlog_set_flag and
442 zlog_reset_flag. Supports destination-specific logging levels.
443 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
444 (zlog_rotate) Log an error message if fopen fails, and support
445 new file-specific logging level.
446 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
447 command functions will be static instead of global. Remove
448 declarations for config_exit and config_help. Define new macros
449 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
450 have deprecated commands in vtysh. Similarly, for completeness,
451 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
452 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
453 was never used).
454 * command.c: Make many functions static instead of global.
455 (facility_name,facility_match,level_match) New functions
456 to support enhanced destination-specific logging levels.
457 (config_write_host) Support new destination-specific logging levels.
458 (config_logmsg) Added new "logmsg" command to help test logging
459 system.
460 (show_logging) Added "show logging" command to show the current
461 configuration of the logging system.
462 (config_log_stdout_level) Support explicit stdout logging level.
463 (no_config_log_stdout) Now takes optional LEVEL arg.
464 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
465 New commands creating new "log monitor" commands to set terminal
466 monitoring log level.
467 (config_log_file_level) Support explicit file logging level.
468 (config_log_syslog_level) Support explicit syslog logging level.
469 (config_log_facility,no_config_log_facility) Implement new
470 "log facility" command.
471 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
472 "log stdout <level>", "log monitor", "log monitor <level>",
473 "no log monitor", "log file <filename> <level>",
474 "no log file <filename> <level>", "log syslog <level>",
475 "log facility", and "no log facility".
476 * vty.h: Added a "level" argument to vty_log so it can support
477 "log record-priority". Declare new function vty_log_fixed for
478 use in signal handlers.
479 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
480 "log record-priority" for vty terminal monitors.
481 (vty_down_level) Use config_exit_cmd.func instead of calling
482 config_exit directly (since command functions will now be static
483 instead of global).
484 (vty_log_fixed) New function to send terminal monitor messages
485 from inside a signal handler.
486
ajs887c44a2004-12-03 16:36:46 +00004872004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
488
ajs5e764772004-12-03 19:03:33 +0000489 * log.h: Document appropriate use of syslog logging priorities
490 inside quagga.
491
4922004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
493
ajs56f20692004-12-03 17:40:31 +0000494 * command.h: Remove fields log_stdout and log_syslog from struct host,
495 since they are just trying to duplicate information in the
496 zlog_default structure. Note that this fixes a bug since those
497 fields were not registering any logging that was established
498 in the initial call to openzlog (this affects only the zebra and
499 ospf6d daemons). It is probably a bug to turn on any logging by
500 default in the call to openzlog.
501 * command.c: (config_write_host) Get logging info from zlog_default
502 instead of now-removed fields host.log_stdout and host.log_syslog.
503 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
504 host.log_stdout, since this info is recorded in zlog_default.
505 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
506 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
507 Do not set now-removed field host.log_syslog, since this info is
508 recorded in zlog_default.
509
5102004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
511
ajs887c44a2004-12-03 16:36:46 +0000512 * version.h.in: Remove declaration for pid_output_lock, this function
513 is now static, not global.
514 * pid_output.c: (pid_output_lock) This function should be static, not
515 global. And remove "old umask" error message, since it was really
516 an unimportant debug message, not an error.
517 (pid_output) Need to declare static function pid_output_lock.
518
ajs7d149b82004-11-28 23:00:01 +00005192004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
520
521 * log.h: Remove several unused fields from struct zlog. Add comments
522 for other fields, and add one new field syslog_options that is
523 used in the new syslog_sigsafe implementation.
524 * log.c: (syslog_sigsafe) New function to send syslog messages in
525 an async-signal safe way that can be used inside a signal handler.
526 (syslog_connect) New function to connect to syslog daemon inside a
527 signal handler. This function supports only systems where /dev/log
528 is a unix datagram socket (e.g. not Solaris).
529 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
530 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
531 enabled.
532 (openzlog) Save syslog_options for use in syslog_sigsafe.
533 (num_append) Fix bug: handle 0 properly.
534 (hex_append) New function to print a u_long in hex format.
535
hasso2557aed2004-11-28 21:16:20 +00005362004-11-28 Hasso Tepper <hasso at quagga.net>
537
538 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
539
ajsd1c51d72004-11-26 14:14:30 +00005402004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
541
ajs48d6c692004-11-26 20:52:59 +0000542 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
543 to the more self-explanatory zlog_backtrace_sigsafe.
544
5452004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
546
ajs5b85fac2004-11-26 19:36:42 +0000547 * debug.[ch]: Remove unused files.
548 * Makefile.am: Remove references to debug.c and debug.h
549
5502004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
551
ajs063ee522004-11-26 18:11:14 +0000552 * log.c: (zlog_backtrace) New function to log a backtrace.
553 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
554 Unfortunately, this function does not support syslog logging yet.
555 (zlog_signal) Move backtrace code into separate function
556 zlog_backtrace_safe.
557 (_zlog_assert_failed) Call zlog_backtrace before aborting.
558 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
559 * memory.c: (zerror) Call zlog_backtrace before aborting.
560
5612004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
562
ajsd1c51d72004-11-26 14:14:30 +0000563 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
564
ajse5879ca2004-11-25 16:07:53 +00005652004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
566
ajs4cf0d0d2004-11-25 17:14:34 +0000567 * zebra.h: If not C99 and there's no va_copy macro and there is
568 a __va_copy macro, define va_copy as __va_copy.
569
5702004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
571
ajse5879ca2004-11-25 16:07:53 +0000572 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
573 set l_whence to SEEK_SET, not SEEK_END. And after writing new
574 pid to file, must ftruncate to eliminate any extraneous bytes left
575 over from the last time a pid was written.
576
ajscee3df12004-11-24 17:14:49 +00005772004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
578
579 * zassert.h: New header file to declare a quagga-specific assert macro.
580 * log.c: (_zlog_assert_failed) New function called when assert fails
581 to log the error and abort.
582 * zebra.h: Include "zassert.h" instead of <assert.h>.
583 * regex.c: Include "zassert.h" instead of <assert.h>.
584
ajsd246bd92004-11-23 17:35:08 +00005852004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
586
ajs59a06a92004-11-23 18:19:14 +0000587 * sigevent.c: (signal_init) Set up some default signal handlers
588 so that processes will issue an error message before terminating
589 or dumping core.
590 (trap_default_signals) New function to set up signal handlers
591 for various signals that may kill the process.
592 (exit_handler) Call zlog_signal, then _exit.
593 (core_handler) Call zlog_signal, then abort.
594 * log.h: Declare new function zlog_signal.
595 * log.c: (zlog_signal) New function to log information about
596 a received signal before the process dies. Try to log a
597 backtrace also.
598 (quagga_signal_handler,signal_set) Should be static.
599
6002004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
601
ajsd246bd92004-11-23 17:35:08 +0000602 * log.c: (vzlog) Take a single va_list argument and use va_copy
603 as necessary for multiple traversals.
604 (zlog) Pass only one va_list to vzlog.
605 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
606 va_list to vzlog.
607 (zlog_set_file) Remove unused 2nd argument (flags).
608 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
609 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
610 Remove unused 2nd argument from zlog_set_file prototype.
611 Fix prototype for zlog_rotate.
612 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
613 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
614 properly.
615 (vty_log) Must use va_copy for multiple traversals of va_list arg.
616
ajsca359762004-11-19 23:40:16 +00006172004-11-19 David Young <dyoung@pobox.com>
618
619 * log.c: (safe_strerror) New function: safe wrapper for strerror.
620
ajsff29bb32004-11-19 18:29:22 +00006212004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
622
623 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
624 printed every time.
625
ajsf858e492004-11-16 14:25:30 +00006262004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
627
628 * memory.h: Fix prototype for memory_init().
629 * memory.c: Declare many functions and data structures static instead
630 of global. Fix prototype for memory_init().
631
gdt69e13252004-11-15 18:51:15 +00006322004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
633
634 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
635 alignment (users should use CMSG_SPACE).
636
637 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
638 asumming 4-byte alignment, since this isn't safe.
639
ajs7fa25ff2004-11-15 16:12:32 +00006402004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
641
642 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
643 Instead of exiting, log currenty memory usage and then abort.
644 (log_memstats) New function to log memory statistics, called by
645 zerror.
646 (show_memory_all) Loop over new mlists array instead of calling
647 show_memory_vty separately for each memory_list.
648
paulb86718e2004-11-08 17:34:07 +00006492004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +0000650
paul2265d202004-11-08 15:43:21 +0000651 * buffer.c: Add missing include of log.h.
652 (buffer_flush_available) written is compared against
653 mostly against unsigned types, only for the writev do we need
654 signed compare, so declare it as size_t and cast it to ssize_t
655 just for the error compare when we've called writev.
656 * buffer.h: Add comment that buffer data sizes really should be
657 size_t.
658
6592004-11-07 Paul Jakma <paul@dishone.st>
660
661 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +0000662
ajs49ff6d92004-11-04 19:26:16 +00006632004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
664
ajs5a646652004-11-05 01:25:55 +0000665 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
666 capabilities (that were used only in bgpd/bgp_route.c and are now
667 removed). Also remove some other fields that were not being
668 used at all.
669 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
670 and VTY_CONTINUE.
671 (vty_read) Remove calls to vty->output_func since that was part
672 of the VTY_CONTINUE infrastructure that has been removed.
673 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
674 (vty_close) Remove code to cancel vty->t_output thread, since that
675 thread was never actually used.
676
6772004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
678
ajs49ff6d92004-11-04 19:26:16 +0000679 * vty.c: Vtysh connections to daemons should use buffering.
680 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
681 (vty_new) Increase output buffer size to 4096 rounded up to a
682 multiple of pagesize.
683 (vtysh_read) After command has been executed and all output buffered,
684 call buffer_flush_available and schedule further writes if the
685 buffers are not yet empty.
686 (vtysh_write) New function to flush output to vtysh when the socket
687 is writeable.
688 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
689 clients. Also, should save read thread in vty->t_read so the
690 thread can be cancelled in vty_close.
691 * buffer.h: In struct buffer_data, remove unused "parent" field.
692 Convert "unsigned char *data" to "unsigned char data[0]" to save
693 a malloc. Declare new function buffer_flush_available that works
694 with non-blocking sockets.
695 * buffer.c: (buffer_data_new) Use a single malloc now that data is
696 a variable-size array at end of structure.
697 (buffer_data_free) Just a single free now that data is part of the
698 structure.
699 (buffer_write) Simplify the logic to make behavior more transparent.
700 (buffer_flush) Decrease b->length as data is written out.
701 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
702 (buffer_flush_vty) Decrease b->length as data is written out.
703 (buffer_flush_available) New function to flush non-blocking sockets.
704
paule064d6d2004-11-01 08:59:21 +00007052004-11-01 Paul Jakma <paul@dishone.st>
706
707 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
708
paul75e15fe2004-10-31 02:13:09 +00007092004-10-31 Paul Jakma <paul@dishone.st>
710
711 * vty.c: As per Andrew's suggestions..
712 (vty_serv_un) remove flags.
713 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +0000714 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +0000715 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
716 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +0000717 specific memory type defines. Use XCALLOC and sizeof the type,
718 not the pointer.
paul70e149e2004-10-31 16:29:50 +0000719 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +0000720
pauldccfb192004-10-29 08:29:36 +00007212004-10-29 Paul Jakma <paul@dishone.st>
722
723 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
724 to vtysh_accept, where sock is the actual fd we wanted to set to
725 O_NONBLOCK, ie the /connected/ vtysh unix socket.
726
hasso508ec912004-10-23 14:26:49 +00007272004-10-23 Hasso Tepper <hasso at quagga.net>
728
729 * zclient.c: Unbreak reading interface update message. Might fix
730 blocker bugzilla #109.
731
paul23b9c612004-10-22 11:51:57 +00007322004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +0000733
734 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +0000735 -1.
736 (setsockopt_pktinfo) unexported
737 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
738 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +0000739 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
740 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +0000741 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +0000742 * command.h: Cleanup the defines a bit, add helper defines and
743 collapse all defines to use those. Add an attribute field to
744 cmd_element to support, eg hidden or deprecated commands, add
745 defun defines for such. All that's left to do is add logic
746 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +0000747 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +0000748
hasso6590f2c2004-10-19 20:40:08 +00007492004-10-19 Hasso Tepper <hasso at quagga.net>
750
751 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
752 * print_version.c: Remove. print_version () function moved to
753 command.[c|h].
754 * command.c: Use QUAGGA_COPYRIGHT.
755 * Makefile.am: Remove useless version.c and print_version.c files.
756
hasso3fb9cd62004-10-19 19:44:43 +00007572004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
758
759 * zclient.c: (zebra_interface_address_read) If the destination address
760 is encoded as all zeroes, load it as a NULL pointer.
761 * if.h: Add comment describing struct connected destination field
762 and indicating that it may be NULL. Define macros
763 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
764 with PtP logic (distinguish between host and subnet addressing).
765 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
766 properly,
767 (connected_lookup_address) ditto.
768 (connected_add_by_prefix) Handle case where destination is NULL,
769 * prefix.[c|h]: New functions ipv4_network_addr and
770 ipv4_broadcast_addr.
771
hassoddd85ed2004-10-13 08:18:07 +00007722004-10-13 Hasso Tepper <hasso at quagga.net>
773
774 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
775 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +0000776 * smux.c, smux.h: Remove all defaults to initialize smux connection to
777 snmpd by default even if not configured to do so. "smux peer OID
778 <password>" initializes now connection and "no smux peer" terminates
779 it.
hassoddd85ed2004-10-13 08:18:07 +0000780
paul42d49862004-10-13 05:22:18 +00007812004-10-13 Paul Jakma <paul@dishone.st>
782
783 * (global) more const'ification.
784 * sockunion.c: (sockunion_su2str) buffer should be sized
785 SU_ADDRSTRLEN.
786 (sockunion_log) do not return stack variables, strdup buf before
787 return.
788 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
789 values against ULONG_MAX is daft, when caller probably has passed
790 a type that can not hold ULONG_MAX. use a temporary long instead.
791 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
792 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
793
hassoa1494112004-10-11 12:53:17 +00007942004-10-11 Hasso Tepper <hasso at quagga.net>
795
796 * command.h: Sync DEFUNSH with other macros.
797 * sockunion.c, sockunion.h: More const strings.
798
paul9076fbd2004-10-11 09:40:58 +00007992004-10-11 Paul Jakma <paul@dishone.st>
800
801 * thread.c: (funcname_thread_add_timer)
802 (funcname_thread_add_timer_msec) Fix mistakes from last change.
803 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +0000804 * if.h: mtu's should be unsigned.
805 * routemap.{c,h}: const char updates
806 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +0000807
paul9035efa2004-10-10 11:56:56 +00008082004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +0000809
810 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +0000811 * command.h: Change DEFUN func to take const char *[] rather
812 than char **, to begin process of fixing compile warnings in lib/.
813 Nearly all other changes in this commit follow from this change.
814 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
815 const void * and cast an automatic const char *p to it.
816 (buffer_putstr) add const
817 * command.c: (zencrypt) const qualifier
818 (cmd_execute_command_real) ditto
819 (cmd_execute_command_strict) ditto
820 (config_log_file) ditto.
821 Fix leak of getcwd() returned string.
822 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
823 * distribute.{c,h}: Update with const qualifier.
824 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
825 (distribute_lookup) Cast to char *, note that it's ok.
826 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
827 (distribute_get) Cast to char *, note that it's ok.
828 * filter.c: Update with const qualifier.
829 * if.{c,h}: ditto.
830 * if_rmap.{c,h}: ditto.
831 (if_rmap_lookup) Cast to char *, note that it's ok.
832 (if_rmap_get) ditto.
833 * log.{c,h}: Update with const qualifier.
834 * plist.{c,h}: ditto.
835 * routemap.{c,h}: ditto.
836 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
837 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
838 * vty.c: Update with const qualifier.
839
hasso27a43a82004-10-08 06:29:12 +00008402004-10-08 Hasso Tepper <hasso at quagga.net>
841
842 * routemap.c, routemap.h: Make some string arguments const.
843
paul5973ee72004-10-08 01:36:54 +00008442004-10-05 Paul Jakma <paul@dishone.st>
845
846 * version.h.in: print_version declaration is here, not in automake
847 generated version.h.
848
hassoea8e9d92004-10-07 21:32:14 +00008492004-10-08 Hasso Tepper <hasso at quagga.net>
850
851 * command.c, command.h: Make argument of cmd_make_strvec function
852 const.
853 * command.c: Make hostname commands usable in vtysh again.
854
hasso6ad96ea2004-10-07 19:33:46 +00008552004-10-07 Hasso Tepper <hasso at quagga.net>
856
857 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
858 strings const.
859
hasso8c328f12004-10-05 21:01:23 +00008602004-10-05 Hasso Tepper <hasso at quagga.net>
861
862 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
863 changes to fix warnings.
864
paul96e27c92004-10-05 14:33:43 +00008652004-10-05 Paul Jakma <paul@dishone.st>
866
867 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
868 functions to change byte order between system IP_HDRINCL order
869 and host order.
paul98c91ac2004-10-05 14:57:50 +0000870 * thread.c: (funcname_thread_add_timer_timeval) new function, add
871 timer at specified timeval.
872 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
873 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +0000874
hassob04c6992004-10-04 19:10:31 +00008752004-10-04 Hasso Tepper <hasso at quagga.net>
876
877 * memory.c, memory.h: Make char * argument of strdup functions const.
878 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
879 header.
880 * log.h: Make log message const in struct message.
881 * log.c: Fix some indenting.
882 * network.c, network.h: Make second argument of writen() const.
883
hassoe7168df2004-10-03 20:11:32 +00008842004-10-03 Hasso Tepper <hasso at quagga.net>
885
886 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
887 * command.c: Don't initialize commands that don't make sense if vtysh
888 is used.
889 * vty.c: Make VTY_NODE appear in vtysh.
890
hasso18a6dce2004-10-03 18:18:34 +00008912004-10-03 James R. Leu <jleu at mindspring.com>
892
893 * zclient.c, zclient.h: zclient functions for router id handling.
894 * zebra.h: New message types for router id handling.
895
paul9172ee02004-09-27 12:46:37 +00008962004-09-27 Paul Jakma <paul@dishone.st>
897
898 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
899 to try to fragment oversized packets. Enabled only for Linux.
900 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
901 to consolidate various ad-hoc platform defines for same thing.
902
hassoe473b032004-09-26 16:08:11 +00009032004-09-26 Hasso Tepper <hasso at quagga.net>
904
905 * vty.c, sockopt.c: Fix compiler warnings.
906
hasso52dc7ee2004-09-23 19:18:23 +00009072004-09-23 Hasso Tepper <hasso at quagga.net>
908
909 * linklist.h: Remove list and listnode typedefs.
910 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
911
paul0b3acf42004-09-17 08:39:08 +00009122004-09-17 Paul Jakma <paul@dishone.st>
913
paulb89e60c2004-09-21 15:43:13 +0000914 * sockopt.c: Add missing bracket
915
9162004-09-17 Paul Jakma <paul@dishone.st>
917
paul0b3acf42004-09-17 08:39:08 +0000918 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
919
paul33394762004-09-13 11:27:57 +00009202004-09-13 Paul Jakma <paul@dishone.st>
921
922 * command.c: Update the copyright string in the default motd.
923
gdt630e4802004-08-31 17:28:41 +00009242004-08-31 David Wiggins <dwiggins@bbn.com>
925
926 * hash.c (hash_iterate): Save next pointer before calling
927 procedure, so that iteration works even if the called procedure
928 deletes the hash backet.
929
930 * linklist.h (listtail): new macro, not yet used.
931
hasso34553cc2004-08-27 13:56:39 +00009322004-08-27 Hasso Tepper <hasso at quagga.net>
933
934 * command.c: Install "terminal length" commands only if vty is used.
935 Vtysh will handle it itself.
936
gdtafa43b22004-08-26 13:12:41 +00009372004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
938
939 * sockopt.h: Define method-independent macro for callers of
940 get_ifindex to use for cmsg length.
941
paule6822762004-08-19 04:13:29 +00009422004-08-19 Paul Jakma <paul@dishone.st>
943
paulefba6ce2004-08-25 13:47:16 +0000944 * zebra.h: add MAX and MIN defines (eg for ospf6d)
945
9462004-08-19 Paul Jakma <paul@dishone.st>
947
paule6822762004-08-19 04:13:29 +0000948 * sockopt.c: include sockopt.h
949 rename some of the _pktinfo_ functions to _ifindex, where that is
950 their purpose.
951 (getsockopt_ipv6_pktinfo_ifindex) renamed to
952 getsockopt_ipv6_ifindex.
953 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
954 (setsockopt_pktinfo) update with previous and add comment re
955 AF_INET portability.
956 (setsockopt_ifindex) generic ifindex function ala
957 setsockopt_pktinfo.
958 (getsockopt_ipv4_pktinfo_ifindex) renamed to
959 getsockopt_ipv4_ifindex.
960 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
961 ifdef/elses. pktinfo case forgot to set ifindex.
962 (getsockopt_pktinfo_ifindex) renamed to
963 getsockopt_ifindex. update some calls to renamed functions.
964 * sockopt.h: Update renamed exported functions
965 Rename the CMSG_SIZE macros to IFINDEX.
966 Guard IPv4 PKTINFO in a conditional define.
967
paulc0618de2004-08-18 21:52:58 +00009682004-08-18 Paul Jakma <paul@dishone.st>
969
970 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
971 to prevent inadvertent blocking of daemons by use of
972 vtysh. TODO: disentangle manual paging from the buffer_write
973 path so that unix vty can use this path too and be reliable.
974
gdt33f92322004-07-23 16:14:32 +00009752004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
976
977 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
978 on NetBSD, and add comments to make it less confusing. Change the
979 sense of the SUNOS_5 test to make parallel structure between the
980 variables and the code.
981
paul4f7baa02004-07-23 15:11:07 +00009822004-07-23 Paul Jakma <paul@dishone.st>
983
984 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
985 sizeof pktinfo as appropriate, to be used when allocating msg
986 buffers. export setsockopt_pktinfo() and
987 getsockopt_pktinfo_ifindex()
988 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
989 set received ifindex sock option.
990 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
991 (getsockopt_cmsg_data) retrieve indicated control info from
992 message header.
993 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
994 (setsockopt_ipv4_pktinfo) v4 version
995 (setsockopt_pktinfo) the exported version
996 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
997 (getsockopt_pktinfo_ifindex) the exported version
998
paul05c447d2004-07-22 19:14:27 +00009992004-07-14 Paul Jakma <paul@dishone.st>
1000
1001 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
1002 the flags to a constant rather increment to be kinder.
1003 (quagga_sigevent_process) new function, to do core of what
1004 quagga_signal_timer did. dont block signals at all as sig->caught
1005 is volatile sig_atomic_t and should be safe to access from signal
1006 and normal contexts. The signal blocking is unneeded paranoia, but
1007 is left intact under an ifdef, should some platform require it.
1008 Check global caught flag before iterating through array.
1009 (quagga_signal_timer) nearly everything moved to
1010 quagga_sigevent_process. Left in under ifdef, in case some
1011 platform could use a regular timer check for signals.
1012 * sigevent.h: quagga_sigevent_process declaration.
1013 * thread.c: (thread_fetch) check for signals at beginning of
1014 scheduler loop, check for signals if select returns EINTR.
1015
gdtb7797132004-07-13 13:47:25 +000010162004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
1017
1018 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
1019 confuses gdb, at least on NetBSD 2.0_BETA, where the block
1020 succeeds.
1021
paul5510e832004-07-09 14:00:01 +000010222004-07-09 Paul Jakma <paul@dishone.st>
1023
1024 * Merge Kunihiro's 'show route-map' change and add
1025 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +00001026 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
1027 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +00001028
paulb06c14f2004-07-09 12:24:42 +000010292004-07-09 Juris Kalnins <juris@mt.lv>
1030
1031 * if.c: (if_cmp_func) fix for interface names where name is same,
1032 but one has no number, eg "devtyp" and "devtyp0".
1033
gdt87efd642004-06-30 17:36:11 +000010342004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1035
1036 * Makefile.am: Make libzebra shared.
1037
paul138ce752004-06-21 10:35:59 +000010382004-06-21 Paul Jakma <paul@dishone.st>
1039
1040 * ChangeLog: fix my last update config.h -> zebra.h ;)
1041 * zebra.h: Fix gcc check.
1042
paul02ff83c2004-06-11 11:27:03 +000010432004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
1044
1045 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
1046 to u_char. (ipv6_access_list_remark_cmd) ditto.
1047 if.c: ditto
1048 * network.c: (readn/writen) pointer arg should be type u_char.
1049 * plist.c: needs to include stream.h, not declare stream functions
1050 internally.
1051 (various) Add static qualifier to internal functions.
1052 (prefix_list_type_str) extraneous breaks in switch statement.
1053 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
1054 * stream.h: depends on plist.h and export stream_put_prefix
1055 * vty.c: (vty_<telnet option build functions>) should use
1056 unsigned char, telnet options are 0 -> 255.
1057 * zclient.c: various u_char<->char type cleanups.
1058 * zebra.h: Having to define CMSG_* can apply to more than just
1059 BSDI_NRL.
1060
paul51a87982004-06-09 10:36:05 +000010612004-06-09 Paul Jakma <paul@dishone.st>
1062
paul138ce752004-06-21 10:35:59 +00001063 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +00001064
paul5228ad22004-06-04 17:58:18 +000010652004-06-04 Paul Jakma <paul@dishone.st>
1066
1067 * type mismatch fixes
1068
hasso6708fa32004-05-18 18:46:54 +000010692004-05-18 Hasso Tepper <hasso@estpak.ee>
1070
1071 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
1072
paul0a589352004-05-08 11:48:26 +000010732004-05-08 Paul Jakma <paul@dishone.st>
1074
1075 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
1076 message format.
1077
10782004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1079
1080 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
1081 (zapi_ipv4_delete) ditto.
1082 (zapi_ipv4_route) add/delete a route by way of cmd arg.
1083 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
1084 (zapi_ipv6_delete) ditto.
1085 (zapi_ipv6_route) add/delete a route by way of cmd arg.
1086 (zebra_interface_address_delete_read) collapsed into
1087 zebra_interface_address_read.
1088 (zebra_interface_address_delete_read) ditto.
1089 (zebra_interface_address_read) read address add/delete messages
1090 by way of type argument. Describe command message format.
1091 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
1092 Describe command message format.
1093 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
1094 (zclient_redistribute_set) Collapsed into zclient_redistribute
1095 (zclient_redistribute_unset) ditto
1096 (zclient_redistribute) set/unset redistribution.
1097 (zclient_redistribute_default_set) Collapsed into
1098 zclient_redistribute_default.
1099 (zclient_redistribute_default_unset) ditto.
1100 (zclient_redistribute_default) Redistribute default set/unset.
1101 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
1102 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
1103 zclient_redistribute. Ditto for
1104 zclient_redistribute_default_{set/unset}.
1105
paul4a7aac12004-05-08 05:00:31 +000011062004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1107
1108 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
1109 from IPv4, and Solaris treats the MTU's differently.
1110 Add connected_add_by_prefix, for use by later patch.
1111 * if.c: (connected_add_by_prefix) Add prefix to connected list.
1112 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
1113 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +00001114 * command.c: (sockunion_getsockname) use socklen_t for len.
1115 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +00001116
paul31fcdd32004-04-21 11:00:43 +000011172004-04-21 Boris Kovalenko <boris@tagnet.ru>
1118
1119 * daemon.c: (daemon) fix check for error return from setsid
1120
paulc49b3062004-01-19 21:23:37 +000011212004-01-19 Paul Jakma <paul@dishone.st>
1122
1123 * sigevent.{c,h}: New files, implement event handled signals.
1124 see signal_init() in sigevent.h.
1125
jardinc32e1b52003-12-23 09:06:51 +000011262003-12-23 Vincent Jardin <jardin@6wind.com>
1127
1128 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
1129
gdt3dbf9962003-12-22 20:18:18 +000011302003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
1131
1132 * vty.c (vty_use_backup_config): Don't free filenames before using
1133 them for unlink.
1134
paul54aba542003-08-21 20:28:24 +000011352003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1136
1137 * command.c: Fix <cr> display problem for command line
1138 description
1139
paule9af5c72003-05-24 11:54:31 +000011402003-05-24 Anil Madhavapeddy
1141
1142 * (sockunion.c): Incorrect bounds specified in sockunion_log()
1143
paul445f1432003-05-16 19:00:31 +000011442003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
1145
1146 * vty.c: -A option
1147
11482003-04-19 Hasso Tepper <hasso@estpak.ee>
1149
1150 * rip_routemap.c: sync daemon's route-map commands to have same
1151 syntax
1152
paul718e3742002-12-13 20:15:29 +000011532002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1154
1155 * vty.c (vty_flush): One line more on vty.
1156
11572002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1158
1159 * vector.c (vector_lookup): Add new function.
1160
11612002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1162
1163 * thread.c (timeval_adjust): Fix unconditional crush due to
1164 FreeBSD's select() system call timeval value check.
1165
11662002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1167
1168 * zebra-0.93 released.
1169
11702002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1171
1172 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
1173 van Maarseveen's suggestion.
1174
11752002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1176
1177 * command.c: Change bcopy() to memcpy().
1178
11792001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1180
1181 * command.c (config_password): Fix host.password clear bug.
1182 Reported by Wang Jian <lark@linux.net.cn>.
1183
11842001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1185
1186 * thread.c (thread_should_yield): New function to check thread
1187 should yeild it's execution to other thread. Suggested by: Rick
1188 Payne <rickp@ayrnetworks.com>
1189
11902001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1191
1192 * thread.c (thread_timer_cmp): Rewrite function.
1193
1194 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
1195
11962001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1197
1198 * zebra-0.92a released.
1199
12002001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1201
1202 * zebra-0.92 released.
1203
12042001-08-12 Akihiro Mizutani <mizutani@dml.com>
1205
1206 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
1207 string to "1.1.0.0/16".
1208
12092001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1210
1211 * filter.c (access_list_lookup): access_list_lookup's first
1212 argument is changed from address family to AFI.
1213
1214 * plist.c: (prefix_list_lookup): Likewise.
1215
12162001-07-27 Akihiro Mizutani <mizutani@dml.com>
1217
1218 * plist.c: ge and le display order is changed. Old compatible
1219 rule (len <= ge-value <= le-value) is removed.
1220
12212001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1222
1223 * prefix.h: Temporary fix for alignment of prefix problem.
1224
12252001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1226
1227 * prefix.h (struct prefix): Remove safi and padding field.
1228 (struct prefix_ipv4): Likewise.
1229 (struct prefix_ipv6): Likewise.
1230 (struct prefix_ls): Likewise.
1231 (struct prefix_rd): Likewise.
1232
1233 * command.h (enum node_type): Preparation for BGP new config.
1234
1235 * vty.c (vty_end_config): Likewise.
1236
12372001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1238
1239 * routemap.c (route_map_rule_delete): Call func_free when
1240 route-map rule is deleted.
1241
12422001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
1243
1244 * routemap.c (route_map_index_lookup): Prevent to use deny and
1245 permit for same route-map sequence.
1246
12472001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1248
1249 * vty.c (vty_read_config): Fix warning.
1250
12512001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1252
1253 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
1254 strings.
1255
12562001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1257
1258 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
1259 CMSG_FIRSTHDR.
1260
12612001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1262
1263 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
1264
12652001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1266
1267 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
1268 lib" member.
1269
12702001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
1271
1272 * vty.c (vty_read_config): Revert check of integrate_default when
1273 VTYSH is defined.
1274
12752001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1276
1277 * vty.c (vty_read_config): Do not check integrate_default. That
1278 should be used only by vtysh.
1279
12802001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1281
1282 * vty.c (vty_serv_un): Set umask 0077.
1283 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
1284 wait for boot configuration.
1285
1286 * if.c (if_lookup_address): Make it smart implementation.
1287
1288 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
1289 options for IPv4 This is here so that people only have to do their
1290 OS multicast mess in one place rather than all through zebra,
1291 ospfd, and ripd .
1292
12932001-02-04 Akihiro Mizutani <mizutani@dml.com>
1294
1295 * plist.c (vty_prefix_list_install): Even when argument is
1296 invalid, new memory is allocated. Now memory allocation is done
1297 after argument check.
1298
12992001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1300
1301 * zebra-0.91 is released.
1302
13032001-01-31 Akihiro Mizutani <mizutani@dml.com>
1304
1305 * vty.c (vty_login): Add vty login command.
1306
13072001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1308
1309 * vty.c (vty_reset): Close accept socket.
1310
13112001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1312
1313 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
1314 attribute.
1315
13162001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1317
1318 * zclient.c (zebra_interface_address_add_read): Fetch interface
1319 address flag.
1320 (zebra_interface_address_delete_read): Likewise.
1321
13222001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1323
1324 * table.c (route_node_match_ipv4): Utility function for IPv4
1325 address lookup.
1326 (route_node_match_ipv6): Utility function for IPv4 address lookup.
1327
13282001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1329
1330 * if.c: Delete RIP_API part until new implementation comes out.
1331
13322001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1333
1334 * hash.h (struct Hash): Rename alloc to count. Change type to
1335 unsigned long.
1336
1337 * stream.c (stream_getc_from): New function.
1338 (stream_getw_from): Likewise.
1339
1340 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
1341
13422001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1343
1344 * flap.c: File is removed.
1345
1346 * flap.c: Likewise.
1347
1348 * roken.h: Likewise.
1349
1350 * buffer.c (buffer_new): Remove type option to buffer_new().
1351
13522001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1353
1354 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
1355
13562001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1357
1358 * zebra-0.90 is released.
1359
1360 * command.c: Update Copyright year.
1361
13622001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1363
1364 * if.c (if_create): Register connected_free() function for
1365 deletion.
1366 (if_delete): Free connected information when the interface is
1367 deleted.
1368 (if_lookup_by_index): Fix argument type from int to unsigned int.
1369 (connected_add): Keep list in order if old info found, essential
1370 for repeatable operation in some daemons.
1371
13722001-01-09 endo@suri.co.jp (Masahiko Endo)
1373
1374 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
1375 read thread.
1376
13772001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1378
1379 * filter.c (access_list_delete): Access-list name is not freed.
1380
1381 * plist.c (prefix_list_delete): Prefix-list name is not freed.
1382
13832000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1384
1385 * zclient.c (zclient_start): Change to use UNIX domain
1386 socket for zebra communication.
1387
1388 * vector.c (vector_init): vector_alloc and vector_data_alloc is
1389 removed. All memory allocation count should be maintained by
1390 XMALLOC and XFREE macros.
1391
13922000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1393
1394 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
1395
13962000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1397
1398 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
1399 value.
1400
14012000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
1402
1403 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
1404 allocated in vty_new ().
1405
14062000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1407
1408 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
1409
1410 * command.c (config_write_terminal): Display "end" at the end of
1411 configuration.
1412
1413 * plist.c (vty_prefix_list_install): Use AF_INET to determine
1414 lenum length.
1415
14162000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
1417
1418 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
1419 then all lines write by IOV_MAX.
1420
14212000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1422
1423 * command.c (config_write_file): Robust method for writing
1424 configuration file and recover from backing up config file.
1425
14262000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1427
1428 * smux.c (smux_connect): More fail check.
1429 (smux_trap): When SMUX connection is not established, do nothing.
1430
14312000-11-28 Gleb Natapov <gleb@nbase.co.il>
1432
1433 * thread.c (thread_fetch): Execut event list first. Old event
1434 list is renamed to ready list. With this change, event thread is
1435 executed before any other thread.
1436
1437 * thread.h (struct thread_master): Add ready list.
1438
14392000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1440
1441 * linklist.c (listnode_add_after): Add node right after the
1442 listnode pointer.
1443
14442000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1445
1446 * smux.h: Pass struct variable to WriteMethod.
1447
14482000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1449
1450 * if.c (if_lookup_address): When looking up interface with IP
1451 address, Sometimes multiple interfaces will match. Now PtP
1452 interfaces prevail in such a case which seem the right thing to
1453 do: There will probably also be host routes which usually prevail
1454 over network routes.
1455
14562000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1457
1458 * smux.c (smux_trap): SMUX trap implementation.
1459
14602000-11-19 Akihiro Mizutani <mizutani@dml.com>
1461
1462 * plist.c: Add automatic conversion function of an old rule.
1463 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
1464
14652000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1466
1467 * zclient.c (zebra_interface_add_read): Read hardware address when
1468 hw_addr_len is greater than 0.
1469
14702000-11-15 Akihiro Mizutani <mizutani@dml.com>
1471
1472 * plist.c: The rule of "len <= ge-value <= le-value"
1473 was changed to "len < ge-value <= le-value".
1474
14752000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1476
1477 * memory.[ch]: Added #define and functions for ospf6d.
1478
1479 * log.[ch]: some platform says that the data of used va_list
1480 is undefined. Changed to hold list of va_list for each
1481 vsnprintf.
1482
14832000-11-07 Rick Payne <rickp@rossfell.co.uk>
1484
1485 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
1486
14872000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1488
1489 * command.c (config_exit): Fix bug of missing break after case
1490 BGP_VPNV4_NODE.
1491
14922000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1493
1494 * vector.c (vector_unset): Check i is not nevative.
1495
14962000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1497
1498 * smux.c (smux_sock): Set terminating '\0'. Check address family.
1499
1500 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
1501 gai_strerror. Check address family.
1502
15032000-10-23 Jochen Friedrich <jochen@scram.de>
1504
1505 * smux.c: Use linklist rather than vector.
1506 (smux_getnext): A SMUX subagent has to behave as if it manages the
1507 whole SNMP MIB tree itself. It's the duty of the master agent to
1508 collect the best answer and return it to the manager. See RFC 1227
1509 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
1510 bad here as it actually might ask multiple times for the same
1511 GETNEXT request as it throws away the answer when it expects it in
1512 a different subtree and might come back later with the very same
1513 request.
1514
15152000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1516
1517 * command.c (cmd_init): Log related command are only installed for
1518 terminal mode.
1519
15202000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1521
1522 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
1523
1524 * zebra.h: Remove #warn directive.
1525
15262000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1527
1528 * keychain.c (keychain_init): Register "key chain" command to
1529 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
1530
1531 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
1532 CONFIG_NODE.
1533
1534 * command.c (config_end): Likewise.
1535
1536 * keychain.c (keychain_get): Key is sorted by it's identifier
1537 value.
1538
15392000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1540
1541 * linklist.c (list_delete_all_node): Call delete function if it is
1542 defined.
1543
1544 * command.c (cmd_execute_command_strict): Add modification for
1545 vtysh.
1546 (cmd_execute_command_strict): Remove first argument cmdvec because
1547 it is global varibale in command.c.
1548
15492000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1550
1551 * command.c (cmd_init): Install
1552 copy_runningconfig_startupconfig_cmd only in terminal mode.
1553
1554 * linklist.c (list_delete_node): Simplify the function.
1555 (listnode_lookup): Renamed from list_lookup_node.
1556
15572000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1558
1559 * stream.h: Undef stream_read and stream_write without
1560 parenthesis.
1561
1562 * newlist.c: File removed.
1563
1564 * newlist.h: Likewise.
1565
1566 * linklist.c (list_new): Remove list_init(). To allocate new
1567 linked list, please use list_new().
1568 (listnode_add): Remove list_add_node(). To add new node to linked
1569 list, please use listnode_add().
1570 (list_delete_by_val): Revemove fucntion.
1571
15722000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
1573
1574 * table.c (route_table_free): Reimplement route_table_free().
1575
15762000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1577
1578 * keychain.c (keychain_get): Register key_delete_func to key
1579 list's delete function. Use linklist.c instead of newlist.c.
1580
15812000-10-04 Akihiro Mizutani <mizutani@dml.com>
1582
1583 * filter.c (access_list_remark): Add access-list's remark command.
1584 (no_access_list): "no access-list 100 permit any" error message
1585 bug is fixed.
1586
15872000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1588
1589 * memory.h (enum): Add MTYPE_SOCKUNION.
1590
15912000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1592
1593 * zebra-0.89 is released.
1594
15952000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1596
1597 * linklist.c (list_add_node_head): Delete unused function.
1598 (list_add_node_tail): Likewise.
1599
16002000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1601
1602 * stream.c (stream_read_unblock): Add new function for unblocking
1603 read.
1604
16052000-09-26 Jochen Friedrich <jochen@nwe.de>
1606
1607 * smux.c (smux_register): Fix bug of can't register more than one
1608 MIB with SMUX.
1609
16102000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
1611
1612 * vty.c (vty_close): Fix memory leak of sb_buffer.
1613 (vty_new): Likewise.
1614
16152000-09-21 steve@Watt.COM (Steve Watt)
1616
1617 * log.h: Do not declare zlog_priority[0] variable.
1618
16192000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1620
1621 * linklist.h (struct _list ): Add member cmp for compare function.
1622 (struct _list ): Member up is deleted
1623
16242000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
1625
1626 * if.c: Include RIP_API header when RIP API is enabled.
1627
16282000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1629
1630 * prefix.c (prefix_free): Siplify prefix_free().
1631
1632 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
1633
16342000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1635
1636 * zebra.h: Merge roken.h into zebra.h.
1637
16382000-09-05 Akihiro Mizutani <mizutani@dml.com>
1639
1640 * routemap.c (route_map_init_vty): Install route-map command to
1641 RMAP_NODE.
1642
16432000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1644
1645 * thread.c (thread_get_id): Remove pthread related garbage.
1646
1647 * command.h (struct host): Likewise.
1648
1649 * zebra.h: Likewise.
1650
16512000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1652
1653 * command.h (node_type ): Add AAA node for authentication.
1654
1655 * vty.c (vty_close): Do not close stdout.
1656
16572000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1658
1659 * vty.c (vty_init_vtysh): Added for vtysh.
1660
1661 * distribute.c (districute_list_prefix_all): Interface independent
1662 filter can be set.
1663 (distribute_list_all): Likewise.
1664 (config_show_distribute): Display current distribute-list status
1665 for "show ip protocols".
1666
16672000-08-18 Akihiro Mizutani <mizutani@dml.com>
1668
1669 * command.c (config_terminal_no_length): no terminal monitor ->
1670 terminal no monitor
1671 (cmd_init): Do not install service_terminal_length_cmd into
1672 ENABLE_NODE.
1673
1674 * vty.c (terminal_no_monitor): no terminal length -> terminal no
1675 length.
1676
16772000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1678
1679 * zebra-0.88 is released.
1680
16812000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
1682
1683 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
1684 better IAC handling.
1685
1686 * vty.c (vty_telnet_option): Change telnet option handling.
1687
16882000-08-15 Gleb Natapov <gleb@nbase.co.il>
1689
1690 * zclient.c (zclient_redistribute_unset): New function added.
1691
16922000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1693
1694 * zclient.c (zebra_interface_add_read): Change ifindex restore
1695 size from two octet to four.
1696 (zebra_interface_state_read): Likewise.
1697 (zebra_interface_address_add_read): Likewise.
1698
16992000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1700
1701 * vty.c (vty_event): Use vector_set_index() instead of
1702 vector_set().
1703
17042000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1705
1706 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
1707 Administrative Distance of each protocol.
1708
17092000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1710
1711 * if.h (struct interface ): Add new member bandwidth to struct
1712 interface.
1713
1714 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
1715 (zebra_interface_state_read): Likewise.
1716
17172000-08-07 Gleb Natapov <gleb@nbase.co.il>
1718
1719 * routemap.c (route_map_event_hook): New hook route_map_event_hook
1720 is added. This hook is called when route-map is changed. The
1721 parameters passed to the hook are 'event' and 'route-map name'
1722
1723 * routemap.h: Add prototype for route_map_event_hook().
1724
17252000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1726
1727 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
1728 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
1729
1730 * routemap.c (route_map_empty): Add new function.
1731 (route_map_delete): Use route_map_index_delete() instead of
1732 route_map_index_free().
1733 (route_map_index_free): Function removed.
1734
17352000-08-06 Gleb Natapov <gleb@nbase.co.il>
1736
1737 * routemap.c (route_map_index_delete): Add check for route-map is
1738 empty or not.
1739
17402000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1741
1742 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
1743 zclient.
1744
17452000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1746
1747 * zclient.h (struct zebra): Add obuf for output buffer.
1748
1749 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
1750 if_indextoname().
1751
17522000-08-02 David Lipovkov <davidl@nbase.co.il>
1753
1754 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
1755 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
1756
1757 * if.c (interface_pseudo): Add "pseudo" command to interface node.
1758 (no_interface_pseudo): Add "no pseudo" command to interface node.
1759
1760 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
1761 send from zebra.
1762
17632000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1764
1765 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
1766 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
1767
1768 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
1769
17702000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1771
1772 * vty.c: Use vector for VTY server thread listing instead of
1773 single value.
1774
17752000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1776
1777 * keychain.c (no_key_chain): "no key chain WORD" command is added.
1778
17792000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1780
1781 * command.c (config_from_file): If command fail in
1782 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
1783
1784 * vty.h (struct vty ): Add index_sub member.
1785
17862000-07-27 Akihiro Mizutani <mizutani@dml.com>
1787
1788 * if.c: Help strings updates.
1789
17902000-07-11 Akihiro Mizutani <mizutani@dml.com>
1791
1792 * command.c (no_config_enable_password): Add "no enable password"
1793 command.
1794 (config_write_host): Display password string.
1795
1796 * routemap.c (route_map_delete_match): Add support for delete
1797 match without argument.
1798 (route_map_delete_set): Likewise.
1799
18002000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1801
1802 * command.h (node_type ): Change KEYCHAIN_NODE and
1803 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
1804
18052000-07-09 Jochen Friedrich <jochen@scram.de>
1806
1807 * smux.c (config_write_smux): Fixes the option to override OID and
1808 password for SMUX.
1809
18102000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1811
1812 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
1813
18142000-07-09 Toshiaki Takada <takada@zebra.org>
1815
1816 * command.c: Sort descvec command's help.
1817
1818 * vty.c (vty_describe_command): Display '<cr>' at the end of
1819 descriptions.
1820
18212000-07-05 Toshiaki Takada <takada@zebra.org>
1822
1823 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
1824 treatment of double colon.
1825
18262000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1827
1828 * zclient.h: Add zclient_redistribute_default_{set,unset}().
1829
1830 * keychain.c: New file for authentication key management.
1831 * keychain.h: Likewise.
1832
1833 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
1834 ipchains.
1835 * tcpfilter.h: Likewise.
1836
1837 * flap.h: New file for route flap dampening.
1838 * flap.c: Likewise.
1839
18402000-07-04 Toshiaki Takada <takada@zebra.org>
1841
1842 * filter.c (struct filter): Add exact flag.
1843 (access_list): Add exact-match command.
1844 (ipv6_access_list): Add exact-match command.
1845
18462000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1847
1848 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
1849 request default route.
1850
18512000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
1852
1853 * smux.c: Add IPv6 smux connection code.
1854
18552000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1856
1857 * vty.c (vty_complete_command): To cooperate readline library,
1858 returned string is newly allocated. So some match function case
1859 need, free of memory.
1860
18612000-06-12 Akihiro Mizutani <mizutani@dml.com>
1862
1863 * distribute.c: Fix help strings.
1864
18652000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1866
1867 * command.c (cmd_complete_command): Add check for vector_slot
1868 (vline, index) is not NULL when calculating lcd.
1869 (cmd_entry_function): First check variable arguemnt to prevent it
1870 from completion.
1871
18722000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1873
1874 * vty.h (struct vty ): Add output_count member for displaying
1875 output route count. Remove arugment arg from output_func because
1876 the value is passed by vty argument. Change output to output_rn.
1877 Add output_clean function pointer member. Add output_type member.
1878
18792000-06-10 Toshiaki Takada <takada@zebra.org>
1880
1881 * command.c (show_startup_config): Add "show startup-config"
1882 command.
1883
18842000-06-06 Akihiro Mizutani <mizutani@dml.com>
1885
1886 * filter.c: Fix help strings.
1887
18882000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1889
1890 * prefix.h (struct prefix_rd): New prefix structure for routing
1891 distinguisher.
1892 (struct prefix): Add padding to every prefix structure.
1893
1894
1895 * routemap.c (route_map_add_match): When completely same match
1896 statement exists, don't duplicate it.
1897
18982000-06-05 Akihiro Mizutani <mizutani@dml.com>
1899
1900 * routemap.c: Change NAME to WORD.
1901
1902 * plist.c: Fix help strings.
1903
19042000-06-02 Akihiro Mizutani <mizutani@dml.com>
1905
1906 * routemap.c: Fix route-map help strings.
1907
19082000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1909
1910 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
1911 to filter other non vararg commands.
1912
1913 * routemap.c (route_map_init_vty): Use install_default() for
1914 install common commands into route-map node..
1915
19162000-06-01 Akihiro Mizutani <mizutani@dml.com>
1917
1918 * command.h (OSPF_STR): Macro added.
1919
19202000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1921
1922 * command.c (cmd_complete_command): LCD completion must not modify
1923 installed command string.
1924
1925 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
1926 X:X::X:X to X:X::X:X/M.
1927
19282000-05-31 Toshiaki Takada <takada@zebra.org>
1929
1930 * vty.c (show_history): New defun added.
1931
19322000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1933
1934 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
1935 list. CMD_COMPLETE_MATCH is used for LCD completion.
1936
1937 * vty.c (vty_complete_command): Matched string's LCD is completed.
1938
1939 * command.c (cmd_lcd): New function for calculate LCD of matched
1940 strings.
1941
19422000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1943
1944 * command.c (install_default): config_write_terminal_cmd,
1945 config_write_file_cmd, config_write_memory_cmd are added to
1946 default node.
1947
1948 * memory.c (memory_init): Divide show memory command into each
1949 sort.
1950
1951 * command.c (cmd_init): config_write_terminal_cmd,
1952 config_write_file_cmd, config_write_memory_cmd are added to
1953 CONFIG_NODE.
1954
1955 * routemap.c (route_map_index_free): New function.
1956 (no_route_map_all): New DEFUN for "no route-map NAME".
1957
1958 * filter.c (no_access_list_all): New DEFUN for delete access-list
1959 with NAME.
1960 (no_ipv6_access_list_all): Likewise.
1961
19622000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1963
1964 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
1965 specified, user can not use "ge" and "le" statement.
1966
19672000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
1968
1969 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
1970
1971 * table.c (route_table_free): Like wise.
1972
19732000-05-22 Toshiaki Takada <takada@zebra.org>
1974
1975 * vty.c (vty_stop_input): Set history pointer to the latest one.
1976
1977 * vty.c (vty_hist_add): Do not add command line history when input
1978 is as same as previous one.
1979
19802000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1981
1982 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
1983
19842000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1985
1986 * command.h (node_type ): Add BGP_VPNV4_NODE.
1987
19882000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1989
1990 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
1991 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
1992
1993 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
1994 IPv4 example. Reported by: Love <lha@s3.kth.se>.
1995
1996 * command.c (cmd_complete_command): Make it sure last element of
1997 matchvec is NULL. This fix problem which cause crush in
1998 vty_complete_command(). Reported by: JINMEI Tatuya
1999 <jinmei@isl.rdc.toshiba.co.jp>.
2000
20012000-04-28 Love <lha@s3.kth.se>
2002
2003 * prefix.h (struct prefix): Add padding.
2004
20052000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2006
2007 * command.c (show_version): Update copyright year.
2008
20092000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2010
2011 * routemap.c (route_map_apply): When map is NULL, return deny.
2012
20132000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2014
2015 * filter.c (access_list_apply): When access is NULL, return deny.
2016
2017 * plist.c (prefix_list_apply): When plist is NULL, return deny.
2018
20192000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2020
2021 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
2022
20232000-04-18 Toshiaki Takada <takada@zebra.org>
2024
2025 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
2026 Add argument for hook function to give struct access_list *.
2027
20282000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2029
2030 * plist.c (prefix_list_entry_match): In case of le nor ge is
2031 specified, exact match is performed.
2032 (prefix_list_entry_match): Add any entry matching check.
2033
20342000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2035
2036 * vty.c (exec_timeout): Separate timeout setting to minutes and
2037 seconds.
2038 (no_exec_timeout): Add "no exec-timeout" command.
2039
2040 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
2041 600.
2042
20432000-03-31 Jochen Friedrich <jochen@scram.de>
2044
2045 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
2046 it is a primitive encoding and not constructed.
2047
20482000-03-28 Toshiaki Takada <takada@zebra.org>
2049
2050 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
2051
20522000-03-26 Love <lha@s3.kth.se>
2053
2054 * zclient.c (zclient_read): Add nbytes size check for
2055 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
2056
20572000-03-26 Rick Payne <rickp@rossfell.co.uk>
2058
2059 * routemap.c: Add flexible route-map commands such as on-match
2060 next, on-match goto N.
2061
2062 * routemap.h: Likewise
2063
20642000-03-23 Adrian Bool <aid@u.net.uk>
2065
2066 * command.c (config_log_trap): Add new command "log trap
2067 PRIORITY".
2068
20692000-03-14 Toshiaki Takada <takada@zebra.org>
2070
2071 * memory.c (struct memory_list): Add Link List and Link Node
2072 to view.
2073
2074 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
2075
20762000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
2077
2078 * str.c (snprintf): Fix bug of calling sprintf instead of
2079 vsprintf.
2080
20812000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2082
2083 * memory.h (enum): Add MTYPE_RIP_PEER.
2084
20852000-01-15 Toshiaki Takada <takada@zebra.org>
2086
2087 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
2088
20892000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2090
2091 * command.h (node_type ): Add MASC_NODE for masc.
2092
20932000-01-09 Wang Jianliang <wangjl@soim.net>
2094
2095 * routemap.c (route_map_index_add): When route_map_index is not
2096 empty and insert new item at the head, it can cause core dump.
2097 Fix "if (index == map->head)" to "if (point == map->head).
2098 (route_map_add_set): If there is an old set command, override old
2099 set command with new one.
2100 (route_map_index_delete): Use while() instead of for for() for
2101 logical correctness.
2102
21031999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2104
2105 * memory.h (enum): Add MTYPE_BGP_STATIC.
2106
21071999-12-23 Alex Zinin <zinin@amt.ru>
2108 * zebra.h, zclient.*: dynamic int up/down message
2109 support
2110
21111999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2112
2113 * thread.c (thread_cancel_event): Add a function for clean up
2114 events.
2115
21161999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2117
2118 * dropline.c: Delete file.
2119 dropline.h: Linewise.
2120
21211999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2122
2123 * filter.c (access_list_filter_delete): Wrong pointer
2124 access->master was pointed out after access is freed. I store
2125 master value at the beginning of the function.
2126
21271999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2128
2129 * vty.c (exec_timeout): Change of VTY timeout affect to current
2130 VTY connection.
2131 (vty_accept): Instead of immediate exit() return -1.
2132
21331999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2134
2135 * vty.c (vty_configure_lock): Configuration lock function added.
2136 Only one VTY can use CONFI_NODE at the same time.
2137
2138 * log.c: Delete zvlog_* functions. Now zlog_* does the same
2139 thing.
2140
2141 * log.c (log_init): Function removed.
2142 (log_close): Likewise.
2143 (log_flush): Likewise.
2144 (log_open): Likewise.
2145
2146 * vty.c (terminal_monitor): Add new command.
2147 (no_terminal_monitor): Likewise.
2148
2149 * log.c (old_log): Function removed.
2150 (old_log2): Likewise.
2151 (old_log_warn): Likewise.
2152
21531999-12-04 Toshiaki Takada <takada@zebra.org>
2154
2155 * command.c (cmd_ipv6_match): New function added.
2156 (cmd_ipv6_prefix_match): Likewise.
2157
21581999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2159
2160 * command.c (cmd_ipv6_match):
2161
2162 * table.c: Delete #ifdef HAVE_MBGPV4.
2163
2164 * prefix.h (struct prefix): Add safi member.
2165 (struct prefix_ipv4): Likewise.
2166 (struct prefix_ipv6): Likewise.
2167
21681999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
2169
2170 * memory.c (struct mstat): Revert to support MEMORY_LOG.
2171
21721999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2173
2174 * version.h: Bump up to 0.81c for testing new kernel codes.
2175
21761999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2177
2178 * thread.h (struct thread): Pthread support is disabled all
2179 platform.
2180
21811999-11-21 Michael Handler <handler@sub-rosa.com>
2182
2183 * Include <limits.h> and <strings.h> under SUNOS_5.
2184
21851999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2186
2187 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
21881999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2189
2190 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
2191
21921999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2193
2194 * command.c (disable): Add `disable' command.
2195
21961999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2197
2198 * plist.c (vty_prefix_list_install): Add any check.
2199
22001999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2201
2202 * command.h (node_type ): Add DUMP_NODE.
2203
22041999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2205
2206 * smux.c: Change default SMUX oid to compatible with gated.
2207
22081999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2209
2210 * if_rmap.c: New file added.
2211
2212 * if_rmap.h: New file added.
2213
22141999-10-29 Alex Zinin <zinin@amt.ru>
2215
2216 * hash.c: add hash_free() function
2217
22181999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2219
2220 * hash.c (hash_clean): Add clean function.
2221
2222 * plist.c (prefix_list_reset): Add reset function.
2223
2224 * filter.c (access_list_reset): Add reset function.
2225
22261999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2227
2228 * client.c: Merged with zclient.c.
2229 * client.h: Merged with zclient.h.
2230
22311999-10-15 Jordan Mendelson <jordy@wserv.com>
2232
2233 * md5.c: Imported from GNU C Library.
2234 * md5-gnu.h: Likewise.
2235
22361999-10-15 Jochen Friedrich <jochen@scram.de>
2237
2238 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
2239
22401999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2241
2242 * smux.h: New file added.
2243
2244 * snmp.c: Rename to smux.c.
2245
22461999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2247
2248 * command.c (cmd_execute_command_strict): Filter ambious commands.
2249 (cmd_filter_by_string): Change to return enum match_type.
2250
22511999-10-01 Toshiaki Takada <takada@zebra.org>
2252
2253 * vty.c (vty_describe_fold): New function which does VTY
2254 description line fold.
2255 * vty.c (vty_describe_command): Set description column.
2256
22571999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2258
2259 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
2260
22611999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2262
2263 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
2264 CMD_IPV4_PREFIX check. Both return type must be exact_match.
2265
22661999-09-24 Toshiaki Takada <takada@zebra.org>
2267
2268 * command.c (cmd_filter_by_completion),
2269 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
2270 parameter matches range.
2271
22721999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2273
2274 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
2275 is performed.
2276
22771999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2278
2279 * vty.c (vty_read): Control-C stop VTY_MORE mode.
2280
22811999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2282
2283 * command.h (node_type ): Add ACCESS_IPV6_NODE and
2284 PREFIX_IPV6_NODE.
2285
2286 * distribute.h: New file added.
2287
2288 * command.h (node_type ): Delete DISTRIBUTE_NODE.
2289
22901999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2291
2292 * vty.c (vty_terminate_all): New function added for reload
2293 support.
2294
22951999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2296
2297 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
2298
22991999-08-31 Janos Farkas <chexum@shadow.banki.hu>
2300
2301 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
2302 esc-ctrl-h (delete word backwards).
2303
23041999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2305
2306 * if.h: Add if_nametoindex for NRL.
2307
23081999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2309
2310 * if.c (if_create): New function.
2311
23121999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2313
2314 * snmp.c: New file.
2315
23161999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2317
2318 * stream.c (stream_put): stream_memcpy () is changed to stream_put
2319 (). stream_get () is added.
2320
23211999-08-18 Toshiaki Takada <takada@zebra.org>
2322
2323 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
2324
23251999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2326
2327 * table.c (route_table_finish): add function frees table.
2328
23291999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2330
2331 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
2332
23331999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2334
2335 * if.h (struct interface ): hw_address, hw_address_len added.
2336
23371999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2338
2339 * if.h (struct interface ): Change structure member if_data to
2340 info, index to ifindex.
2341
23421999-08-08 Rick Payne <rickp@rossfell.co.uk>
2343
2344 * routemap.c: Multi protocol route-map modification.
2345
2346 * routemap.c (route_map_apply): Route match process bug is fixed.
2347
23481999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2349
2350 * thread.c (thread_fetch): When signal comes, goto retry point.
2351
23521999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2353
2354 * Makefile.am: Add sockopt.c and sockopt.h
2355 * sockopt.c: New file.
2356 * sockopt.h: New file.
2357
23581999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2359
2360 * version.h (ZEBRA_VERSION): Release zebra-0.75
2361
23621999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2363
2364 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
2365
23661999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2367
2368 * sockunion.h: Add sockunion_getpeername ().
2369
23701999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2371
2372 * version.h: Release zebra-0.74
2373
23741999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2375
2376 * command.h (struct host): Delete lines from struct host. Add
2377 lines to struct vty.
2378
2379 * command.c: Delete `lines LINES'. Terminal display line settings
2380 should be done by `terminal length' command.
2381
23821999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2383
2384 * memory.h (enum): MTYPE_OSPF_PATH are added.
2385
23861999-07-22 Toshiaki Takada <takada@zebra.org>
2387
2388 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
2389
23901999-07-21 Toshiaki Takada <takada@zebra.org>
2391
2392 * linklist.c (list_add_node_prev), (list_add_node_next),
2393 (list_add_list): New function added.
2394
2395 * table.c (route_table_free): New function added.
2396
23971999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2398
2399 * plist.c (config_write_prefix): Set write flag when configuration
2400 is written.
2401
24021999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2403
2404 * prefix.c : prefix_cmp() added. change apply_mask() to
2405 apply_mask_ipv4(), and new apply_mask() added.
2406
24071999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2408
2409 * prefix.c (prefix2str): append prefixlen.
2410
24111999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2412
2413 * command.c (config_terminal): Change "config terminal" to
2414 "configure terminal". Reported by Georg Hitsch
2415 <georg@atnet.at>.
2416 (config_terminal_length): `terminal length <0-512>' is added. At
2417 this moment this command is only usef for vty interface.
2418 Suggested by Georg Hitsch <georg@atnet.at>.
2419
24201999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2421
2422 * routemap.c (rulecmp): Add wrapper function of strcmp.
2423
24241999-07-08 Rick Payne <rickp@rossfell.co.uk>
2425
2426 * sockunion.c (inet_aton): Fix bug of inet_aton.
2427
24281999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2429
2430 * version.h (ZEBRA_VERSION): Start zebra-0.73
2431
24321999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2433
2434 * version.h: Bump up to 0.72.
2435
24361999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2437
2438 * command.c (install_default): New function for install default
2439 commands to the node.
2440
2441 * memory.h (enum): MTYPE_NEXTHOP is added.
2442
24431999-07-01 <kunihiro@zebra.org>
2444
2445 * command.c (no_banner_motd): `no banner motd' command added.
2446
24471999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2448
2449 * regex.c: Update to glibc-2.1.1's posix/regex.c
2450
2451 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
2452
2453 * prefix.h (IPV4_ADDR_SAME): Macro added.
2454 (IPV6_ADDR_SAME): Likewise.
2455
24561999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2457
2458 * memory.h (enum): Add MTYPE_OSPF_VERTEX
2459
2460 * version.h: Bump up to 0.71.
2461
2462 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
2463 VTY socket when IPv6 is enabled.
2464
24651999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2466
2467 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
2468 address family to bind.
2469
2470 * command.c: Add quit command.
2471
24721999-06-26 NOGUCHI kay <kay@dti.ad.jp>
2473
2474 * vty.c (vty_read_config): Fix bug of configuration file path
2475 detection.
2476
24771999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2478
2479 * version.h: Bump up to 0.70.
2480
24811999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2482
2483 * buffer.h (GETL): Remove GETL macro.
2484
2485 * version.h: Bump up to 0.69.
2486
24871999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2488
2489 * if.c (connected_add): Commented out connected_log.
2490
24911999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2492
2493 * command.h (struct cmd_element ): strvec and descvec is combined
2494 into newstrvec.
2495
2496 * command.c (desc_make): Function removed.
2497 (desc_next): Function removed.
2498
2499 * command.h (struct cmd_element ): docvec is removed from struct
2500 cmd_element.
2501
25021999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2503
2504 * command.c (cmd_execute_command): Remove command NULL check.
2505
2506 * command.h (struct cmd_element ): Add newstrvec entry to struct
2507 cmd_element.
2508 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
2509 (a|b|c) statement.
2510 (DESC): DESC macro is removed.
2511
2512 * vty.c (vty_complete_command): When return value is
2513 CMD_ERR_NO_MATCH, don't display error message.
2514
25151999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2516
2517 * table.c (route_next_until): New function.
2518
2519 * version.h: Bump up to 0.68.
2520
25211999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2522
2523 * vty.c (vty_close): Free vty->buf when vty is closed.
2524
2525 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
2526 MTYPE_COMMUNITY_LIST.
2527
2528 * vty.h (struct vty ): Change buf from static length buffer to
2529 variable length buffer.
2530
2531 * vty.c (vty_ensure): New function added.
2532
25331999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2534
2535 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
2536
2537 * command.c (config_enable_password): Freeing host.enable bug is
2538 fixed.
2539 (config_enable_password): Add argc count check.
2540
25411999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2542
2543 * version.h: Bump up to 0.67.
2544
25451999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2546
2547 * command.c (zencrypt): New function for encrypt password.
2548
2549 * command.h (struct host): Add password_encrypt and
2550 enable_encrypt.
2551
25521999-05-30 Jochen Friedrich <jochen@scram.de>
2553
2554 * command.h (struct host): New member encrypt is added for
2555 encrypted password.
2556
25571999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2558
2559 * vty.c: Remove all_digit_check function. Instead use all_digit.
2560
2561 * prefix.c (all_digit): New function for checking string is made
2562 from digit character.
2563
25641999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2565
2566 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
2567 (noinst_HEADERS): Add zclient.h
2568
2569 * zclient.[ch]: New file for zebra client routine.
2570
2571 * memory.h (enum): Add MTYPE_ZEBRA.
2572
25731999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2574
2575 * version.h (ZEBRA_VERSION): Update to 0.66.
2576
25771999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2578
2579 * buffer.h (GETC,GETW): Macro deleted.
2580
25811999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2582
2583 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
2584
25851999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2586
2587 * vty.c (service_advanced_vty): New command added.
2588 (no_service_advanced_vty): Likewise.
2589
25901999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2591
2592 * vty.c (vty_auth): If advanced flag is set and enable password is
2593 not set, directly login to the ENABLE_NODE. This feature is
2594 originally designed and implemented by Stephen R. van den Berg
2595 <srb@cuci.nl>.
2596
2597 * command.h (host): Add advanced flag to struct host for advanced
2598 vty terminal interface.
2599
2600 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
2601
26021999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2603
2604 * command.h (node_type ): Add TABLE_NODE.
2605
2606 * vty.c (vty_telnet_option): Check host.lines value.
2607
2608 * command.c (config_lines): DEFUN for 'lines LINES' command.
2609
2610 * zebra.h: Include <sys/utsname.h> for uname().
2611 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
2612 routing table.
2613
2614 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
2615 password is not set.
2616 (vty_prompt): Get machine's hostname when hostname is not set.
2617
26181999-05-11 James Willard <james@whispering.org>
2619
2620 * command.c (config_exit): Close connection when `exit' command is
2621 executed at ENABLE_NODE.
2622
26231999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2624
2625 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
2626
2627 * command.c (cmd_execute_command_strict): Matched command size
2628 check added.
2629 (cmd_make_desc_line): New function for DEFUN2.
2630
2631 * command.h (struct cmd_element ): Add descsize.
2632
26331999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2634
2635 * command.h (struct cmd_element ): Remame descvec to docvec.
2636 (struct cmd_element ): Add descvec for new description system.
2637
2638 * command.c (desc_make): Check cmd->descvec.
2639
26401999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2641
2642 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
2643
26441999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2645
2646 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
2647 release.
2648
26491999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2650
2651 * linklist.c (list_delete_all_node): bug fix.
2652 previous code loses current position when node
2653 is deleted.
2654
26551999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2656
2657 * command.h (DESC): Macro added.
2658 (struct cmd_element2): Delete struct cmd_element2.
2659
2660 * plist.c (prefix_list): Sequential number option check is added.
2661
26621999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2663
2664 * log.c (zvlog_{debug,info,notice,warn,err}): have been
2665 added. now we can log both console and file, but still
2666 need some fix about config write.
2667
26681999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2669
2670 * log.c (zvlog_debug): Fix yasu's change.
2671
26721999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2673
2674 * plist.c (prefix_list): Fix typo.
2675
26761999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2677
2678 * Set version to 0.63 for first beta package.
2679
26801999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2681
2682 * prefix.c (str2prefix_ipv4): Fix prefix length check.
2683 (str2prefix_ipv6): Likewise.
2684
26851999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2686
2687 * memory.h (enum): Add MTPYE_PREFIX_LIST and
2688 MTYPE_PREFIX_LIST_ENTRY.
2689
2690 * command.h (node_type ): Add PREFIX_NODE.
2691
26921999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2693
2694 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
2695 (copy_runningconfig_startupconfig_cmd) is added.
2696
2697 * table.c (route_node_lookup): Unused match variable deletion.
2698
26991999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2700
2701 * Makefile.am (libzebra_a_SOURCES): plist.c added.
2702 (noinst_HEADERS): plist.h added.
2703
2704 * plist.c, plist.h: New file added.
2705
2706 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
2707 * memory.c: Likewise.
2708
27091999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2710
2711 * command.c (show_version): `show version' command added.
2712
27131999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2714
2715 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
2716
27171999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2718
2719 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
2720
27211999-04-19 Alex Bligh <amb@gxn.net>
2722
2723 * prefix.c (sockunion2hostprefix): Function added.
2724 (sockunion2prefix): Address family was not set. Now it is set.
2725
2726 * vty.c: VTY access-class command is added.
2727
27281999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2729
2730 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
2731 xstrdup are likewise.
2732
27331999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2734
2735 * thread.c: Add thread_execute for other routing daemon.
2736 OSPF tasks need to be generated by "sheduled" and "executed".
2737
27381999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2739
2740 * buffer.c: Rewrite buffer_write and buffer_flush related
2741 functions for fixing bugs. Reason of the problem and fix is
2742 suggested by Alex Bligh <amb@gxn.net>.
2743
27441999-04-12 Alex Bligh <amb@gxn.net>
2745
2746 * command.c (cmd_entry_function_descr): Added for variable
2747 argument help display.
2748
27491999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2750
2751 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
2752
27531999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2754
2755 * stream.c: stream_fifo_free bug is fixed.
2756
27571999-03-19 Toshiaki Takada <takada@zebra.org>
2758
2759 * stream.c (stream_strncpy): Added for getting any length bytes
2760 from stream.
2761
27621999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2763
2764 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
2765
27661999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2767
2768 * buffer.c (buffer_flush_window): If ep is same as buffer's size
2769 length and lp is overrun one octet.
2770
27711999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2772
2773 * vty.h: add VTY's timeout function.
2774
27751999-03-05 <kunihiro@zebra.org>
2776
2777 * command.h (node_type ): Add OSPF6_node.
2778
27791999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2780
2781 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
2782
27831999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
2784
2785 * zebra.h: Include <net/if_var.h> if it exists.
2786
27871999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2788
2789 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
2790
2791 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
2792
2793 * command.h: Include vector.h and vty.h
2794
27951999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2796
2797 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
2798
2799 * routemap.c (route_map_apply_index): Add prefix argument.
2800 (route_map_apply): Likewise.
2801
2802 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
2803
2804 * stream.c: Add stream_fifo related functions.
2805
28061999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2807
2808 * daemon.c: Return integer value. File descriptor close is added.
2809
2810 * memory.h (enum): add MTYPE_OSPF_LSA.
2811
28121999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2813
2814 * rsh.c: Remove empty file.
2815
28161999-02-22 <kunihiro@zebra.org>
2817
2818 * routemap.c: Add add/delete hook to route_map_master.
2819
28201999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
2821
2822 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
2823 strlcpy on system without these.
2824
28251999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2826
2827 * syslog support added
2828
28291999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2830
2831 * filter.c (access_list_add_hook): added for hook function management.
2832 * filter.c (access_list_delete_hook): Likewise.
2833
28341999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2835
2836 * stream.c: New file.
2837 * stream.h: New file.
2838 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
2839
28401999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2841
2842 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
2843
2844 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
2845
28461998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2847
2848 * routemap.c: route_map_index_delete() added.
2849
28501998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2851
2852 * buffer.c (buffer_empty): check cp instead of sp.
2853
28541998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2855
2856 * radix.[ch]: Deleted.
2857
28581998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2859
2860 * buffer.c: Prototype fixes.
2861 * prefix.c: Likewise.
2862 * sockunion.c: Likewise.
2863 * sockunion.h: Likewise.
2864
28651998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2866
2867 * vty.c (vty_read): DELETE key works as vty_delete_char.
2868
28691998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2870
2871 * log.c (time_print): chane %y to %Y.
2872
28731998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2874
2875 * distribute.c: new file.
2876
28771998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2878
2879 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
2880 complete support of IPv6 access list.
2881
2882 * command.c (config_write_element): function delete.
2883 (config_write_host): function add. password and enable password
2884 isn't printed to vty interface.
2885
28861998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2887
2888 * filter.c: Change prefix_ipv4 to prefix and add support of
2889 prefix_ipv6 filtering.
2890
28911998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2892
2893 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
2894 header includes.
2895
28961998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2897
2898 * log.c (log_flush): fix function name typo.
2899
29001998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2901
2902 * memory.h: OSPF memory type is added.
2903
29041998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2905
2906 * command.c (sort_node): add sort_node() for pretty printing of
2907 command on vty interface.
2908 (config_password): delete the restriction of charaster of password
2909 string.
2910
29111998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
2912
2913 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
2914
29151998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2916
2917 * network.h: New file.
2918
29191998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2920
2921 * vty.c (vty_will_echo): function name change from vty_off_echo.
2922
29231998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2924
2925 * buffer.h: add PUTC,PUTW,PUTL macros.
2926
29271998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2928
2929 * route.[ch]: renamed to prefix.[ch]
2930
29311998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2932
2933 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
2934
2935 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
2936
29371998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2938
2939 * host.[ch]: merged with command.[ch]
2940
29411998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2942
2943 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
2944
29451998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2946
2947 * route.c (str2prefix): str2prefix () is gone.
2948
29491998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2950
2951 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
2952
2953 * .cvsignore: add file.
2954
2955 * memory.c (xerror): add arguent `type' and `size'.
2956
2957 * socket.c: deleted.
2958
29591998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2960
2961 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
2962 * linklist.c: same as above.
2963
29641998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2965
2966 * filter.[ch]: added.
2967
29681998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2969
2970 * vty.c (config_who): return CMD_SUCCESS
2971
29721998-04-01 Jochen Friedrich <jochen@scram.de>
2973
2974 * table.c (route_dump_node): route_dump_node is IPv6 specific
2975 function so move #ifdef to the end of route_dump_node ().
2976
29771998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
2978
2979 * if.c: DEFUN(interface_desc) added.
2980
29811998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2982
2983 * if.c: separated from ripd/rip_interface.c
2984
29851998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2986
2987 * thread.[ch] : added.
2988
29891998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2990
2991 * vty.c (vty_delete_char): fix size bug.
2992 (vty_backward_pure_word): function added.
2993 (vty_read): ESC + 'f' perform vty_forward_word.
2994 (vty_read): ESC + 'b' perform vty_backward_word.
2995
29961998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2997
2998 * radix.c (radix_lookup_rt): add mask check.
2999 (radix_delete_duproute): add mask check.
3000
30011998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3002
3003 * command.c (config_write_file): fix vty -> file_vty.
3004
30051998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3006
3007 * command.c (cmd_filter_ambiguous): add complex type treatment.
3008
30091998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3010
3011 * vty.c (vty_time_print): function added.
3012 (vty_complete_command): now [...] element isn't shown by completion.
3013
30141998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3015
3016 * command.c : change from cmd_install_node() to install_node().
3017
30181998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3019
3020 * route.[ch]: struct rt{} is replaced by struct prefix{}.
3021
30221998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3023
3024 * command.c (cmd_execute_command): check command length.
3025
3026 * timer.c (zebra_timer_set): add zebra_timer_set.
3027
30281998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3029
3030 * command.h (node_type ): add ZEBRA_NODE.
3031
3032 * command.c (config_exit): add RIP_NODE.
3033 (config_write_file): add RIP_NODE.
3034
30351998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3036
3037 * print_version.c (print_version): Now Copyright is 1996-1998.
3038
3039 * sockunion.c (sockunion_log): moved from ../zebra/route.c
3040
30411997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3042
3043 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
3044
3045 * sockunion.c (sockunion_sameprefix): add same prefix for
3046 sockunion.
3047
30481997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3049
3050 * radix.[ch] : are moved from ../zebra directroy.
3051
3052 * command.c (config_from_file): if command execution failed down
3053 level to CONFIG_NODE.
3054
3055 * host.c: config_log function which enable 'log FILENAME' command.
3056
30571997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3058
3059 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
3060 transpose character.
3061
3062 * command.c: cmd_cmdsize add, this is useful to check incomplete
3063 command.
3064
30651997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3066
3067 * fd.h: add family for address family
3068
30691997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3070
3071 * command.o
3072 * vty.o
3073 * host.o is moved from ../zebra
3074
30751997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3076
3077 * make library directory.
3078