blob: 4410fb243364f77edaecdca13b9b0a6b314e1892 [file] [log] [blame]
ajse22f5512005-01-12 16:18:17 +000012005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
ajs40abf232005-01-12 17:27:27 +00003 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
4 pass additional siginfo_t and ucontext_t arguments to core_handler
5 and exit_handler.
6 (core_handler,exit_handler) Now invoked with 3 arguments (using
7 SA_SIGINFO). Pass additional info to zlog_signal.
8 (program_counter) New function to find program counter in ucontext_t,
9 needs to be enhanced to support more platforms (currently works only
10 on Linux/x86).
11 * log.h: Change the zlog_signal prototype to add new arguments
12 siginfo_t * and program_counter.
13 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
14 Include si_addr and program counter (if non-NULL) in message.
15 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
16 that is now used to render the si_addr and PC pointers.
17
182005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
19
ajse22f5512005-01-12 16:18:17 +000020 * zebra.h: If not C99 and no va_copy macro available, fall back to
21 memcpy (solves a build problem on FreeBSD 4.x).
22
ajsb99760a2005-01-04 16:24:43 +0000232005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
24
25 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
26 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
27 by the configure test program).
28 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
29 of CMSG_FIRSTHDR.
30
hassocba8a602005-01-02 18:51:01 +0000312005-01-02 Hasso Tepper <hasso at quagga.net>
32
33 * command.c: Revert int -> unsigned int fixes in
34 cmd_describe_command_real() and cmd_complete_command_real(). index can
35 be actually negative and it caused crash with "do<TAB>" in vty.
36
gdt1d69fdf2004-12-29 18:53:30 +0000372004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
38
gdtd44debe2004-12-29 20:06:23 +000039 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
40 convention. Beef up comments. Handle the case where the cmsghdr
41 has a zero controllen, or more specifically when the wanted option
42 is not present. This is needed for Solaris 8, and in general for
43 any platform for which configure finds a method and it can fail.
44 Mark some changes with XXX to be cleaned up post 0.98.
45
ajsaf04bd72004-12-28 17:00:12 +0000462004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
47
ajs1d75c8c2004-12-28 21:43:17 +000048 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
49 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
50 deterministic (-1).
51
522004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
53
ajsaf04bd72004-12-28 17:00:12 +000054 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
55
paul4ba9b922004-12-21 22:34:58 +0000562004-12-21 Paul Jakma <paul.jakma@sun.com>
57
58 * if.h: Add more 'non-generic' IFF_ flags.
59 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +000060 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +000061
ajs202d08c2004-12-17 20:50:00 +0000622004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +000063
64 * command.c: (do_echo) Added new "echo" command, useful for
65 watchdog pinging to make sure the daemon is responsive.
66
672004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +000068
69 * pid_output.c: (pid_output_lock) Eliminate static function, and just
70 use the #ifdef to decide which version of the function to include.
71 This eliminates a compilation problem with gcc4. And fix the
72 non-fcntl version so that it actually compiles. Exit with
73 status 1 instead of -1 on error.
74
ajs81fc57c2004-12-15 17:41:14 +0000752004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
76
77 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
78
ajs3378d202004-12-10 22:43:17 +0000792004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
80
81 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
82 LOG_ERR instead of LOG_EMERG.
83
ajsc3324c62004-12-09 17:26:31 +0000842004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
85
86 * log.c: (hex_append) No need to include this function if
87 HAVE_GLIBC_BACKTRACE is not defined.
88
ajsb9e70282004-12-08 17:14:45 +0000892004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
90
91 * prefix.c: (prefix_copy) Error message before abort should
92 have severity LOG_ERR, not LOG_INFO.
93 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
94
ajs274a4a42004-12-07 15:39:31 +0000952004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
96
ajs8ddca702004-12-07 18:53:52 +000097 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
98
992004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
100
ajs82146b82004-12-07 17:15:55 +0000101 * command.c: (config_write_host) Note that "log trap" is deprecated
102 when writing out the config.
103
1042004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
105
ajs274a4a42004-12-07 15:39:31 +0000106 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
107 array to support individual logging levels for each destination.
108 Remove the 2nd argument to openzlog since the default logging config
109 should be standardized inside the library. Replaced the
110 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
111 And zlog_set_file now requires an additional log_level argument.
112 Declare zlog_proto_names for use inside command.c in the
113 "show logging" command. Added defines useful for command
114 construction.
115 * log.c: (vzlog) Decide where to send the message based on the
116 individual logging levels configured for each destination.
117 Remove support for ZLOG_STDERR since it was never actually used.
118 Support record-priority for terminal monitors.
119 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
120 logging levels. Remove stderr support (was never used). Added
121 support for terminal monitor logging.
122 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
123 (openzlog) Remove 2nd argument since default config should be
124 standardized in library. By default, terminal monitoring
125 is set to debug, and all other logging is disabled.
126 (zlog_set_flag,zlog_reset_flag) Removed.
127 (zlog_set_level) New function to replace zlog_set_flag and
128 zlog_reset_flag. Supports destination-specific logging levels.
129 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
130 (zlog_rotate) Log an error message if fopen fails, and support
131 new file-specific logging level.
132 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
133 command functions will be static instead of global. Remove
134 declarations for config_exit and config_help. Define new macros
135 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
136 have deprecated commands in vtysh. Similarly, for completeness,
137 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
138 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
139 was never used).
140 * command.c: Make many functions static instead of global.
141 (facility_name,facility_match,level_match) New functions
142 to support enhanced destination-specific logging levels.
143 (config_write_host) Support new destination-specific logging levels.
144 (config_logmsg) Added new "logmsg" command to help test logging
145 system.
146 (show_logging) Added "show logging" command to show the current
147 configuration of the logging system.
148 (config_log_stdout_level) Support explicit stdout logging level.
149 (no_config_log_stdout) Now takes optional LEVEL arg.
150 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
151 New commands creating new "log monitor" commands to set terminal
152 monitoring log level.
153 (config_log_file_level) Support explicit file logging level.
154 (config_log_syslog_level) Support explicit syslog logging level.
155 (config_log_facility,no_config_log_facility) Implement new
156 "log facility" command.
157 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
158 "log stdout <level>", "log monitor", "log monitor <level>",
159 "no log monitor", "log file <filename> <level>",
160 "no log file <filename> <level>", "log syslog <level>",
161 "log facility", and "no log facility".
162 * vty.h: Added a "level" argument to vty_log so it can support
163 "log record-priority". Declare new function vty_log_fixed for
164 use in signal handlers.
165 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
166 "log record-priority" for vty terminal monitors.
167 (vty_down_level) Use config_exit_cmd.func instead of calling
168 config_exit directly (since command functions will now be static
169 instead of global).
170 (vty_log_fixed) New function to send terminal monitor messages
171 from inside a signal handler.
172
ajs887c44a2004-12-03 16:36:46 +00001732004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
174
ajs5e764772004-12-03 19:03:33 +0000175 * log.h: Document appropriate use of syslog logging priorities
176 inside quagga.
177
1782004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
179
ajs56f20692004-12-03 17:40:31 +0000180 * command.h: Remove fields log_stdout and log_syslog from struct host,
181 since they are just trying to duplicate information in the
182 zlog_default structure. Note that this fixes a bug since those
183 fields were not registering any logging that was established
184 in the initial call to openzlog (this affects only the zebra and
185 ospf6d daemons). It is probably a bug to turn on any logging by
186 default in the call to openzlog.
187 * command.c: (config_write_host) Get logging info from zlog_default
188 instead of now-removed fields host.log_stdout and host.log_syslog.
189 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
190 host.log_stdout, since this info is recorded in zlog_default.
191 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
192 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
193 Do not set now-removed field host.log_syslog, since this info is
194 recorded in zlog_default.
195
1962004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
197
ajs887c44a2004-12-03 16:36:46 +0000198 * version.h.in: Remove declaration for pid_output_lock, this function
199 is now static, not global.
200 * pid_output.c: (pid_output_lock) This function should be static, not
201 global. And remove "old umask" error message, since it was really
202 an unimportant debug message, not an error.
203 (pid_output) Need to declare static function pid_output_lock.
204
ajs7d149b82004-11-28 23:00:01 +00002052004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
206
207 * log.h: Remove several unused fields from struct zlog. Add comments
208 for other fields, and add one new field syslog_options that is
209 used in the new syslog_sigsafe implementation.
210 * log.c: (syslog_sigsafe) New function to send syslog messages in
211 an async-signal safe way that can be used inside a signal handler.
212 (syslog_connect) New function to connect to syslog daemon inside a
213 signal handler. This function supports only systems where /dev/log
214 is a unix datagram socket (e.g. not Solaris).
215 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
216 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
217 enabled.
218 (openzlog) Save syslog_options for use in syslog_sigsafe.
219 (num_append) Fix bug: handle 0 properly.
220 (hex_append) New function to print a u_long in hex format.
221
hasso2557aed2004-11-28 21:16:20 +00002222004-11-28 Hasso Tepper <hasso at quagga.net>
223
224 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
225
ajsd1c51d72004-11-26 14:14:30 +00002262004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
227
ajs48d6c692004-11-26 20:52:59 +0000228 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
229 to the more self-explanatory zlog_backtrace_sigsafe.
230
2312004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
232
ajs5b85fac2004-11-26 19:36:42 +0000233 * debug.[ch]: Remove unused files.
234 * Makefile.am: Remove references to debug.c and debug.h
235
2362004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
237
ajs063ee522004-11-26 18:11:14 +0000238 * log.c: (zlog_backtrace) New function to log a backtrace.
239 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
240 Unfortunately, this function does not support syslog logging yet.
241 (zlog_signal) Move backtrace code into separate function
242 zlog_backtrace_safe.
243 (_zlog_assert_failed) Call zlog_backtrace before aborting.
244 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
245 * memory.c: (zerror) Call zlog_backtrace before aborting.
246
2472004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
248
ajsd1c51d72004-11-26 14:14:30 +0000249 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
250
ajse5879ca2004-11-25 16:07:53 +00002512004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
252
ajs4cf0d0d2004-11-25 17:14:34 +0000253 * zebra.h: If not C99 and there's no va_copy macro and there is
254 a __va_copy macro, define va_copy as __va_copy.
255
2562004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
257
ajse5879ca2004-11-25 16:07:53 +0000258 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
259 set l_whence to SEEK_SET, not SEEK_END. And after writing new
260 pid to file, must ftruncate to eliminate any extraneous bytes left
261 over from the last time a pid was written.
262
ajscee3df12004-11-24 17:14:49 +00002632004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
264
265 * zassert.h: New header file to declare a quagga-specific assert macro.
266 * log.c: (_zlog_assert_failed) New function called when assert fails
267 to log the error and abort.
268 * zebra.h: Include "zassert.h" instead of <assert.h>.
269 * regex.c: Include "zassert.h" instead of <assert.h>.
270
ajsd246bd92004-11-23 17:35:08 +00002712004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
272
ajs59a06a92004-11-23 18:19:14 +0000273 * sigevent.c: (signal_init) Set up some default signal handlers
274 so that processes will issue an error message before terminating
275 or dumping core.
276 (trap_default_signals) New function to set up signal handlers
277 for various signals that may kill the process.
278 (exit_handler) Call zlog_signal, then _exit.
279 (core_handler) Call zlog_signal, then abort.
280 * log.h: Declare new function zlog_signal.
281 * log.c: (zlog_signal) New function to log information about
282 a received signal before the process dies. Try to log a
283 backtrace also.
284 (quagga_signal_handler,signal_set) Should be static.
285
2862004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
287
ajsd246bd92004-11-23 17:35:08 +0000288 * log.c: (vzlog) Take a single va_list argument and use va_copy
289 as necessary for multiple traversals.
290 (zlog) Pass only one va_list to vzlog.
291 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
292 va_list to vzlog.
293 (zlog_set_file) Remove unused 2nd argument (flags).
294 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
295 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
296 Remove unused 2nd argument from zlog_set_file prototype.
297 Fix prototype for zlog_rotate.
298 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
299 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
300 properly.
301 (vty_log) Must use va_copy for multiple traversals of va_list arg.
302
ajsca359762004-11-19 23:40:16 +00003032004-11-19 David Young <dyoung@pobox.com>
304
305 * log.c: (safe_strerror) New function: safe wrapper for strerror.
306
ajsff29bb32004-11-19 18:29:22 +00003072004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
308
309 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
310 printed every time.
311
ajsf858e492004-11-16 14:25:30 +00003122004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
313
314 * memory.h: Fix prototype for memory_init().
315 * memory.c: Declare many functions and data structures static instead
316 of global. Fix prototype for memory_init().
317
gdt69e13252004-11-15 18:51:15 +00003182004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
319
320 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
321 alignment (users should use CMSG_SPACE).
322
323 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
324 asumming 4-byte alignment, since this isn't safe.
325
ajs7fa25ff2004-11-15 16:12:32 +00003262004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
327
328 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
329 Instead of exiting, log currenty memory usage and then abort.
330 (log_memstats) New function to log memory statistics, called by
331 zerror.
332 (show_memory_all) Loop over new mlists array instead of calling
333 show_memory_vty separately for each memory_list.
334
paulb86718e2004-11-08 17:34:07 +00003352004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +0000336
paul2265d202004-11-08 15:43:21 +0000337 * buffer.c: Add missing include of log.h.
338 (buffer_flush_available) written is compared against
339 mostly against unsigned types, only for the writev do we need
340 signed compare, so declare it as size_t and cast it to ssize_t
341 just for the error compare when we've called writev.
342 * buffer.h: Add comment that buffer data sizes really should be
343 size_t.
344
3452004-11-07 Paul Jakma <paul@dishone.st>
346
347 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +0000348
ajs49ff6d92004-11-04 19:26:16 +00003492004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
350
ajs5a646652004-11-05 01:25:55 +0000351 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
352 capabilities (that were used only in bgpd/bgp_route.c and are now
353 removed). Also remove some other fields that were not being
354 used at all.
355 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
356 and VTY_CONTINUE.
357 (vty_read) Remove calls to vty->output_func since that was part
358 of the VTY_CONTINUE infrastructure that has been removed.
359 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
360 (vty_close) Remove code to cancel vty->t_output thread, since that
361 thread was never actually used.
362
3632004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
364
ajs49ff6d92004-11-04 19:26:16 +0000365 * vty.c: Vtysh connections to daemons should use buffering.
366 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
367 (vty_new) Increase output buffer size to 4096 rounded up to a
368 multiple of pagesize.
369 (vtysh_read) After command has been executed and all output buffered,
370 call buffer_flush_available and schedule further writes if the
371 buffers are not yet empty.
372 (vtysh_write) New function to flush output to vtysh when the socket
373 is writeable.
374 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
375 clients. Also, should save read thread in vty->t_read so the
376 thread can be cancelled in vty_close.
377 * buffer.h: In struct buffer_data, remove unused "parent" field.
378 Convert "unsigned char *data" to "unsigned char data[0]" to save
379 a malloc. Declare new function buffer_flush_available that works
380 with non-blocking sockets.
381 * buffer.c: (buffer_data_new) Use a single malloc now that data is
382 a variable-size array at end of structure.
383 (buffer_data_free) Just a single free now that data is part of the
384 structure.
385 (buffer_write) Simplify the logic to make behavior more transparent.
386 (buffer_flush) Decrease b->length as data is written out.
387 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
388 (buffer_flush_vty) Decrease b->length as data is written out.
389 (buffer_flush_available) New function to flush non-blocking sockets.
390
paule064d6d2004-11-01 08:59:21 +00003912004-11-01 Paul Jakma <paul@dishone.st>
392
393 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
394
paul75e15fe2004-10-31 02:13:09 +00003952004-10-31 Paul Jakma <paul@dishone.st>
396
397 * vty.c: As per Andrew's suggestions..
398 (vty_serv_un) remove flags.
399 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +0000400 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +0000401 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
402 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +0000403 specific memory type defines. Use XCALLOC and sizeof the type,
404 not the pointer.
paul70e149e2004-10-31 16:29:50 +0000405 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +0000406
pauldccfb192004-10-29 08:29:36 +00004072004-10-29 Paul Jakma <paul@dishone.st>
408
409 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
410 to vtysh_accept, where sock is the actual fd we wanted to set to
411 O_NONBLOCK, ie the /connected/ vtysh unix socket.
412
hasso508ec912004-10-23 14:26:49 +00004132004-10-23 Hasso Tepper <hasso at quagga.net>
414
415 * zclient.c: Unbreak reading interface update message. Might fix
416 blocker bugzilla #109.
417
paul23b9c612004-10-22 11:51:57 +00004182004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +0000419
420 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +0000421 -1.
422 (setsockopt_pktinfo) unexported
423 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
424 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +0000425 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
426 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +0000427 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +0000428 * command.h: Cleanup the defines a bit, add helper defines and
429 collapse all defines to use those. Add an attribute field to
430 cmd_element to support, eg hidden or deprecated commands, add
431 defun defines for such. All that's left to do is add logic
432 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +0000433 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +0000434
hasso6590f2c2004-10-19 20:40:08 +00004352004-10-19 Hasso Tepper <hasso at quagga.net>
436
437 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
438 * print_version.c: Remove. print_version () function moved to
439 command.[c|h].
440 * command.c: Use QUAGGA_COPYRIGHT.
441 * Makefile.am: Remove useless version.c and print_version.c files.
442
hasso3fb9cd62004-10-19 19:44:43 +00004432004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
444
445 * zclient.c: (zebra_interface_address_read) If the destination address
446 is encoded as all zeroes, load it as a NULL pointer.
447 * if.h: Add comment describing struct connected destination field
448 and indicating that it may be NULL. Define macros
449 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
450 with PtP logic (distinguish between host and subnet addressing).
451 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
452 properly,
453 (connected_lookup_address) ditto.
454 (connected_add_by_prefix) Handle case where destination is NULL,
455 * prefix.[c|h]: New functions ipv4_network_addr and
456 ipv4_broadcast_addr.
457
hassoddd85ed2004-10-13 08:18:07 +00004582004-10-13 Hasso Tepper <hasso at quagga.net>
459
460 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
461 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +0000462 * smux.c, smux.h: Remove all defaults to initialize smux connection to
463 snmpd by default even if not configured to do so. "smux peer OID
464 <password>" initializes now connection and "no smux peer" terminates
465 it.
hassoddd85ed2004-10-13 08:18:07 +0000466
paul42d49862004-10-13 05:22:18 +00004672004-10-13 Paul Jakma <paul@dishone.st>
468
469 * (global) more const'ification.
470 * sockunion.c: (sockunion_su2str) buffer should be sized
471 SU_ADDRSTRLEN.
472 (sockunion_log) do not return stack variables, strdup buf before
473 return.
474 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
475 values against ULONG_MAX is daft, when caller probably has passed
476 a type that can not hold ULONG_MAX. use a temporary long instead.
477 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
478 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
479
hassoa1494112004-10-11 12:53:17 +00004802004-10-11 Hasso Tepper <hasso at quagga.net>
481
482 * command.h: Sync DEFUNSH with other macros.
483 * sockunion.c, sockunion.h: More const strings.
484
paul9076fbd2004-10-11 09:40:58 +00004852004-10-11 Paul Jakma <paul@dishone.st>
486
487 * thread.c: (funcname_thread_add_timer)
488 (funcname_thread_add_timer_msec) Fix mistakes from last change.
489 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +0000490 * if.h: mtu's should be unsigned.
491 * routemap.{c,h}: const char updates
492 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +0000493
paul9035efa2004-10-10 11:56:56 +00004942004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +0000495
496 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +0000497 * command.h: Change DEFUN func to take const char *[] rather
498 than char **, to begin process of fixing compile warnings in lib/.
499 Nearly all other changes in this commit follow from this change.
500 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
501 const void * and cast an automatic const char *p to it.
502 (buffer_putstr) add const
503 * command.c: (zencrypt) const qualifier
504 (cmd_execute_command_real) ditto
505 (cmd_execute_command_strict) ditto
506 (config_log_file) ditto.
507 Fix leak of getcwd() returned string.
508 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
509 * distribute.{c,h}: Update with const qualifier.
510 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
511 (distribute_lookup) Cast to char *, note that it's ok.
512 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
513 (distribute_get) Cast to char *, note that it's ok.
514 * filter.c: Update with const qualifier.
515 * if.{c,h}: ditto.
516 * if_rmap.{c,h}: ditto.
517 (if_rmap_lookup) Cast to char *, note that it's ok.
518 (if_rmap_get) ditto.
519 * log.{c,h}: Update with const qualifier.
520 * plist.{c,h}: ditto.
521 * routemap.{c,h}: ditto.
522 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
523 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
524 * vty.c: Update with const qualifier.
525
hasso27a43a82004-10-08 06:29:12 +00005262004-10-08 Hasso Tepper <hasso at quagga.net>
527
528 * routemap.c, routemap.h: Make some string arguments const.
529
paul5973ee72004-10-08 01:36:54 +00005302004-10-05 Paul Jakma <paul@dishone.st>
531
532 * version.h.in: print_version declaration is here, not in automake
533 generated version.h.
534
hassoea8e9d92004-10-07 21:32:14 +00005352004-10-08 Hasso Tepper <hasso at quagga.net>
536
537 * command.c, command.h: Make argument of cmd_make_strvec function
538 const.
539 * command.c: Make hostname commands usable in vtysh again.
540
hasso6ad96ea2004-10-07 19:33:46 +00005412004-10-07 Hasso Tepper <hasso at quagga.net>
542
543 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
544 strings const.
545
hasso8c328f12004-10-05 21:01:23 +00005462004-10-05 Hasso Tepper <hasso at quagga.net>
547
548 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
549 changes to fix warnings.
550
paul96e27c92004-10-05 14:33:43 +00005512004-10-05 Paul Jakma <paul@dishone.st>
552
553 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
554 functions to change byte order between system IP_HDRINCL order
555 and host order.
paul98c91ac2004-10-05 14:57:50 +0000556 * thread.c: (funcname_thread_add_timer_timeval) new function, add
557 timer at specified timeval.
558 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
559 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +0000560
hassob04c6992004-10-04 19:10:31 +00005612004-10-04 Hasso Tepper <hasso at quagga.net>
562
563 * memory.c, memory.h: Make char * argument of strdup functions const.
564 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
565 header.
566 * log.h: Make log message const in struct message.
567 * log.c: Fix some indenting.
568 * network.c, network.h: Make second argument of writen() const.
569
hassoe7168df2004-10-03 20:11:32 +00005702004-10-03 Hasso Tepper <hasso at quagga.net>
571
572 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
573 * command.c: Don't initialize commands that don't make sense if vtysh
574 is used.
575 * vty.c: Make VTY_NODE appear in vtysh.
576
hasso18a6dce2004-10-03 18:18:34 +00005772004-10-03 James R. Leu <jleu at mindspring.com>
578
579 * zclient.c, zclient.h: zclient functions for router id handling.
580 * zebra.h: New message types for router id handling.
581
paul9172ee02004-09-27 12:46:37 +00005822004-09-27 Paul Jakma <paul@dishone.st>
583
584 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
585 to try to fragment oversized packets. Enabled only for Linux.
586 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
587 to consolidate various ad-hoc platform defines for same thing.
588
hassoe473b032004-09-26 16:08:11 +00005892004-09-26 Hasso Tepper <hasso at quagga.net>
590
591 * vty.c, sockopt.c: Fix compiler warnings.
592
hasso52dc7ee2004-09-23 19:18:23 +00005932004-09-23 Hasso Tepper <hasso at quagga.net>
594
595 * linklist.h: Remove list and listnode typedefs.
596 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
597
paul0b3acf42004-09-17 08:39:08 +00005982004-09-17 Paul Jakma <paul@dishone.st>
599
paulb89e60c2004-09-21 15:43:13 +0000600 * sockopt.c: Add missing bracket
601
6022004-09-17 Paul Jakma <paul@dishone.st>
603
paul0b3acf42004-09-17 08:39:08 +0000604 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
605
paul33394762004-09-13 11:27:57 +00006062004-09-13 Paul Jakma <paul@dishone.st>
607
608 * command.c: Update the copyright string in the default motd.
609
gdt630e4802004-08-31 17:28:41 +00006102004-08-31 David Wiggins <dwiggins@bbn.com>
611
612 * hash.c (hash_iterate): Save next pointer before calling
613 procedure, so that iteration works even if the called procedure
614 deletes the hash backet.
615
616 * linklist.h (listtail): new macro, not yet used.
617
hasso34553cc2004-08-27 13:56:39 +00006182004-08-27 Hasso Tepper <hasso at quagga.net>
619
620 * command.c: Install "terminal length" commands only if vty is used.
621 Vtysh will handle it itself.
622
gdtafa43b22004-08-26 13:12:41 +00006232004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
624
625 * sockopt.h: Define method-independent macro for callers of
626 get_ifindex to use for cmsg length.
627
paule6822762004-08-19 04:13:29 +00006282004-08-19 Paul Jakma <paul@dishone.st>
629
paulefba6ce2004-08-25 13:47:16 +0000630 * zebra.h: add MAX and MIN defines (eg for ospf6d)
631
6322004-08-19 Paul Jakma <paul@dishone.st>
633
paule6822762004-08-19 04:13:29 +0000634 * sockopt.c: include sockopt.h
635 rename some of the _pktinfo_ functions to _ifindex, where that is
636 their purpose.
637 (getsockopt_ipv6_pktinfo_ifindex) renamed to
638 getsockopt_ipv6_ifindex.
639 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
640 (setsockopt_pktinfo) update with previous and add comment re
641 AF_INET portability.
642 (setsockopt_ifindex) generic ifindex function ala
643 setsockopt_pktinfo.
644 (getsockopt_ipv4_pktinfo_ifindex) renamed to
645 getsockopt_ipv4_ifindex.
646 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
647 ifdef/elses. pktinfo case forgot to set ifindex.
648 (getsockopt_pktinfo_ifindex) renamed to
649 getsockopt_ifindex. update some calls to renamed functions.
650 * sockopt.h: Update renamed exported functions
651 Rename the CMSG_SIZE macros to IFINDEX.
652 Guard IPv4 PKTINFO in a conditional define.
653
paulc0618de2004-08-18 21:52:58 +00006542004-08-18 Paul Jakma <paul@dishone.st>
655
656 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
657 to prevent inadvertent blocking of daemons by use of
658 vtysh. TODO: disentangle manual paging from the buffer_write
659 path so that unix vty can use this path too and be reliable.
660
gdt33f92322004-07-23 16:14:32 +00006612004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
662
663 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
664 on NetBSD, and add comments to make it less confusing. Change the
665 sense of the SUNOS_5 test to make parallel structure between the
666 variables and the code.
667
paul4f7baa02004-07-23 15:11:07 +00006682004-07-23 Paul Jakma <paul@dishone.st>
669
670 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
671 sizeof pktinfo as appropriate, to be used when allocating msg
672 buffers. export setsockopt_pktinfo() and
673 getsockopt_pktinfo_ifindex()
674 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
675 set received ifindex sock option.
676 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
677 (getsockopt_cmsg_data) retrieve indicated control info from
678 message header.
679 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
680 (setsockopt_ipv4_pktinfo) v4 version
681 (setsockopt_pktinfo) the exported version
682 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
683 (getsockopt_pktinfo_ifindex) the exported version
684
paul05c447d2004-07-22 19:14:27 +00006852004-07-14 Paul Jakma <paul@dishone.st>
686
687 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
688 the flags to a constant rather increment to be kinder.
689 (quagga_sigevent_process) new function, to do core of what
690 quagga_signal_timer did. dont block signals at all as sig->caught
691 is volatile sig_atomic_t and should be safe to access from signal
692 and normal contexts. The signal blocking is unneeded paranoia, but
693 is left intact under an ifdef, should some platform require it.
694 Check global caught flag before iterating through array.
695 (quagga_signal_timer) nearly everything moved to
696 quagga_sigevent_process. Left in under ifdef, in case some
697 platform could use a regular timer check for signals.
698 * sigevent.h: quagga_sigevent_process declaration.
699 * thread.c: (thread_fetch) check for signals at beginning of
700 scheduler loop, check for signals if select returns EINTR.
701
gdtb7797132004-07-13 13:47:25 +00007022004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
703
704 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
705 confuses gdb, at least on NetBSD 2.0_BETA, where the block
706 succeeds.
707
paul5510e832004-07-09 14:00:01 +00007082004-07-09 Paul Jakma <paul@dishone.st>
709
710 * Merge Kunihiro's 'show route-map' change and add
711 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +0000712 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
713 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +0000714
paulb06c14f2004-07-09 12:24:42 +00007152004-07-09 Juris Kalnins <juris@mt.lv>
716
717 * if.c: (if_cmp_func) fix for interface names where name is same,
718 but one has no number, eg "devtyp" and "devtyp0".
719
gdt87efd642004-06-30 17:36:11 +00007202004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
721
722 * Makefile.am: Make libzebra shared.
723
paul138ce752004-06-21 10:35:59 +00007242004-06-21 Paul Jakma <paul@dishone.st>
725
726 * ChangeLog: fix my last update config.h -> zebra.h ;)
727 * zebra.h: Fix gcc check.
728
paul02ff83c2004-06-11 11:27:03 +00007292004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
730
731 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
732 to u_char. (ipv6_access_list_remark_cmd) ditto.
733 if.c: ditto
734 * network.c: (readn/writen) pointer arg should be type u_char.
735 * plist.c: needs to include stream.h, not declare stream functions
736 internally.
737 (various) Add static qualifier to internal functions.
738 (prefix_list_type_str) extraneous breaks in switch statement.
739 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
740 * stream.h: depends on plist.h and export stream_put_prefix
741 * vty.c: (vty_<telnet option build functions>) should use
742 unsigned char, telnet options are 0 -> 255.
743 * zclient.c: various u_char<->char type cleanups.
744 * zebra.h: Having to define CMSG_* can apply to more than just
745 BSDI_NRL.
746
paul51a87982004-06-09 10:36:05 +00007472004-06-09 Paul Jakma <paul@dishone.st>
748
paul138ce752004-06-21 10:35:59 +0000749 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +0000750
paul5228ad22004-06-04 17:58:18 +00007512004-06-04 Paul Jakma <paul@dishone.st>
752
753 * type mismatch fixes
754
hasso6708fa32004-05-18 18:46:54 +00007552004-05-18 Hasso Tepper <hasso@estpak.ee>
756
757 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
758
paul0a589352004-05-08 11:48:26 +00007592004-05-08 Paul Jakma <paul@dishone.st>
760
761 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
762 message format.
763
7642004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
765
766 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
767 (zapi_ipv4_delete) ditto.
768 (zapi_ipv4_route) add/delete a route by way of cmd arg.
769 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
770 (zapi_ipv6_delete) ditto.
771 (zapi_ipv6_route) add/delete a route by way of cmd arg.
772 (zebra_interface_address_delete_read) collapsed into
773 zebra_interface_address_read.
774 (zebra_interface_address_delete_read) ditto.
775 (zebra_interface_address_read) read address add/delete messages
776 by way of type argument. Describe command message format.
777 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
778 Describe command message format.
779 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
780 (zclient_redistribute_set) Collapsed into zclient_redistribute
781 (zclient_redistribute_unset) ditto
782 (zclient_redistribute) set/unset redistribution.
783 (zclient_redistribute_default_set) Collapsed into
784 zclient_redistribute_default.
785 (zclient_redistribute_default_unset) ditto.
786 (zclient_redistribute_default) Redistribute default set/unset.
787 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
788 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
789 zclient_redistribute. Ditto for
790 zclient_redistribute_default_{set/unset}.
791
paul4a7aac12004-05-08 05:00:31 +00007922004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
793
794 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
795 from IPv4, and Solaris treats the MTU's differently.
796 Add connected_add_by_prefix, for use by later patch.
797 * if.c: (connected_add_by_prefix) Add prefix to connected list.
798 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
799 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +0000800 * command.c: (sockunion_getsockname) use socklen_t for len.
801 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +0000802
paul31fcdd32004-04-21 11:00:43 +00008032004-04-21 Boris Kovalenko <boris@tagnet.ru>
804
805 * daemon.c: (daemon) fix check for error return from setsid
806
paulc49b3062004-01-19 21:23:37 +00008072004-01-19 Paul Jakma <paul@dishone.st>
808
809 * sigevent.{c,h}: New files, implement event handled signals.
810 see signal_init() in sigevent.h.
811
jardinc32e1b52003-12-23 09:06:51 +00008122003-12-23 Vincent Jardin <jardin@6wind.com>
813
814 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
815
gdt3dbf9962003-12-22 20:18:18 +00008162003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
817
818 * vty.c (vty_use_backup_config): Don't free filenames before using
819 them for unlink.
820
paul54aba542003-08-21 20:28:24 +00008212003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
822
823 * command.c: Fix <cr> display problem for command line
824 description
825
paule9af5c72003-05-24 11:54:31 +00008262003-05-24 Anil Madhavapeddy
827
828 * (sockunion.c): Incorrect bounds specified in sockunion_log()
829
paul445f1432003-05-16 19:00:31 +00008302003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
831
832 * vty.c: -A option
833
8342003-04-19 Hasso Tepper <hasso@estpak.ee>
835
836 * rip_routemap.c: sync daemon's route-map commands to have same
837 syntax
838
paul718e3742002-12-13 20:15:29 +00008392002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
840
841 * vty.c (vty_flush): One line more on vty.
842
8432002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
844
845 * vector.c (vector_lookup): Add new function.
846
8472002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
848
849 * thread.c (timeval_adjust): Fix unconditional crush due to
850 FreeBSD's select() system call timeval value check.
851
8522002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
853
854 * zebra-0.93 released.
855
8562002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
857
858 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
859 van Maarseveen's suggestion.
860
8612002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
862
863 * command.c: Change bcopy() to memcpy().
864
8652001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
866
867 * command.c (config_password): Fix host.password clear bug.
868 Reported by Wang Jian <lark@linux.net.cn>.
869
8702001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
871
872 * thread.c (thread_should_yield): New function to check thread
873 should yeild it's execution to other thread. Suggested by: Rick
874 Payne <rickp@ayrnetworks.com>
875
8762001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
877
878 * thread.c (thread_timer_cmp): Rewrite function.
879
880 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
881
8822001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
883
884 * zebra-0.92a released.
885
8862001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
887
888 * zebra-0.92 released.
889
8902001-08-12 Akihiro Mizutani <mizutani@dml.com>
891
892 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
893 string to "1.1.0.0/16".
894
8952001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
896
897 * filter.c (access_list_lookup): access_list_lookup's first
898 argument is changed from address family to AFI.
899
900 * plist.c: (prefix_list_lookup): Likewise.
901
9022001-07-27 Akihiro Mizutani <mizutani@dml.com>
903
904 * plist.c: ge and le display order is changed. Old compatible
905 rule (len <= ge-value <= le-value) is removed.
906
9072001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
908
909 * prefix.h: Temporary fix for alignment of prefix problem.
910
9112001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
912
913 * prefix.h (struct prefix): Remove safi and padding field.
914 (struct prefix_ipv4): Likewise.
915 (struct prefix_ipv6): Likewise.
916 (struct prefix_ls): Likewise.
917 (struct prefix_rd): Likewise.
918
919 * command.h (enum node_type): Preparation for BGP new config.
920
921 * vty.c (vty_end_config): Likewise.
922
9232001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
924
925 * routemap.c (route_map_rule_delete): Call func_free when
926 route-map rule is deleted.
927
9282001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
929
930 * routemap.c (route_map_index_lookup): Prevent to use deny and
931 permit for same route-map sequence.
932
9332001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
934
935 * vty.c (vty_read_config): Fix warning.
936
9372001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
938
939 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
940 strings.
941
9422001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
943
944 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
945 CMSG_FIRSTHDR.
946
9472001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
948
949 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
950
9512001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
952
953 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
954 lib" member.
955
9562001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
957
958 * vty.c (vty_read_config): Revert check of integrate_default when
959 VTYSH is defined.
960
9612001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
962
963 * vty.c (vty_read_config): Do not check integrate_default. That
964 should be used only by vtysh.
965
9662001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
967
968 * vty.c (vty_serv_un): Set umask 0077.
969 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
970 wait for boot configuration.
971
972 * if.c (if_lookup_address): Make it smart implementation.
973
974 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
975 options for IPv4 This is here so that people only have to do their
976 OS multicast mess in one place rather than all through zebra,
977 ospfd, and ripd .
978
9792001-02-04 Akihiro Mizutani <mizutani@dml.com>
980
981 * plist.c (vty_prefix_list_install): Even when argument is
982 invalid, new memory is allocated. Now memory allocation is done
983 after argument check.
984
9852001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
986
987 * zebra-0.91 is released.
988
9892001-01-31 Akihiro Mizutani <mizutani@dml.com>
990
991 * vty.c (vty_login): Add vty login command.
992
9932001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
994
995 * vty.c (vty_reset): Close accept socket.
996
9972001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
998
999 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
1000 attribute.
1001
10022001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1003
1004 * zclient.c (zebra_interface_address_add_read): Fetch interface
1005 address flag.
1006 (zebra_interface_address_delete_read): Likewise.
1007
10082001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1009
1010 * table.c (route_node_match_ipv4): Utility function for IPv4
1011 address lookup.
1012 (route_node_match_ipv6): Utility function for IPv4 address lookup.
1013
10142001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1015
1016 * if.c: Delete RIP_API part until new implementation comes out.
1017
10182001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1019
1020 * hash.h (struct Hash): Rename alloc to count. Change type to
1021 unsigned long.
1022
1023 * stream.c (stream_getc_from): New function.
1024 (stream_getw_from): Likewise.
1025
1026 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
1027
10282001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1029
1030 * flap.c: File is removed.
1031
1032 * flap.c: Likewise.
1033
1034 * roken.h: Likewise.
1035
1036 * buffer.c (buffer_new): Remove type option to buffer_new().
1037
10382001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1039
1040 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
1041
10422001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1043
1044 * zebra-0.90 is released.
1045
1046 * command.c: Update Copyright year.
1047
10482001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1049
1050 * if.c (if_create): Register connected_free() function for
1051 deletion.
1052 (if_delete): Free connected information when the interface is
1053 deleted.
1054 (if_lookup_by_index): Fix argument type from int to unsigned int.
1055 (connected_add): Keep list in order if old info found, essential
1056 for repeatable operation in some daemons.
1057
10582001-01-09 endo@suri.co.jp (Masahiko Endo)
1059
1060 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
1061 read thread.
1062
10632001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1064
1065 * filter.c (access_list_delete): Access-list name is not freed.
1066
1067 * plist.c (prefix_list_delete): Prefix-list name is not freed.
1068
10692000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1070
1071 * zclient.c (zclient_start): Change to use UNIX domain
1072 socket for zebra communication.
1073
1074 * vector.c (vector_init): vector_alloc and vector_data_alloc is
1075 removed. All memory allocation count should be maintained by
1076 XMALLOC and XFREE macros.
1077
10782000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1079
1080 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
1081
10822000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1083
1084 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
1085 value.
1086
10872000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
1088
1089 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
1090 allocated in vty_new ().
1091
10922000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1093
1094 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
1095
1096 * command.c (config_write_terminal): Display "end" at the end of
1097 configuration.
1098
1099 * plist.c (vty_prefix_list_install): Use AF_INET to determine
1100 lenum length.
1101
11022000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
1103
1104 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
1105 then all lines write by IOV_MAX.
1106
11072000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1108
1109 * command.c (config_write_file): Robust method for writing
1110 configuration file and recover from backing up config file.
1111
11122000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1113
1114 * smux.c (smux_connect): More fail check.
1115 (smux_trap): When SMUX connection is not established, do nothing.
1116
11172000-11-28 Gleb Natapov <gleb@nbase.co.il>
1118
1119 * thread.c (thread_fetch): Execut event list first. Old event
1120 list is renamed to ready list. With this change, event thread is
1121 executed before any other thread.
1122
1123 * thread.h (struct thread_master): Add ready list.
1124
11252000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1126
1127 * linklist.c (listnode_add_after): Add node right after the
1128 listnode pointer.
1129
11302000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1131
1132 * smux.h: Pass struct variable to WriteMethod.
1133
11342000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1135
1136 * if.c (if_lookup_address): When looking up interface with IP
1137 address, Sometimes multiple interfaces will match. Now PtP
1138 interfaces prevail in such a case which seem the right thing to
1139 do: There will probably also be host routes which usually prevail
1140 over network routes.
1141
11422000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1143
1144 * smux.c (smux_trap): SMUX trap implementation.
1145
11462000-11-19 Akihiro Mizutani <mizutani@dml.com>
1147
1148 * plist.c: Add automatic conversion function of an old rule.
1149 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
1150
11512000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1152
1153 * zclient.c (zebra_interface_add_read): Read hardware address when
1154 hw_addr_len is greater than 0.
1155
11562000-11-15 Akihiro Mizutani <mizutani@dml.com>
1157
1158 * plist.c: The rule of "len <= ge-value <= le-value"
1159 was changed to "len < ge-value <= le-value".
1160
11612000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1162
1163 * memory.[ch]: Added #define and functions for ospf6d.
1164
1165 * log.[ch]: some platform says that the data of used va_list
1166 is undefined. Changed to hold list of va_list for each
1167 vsnprintf.
1168
11692000-11-07 Rick Payne <rickp@rossfell.co.uk>
1170
1171 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
1172
11732000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1174
1175 * command.c (config_exit): Fix bug of missing break after case
1176 BGP_VPNV4_NODE.
1177
11782000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1179
1180 * vector.c (vector_unset): Check i is not nevative.
1181
11822000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1183
1184 * smux.c (smux_sock): Set terminating '\0'. Check address family.
1185
1186 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
1187 gai_strerror. Check address family.
1188
11892000-10-23 Jochen Friedrich <jochen@scram.de>
1190
1191 * smux.c: Use linklist rather than vector.
1192 (smux_getnext): A SMUX subagent has to behave as if it manages the
1193 whole SNMP MIB tree itself. It's the duty of the master agent to
1194 collect the best answer and return it to the manager. See RFC 1227
1195 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
1196 bad here as it actually might ask multiple times for the same
1197 GETNEXT request as it throws away the answer when it expects it in
1198 a different subtree and might come back later with the very same
1199 request.
1200
12012000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1202
1203 * command.c (cmd_init): Log related command are only installed for
1204 terminal mode.
1205
12062000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1207
1208 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
1209
1210 * zebra.h: Remove #warn directive.
1211
12122000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1213
1214 * keychain.c (keychain_init): Register "key chain" command to
1215 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
1216
1217 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
1218 CONFIG_NODE.
1219
1220 * command.c (config_end): Likewise.
1221
1222 * keychain.c (keychain_get): Key is sorted by it's identifier
1223 value.
1224
12252000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1226
1227 * linklist.c (list_delete_all_node): Call delete function if it is
1228 defined.
1229
1230 * command.c (cmd_execute_command_strict): Add modification for
1231 vtysh.
1232 (cmd_execute_command_strict): Remove first argument cmdvec because
1233 it is global varibale in command.c.
1234
12352000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1236
1237 * command.c (cmd_init): Install
1238 copy_runningconfig_startupconfig_cmd only in terminal mode.
1239
1240 * linklist.c (list_delete_node): Simplify the function.
1241 (listnode_lookup): Renamed from list_lookup_node.
1242
12432000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1244
1245 * stream.h: Undef stream_read and stream_write without
1246 parenthesis.
1247
1248 * newlist.c: File removed.
1249
1250 * newlist.h: Likewise.
1251
1252 * linklist.c (list_new): Remove list_init(). To allocate new
1253 linked list, please use list_new().
1254 (listnode_add): Remove list_add_node(). To add new node to linked
1255 list, please use listnode_add().
1256 (list_delete_by_val): Revemove fucntion.
1257
12582000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
1259
1260 * table.c (route_table_free): Reimplement route_table_free().
1261
12622000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1263
1264 * keychain.c (keychain_get): Register key_delete_func to key
1265 list's delete function. Use linklist.c instead of newlist.c.
1266
12672000-10-04 Akihiro Mizutani <mizutani@dml.com>
1268
1269 * filter.c (access_list_remark): Add access-list's remark command.
1270 (no_access_list): "no access-list 100 permit any" error message
1271 bug is fixed.
1272
12732000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1274
1275 * memory.h (enum): Add MTYPE_SOCKUNION.
1276
12772000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1278
1279 * zebra-0.89 is released.
1280
12812000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1282
1283 * linklist.c (list_add_node_head): Delete unused function.
1284 (list_add_node_tail): Likewise.
1285
12862000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1287
1288 * stream.c (stream_read_unblock): Add new function for unblocking
1289 read.
1290
12912000-09-26 Jochen Friedrich <jochen@nwe.de>
1292
1293 * smux.c (smux_register): Fix bug of can't register more than one
1294 MIB with SMUX.
1295
12962000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
1297
1298 * vty.c (vty_close): Fix memory leak of sb_buffer.
1299 (vty_new): Likewise.
1300
13012000-09-21 steve@Watt.COM (Steve Watt)
1302
1303 * log.h: Do not declare zlog_priority[0] variable.
1304
13052000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1306
1307 * linklist.h (struct _list ): Add member cmp for compare function.
1308 (struct _list ): Member up is deleted
1309
13102000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
1311
1312 * if.c: Include RIP_API header when RIP API is enabled.
1313
13142000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1315
1316 * prefix.c (prefix_free): Siplify prefix_free().
1317
1318 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
1319
13202000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1321
1322 * zebra.h: Merge roken.h into zebra.h.
1323
13242000-09-05 Akihiro Mizutani <mizutani@dml.com>
1325
1326 * routemap.c (route_map_init_vty): Install route-map command to
1327 RMAP_NODE.
1328
13292000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1330
1331 * thread.c (thread_get_id): Remove pthread related garbage.
1332
1333 * command.h (struct host): Likewise.
1334
1335 * zebra.h: Likewise.
1336
13372000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1338
1339 * command.h (node_type ): Add AAA node for authentication.
1340
1341 * vty.c (vty_close): Do not close stdout.
1342
13432000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1344
1345 * vty.c (vty_init_vtysh): Added for vtysh.
1346
1347 * distribute.c (districute_list_prefix_all): Interface independent
1348 filter can be set.
1349 (distribute_list_all): Likewise.
1350 (config_show_distribute): Display current distribute-list status
1351 for "show ip protocols".
1352
13532000-08-18 Akihiro Mizutani <mizutani@dml.com>
1354
1355 * command.c (config_terminal_no_length): no terminal monitor ->
1356 terminal no monitor
1357 (cmd_init): Do not install service_terminal_length_cmd into
1358 ENABLE_NODE.
1359
1360 * vty.c (terminal_no_monitor): no terminal length -> terminal no
1361 length.
1362
13632000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1364
1365 * zebra-0.88 is released.
1366
13672000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
1368
1369 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
1370 better IAC handling.
1371
1372 * vty.c (vty_telnet_option): Change telnet option handling.
1373
13742000-08-15 Gleb Natapov <gleb@nbase.co.il>
1375
1376 * zclient.c (zclient_redistribute_unset): New function added.
1377
13782000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1379
1380 * zclient.c (zebra_interface_add_read): Change ifindex restore
1381 size from two octet to four.
1382 (zebra_interface_state_read): Likewise.
1383 (zebra_interface_address_add_read): Likewise.
1384
13852000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1386
1387 * vty.c (vty_event): Use vector_set_index() instead of
1388 vector_set().
1389
13902000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1391
1392 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
1393 Administrative Distance of each protocol.
1394
13952000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
1396
1397 * if.h (struct interface ): Add new member bandwidth to struct
1398 interface.
1399
1400 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
1401 (zebra_interface_state_read): Likewise.
1402
14032000-08-07 Gleb Natapov <gleb@nbase.co.il>
1404
1405 * routemap.c (route_map_event_hook): New hook route_map_event_hook
1406 is added. This hook is called when route-map is changed. The
1407 parameters passed to the hook are 'event' and 'route-map name'
1408
1409 * routemap.h: Add prototype for route_map_event_hook().
1410
14112000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1412
1413 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
1414 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
1415
1416 * routemap.c (route_map_empty): Add new function.
1417 (route_map_delete): Use route_map_index_delete() instead of
1418 route_map_index_free().
1419 (route_map_index_free): Function removed.
1420
14212000-08-06 Gleb Natapov <gleb@nbase.co.il>
1422
1423 * routemap.c (route_map_index_delete): Add check for route-map is
1424 empty or not.
1425
14262000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1427
1428 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
1429 zclient.
1430
14312000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1432
1433 * zclient.h (struct zebra): Add obuf for output buffer.
1434
1435 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
1436 if_indextoname().
1437
14382000-08-02 David Lipovkov <davidl@nbase.co.il>
1439
1440 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
1441 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
1442
1443 * if.c (interface_pseudo): Add "pseudo" command to interface node.
1444 (no_interface_pseudo): Add "no pseudo" command to interface node.
1445
1446 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
1447 send from zebra.
1448
14492000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1450
1451 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
1452 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
1453
1454 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
1455
14562000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1457
1458 * vty.c: Use vector for VTY server thread listing instead of
1459 single value.
1460
14612000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1462
1463 * keychain.c (no_key_chain): "no key chain WORD" command is added.
1464
14652000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1466
1467 * command.c (config_from_file): If command fail in
1468 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
1469
1470 * vty.h (struct vty ): Add index_sub member.
1471
14722000-07-27 Akihiro Mizutani <mizutani@dml.com>
1473
1474 * if.c: Help strings updates.
1475
14762000-07-11 Akihiro Mizutani <mizutani@dml.com>
1477
1478 * command.c (no_config_enable_password): Add "no enable password"
1479 command.
1480 (config_write_host): Display password string.
1481
1482 * routemap.c (route_map_delete_match): Add support for delete
1483 match without argument.
1484 (route_map_delete_set): Likewise.
1485
14862000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1487
1488 * command.h (node_type ): Change KEYCHAIN_NODE and
1489 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
1490
14912000-07-09 Jochen Friedrich <jochen@scram.de>
1492
1493 * smux.c (config_write_smux): Fixes the option to override OID and
1494 password for SMUX.
1495
14962000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1497
1498 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
1499
15002000-07-09 Toshiaki Takada <takada@zebra.org>
1501
1502 * command.c: Sort descvec command's help.
1503
1504 * vty.c (vty_describe_command): Display '<cr>' at the end of
1505 descriptions.
1506
15072000-07-05 Toshiaki Takada <takada@zebra.org>
1508
1509 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
1510 treatment of double colon.
1511
15122000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1513
1514 * zclient.h: Add zclient_redistribute_default_{set,unset}().
1515
1516 * keychain.c: New file for authentication key management.
1517 * keychain.h: Likewise.
1518
1519 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
1520 ipchains.
1521 * tcpfilter.h: Likewise.
1522
1523 * flap.h: New file for route flap dampening.
1524 * flap.c: Likewise.
1525
15262000-07-04 Toshiaki Takada <takada@zebra.org>
1527
1528 * filter.c (struct filter): Add exact flag.
1529 (access_list): Add exact-match command.
1530 (ipv6_access_list): Add exact-match command.
1531
15322000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1533
1534 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
1535 request default route.
1536
15372000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
1538
1539 * smux.c: Add IPv6 smux connection code.
1540
15412000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1542
1543 * vty.c (vty_complete_command): To cooperate readline library,
1544 returned string is newly allocated. So some match function case
1545 need, free of memory.
1546
15472000-06-12 Akihiro Mizutani <mizutani@dml.com>
1548
1549 * distribute.c: Fix help strings.
1550
15512000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1552
1553 * command.c (cmd_complete_command): Add check for vector_slot
1554 (vline, index) is not NULL when calculating lcd.
1555 (cmd_entry_function): First check variable arguemnt to prevent it
1556 from completion.
1557
15582000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1559
1560 * vty.h (struct vty ): Add output_count member for displaying
1561 output route count. Remove arugment arg from output_func because
1562 the value is passed by vty argument. Change output to output_rn.
1563 Add output_clean function pointer member. Add output_type member.
1564
15652000-06-10 Toshiaki Takada <takada@zebra.org>
1566
1567 * command.c (show_startup_config): Add "show startup-config"
1568 command.
1569
15702000-06-06 Akihiro Mizutani <mizutani@dml.com>
1571
1572 * filter.c: Fix help strings.
1573
15742000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1575
1576 * prefix.h (struct prefix_rd): New prefix structure for routing
1577 distinguisher.
1578 (struct prefix): Add padding to every prefix structure.
1579
1580
1581 * routemap.c (route_map_add_match): When completely same match
1582 statement exists, don't duplicate it.
1583
15842000-06-05 Akihiro Mizutani <mizutani@dml.com>
1585
1586 * routemap.c: Change NAME to WORD.
1587
1588 * plist.c: Fix help strings.
1589
15902000-06-02 Akihiro Mizutani <mizutani@dml.com>
1591
1592 * routemap.c: Fix route-map help strings.
1593
15942000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1595
1596 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
1597 to filter other non vararg commands.
1598
1599 * routemap.c (route_map_init_vty): Use install_default() for
1600 install common commands into route-map node..
1601
16022000-06-01 Akihiro Mizutani <mizutani@dml.com>
1603
1604 * command.h (OSPF_STR): Macro added.
1605
16062000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1607
1608 * command.c (cmd_complete_command): LCD completion must not modify
1609 installed command string.
1610
1611 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
1612 X:X::X:X to X:X::X:X/M.
1613
16142000-05-31 Toshiaki Takada <takada@zebra.org>
1615
1616 * vty.c (show_history): New defun added.
1617
16182000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1619
1620 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
1621 list. CMD_COMPLETE_MATCH is used for LCD completion.
1622
1623 * vty.c (vty_complete_command): Matched string's LCD is completed.
1624
1625 * command.c (cmd_lcd): New function for calculate LCD of matched
1626 strings.
1627
16282000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1629
1630 * command.c (install_default): config_write_terminal_cmd,
1631 config_write_file_cmd, config_write_memory_cmd are added to
1632 default node.
1633
1634 * memory.c (memory_init): Divide show memory command into each
1635 sort.
1636
1637 * command.c (cmd_init): config_write_terminal_cmd,
1638 config_write_file_cmd, config_write_memory_cmd are added to
1639 CONFIG_NODE.
1640
1641 * routemap.c (route_map_index_free): New function.
1642 (no_route_map_all): New DEFUN for "no route-map NAME".
1643
1644 * filter.c (no_access_list_all): New DEFUN for delete access-list
1645 with NAME.
1646 (no_ipv6_access_list_all): Likewise.
1647
16482000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1649
1650 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
1651 specified, user can not use "ge" and "le" statement.
1652
16532000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
1654
1655 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
1656
1657 * table.c (route_table_free): Like wise.
1658
16592000-05-22 Toshiaki Takada <takada@zebra.org>
1660
1661 * vty.c (vty_stop_input): Set history pointer to the latest one.
1662
1663 * vty.c (vty_hist_add): Do not add command line history when input
1664 is as same as previous one.
1665
16662000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1667
1668 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
1669
16702000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1671
1672 * command.h (node_type ): Add BGP_VPNV4_NODE.
1673
16742000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1675
1676 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
1677 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
1678
1679 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
1680 IPv4 example. Reported by: Love <lha@s3.kth.se>.
1681
1682 * command.c (cmd_complete_command): Make it sure last element of
1683 matchvec is NULL. This fix problem which cause crush in
1684 vty_complete_command(). Reported by: JINMEI Tatuya
1685 <jinmei@isl.rdc.toshiba.co.jp>.
1686
16872000-04-28 Love <lha@s3.kth.se>
1688
1689 * prefix.h (struct prefix): Add padding.
1690
16912000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1692
1693 * command.c (show_version): Update copyright year.
1694
16952000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1696
1697 * routemap.c (route_map_apply): When map is NULL, return deny.
1698
16992000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1700
1701 * filter.c (access_list_apply): When access is NULL, return deny.
1702
1703 * plist.c (prefix_list_apply): When plist is NULL, return deny.
1704
17052000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1706
1707 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
1708
17092000-04-18 Toshiaki Takada <takada@zebra.org>
1710
1711 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
1712 Add argument for hook function to give struct access_list *.
1713
17142000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1715
1716 * plist.c (prefix_list_entry_match): In case of le nor ge is
1717 specified, exact match is performed.
1718 (prefix_list_entry_match): Add any entry matching check.
1719
17202000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1721
1722 * vty.c (exec_timeout): Separate timeout setting to minutes and
1723 seconds.
1724 (no_exec_timeout): Add "no exec-timeout" command.
1725
1726 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
1727 600.
1728
17292000-03-31 Jochen Friedrich <jochen@scram.de>
1730
1731 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
1732 it is a primitive encoding and not constructed.
1733
17342000-03-28 Toshiaki Takada <takada@zebra.org>
1735
1736 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
1737
17382000-03-26 Love <lha@s3.kth.se>
1739
1740 * zclient.c (zclient_read): Add nbytes size check for
1741 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
1742
17432000-03-26 Rick Payne <rickp@rossfell.co.uk>
1744
1745 * routemap.c: Add flexible route-map commands such as on-match
1746 next, on-match goto N.
1747
1748 * routemap.h: Likewise
1749
17502000-03-23 Adrian Bool <aid@u.net.uk>
1751
1752 * command.c (config_log_trap): Add new command "log trap
1753 PRIORITY".
1754
17552000-03-14 Toshiaki Takada <takada@zebra.org>
1756
1757 * memory.c (struct memory_list): Add Link List and Link Node
1758 to view.
1759
1760 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
1761
17622000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
1763
1764 * str.c (snprintf): Fix bug of calling sprintf instead of
1765 vsprintf.
1766
17672000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1768
1769 * memory.h (enum): Add MTYPE_RIP_PEER.
1770
17712000-01-15 Toshiaki Takada <takada@zebra.org>
1772
1773 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
1774
17752000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1776
1777 * command.h (node_type ): Add MASC_NODE for masc.
1778
17792000-01-09 Wang Jianliang <wangjl@soim.net>
1780
1781 * routemap.c (route_map_index_add): When route_map_index is not
1782 empty and insert new item at the head, it can cause core dump.
1783 Fix "if (index == map->head)" to "if (point == map->head).
1784 (route_map_add_set): If there is an old set command, override old
1785 set command with new one.
1786 (route_map_index_delete): Use while() instead of for for() for
1787 logical correctness.
1788
17891999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1790
1791 * memory.h (enum): Add MTYPE_BGP_STATIC.
1792
17931999-12-23 Alex Zinin <zinin@amt.ru>
1794 * zebra.h, zclient.*: dynamic int up/down message
1795 support
1796
17971999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1798
1799 * thread.c (thread_cancel_event): Add a function for clean up
1800 events.
1801
18021999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1803
1804 * dropline.c: Delete file.
1805 dropline.h: Linewise.
1806
18071999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1808
1809 * filter.c (access_list_filter_delete): Wrong pointer
1810 access->master was pointed out after access is freed. I store
1811 master value at the beginning of the function.
1812
18131999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1814
1815 * vty.c (exec_timeout): Change of VTY timeout affect to current
1816 VTY connection.
1817 (vty_accept): Instead of immediate exit() return -1.
1818
18191999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1820
1821 * vty.c (vty_configure_lock): Configuration lock function added.
1822 Only one VTY can use CONFI_NODE at the same time.
1823
1824 * log.c: Delete zvlog_* functions. Now zlog_* does the same
1825 thing.
1826
1827 * log.c (log_init): Function removed.
1828 (log_close): Likewise.
1829 (log_flush): Likewise.
1830 (log_open): Likewise.
1831
1832 * vty.c (terminal_monitor): Add new command.
1833 (no_terminal_monitor): Likewise.
1834
1835 * log.c (old_log): Function removed.
1836 (old_log2): Likewise.
1837 (old_log_warn): Likewise.
1838
18391999-12-04 Toshiaki Takada <takada@zebra.org>
1840
1841 * command.c (cmd_ipv6_match): New function added.
1842 (cmd_ipv6_prefix_match): Likewise.
1843
18441999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1845
1846 * command.c (cmd_ipv6_match):
1847
1848 * table.c: Delete #ifdef HAVE_MBGPV4.
1849
1850 * prefix.h (struct prefix): Add safi member.
1851 (struct prefix_ipv4): Likewise.
1852 (struct prefix_ipv6): Likewise.
1853
18541999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
1855
1856 * memory.c (struct mstat): Revert to support MEMORY_LOG.
1857
18581999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1859
1860 * version.h: Bump up to 0.81c for testing new kernel codes.
1861
18621999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1863
1864 * thread.h (struct thread): Pthread support is disabled all
1865 platform.
1866
18671999-11-21 Michael Handler <handler@sub-rosa.com>
1868
1869 * Include <limits.h> and <strings.h> under SUNOS_5.
1870
18711999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1872
1873 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
18741999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1875
1876 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
1877
18781999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1879
1880 * command.c (disable): Add `disable' command.
1881
18821999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1883
1884 * plist.c (vty_prefix_list_install): Add any check.
1885
18861999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1887
1888 * command.h (node_type ): Add DUMP_NODE.
1889
18901999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1891
1892 * smux.c: Change default SMUX oid to compatible with gated.
1893
18941999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1895
1896 * if_rmap.c: New file added.
1897
1898 * if_rmap.h: New file added.
1899
19001999-10-29 Alex Zinin <zinin@amt.ru>
1901
1902 * hash.c: add hash_free() function
1903
19041999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1905
1906 * hash.c (hash_clean): Add clean function.
1907
1908 * plist.c (prefix_list_reset): Add reset function.
1909
1910 * filter.c (access_list_reset): Add reset function.
1911
19121999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1913
1914 * client.c: Merged with zclient.c.
1915 * client.h: Merged with zclient.h.
1916
19171999-10-15 Jordan Mendelson <jordy@wserv.com>
1918
1919 * md5.c: Imported from GNU C Library.
1920 * md5-gnu.h: Likewise.
1921
19221999-10-15 Jochen Friedrich <jochen@scram.de>
1923
1924 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
1925
19261999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1927
1928 * smux.h: New file added.
1929
1930 * snmp.c: Rename to smux.c.
1931
19321999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1933
1934 * command.c (cmd_execute_command_strict): Filter ambious commands.
1935 (cmd_filter_by_string): Change to return enum match_type.
1936
19371999-10-01 Toshiaki Takada <takada@zebra.org>
1938
1939 * vty.c (vty_describe_fold): New function which does VTY
1940 description line fold.
1941 * vty.c (vty_describe_command): Set description column.
1942
19431999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1944
1945 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
1946
19471999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1948
1949 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
1950 CMD_IPV4_PREFIX check. Both return type must be exact_match.
1951
19521999-09-24 Toshiaki Takada <takada@zebra.org>
1953
1954 * command.c (cmd_filter_by_completion),
1955 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
1956 parameter matches range.
1957
19581999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1959
1960 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
1961 is performed.
1962
19631999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1964
1965 * vty.c (vty_read): Control-C stop VTY_MORE mode.
1966
19671999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1968
1969 * command.h (node_type ): Add ACCESS_IPV6_NODE and
1970 PREFIX_IPV6_NODE.
1971
1972 * distribute.h: New file added.
1973
1974 * command.h (node_type ): Delete DISTRIBUTE_NODE.
1975
19761999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1977
1978 * vty.c (vty_terminate_all): New function added for reload
1979 support.
1980
19811999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1982
1983 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
1984
19851999-08-31 Janos Farkas <chexum@shadow.banki.hu>
1986
1987 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
1988 esc-ctrl-h (delete word backwards).
1989
19901999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
1991
1992 * if.h: Add if_nametoindex for NRL.
1993
19941999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1995
1996 * if.c (if_create): New function.
1997
19981999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1999
2000 * snmp.c: New file.
2001
20021999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2003
2004 * stream.c (stream_put): stream_memcpy () is changed to stream_put
2005 (). stream_get () is added.
2006
20071999-08-18 Toshiaki Takada <takada@zebra.org>
2008
2009 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
2010
20111999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2012
2013 * table.c (route_table_finish): add function frees table.
2014
20151999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2016
2017 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
2018
20191999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2020
2021 * if.h (struct interface ): hw_address, hw_address_len added.
2022
20231999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2024
2025 * if.h (struct interface ): Change structure member if_data to
2026 info, index to ifindex.
2027
20281999-08-08 Rick Payne <rickp@rossfell.co.uk>
2029
2030 * routemap.c: Multi protocol route-map modification.
2031
2032 * routemap.c (route_map_apply): Route match process bug is fixed.
2033
20341999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2035
2036 * thread.c (thread_fetch): When signal comes, goto retry point.
2037
20381999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2039
2040 * Makefile.am: Add sockopt.c and sockopt.h
2041 * sockopt.c: New file.
2042 * sockopt.h: New file.
2043
20441999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2045
2046 * version.h (ZEBRA_VERSION): Release zebra-0.75
2047
20481999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2049
2050 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
2051
20521999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2053
2054 * sockunion.h: Add sockunion_getpeername ().
2055
20561999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2057
2058 * version.h: Release zebra-0.74
2059
20601999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2061
2062 * command.h (struct host): Delete lines from struct host. Add
2063 lines to struct vty.
2064
2065 * command.c: Delete `lines LINES'. Terminal display line settings
2066 should be done by `terminal length' command.
2067
20681999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2069
2070 * memory.h (enum): MTYPE_OSPF_PATH are added.
2071
20721999-07-22 Toshiaki Takada <takada@zebra.org>
2073
2074 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
2075
20761999-07-21 Toshiaki Takada <takada@zebra.org>
2077
2078 * linklist.c (list_add_node_prev), (list_add_node_next),
2079 (list_add_list): New function added.
2080
2081 * table.c (route_table_free): New function added.
2082
20831999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2084
2085 * plist.c (config_write_prefix): Set write flag when configuration
2086 is written.
2087
20881999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2089
2090 * prefix.c : prefix_cmp() added. change apply_mask() to
2091 apply_mask_ipv4(), and new apply_mask() added.
2092
20931999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2094
2095 * prefix.c (prefix2str): append prefixlen.
2096
20971999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2098
2099 * command.c (config_terminal): Change "config terminal" to
2100 "configure terminal". Reported by Georg Hitsch
2101 <georg@atnet.at>.
2102 (config_terminal_length): `terminal length <0-512>' is added. At
2103 this moment this command is only usef for vty interface.
2104 Suggested by Georg Hitsch <georg@atnet.at>.
2105
21061999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2107
2108 * routemap.c (rulecmp): Add wrapper function of strcmp.
2109
21101999-07-08 Rick Payne <rickp@rossfell.co.uk>
2111
2112 * sockunion.c (inet_aton): Fix bug of inet_aton.
2113
21141999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2115
2116 * version.h (ZEBRA_VERSION): Start zebra-0.73
2117
21181999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2119
2120 * version.h: Bump up to 0.72.
2121
21221999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2123
2124 * command.c (install_default): New function for install default
2125 commands to the node.
2126
2127 * memory.h (enum): MTYPE_NEXTHOP is added.
2128
21291999-07-01 <kunihiro@zebra.org>
2130
2131 * command.c (no_banner_motd): `no banner motd' command added.
2132
21331999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2134
2135 * regex.c: Update to glibc-2.1.1's posix/regex.c
2136
2137 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
2138
2139 * prefix.h (IPV4_ADDR_SAME): Macro added.
2140 (IPV6_ADDR_SAME): Likewise.
2141
21421999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2143
2144 * memory.h (enum): Add MTYPE_OSPF_VERTEX
2145
2146 * version.h: Bump up to 0.71.
2147
2148 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
2149 VTY socket when IPv6 is enabled.
2150
21511999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2152
2153 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
2154 address family to bind.
2155
2156 * command.c: Add quit command.
2157
21581999-06-26 NOGUCHI kay <kay@dti.ad.jp>
2159
2160 * vty.c (vty_read_config): Fix bug of configuration file path
2161 detection.
2162
21631999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2164
2165 * version.h: Bump up to 0.70.
2166
21671999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2168
2169 * buffer.h (GETL): Remove GETL macro.
2170
2171 * version.h: Bump up to 0.69.
2172
21731999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2174
2175 * if.c (connected_add): Commented out connected_log.
2176
21771999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2178
2179 * command.h (struct cmd_element ): strvec and descvec is combined
2180 into newstrvec.
2181
2182 * command.c (desc_make): Function removed.
2183 (desc_next): Function removed.
2184
2185 * command.h (struct cmd_element ): docvec is removed from struct
2186 cmd_element.
2187
21881999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2189
2190 * command.c (cmd_execute_command): Remove command NULL check.
2191
2192 * command.h (struct cmd_element ): Add newstrvec entry to struct
2193 cmd_element.
2194 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
2195 (a|b|c) statement.
2196 (DESC): DESC macro is removed.
2197
2198 * vty.c (vty_complete_command): When return value is
2199 CMD_ERR_NO_MATCH, don't display error message.
2200
22011999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2202
2203 * table.c (route_next_until): New function.
2204
2205 * version.h: Bump up to 0.68.
2206
22071999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2208
2209 * vty.c (vty_close): Free vty->buf when vty is closed.
2210
2211 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
2212 MTYPE_COMMUNITY_LIST.
2213
2214 * vty.h (struct vty ): Change buf from static length buffer to
2215 variable length buffer.
2216
2217 * vty.c (vty_ensure): New function added.
2218
22191999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2220
2221 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
2222
2223 * command.c (config_enable_password): Freeing host.enable bug is
2224 fixed.
2225 (config_enable_password): Add argc count check.
2226
22271999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2228
2229 * version.h: Bump up to 0.67.
2230
22311999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2232
2233 * command.c (zencrypt): New function for encrypt password.
2234
2235 * command.h (struct host): Add password_encrypt and
2236 enable_encrypt.
2237
22381999-05-30 Jochen Friedrich <jochen@scram.de>
2239
2240 * command.h (struct host): New member encrypt is added for
2241 encrypted password.
2242
22431999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2244
2245 * vty.c: Remove all_digit_check function. Instead use all_digit.
2246
2247 * prefix.c (all_digit): New function for checking string is made
2248 from digit character.
2249
22501999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2251
2252 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
2253 (noinst_HEADERS): Add zclient.h
2254
2255 * zclient.[ch]: New file for zebra client routine.
2256
2257 * memory.h (enum): Add MTYPE_ZEBRA.
2258
22591999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2260
2261 * version.h (ZEBRA_VERSION): Update to 0.66.
2262
22631999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2264
2265 * buffer.h (GETC,GETW): Macro deleted.
2266
22671999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2268
2269 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
2270
22711999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2272
2273 * vty.c (service_advanced_vty): New command added.
2274 (no_service_advanced_vty): Likewise.
2275
22761999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2277
2278 * vty.c (vty_auth): If advanced flag is set and enable password is
2279 not set, directly login to the ENABLE_NODE. This feature is
2280 originally designed and implemented by Stephen R. van den Berg
2281 <srb@cuci.nl>.
2282
2283 * command.h (host): Add advanced flag to struct host for advanced
2284 vty terminal interface.
2285
2286 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
2287
22881999-05-14 Stephen R. van den Berg <srb@cuci.nl>
2289
2290 * command.h (node_type ): Add TABLE_NODE.
2291
2292 * vty.c (vty_telnet_option): Check host.lines value.
2293
2294 * command.c (config_lines): DEFUN for 'lines LINES' command.
2295
2296 * zebra.h: Include <sys/utsname.h> for uname().
2297 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
2298 routing table.
2299
2300 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
2301 password is not set.
2302 (vty_prompt): Get machine's hostname when hostname is not set.
2303
23041999-05-11 James Willard <james@whispering.org>
2305
2306 * command.c (config_exit): Close connection when `exit' command is
2307 executed at ENABLE_NODE.
2308
23091999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2310
2311 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
2312
2313 * command.c (cmd_execute_command_strict): Matched command size
2314 check added.
2315 (cmd_make_desc_line): New function for DEFUN2.
2316
2317 * command.h (struct cmd_element ): Add descsize.
2318
23191999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2320
2321 * command.h (struct cmd_element ): Remame descvec to docvec.
2322 (struct cmd_element ): Add descvec for new description system.
2323
2324 * command.c (desc_make): Check cmd->descvec.
2325
23261999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2327
2328 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
2329
23301999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2331
2332 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
2333 release.
2334
23351999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2336
2337 * linklist.c (list_delete_all_node): bug fix.
2338 previous code loses current position when node
2339 is deleted.
2340
23411999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2342
2343 * command.h (DESC): Macro added.
2344 (struct cmd_element2): Delete struct cmd_element2.
2345
2346 * plist.c (prefix_list): Sequential number option check is added.
2347
23481999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2349
2350 * log.c (zvlog_{debug,info,notice,warn,err}): have been
2351 added. now we can log both console and file, but still
2352 need some fix about config write.
2353
23541999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2355
2356 * log.c (zvlog_debug): Fix yasu's change.
2357
23581999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2359
2360 * plist.c (prefix_list): Fix typo.
2361
23621999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2363
2364 * Set version to 0.63 for first beta package.
2365
23661999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2367
2368 * prefix.c (str2prefix_ipv4): Fix prefix length check.
2369 (str2prefix_ipv6): Likewise.
2370
23711999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2372
2373 * memory.h (enum): Add MTPYE_PREFIX_LIST and
2374 MTYPE_PREFIX_LIST_ENTRY.
2375
2376 * command.h (node_type ): Add PREFIX_NODE.
2377
23781999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
2379
2380 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
2381 (copy_runningconfig_startupconfig_cmd) is added.
2382
2383 * table.c (route_node_lookup): Unused match variable deletion.
2384
23851999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2386
2387 * Makefile.am (libzebra_a_SOURCES): plist.c added.
2388 (noinst_HEADERS): plist.h added.
2389
2390 * plist.c, plist.h: New file added.
2391
2392 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
2393 * memory.c: Likewise.
2394
23951999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2396
2397 * command.c (show_version): `show version' command added.
2398
23991999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2400
2401 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
2402
24031999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
2404
2405 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
2406
24071999-04-19 Alex Bligh <amb@gxn.net>
2408
2409 * prefix.c (sockunion2hostprefix): Function added.
2410 (sockunion2prefix): Address family was not set. Now it is set.
2411
2412 * vty.c: VTY access-class command is added.
2413
24141999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2415
2416 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
2417 xstrdup are likewise.
2418
24191999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2420
2421 * thread.c: Add thread_execute for other routing daemon.
2422 OSPF tasks need to be generated by "sheduled" and "executed".
2423
24241999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2425
2426 * buffer.c: Rewrite buffer_write and buffer_flush related
2427 functions for fixing bugs. Reason of the problem and fix is
2428 suggested by Alex Bligh <amb@gxn.net>.
2429
24301999-04-12 Alex Bligh <amb@gxn.net>
2431
2432 * command.c (cmd_entry_function_descr): Added for variable
2433 argument help display.
2434
24351999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2436
2437 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
2438
24391999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2440
2441 * stream.c: stream_fifo_free bug is fixed.
2442
24431999-03-19 Toshiaki Takada <takada@zebra.org>
2444
2445 * stream.c (stream_strncpy): Added for getting any length bytes
2446 from stream.
2447
24481999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2449
2450 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
2451
24521999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2453
2454 * buffer.c (buffer_flush_window): If ep is same as buffer's size
2455 length and lp is overrun one octet.
2456
24571999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2458
2459 * vty.h: add VTY's timeout function.
2460
24611999-03-05 <kunihiro@zebra.org>
2462
2463 * command.h (node_type ): Add OSPF6_node.
2464
24651999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2466
2467 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
2468
24691999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
2470
2471 * zebra.h: Include <net/if_var.h> if it exists.
2472
24731999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2474
2475 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
2476
2477 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
2478
2479 * command.h: Include vector.h and vty.h
2480
24811999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2482
2483 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
2484
2485 * routemap.c (route_map_apply_index): Add prefix argument.
2486 (route_map_apply): Likewise.
2487
2488 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
2489
2490 * stream.c: Add stream_fifo related functions.
2491
24921999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2493
2494 * daemon.c: Return integer value. File descriptor close is added.
2495
2496 * memory.h (enum): add MTYPE_OSPF_LSA.
2497
24981999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2499
2500 * rsh.c: Remove empty file.
2501
25021999-02-22 <kunihiro@zebra.org>
2503
2504 * routemap.c: Add add/delete hook to route_map_master.
2505
25061999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
2507
2508 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
2509 strlcpy on system without these.
2510
25111999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
2512
2513 * syslog support added
2514
25151999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2516
2517 * filter.c (access_list_add_hook): added for hook function management.
2518 * filter.c (access_list_delete_hook): Likewise.
2519
25201999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2521
2522 * stream.c: New file.
2523 * stream.h: New file.
2524 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
2525
25261999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2527
2528 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
2529
2530 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
2531
25321998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2533
2534 * routemap.c: route_map_index_delete() added.
2535
25361998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2537
2538 * buffer.c (buffer_empty): check cp instead of sp.
2539
25401998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2541
2542 * radix.[ch]: Deleted.
2543
25441998-12-15 Magnus Ahltorp <map@stacken.kth.se>
2545
2546 * buffer.c: Prototype fixes.
2547 * prefix.c: Likewise.
2548 * sockunion.c: Likewise.
2549 * sockunion.h: Likewise.
2550
25511998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2552
2553 * vty.c (vty_read): DELETE key works as vty_delete_char.
2554
25551998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2556
2557 * log.c (time_print): chane %y to %Y.
2558
25591998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2560
2561 * distribute.c: new file.
2562
25631998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2564
2565 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
2566 complete support of IPv6 access list.
2567
2568 * command.c (config_write_element): function delete.
2569 (config_write_host): function add. password and enable password
2570 isn't printed to vty interface.
2571
25721998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2573
2574 * filter.c: Change prefix_ipv4 to prefix and add support of
2575 prefix_ipv6 filtering.
2576
25771998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2578
2579 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
2580 header includes.
2581
25821998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2583
2584 * log.c (log_flush): fix function name typo.
2585
25861998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2587
2588 * memory.h: OSPF memory type is added.
2589
25901998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2591
2592 * command.c (sort_node): add sort_node() for pretty printing of
2593 command on vty interface.
2594 (config_password): delete the restriction of charaster of password
2595 string.
2596
25971998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
2598
2599 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
2600
26011998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2602
2603 * network.h: New file.
2604
26051998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2606
2607 * vty.c (vty_will_echo): function name change from vty_off_echo.
2608
26091998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2610
2611 * buffer.h: add PUTC,PUTW,PUTL macros.
2612
26131998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2614
2615 * route.[ch]: renamed to prefix.[ch]
2616
26171998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2618
2619 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
2620
2621 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
2622
26231998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2624
2625 * host.[ch]: merged with command.[ch]
2626
26271998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2628
2629 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
2630
26311998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2632
2633 * route.c (str2prefix): str2prefix () is gone.
2634
26351998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2636
2637 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
2638
2639 * .cvsignore: add file.
2640
2641 * memory.c (xerror): add arguent `type' and `size'.
2642
2643 * socket.c: deleted.
2644
26451998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2646
2647 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
2648 * linklist.c: same as above.
2649
26501998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2651
2652 * filter.[ch]: added.
2653
26541998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2655
2656 * vty.c (config_who): return CMD_SUCCESS
2657
26581998-04-01 Jochen Friedrich <jochen@scram.de>
2659
2660 * table.c (route_dump_node): route_dump_node is IPv6 specific
2661 function so move #ifdef to the end of route_dump_node ().
2662
26631998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
2664
2665 * if.c: DEFUN(interface_desc) added.
2666
26671998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2668
2669 * if.c: separated from ripd/rip_interface.c
2670
26711998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2672
2673 * thread.[ch] : added.
2674
26751998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2676
2677 * vty.c (vty_delete_char): fix size bug.
2678 (vty_backward_pure_word): function added.
2679 (vty_read): ESC + 'f' perform vty_forward_word.
2680 (vty_read): ESC + 'b' perform vty_backward_word.
2681
26821998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2683
2684 * radix.c (radix_lookup_rt): add mask check.
2685 (radix_delete_duproute): add mask check.
2686
26871998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2688
2689 * command.c (config_write_file): fix vty -> file_vty.
2690
26911998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2692
2693 * command.c (cmd_filter_ambiguous): add complex type treatment.
2694
26951998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2696
2697 * vty.c (vty_time_print): function added.
2698 (vty_complete_command): now [...] element isn't shown by completion.
2699
27001998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2701
2702 * command.c : change from cmd_install_node() to install_node().
2703
27041998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2705
2706 * route.[ch]: struct rt{} is replaced by struct prefix{}.
2707
27081998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2709
2710 * command.c (cmd_execute_command): check command length.
2711
2712 * timer.c (zebra_timer_set): add zebra_timer_set.
2713
27141998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2715
2716 * command.h (node_type ): add ZEBRA_NODE.
2717
2718 * command.c (config_exit): add RIP_NODE.
2719 (config_write_file): add RIP_NODE.
2720
27211998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2722
2723 * print_version.c (print_version): Now Copyright is 1996-1998.
2724
2725 * sockunion.c (sockunion_log): moved from ../zebra/route.c
2726
27271997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2728
2729 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
2730
2731 * sockunion.c (sockunion_sameprefix): add same prefix for
2732 sockunion.
2733
27341997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2735
2736 * radix.[ch] : are moved from ../zebra directroy.
2737
2738 * command.c (config_from_file): if command execution failed down
2739 level to CONFIG_NODE.
2740
2741 * host.c: config_log function which enable 'log FILENAME' command.
2742
27431997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2744
2745 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
2746 transpose character.
2747
2748 * command.c: cmd_cmdsize add, this is useful to check incomplete
2749 command.
2750
27511997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2752
2753 * fd.h: add family for address family
2754
27551997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2756
2757 * command.o
2758 * vty.o
2759 * host.o is moved from ../zebra
2760
27611997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2762
2763 * make library directory.
2764