blob: 516461388b21b2ec7335324a40197ee4650fc2fa [file] [log] [blame]
ajs50123222005-10-18 20:19:13 +000012005-10-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
3 * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c).
4
pauleb3da6d2005-10-18 04:20:33 +000052005-10-18 Paul Jakma <paul.jakma@sun.com>
6
7 * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT.
8
ajsf52d13c2005-10-01 17:38:06 +000092005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
10
11 * zebra.h: Declare new functions zebra_route_string() and
12 zebra_route_char().
13 * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New
14 functions to map zebra route numbers to strings.
15
vincent5e4914c2005-09-29 16:34:30 +0000162005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
17
18 * smux.[ch]: allow to retreive global OID (identified by <0
19 namelen).
20
paulceacedb2005-09-29 14:39:32 +0000212005-09-29 Paul Jakma <paul.jakma@sun.com>
22
23 * zebra.h: Solaris capabilities requires priv.h to be included.
24 * privs.{c,h}: Add support for Solaris Least-Privileges.
25 privs.h: Reduce some of the abstract capabilities, which do
26 not have rough equivalents on both systems. Rename the net
27 related caps to _NET, as they should have been in first
28 place.
29 (zprivs_terminate) should take the zebra_privs_t as argument so
30 that it can update change pointer.
31 Add an additional privilege state, ZPRIVS_UNKNOWN.
32 * privs.c: (various capability functions) Add
33 Solaris privileges variants.
34 (zprivs_state) Use privs.c specific generic types to
35 represent various capability/privilege related types, so that
36 each can be typedef'd as appropriate on each platform.
37 (zprivs_null_state) static added, to hold the state the null
38 method should report (should be raised by default, and
39 LOWERED if zprivs_terminate has been called)
40 (zprivs_state_null) Report back the zprivs_null_state.
41 (cap_map) Make it able to map abstract capability to multiple
42 system capabilities.
43 (zcaps2sys) Map to abstract capabilities to multiple system
44 privileges/capabilities.
45 (zprivs_init) move capability related init to seperate
46 function, zprivs_caps_init.
47 (zprivs_terminate) ditto, moved to zprivs_caps_terminate.
48 Set the change_state callback to the NULL state, so the
49 user can continue to run and use the callbacks.
50
vincentfbf5d032005-09-29 11:25:50 +0000512005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
52
53 * filer.c: show protocol name in filter_show()
54 * plist.c: show protocol name in vty_show_prefix_entry()
55 * routemap.c: show protocol name in vty_show_route_map_entry()
56 * vty.c: in vty_command(), show protocol name if command unknown
57
vincentc1a03d42005-09-28 15:47:44 +0000582005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
59
60 * md5-gnu.h: removed
61 * md5.h: replaces md5-gnu.h
62 * Makefile.am: use correct md5.h
63 * md5.c: import from WIDE
64
paul75b2dd02005-09-21 14:06:35 +0000652005-09-21 Paul Jakma <paul.jakma@sun.com>
66
67 * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA.
68
hassoe6a4feb2005-09-19 09:53:21 +0000692005-09-19 Hasso Tepper <hasso at quagga.net>
70
71 * str.[ch]: Add strndup() from glibc.
72
pauleb820af2005-09-05 11:54:13 +0000732005-09-05 Paul Jakma <paul.jakma@sun.com>
74
75 * command.c: (install_element) be more robust. Eg, cmd_init
76 need not have been called, some applications may use other
77 library subsystems, which call install_element, without the
78 application wanting commands and hence not calling cmd_init.
79
paul1e836592005-08-22 22:39:56 +0000802005-08-22 Hugo Santos <hsantos@av.it.pt>
81
82 * command.h: (enum node_type) Add BGP_IPV6M_NODE
83 * command.c: (node_parent) Handle BGP_IPV6M_NODE node
84 (config_exit, config_end) ditto
85 * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node
86
gdt0312f0c2005-08-10 13:20:03 +0000872005-08-10 Greg Troxel <gdt@fnord.ir.bbn.com>
88
89 * getopt.h: Don't declare getopt (rather than getopt_long), since
90 quagga doesn't need it.
91 * getopt.c (getopt): Don't define getopt.
92
ajs330009f2005-07-26 14:35:37 +0000932005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs7907c6c2005-07-26 19:55:31 +000094 * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new
95 to allocate the memory to make sure that all struct prefix pointers
96 point to objects of the same length (avoids memory overruns
97 on struct prefix assignments).
98 (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free.
99 It is interesting to note that these functions are never actually
100 called anywhere in the code. Instead prefix_free was already
101 being called directly, despite the previous MTYPE incompatibility.
102
1032005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs330009f2005-07-26 14:35:37 +0000104
105 * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is
106 in range before dereferencing it.
107
paul510e2092005-06-24 01:20:25 +00001082005-06-24 Pawel Worach <pawel.worach@gmail.com>
109
110 * getopt.h: add further tests for full getopt declaration on
111 various systems.
112
paul354f3b62005-06-18 16:55:20 +00001132005-06-18 Paul Jakma <paul.jakma@sun.com>
114
115 * memtypes.h: update autobuilt file to match memtypes.c changes
116
paul200df112005-06-01 11:17:05 +00001172005-06-01 Paul Jakma <paul.jakma@sun.com>
118
119 * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and
120 MTYPE_BGP_CLEAR_NODE_QUEUE
121
paul8176c192005-05-24 09:33:52 +00001222005-05-24 Paul Jakma <paul@dishone.st>
123
124 * memtypes.h: update this auto-built file. (maybe we should just
125 remove it, is GNU awk a terrible dependency to have?)
126
pauld5c92532005-05-23 12:33:58 +00001272005-05-23 Paul Jakma <paul@dishone.st>
128
129 * memtypes.awk: use character classes, which work correctly in
130 all LC_COLLATE environments, unlike A-Z, which doesnt work in
131 eg estonian collate order. Reported by Hasso.
pauld4f09602005-05-23 12:43:34 +0000132 * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command
133 is used, which does not supply an argv[0].
134 this is a backport candidate /iff/ the trailing ; is removed
135 from VTY_GET_INTEGER_RANGE
136 * vty.h: fix the VTY_GET macros, do {..} while(0) so they have
137 correct function like syntax in usage.
paul269d74f2005-05-23 13:42:46 +0000138 * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code,
139 to allow a queue function to indicate the queue is not
140 ready/blocked - rather than any problem with the item at hand.
141 Add a notion of being able to 'plug' and 'unplug' a queue.
142 Add helpers to plug/unplug a queue.
143 Add a completion callback, to be called when a queue is emptied.
144 * workqueue.c: (work_queue_new) remove useless list_free.
145 (work_queue_schedule) new internal helper function to schedule
146 queue, if appropriate.
147 (work_queue_add) use work_queue_schedule
148 (show_work_queues) Print 'P' if queue is plugged.
149 (work_queue_plug) new API function, plug a queue - ie prevent it
150 from 'drained' / processed / scheduled.
151 (work_queue_unplug) unplug a queue, allowing it to be drained
152 / scheduled / processed again.
153 (work_queue_run) Add support for WQ_QUEUE_BLOCKED.
154 Add comment for RETRY_NOW case.
155 Make hysteris more aggresive in ramping up granularity, improves
156 performance significantly.
157 Add support for calling completion callback when queue is emptied,
158 possibly useful for knowing when to unplug a queue.
pauld5c92532005-05-23 12:33:58 +0000159
pauldc818072005-05-19 01:30:53 +00001602005-05-19 Paul Jakma <paul@dishone.st>
161
162 * thread.c: (thread_cancel_event) the number of pending events
163 cancelled is potentially useful information, dont throw it away,
164 pass it back to the caller.
paul2ba9a372005-05-19 01:37:50 +0000165 * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP
166 (sockunion_getpeername) ditto
paule387e662005-05-19 02:13:28 +0000167 * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST
pauldc818072005-05-19 01:30:53 +0000168
paul024a7f02005-05-15 14:25:08 +00001692005-05-15 Paul Jakma <paul@dishone.st>
170
171 * getopt.h: It's not just __GNU_LIBRARY__ which defines
172 getopt, eg __EXTENSIONS__ does too on SunOS. It still seems
173 awfully fragile though.
174 * getopt.c: include zebra.h after config.h, before including
175 getopt.h so that things at least are consistent..
176 * getopt1.c: ditto
177
paul42c98192005-05-07 02:22:51 +00001782005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
179
180 * sockopt.c: Add support for BSD style ifindex in ip_mreq.
181
paul8cc41982005-05-06 21:25:49 +00001822005-05-06 Paul Jakma <paul@dishone.st>
183
184 * (general) extern and static'ification of functions in code and
185 header.
186 Cleanup any definitions with unspecified arguments.
187 Add casts for callback assignments where the callback is defined,
188 typically, as passing void *, but the function being assigned has
189 some other pointer type defined as its argument, as gcc complains
190 about casts from void * to X* via function arguments.
191 Fix some old K&R style function argument definitions.
192 Add noreturn gcc attribute to some functions, as appropriate.
193 Add unused gcc attribute to some functions (eg ones meant to help
194 while debugging)
195 Add guard defines to headers which were missing them.
196 * command.c: (install_node) add const qualifier, still doesnt shut
197 up the warning though, because of the double pointer.
198 (cmp_node) ditto
199 * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived
200 fromn vty.h ones to fix some of the (long) < 0 warnings.
201 * thread.c: (various) use thread_empty
202 (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type
203 * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they
204 removed from ospfd/ospf_vty.h
205 * zebra.h: Move definition of ZEBRA_PORT to here, to remove
206 dependence of lib on zebra/zserv.h
207
hassoe7fe8c82005-05-06 19:33:35 +00002082005-05-06 Hasso Tepper <hasso at quagga.net>
209
210 * sockunion.c: Fix warning message.
211
paul0dab9302005-05-03 09:07:56 +00002122005-05-03 Paul Jakma <paul@dishone.st>
213
214 * stream.h: Add comment about the special zero-ing ability of
215 stream_put.
216 (stream_recvmsg, stream_write) should return ssize_t and size_t
217 respectively. Should both be extern linkage.
218 (stream_recvfrom) Stream aware wrapper around recvfrom, in style
219 of stream_read_try.
220 * stream.c: (stream_recvfrom) new function, wrapper around recvfrom.
221 (stream_recvmsg, stream_write) ssize_t and size_t return values
222
ajs3df53782005-04-27 16:29:54 +00002232005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
224
ajs8b70d0b2005-04-28 01:31:13 +0000225 Add wall-clock timing statistics to 'show thread cpu' output.
226 * thread.h: Define struct rusage_t to contain wall-clock time
227 and cpu time. Change GETRUSAGE macro to collect both pieces
228 of data. Make appropriate changes to struct cpu_thread_history
229 to track CPU time and real time. Change proto for
230 thread_consumed_time to return real and cpu time elapsed.
231 And declare a new global variable 'struct timeval recent_time'.
232 * thread.c (struct timeval recent_time): New global timestamp variable.
233 (timeval_adjust): If timeout is negative, set to 0 (not 10
234 microseconds). And remove upper bound of 1,000,000 seconds, since
235 this does not seem to make any sense (and it breaks
236 funcname_thread_add_timer_timeval).
237 (timeval_cmp): Should return long, not int.
238 (vty_out_cpu_thread_history): Show CPU time and real time.
239 (cpu_record_hash_print): Calculate totals for CPU and real time.
240 (cpu_record_print): Change 'show thread cpu' title to show CPU and
241 real time.
242 (thread_timer_remain_second): Put current time in global recent_time.
243 (funcname_thread_add_timer_timeval): Fix assert. Replace 2-case
244 switch assignment with a ternary expression. Use global recent_time
245 variable. Fix use of timeval_adjust (previously, the value was not
246 actually being adjusted).
247 (thread_cancel): Add missing "break" statement in case
248 THREAD_BACKGROUND.
249 (thread_timer_wait): Use global recent_time value instead of calling
250 gettimeofday. And there's no need to check for negative timeouts,
251 since timeval_subtract already sets these to zero.
252 (thread_timer_process): Timers are sorted, so bail out once we
253 encounter a timer that has not yet popped. And remove some
254 extraneous asserts.
255 (thread_fetch): Do not process foreground timers before calling
256 select. Instead, add them to the ready list just after the select.
257 Also, no need to maintain a count of the number of ready threads,
258 since we don't care how many there are, just whether there's
259 one at the head of the ready list (which is easily checked).
260 Stick current time in global variable recent_time to reduce
261 the number of calls to gettimeofday. Tighten logic for
262 calculating the select timeout.
263 (thread_consumed_time): Now returns real time and puts the elapsed
264 cpu time in an additional argument.
265 (thread_should_yield): Use real (wall-clock) time to decide whether
266 to yield.
267 (thread_call): Maintain CPU and real time statistics.
268 * vty.c (vty_command): For slow commands, show real and cpu time.
269
2702005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
271
ajs3df53782005-04-27 16:29:54 +0000272 * workqueue.c (show_work_queues): Remove unused gettimeofday call.
273
paul84369682005-04-27 12:39:27 +00002742005-04-27 Paul Jakma <paul.jakma@sun.com>
275
276 * workqueue.h: (struct work_queue_item) change retry_count to ran,
277 its a count of number item has been run.
278 * workqueue.c: (show_work_queues) Fix formating of slightly
279 bugfix: fix SIGFPE if wq->runs is 0.
280 (work_queue_run) retry logic was slightly wrong.
281 cycles.best is 0 initialy, granularity is 1, so update best
282 if cycles >= granularity, not just >.
paula7bca0f2005-04-27 12:44:54 +0000283 * memory.h: memtypes is built source, default includes points to
284 top_builddir, so we should refer to lib/memtypes.h
285
ajs07334da2005-04-26 17:14:30 +00002862005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
287
288 * buffer.c (buffer_write): Comment out call to buffer_flush_available.
289 This should speed up buffering at the expense of a possible increase
290 in latency in flushing the data if inside a long-running thread.
291
paulab59ae32005-04-25 13:52:26 +00002922005-04-25 Paul Jakma <paul.jakma@sun.com>
293
paul147aff02005-04-25 16:29:10 +0000294 * workqueue.{c,h}: Helper API for setting up and running queues via
295 background threads.
296 * command.c: install the 'show workqueues' command
297 * memtypes.c: Add work queue mtypes, and a rib-queue type for
298 a zebra rib work queue.
299 * memtypes.h: Updated to match memtypes.c
paulab59ae32005-04-25 13:52:26 +0000300 * Makefile.am: Refer to source files via srcdir variable, fix
301 out-of-tree build breakage.
paul147aff02005-04-25 16:29:10 +0000302 Add new workqueue files to build.
paul2c1de2a2005-04-25 14:02:44 +0000303 * memory.c: Make the string field much wider
304 * memtypes.c: Correct the prefix list str/entry strings
paul907873a2005-04-25 14:53:46 +0000305 * thread.c: Kill unused TIMER_NO_SORT bits
paulab59ae32005-04-25 13:52:26 +0000306
ajsfb9e46b2005-04-22 14:23:34 +00003072005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
308
309 * thread.h: Fix type for struct thread_master add_type: should be
310 unsigned char. Also, add some documentation of thread_add_background
311 args. And remove extraneous declaration of
312 show_thread_work_queues_cmd.
313
paula48b4e62005-04-22 00:43:47 +00003142005-04-22 Paul Jakma <paul.jakma@sun.com>
315
paule1e53ed2005-04-22 13:44:17 +0000316 * memory.h: Move include of memtypes.h to after the definition of
317 struct memory_list, gcc 4.0 doesn't like arrays of incomplete
318 types.
paula48b4e62005-04-22 00:43:47 +0000319 * thread.h: Add background thread type and thread_add_background
320 macro and accompanying funcname_... function.
321 export thread_should_yield, background threads can use it.
322 Lower thread yield time to 10ms, 100ms is noticeable lag and
323 a thread would only be /starting/ to finish sometime afterward.
324 * thread.c: (general) Add background thread type and schedule
325 nearly all thread types through the ready list for fairness.
326 (timeval_adjust) static qualifier missing
327 (vty_out_cpu_thread_history) add support for printout of
328 background threads
329 (show_thread_cpu) ditto.
330 (thread_master_debug) add debug of background list
331 (thread_master_create) fixup long line
332 (thread_add_unuse) add asserts for required state.
333 (thread_master_free) free background thread list
334 (funcname_thread_add_timer_timeval) make generic, able to
335 support arbitrary timer-like thread types.
336 (funcname_thread_add_timer) pass thread type to .._add_timer_timeval
337 (funcname_thread_add_timer_msec) ditto
338 (funcname_thread_add_background) Add a background thread, with an
339 optional millisecond delay factor, using .._add_timer_timeval.
340 (thread_cancel) Add background thread type.
341 Move the thread_list_delete common to all cases to bottom of
342 function, after the switch statement..
343 (thread_cancel_event) indent
344 (thread_timer_wait) Static qualifier, and make it able to cope
345 with arbitrary timer-like thread lists, so its of use to
346 background threads too.
347 (thread_process_fd) static qualifier. Again, make it take a list
348 reference rather than thread_master. Fix indentation.
349 (thread_timer_process) Check for ready timer-like threads in the
350 given list and move them on to the ready list - code originally
351 embedded in thread_fetch.
352 (thread_fetch) Schedule all threads, other than events, through
353 the ready list, to ensure fairness. Timer readying code moved to
354 thread_timer_process so it can be reused for background threads.
355 Remove the unneeded quagga_sigevent_process, as pointed out by
356 John Lin <john.ch.lin@gmail.com>.
357 (thread_should_yield) make this available.
358
ajs924b9222005-04-16 17:11:24 +00003592005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
360
361 * thread.h (thread_consumed_time): Declare new function to calculate
362 elapsed microseconds.
363 * thread.c (thread_consumed_time): Must be global not static so we
364 can call it from lib/vty.c:vty_command.
365 (thread_should_yield): Surround with `#if 0' to make clear that this
366 function is not currently being used anywhere.
367 (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG
368 warning message if the thread takes more than CONSUMED_TIME_CHECK
369 microseconds.
370 * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU
371 HOG warning message if the command takes more than CONSUMED_TIME_CHECK
372 microseconds.
373
pauldc830cb2005-04-16 15:51:05 +00003742005-04-16 Paul Jakma <paul@dishone.st>
375
376 * memtypes.c: the comment about use of comments in the comments
377 headers was causing comment within comment warnings from compiler
378 * memtypes.awk: Add extensive comments on the file format for
379 memtypes.c.
380 tighten the pattern for the MTYPE matching action (suggestion from
381 Andrew) and tighten which field we try the match on.
382
paul2fd2fd52005-04-15 11:47:15 +00003832005-04-15 Paul Jakma <paul@dishone.st>
384
385 * memtypes.c: The new, unified location for memory type definitions.
386 The memtype enum and declarations for memory_lists are built from
387 this automatically and put into memtypes.h.
388 * memtypes.awk: New script to generate memtypes.h from memtypes.c
389 * memory.h: Finally, the enum can banished!
390 * memory.c: Finally, the seperate mtype memory_list definitions can
391 be banished!
392 (log_memstats) Increase width of fields
393 (show_memory_zebra_cmd) display zebra specific memory types.
394 Increase width of fields.
395 * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h
396 Add a rule to build memtypes.h using memtypes.awk.
397 Add memtypes.awk to EXTRA_DIST.
pauld45f1f12005-04-15 22:18:37 +0000398 memtypes.awk is gawk dependent, use the GAWK automake var.
399 * memtypes.h: New file, auto-generated, checked in for convenience.
paul2fd2fd52005-04-15 11:47:15 +0000400
ajs634f9ea2005-04-11 15:51:40 +00004012005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
402
403 * zclient.h (struct zclient): Add two fields to support non-blocking
404 I/O: struct buffer *wb, and struct thread *t_write.
405 (zclient_free): Remove function.
406 (zebra_redistribute_send): Change 2nd arg from socket fd to
407 struct zclient * (needed to support non-blocking I/O and buffering).
408 (zclient_send_message): New function to send an arbitrary
409 message with non-blocking I/O.
410 * zclient.c (zclient_new): Create write buffer.
411 (zclient_free): Remove unused function.
412 (zclient_stop): Must cancel new t_write thread. Also, reset
413 all buffers: ibuf, obuf, and wb.
414 (zclient_failed): New helper function for typical error handling.
415 (zclient_flush_data): New thread to flush queued data.
416 (zclient_send_message): New function to send the message in
417 zclient->obuf to zebra using non-blocking I/O and buffering.
418 (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use
419 new zclient_send_message function instead of calling writen.
420 (zclient_start): Set socket non-blocking. Also, change 2nd arg
421 to zebra_redistribute_send from zclient->sock to zclient.
422 (zebra_redistribute_send): Change 2nd arg to struct zclient *.
423 Can now use zclient->obuf to assemble the message instead of
424 allocating a temporary stream. And call zclient_send_message to
425 send the message instead of writen.
426 (zclient_read): Convert to support non-blocking I/O by using
427 stream_read_try instead of deprecated stream_read.
428 (zclient_redistribute): Change 2nd arg to zebra_redistribute_send
429 from zclient->sock to zclient.
430
hasso5bb4c192005-04-09 13:27:50 +00004312005-04-09 Jeroen Simonetti <jeroens@office.netland.nl>
432
433 * routemap.c: Show description in "show route-map" output.
434
ajsd66a7b52005-04-08 16:42:03 +00004352005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
436
ajs67bf16c2005-04-08 19:02:04 +0000437 * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.
438
4392005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
440
ajs926fe8f2005-04-08 18:50:40 +0000441 * vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate
442 compiler warnings when assigning a (const char *) value to
443 struct iovec iov_base.
444
4452005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
446
ajsd66a7b52005-04-08 16:42:03 +0000447 * zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This
448 fixes a problem where we were not getting the declaration of strnlen
449 in <string.h>.
450
hasso3a2ce6a2005-04-08 01:30:51 +00004512005-04-08 Hasso Tepper <hasso at quagga.net>
452
hasso4a8164e2005-04-08 14:20:18 +0000453 * routemap.[ch]: Added "description ..." command.
454
4552005-04-08 Hasso Tepper <hasso at quagga.net>
456
hasso3a2ce6a2005-04-08 01:30:51 +0000457 * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
458 inet_ntoa alike.
459
paul1eb8ef22005-04-07 07:30:20 +00004602005-04-07 Paul Jakma <paul.jakma@sun.com>
461
462 * linklist.h: Add usage comments.
463 Rename getdata macro to listgetdata.
464 Rename nextnode to listnextnode and fix its odd behaviour to be
465 less dangerous.
466 Make listgetdata macro assert node is not null, NULL list entries
467 should be bug condition.
468 ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use
469 with for loop, Suggested by Jim Carlson of Sun.
470 Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the
471 "safety" of previous macro.
472 LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to
473 distinguish from the similarly named functions, and reflect their
474 effect better.
475 Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section
476 with the old defines which were modified above,
477 for backwards compatibility - guarded to prevent Quagga using it..
478 * linklist.c: fix up for linklist.h changes.
479 * *.c: fix up for new list loop macro, try audit other loop
480 usage at same time, to some degree.
481
hasso59209902005-04-05 14:36:49 +00004822004-04-05 Hasso Tepper <hasso at quagga.net>
483
484 * lib/prefix.[hc]: inet6_ntoa utility function copied from
485 ripngd/ripngd.c (inet6_ntop).
486
paul3d1dc852005-04-05 00:45:23 +00004872004-04-05 Paul Jakma <paul@dishone.st>
488
489 * vty.c: Improve logging of failures to open vty socket(s).
490 See bugid #163.
491
ajs3cb98de2005-04-02 16:01:05 +00004922005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
493
ajs08dbfb62005-04-03 03:40:52 +0000494 * if.h: Fix comments to reflect that if_lookup_by_name and
495 if_get_by_name now require the argument strings to be NUL-terminated.
496 * if.c: (if_lookup_by_name) Compare using strcmp.
497 (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create.
498
4992005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
500
ajs018546e2005-04-02 23:05:56 +0000501 * if.c: (if_nametoindex) The man page is rather vague, but it seems
502 like the argument to if_nametoindex has an implicit maximum length
503 of IFNAMSIZ characters.
504
5052005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
506
ajsa3491982005-04-02 22:50:38 +0000507 * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
508 * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
509 (if_get_by_name) Tighten up code.
510 (interface) Use new function if_get_by_name_len.
511 * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
512 function.
513 (zebra_interface_state_read) Use new if_lookup_by_name_len function.
514
5152005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
516
ajs851adbd2005-04-02 18:48:39 +0000517 * str.c: Replace strlcpy and strlcat with actual working versions
518 copied from rsync-2.6.2/lib/compat.c.
519
5202005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
521
ajsd2fc8892005-04-02 18:38:43 +0000522 * if.h: Remove define for IFINDEX_INTERNBASE and add define
523 IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
524 interfaces should have ifindex set to 0.
525 (if_new) Remove function.
526 (if_delete_retain) New function to delete an interface without
527 removing from iflist and freeing the structure.
528 (ifname2ifindex) New function.
529 * if.c: (if_new) Remove function (absorb into if_create).
530 (if_create) Replace function if_new with call to calloc.
531 Set ifp->ifindex to IFINDEX_INTERNAL. Fix off-by-one error
532 in assert to check length of interface name. Add error message
533 if interface with this name already exists.
534 (if_delete_retain) New function to delete an interface without
535 removing from iflist and freeing the structure.
536 (if_delete) Implement with help of if_delete_retain.
537 (ifindex2ifname) Reimplement using if_lookup_by_index.
538 (ifname2ifindex) New function to complement ifindex2ifname.
539 (interface) The interface command should check the name length
540 and fail with a warning message if it is too long.
541 (no_interface) Fix spelling in warning message.
542 (if_nametoindex) Reimplement using if_lookup_by_name.
543 (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
544 if_lookup_by_index.
545
5462005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
547
ajs3cb98de2005-04-02 16:01:05 +0000548 * zebra.h: Should include str.h to pick up missing functions.
549 * str.h: Declare strnlen if needed.
550 * str.c: Do not include str.h since zebra.h now includes it.
551 (strnlen) New function.
552
ajsdb8eaac2005-03-16 16:13:06 +00005532005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
554
555 * zebra.h: Must check whether __attribute__ should be defined before
556 including zassert.h.
557
paulb8961472005-03-14 17:35:52 +00005582005-03-14 Paul Jakma <paul.jakma@sun.com>
559
560 * command.c: (sort_node) use vector_max instead of referencing
561 (struct vector *)->max directly. Test that vector_max is > 0
562 before using it to calculate an index.
563 Fixup vector loop to make main body conditional on vector slot
564 not being empty.
565 (cmd_cmdsize) Fixup vector loop to make main body conditional on
566 vector slot not being empty.
567 (cmd_filter_by_completion) ditto
568 (cmd_filter_by_string) ditto
569 (is_cmd_ambiguous) ditto
570 (cmd_describe_command_real) Change index integers to unsigned.
571 Test that vector_max is > 0 before using it to calculate an index.
572 Return immediately with CMD_ERR_NO_MATCH if vline has no
573 active slots.
574 Fixup vector loop to make main body conditional on vector slot
575 not being empty.
576 (cmd_complete_command_real) ditto.
577 (cmd_execute_command_strict) Fixup vector loop to be conditional
578 on non-null slot.
paul909a2152005-03-14 17:41:45 +0000579 (various) Fix indentation and other whitespace.
paul55468c82005-03-14 20:19:01 +0000580 vector.h: Rename to (struct vector).max to slightly less confusing
581 active, for the number of active slots, distinct from allocated
582 or active-and-not-empty. Rename vector_max to vector_active
583 for same reason.
paulb8961472005-03-14 17:35:52 +0000584
paul9e92eea2005-03-09 13:39:26 +00005852005-03-09 Paul Jakma <paul.jakma@sun.com>
586
587 * command.c: Undo commit of sign warning fix and hidden command
588 in list_cmd. Sign warning is more subtle. list_cmd on its own
589 will be committed after.
paul4275b1d2005-03-09 13:42:23 +0000590 * command.c: (config_list_cmd) Don't list hidden or deprecated
591 commands, hiding these from tab completion is still to be done.
paul9e92eea2005-03-09 13:39:26 +0000592
paulb45da6f2005-03-08 15:16:57 +00005932005-03-08 Paul Jakma <paul.jakma@sun.com>
594
paul9c5d8562005-03-08 15:56:42 +0000595 * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
paul22085182005-03-08 16:00:12 +0000596 (no_banner_motd_cmd) use XFREE.
paul9c5d8562005-03-08 15:56:42 +0000597 (cmd_describe_command_real) sign compile warning fix
598 (cmd_complete_command_real) ditto.
599 (config_list_cmd) Don't list hidden or deprecated commands,
600 hiding these from tab completion is still to be done.
601 * command.h: cmd attr enum should start at 1.
paulb45da6f2005-03-08 15:16:57 +0000602 * vty.c: (vty_hello) suggestions from Andrew, read by line and
603 stub out trailling non-printable characters on each line thus
604 allowing us to specify VTY_NEWLINE to vty_out.
605
paul3b0c5d92005-03-08 10:43:43 +00006062005-03-08 Jeroen Massar <jeroen@unfix.org>
607
608 * vty.c: (vty_hello) display motd file, if set
609 * command.h: add char *motdfile to struct host
610 * command.c: (config_write_host) write out motdfile config
611 (banner_motd_file_cmd) new command, allow motd to be read from
612 file.
613 (no_banner_motd_cmd) free motdfile string, if needs be.
614 (cmd_init) init (struct host).motdfile. Add new motd file
615 commands.
616
hasso12f6ea22005-03-07 08:35:39 +00006172005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
618
619 * command.c: host.name might be NULL.
620 * vty.c: Fix fd leak.
621
ajs81fb3242005-02-24 16:02:53 +00006222005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
623
624 * stream.c: (stream_read_try) Log a warning message if a fatal
625 I/O error occurs.
626 (stream_fifo_new) Fix prototype.
627 * stream.h: Fix prototype for stream_fifo_new (need void arg).
628
ajs9fc7ebf2005-02-23 15:12:34 +00006292005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
630
ajscdb6ee92005-02-23 15:48:32 +0000631 * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
632
6332005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
634
ajs9fc7ebf2005-02-23 15:12:34 +0000635 * buffer.h: Make the struct buffer and struct buffer_data structures
636 private by moving them inside buffer.c. Add comments for all
637 functions. Rename buffer_write as buffer_put (to be more consistent
638 with the buffer_putc and buffer_putstr functions). Declare a new
639 buffer_write function that is used to write data to a file descriptor
640 and/or add it to the buffer queue. Remove unused function
641 buffer_flush_vty_all. Create a new enum typedef buffer_status_t
642 to be used as the return code for all buffer_flush* functions
643 and buffer_write.
644 * buffer.c: The struct buffer and struct buffer_data declarations
645 are now private to this file. In conjunction with that, remove
646 some unnecessary fields: struct buffer (alloc, unused_head,
647 unused_tail, length), struct buffer_data (prev).
648 (buffer_data_new) Removed: functionality incorporated into buffer_add.
649 (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
650 (buffer_new) Use calloc instead of malloc + memset(zero).
651 Supply an appropriate default size if the specified size is 0.
652 (buffer_free) Eliminate code duplication by calling buffer_reset to
653 free the contents of the buffer (and remove unused code related
654 to unused_head).
655 (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
656 compact).
657 (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set
658 alloc and length to 0 (these fields have been removed).
659 (buffer_add) Fix scope to be static. Call XMALLOC directly instead
660 of calling removed buffer_data_new function. Simplify the logic
661 (since it's now a singly-linked list instead of doubly-linked).
662 (buffer_write) Renamed to buffer_put. Change to void, since return
663 code of 1 was meaningless. No need to adjust length field, since
664 it has been removed.
665 (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
666 Remove unused functions.
667 (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
668 a possible failure mode if IOV_MAX is less than the number of buffers
669 on the queue.
670 (buffer_flush_window) Incorporate logic from buffer_flush_vty.
671 Log an error message if there is a writev error.
672 (buffer_flush_available) Be more paranoid: check for case where
673 buffer is already empty. Use new ERRNO_IO_RETRY macro, and use
674 new enum for return codes. Simplify deletion logic (since it's
675 now a singly-linked list).
676 (buffer_write) New function for use with non-blocking I/O.
677 * vty.h: Replace the struct vty sb_buffer field with a fixed-size
678 (5-character) sb_buf field and an sb_len field, since using
679 a struct buffer was inappropriate for this task. Add some useful
680 comments about telnet window size negotiation.
681 * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
682 Remove VTY_OBUF_SIZE (instead use buffer_new default size).
683 Make telnet_backward_char and telnet_space_char static const.
684 (vty_out) Replace buffer_write with buffer_put.
685 (vty_log_out) Check for I/O errors. If fatal, close the vty session.
686 Consolidate 3 separate writes into a single write call.
687 (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
688 vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
689 vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
690 vty_config_write,vty_save_cwd) Fix scope to static.
691 (vty_new) Let buffer_new use its default buffer size.
692 (vty_write) Fix signature: 2nd arg should be const char *.
693 Replaced buffer_write with buffer_put.
694 (vty_telnet_option) Fix minor bug (window height or width greater than
695 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer
696 (which was being used improperly).
697 (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
698 If the error is fatal, call buffer_reset so vty_close does not attempt
699 to flush the data. Use new sb_buf and sb_len instead of sb_buffer
700 to store the SB negotiation string.
701 (vty_flush) When vty->lines is 0, call buffer_flush_available instead
702 of buffer_flush_window. Look at the return code from buffer_flush
703 to detect I/O errors (and in that case, log an error message and
704 close the vty).
705 (vty_create) Fix scope to static. Initialize sb_len to 0 instead
706 of creating sb_buffer.
707 (vty_accept) Set socket nonblocking.
708 (vtysh_accept) Use new set_nonblocking function instead of calling
709 fcntl directly.
710 (vtysh_flush) New function called from vtysh_read (after command
711 execution) and from vtysh_write. This flushes the buffer
712 and reacts appropriately to the return code (by closing the vty
713 or scheduling further flushes).
714 (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
715 If not, just try again later. Otherwise, call buffer_reset before
716 calling vty_close (to avoid trying to flush the buffer in vty_close).
717 Fix logic to allow case where a command does not arrive atomically
718 in a single read call by checking for the terminating NUL char.
719 (vtysh_write) Use new vtysh_flush helper function.
720 (vty_close) No need to call buffer_empty, just call buffer_flush_all
721 in any case (it will check whether the buffer is empty).
722 Do not free sb_buffer (since it has been removed).
723 (vty_log_fixed) Use writev instead of write.
724 * zebra.h: Do not include <arpa/telnet.h>, since this is used only
725 by lib/vty.c.
726
hassoc3c07f22005-02-21 18:17:52 +00007272005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
728
729 * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
730 will allow to update node when:
731 i) a node is inserted into the priority queue;
732 ii) a node position is modified in the priority queue;
733 * pqueue.h: Export trickle_down() function.
734
paul109ac962005-02-19 01:17:07 +00007352005-02-19 Paul Jakma <paul.jakma@sun.com>
736
737 * stream.c: (stream_new) fix dumb mistake.
738
ajsd7e2a812005-02-17 20:02:49 +00007392005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
740
ajs53270112005-02-17 20:07:22 +0000741 * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.
742
7432005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
744
ajsd7e2a812005-02-17 20:02:49 +0000745 * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
746 operation should be retried. This eliminates the need to duplicate
747 the same logic testing for EAGAIN or EINTR in multiple places.
748
ajs42218e72005-02-16 16:25:39 +00007492005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
750
ajs262feb12005-02-16 20:35:47 +0000751 * stream.h: Declare new function stream_read_try suitable for use
752 with non-blocking file descriptors. Indicate that stream_read
753 and stream_read_unblock are deprecated.
754 * stream.c: (stream_read_try) New function for use with non-blocking
755 I/O.
756 (stream_recvmsg) Should return -1 if the stream is too small to
757 contain the data.
758
7592005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
760
ajs42218e72005-02-16 16:25:39 +0000761 * network.c: (set_nonblocking) Should check return code from
762 fcntl(F_GETFL).
763
ajsa269d612005-02-16 00:45:37 +00007642005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
765
766 * network.h: Declare new function set_nonblocking. Indicate that
767 readn and writen are deprecated.
768 * network.c: (set_nonblocking) New function to make a file descriptor
769 non-blocking, since it seems silly to have fcntl calls sprinkled
770 throughout the code.
771
paul1dd13d42005-02-14 23:49:09 +00007722005-02-14 Paul Jakma <paul.jakma@sun.com>
paulf2e6c422005-02-12 14:35:49 +0000773
774 * stream.h: Unsigned long updated to size_t
775 * stream.c: ditto
paul050c0132005-02-14 23:47:47 +0000776 * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
777 Add comment describing struct stream abstraction, and various
778 other comments.
779 Deprecate several unsafe/ambigious macros.
780 Add STREAM_WRITEABLE and STREAM_READABLE.
781 Add (stream_getl_from) for symmetry.
782 Update stream_forward_{endp,getp} to use size_t offset.
783 Make stream data a 0 length array, rather than a seperate malloc.
784 * stream.c: Add consistency checks. Update to follow stream.h
785 changes.
786 (stream_new) Alloc stream+data in one go.
787 (stream_copy) new function, copy a stream.
788 (stream_dup) new function, dup a stream.
789 (stream_recvmsg) new function, recvmsg data into a stream.
790 (stream_empty) no need to check getp == 0.
paulf2e6c422005-02-12 14:35:49 +0000791
paul9985f832005-02-09 15:51:56 +00007922005-02-09 Paul Jakma <paul.jakma@sun.com>
793
794 * stream.h: Remove putp. Update reference to putp with endp.
795 Add stream_forward_endp, which daemons were doing manually.
796 Rename stream_forward to stream_forward_getp.
797 stream.c: Remove/update references to putp.
798 introduce stream_forward_endp.
799
ajs548e6f72005-02-08 15:57:25 +00008002005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
801
802 * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
803 to use compound assignment operators (aesthetic change).
804
ajs1e221352005-02-03 16:42:40 +00008052005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
806
ajsc4c7d0c2005-02-03 19:22:05 +0000807 * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
808 since it is not async-signal-safe.
809 (_zlog_assert_failed) Rewrite crashlog logic more compactly.
810 (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
811 for use in signal handler.
812
8132005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
814
ajs1e221352005-02-03 16:42:40 +0000815 * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
816 inside this function only.
817 (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
818 with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
819 (zlog_signal,_zlog_assert_failed) Increase logging priority from
820 LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
821 open_crashlog to create a crash logfile.
822 (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
823 dump a backtrace to that file.
824
ajs847947f2005-02-02 18:38:48 +00008252005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
826
827 * if.h: Declare if_flag_dump.
828
ajs6a52d0d2005-01-30 18:49:28 +00008292005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
830
831 * daemon.c: (daemon) Replace perror with zlog_err.
832 * vty.c: (vty_serv_un) Replace perror with zlog_err.
833
ajs3b8b1852005-01-29 18:19:13 +00008342005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
835
836 * buffer.h: Fix comment on buffer_getstr to reflect that it now
837 uses XMALLOC.
838 * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
839 * filter.c: (access_list_remark,ipv6_access_list_remark) Use
840 argv_concat instead of buffer_getstr.
841 * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
842 * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
843 Use argv_concat instead of buffer_getstr.
844
ajsf6834d42005-01-28 20:28:35 +00008452005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
846
ajsafb8b602005-01-28 20:41:07 +0000847 * lib/buffer.h: Document behavior of buffer_getstr function.
848 * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
849 the string extends beyond the head struct buffer_data.
850
8512005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
852
ajsf6834d42005-01-28 20:28:35 +0000853 * lib/command.h: Document behavior of argv_concat function.
854 * lib/command.c: (argv_concat) Calculate total string length first so
855 we can call malloc just once (instead of realloc'ing to add each
856 string element).
857 (do_echo,config_logmsg) Allow for possible NULL return value from
858 argv_concat.
859
hasso13bfca72005-01-23 21:42:25 +00008602005-01-23 Hasso Tepper <hasso at quagga.net>
861
862 * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
863 use it as well.
864
ajs31364272005-01-18 22:18:59 +00008652005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
866
867 * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
868 two args (siginfo and program_counter).
869 * log.c: (hex_append) Include this function only if SA_SIGINFO or
870 HAVE_GLIBC_BACKTRACE is defined.
871 (zlog_signal) Final two args (siginfo and program_counter) now
872 depend on whether SA_SIGINFO is defined on this platform.
873 * sigevent.c: (program_counter) Do not include this function if
874 SA_SIGINFO is not defined on this platform.
875 (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
876 2nd & 3rd arguments are present and to decide how to invoke
877 zlog_signal.
878 (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
879 appropriately.
880
ajs239c26f2005-01-17 15:22:28 +00008812005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
882
883 * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
884 program_counter argument.
885 * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
886 argument. If it is non-NULL, use backtrace_symbols_fd to resolve
887 the address.
888 (zlog_signal) Call zlog_backtrace_sigsafe with additional
889 program_counter argument.
890
hasso87d683b2005-01-16 23:31:54 +00008912005-01-17 Hasso Tepper <hasso at quagga.net>
892
893 * command.[ch], vty.c: cmd_execute_command() function must not attempt
894 to walk up in the node tree if called from vtysh. Different daemons
895 might have commands with same syntax in different nodes (for example
896 "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
897
ajscb585b62005-01-14 17:09:38 +00008982005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
899
900 * command.c (print_version): Do not bother even to examine host.name,
901 since it is always NULL when this function is called from main.
902
gdtf867d322005-01-14 15:47:33 +00009032005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com>
904
905 * command.c (print_version): Don't print host.name if it is NULL.
906 Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
907
ajse22f5512005-01-12 16:18:17 +00009082005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
909
ajs40abf232005-01-12 17:27:27 +0000910 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
911 pass additional siginfo_t and ucontext_t arguments to core_handler
912 and exit_handler.
913 (core_handler,exit_handler) Now invoked with 3 arguments (using
914 SA_SIGINFO). Pass additional info to zlog_signal.
915 (program_counter) New function to find program counter in ucontext_t,
916 needs to be enhanced to support more platforms (currently works only
917 on Linux/x86).
918 * log.h: Change the zlog_signal prototype to add new arguments
919 siginfo_t * and program_counter.
920 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
921 Include si_addr and program counter (if non-NULL) in message.
922 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
923 that is now used to render the si_addr and PC pointers.
924
9252005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
926
ajse22f5512005-01-12 16:18:17 +0000927 * zebra.h: If not C99 and no va_copy macro available, fall back to
928 memcpy (solves a build problem on FreeBSD 4.x).
929
ajsb99760a2005-01-04 16:24:43 +00009302005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
931
932 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
933 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
934 by the configure test program).
935 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
936 of CMSG_FIRSTHDR.
937
hassocba8a602005-01-02 18:51:01 +00009382005-01-02 Hasso Tepper <hasso at quagga.net>
939
940 * command.c: Revert int -> unsigned int fixes in
941 cmd_describe_command_real() and cmd_complete_command_real(). index can
942 be actually negative and it caused crash with "do<TAB>" in vty.
943
gdt1d69fdf2004-12-29 18:53:30 +00009442004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
945
gdtd44debe2004-12-29 20:06:23 +0000946 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
947 convention. Beef up comments. Handle the case where the cmsghdr
948 has a zero controllen, or more specifically when the wanted option
949 is not present. This is needed for Solaris 8, and in general for
950 any platform for which configure finds a method and it can fail.
951 Mark some changes with XXX to be cleaned up post 0.98.
952
ajsaf04bd72004-12-28 17:00:12 +00009532004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
954
ajs1d75c8c2004-12-28 21:43:17 +0000955 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
956 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
957 deterministic (-1).
958
9592004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
960
ajsaf04bd72004-12-28 17:00:12 +0000961 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
962
paul4ba9b922004-12-21 22:34:58 +00009632004-12-21 Paul Jakma <paul.jakma@sun.com>
964
965 * if.h: Add more 'non-generic' IFF_ flags.
966 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +0000967 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +0000968
ajs202d08c2004-12-17 20:50:00 +00009692004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +0000970
971 * command.c: (do_echo) Added new "echo" command, useful for
972 watchdog pinging to make sure the daemon is responsive.
973
9742004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +0000975
976 * pid_output.c: (pid_output_lock) Eliminate static function, and just
977 use the #ifdef to decide which version of the function to include.
978 This eliminates a compilation problem with gcc4. And fix the
979 non-fcntl version so that it actually compiles. Exit with
980 status 1 instead of -1 on error.
981
ajs81fc57c2004-12-15 17:41:14 +00009822004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
983
984 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
985
ajs3378d202004-12-10 22:43:17 +00009862004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
987
988 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
989 LOG_ERR instead of LOG_EMERG.
990
ajsc3324c62004-12-09 17:26:31 +00009912004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
992
993 * log.c: (hex_append) No need to include this function if
994 HAVE_GLIBC_BACKTRACE is not defined.
995
ajsb9e70282004-12-08 17:14:45 +00009962004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
997
998 * prefix.c: (prefix_copy) Error message before abort should
999 have severity LOG_ERR, not LOG_INFO.
1000 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
1001
ajs274a4a42004-12-07 15:39:31 +000010022004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1003
ajs8ddca702004-12-07 18:53:52 +00001004 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
1005
10062004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1007
ajs82146b82004-12-07 17:15:55 +00001008 * command.c: (config_write_host) Note that "log trap" is deprecated
1009 when writing out the config.
1010
10112004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1012
ajs274a4a42004-12-07 15:39:31 +00001013 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
1014 array to support individual logging levels for each destination.
1015 Remove the 2nd argument to openzlog since the default logging config
1016 should be standardized inside the library. Replaced the
1017 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
1018 And zlog_set_file now requires an additional log_level argument.
1019 Declare zlog_proto_names for use inside command.c in the
1020 "show logging" command. Added defines useful for command
1021 construction.
1022 * log.c: (vzlog) Decide where to send the message based on the
1023 individual logging levels configured for each destination.
1024 Remove support for ZLOG_STDERR since it was never actually used.
1025 Support record-priority for terminal monitors.
1026 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
1027 logging levels. Remove stderr support (was never used). Added
1028 support for terminal monitor logging.
1029 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
1030 (openzlog) Remove 2nd argument since default config should be
1031 standardized in library. By default, terminal monitoring
1032 is set to debug, and all other logging is disabled.
1033 (zlog_set_flag,zlog_reset_flag) Removed.
1034 (zlog_set_level) New function to replace zlog_set_flag and
1035 zlog_reset_flag. Supports destination-specific logging levels.
1036 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
1037 (zlog_rotate) Log an error message if fopen fails, and support
1038 new file-specific logging level.
1039 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
1040 command functions will be static instead of global. Remove
1041 declarations for config_exit and config_help. Define new macros
1042 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
1043 have deprecated commands in vtysh. Similarly, for completeness,
1044 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
1045 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
1046 was never used).
1047 * command.c: Make many functions static instead of global.
1048 (facility_name,facility_match,level_match) New functions
1049 to support enhanced destination-specific logging levels.
1050 (config_write_host) Support new destination-specific logging levels.
1051 (config_logmsg) Added new "logmsg" command to help test logging
1052 system.
1053 (show_logging) Added "show logging" command to show the current
1054 configuration of the logging system.
1055 (config_log_stdout_level) Support explicit stdout logging level.
1056 (no_config_log_stdout) Now takes optional LEVEL arg.
1057 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
1058 New commands creating new "log monitor" commands to set terminal
1059 monitoring log level.
1060 (config_log_file_level) Support explicit file logging level.
1061 (config_log_syslog_level) Support explicit syslog logging level.
1062 (config_log_facility,no_config_log_facility) Implement new
1063 "log facility" command.
1064 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
1065 "log stdout <level>", "log monitor", "log monitor <level>",
1066 "no log monitor", "log file <filename> <level>",
1067 "no log file <filename> <level>", "log syslog <level>",
1068 "log facility", and "no log facility".
1069 * vty.h: Added a "level" argument to vty_log so it can support
1070 "log record-priority". Declare new function vty_log_fixed for
1071 use in signal handlers.
1072 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
1073 "log record-priority" for vty terminal monitors.
1074 (vty_down_level) Use config_exit_cmd.func instead of calling
1075 config_exit directly (since command functions will now be static
1076 instead of global).
1077 (vty_log_fixed) New function to send terminal monitor messages
1078 from inside a signal handler.
1079
ajs887c44a2004-12-03 16:36:46 +000010802004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1081
ajs5e764772004-12-03 19:03:33 +00001082 * log.h: Document appropriate use of syslog logging priorities
1083 inside quagga.
1084
10852004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1086
ajs56f20692004-12-03 17:40:31 +00001087 * command.h: Remove fields log_stdout and log_syslog from struct host,
1088 since they are just trying to duplicate information in the
1089 zlog_default structure. Note that this fixes a bug since those
1090 fields were not registering any logging that was established
1091 in the initial call to openzlog (this affects only the zebra and
1092 ospf6d daemons). It is probably a bug to turn on any logging by
1093 default in the call to openzlog.
1094 * command.c: (config_write_host) Get logging info from zlog_default
1095 instead of now-removed fields host.log_stdout and host.log_syslog.
1096 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
1097 host.log_stdout, since this info is recorded in zlog_default.
1098 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
1099 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
1100 Do not set now-removed field host.log_syslog, since this info is
1101 recorded in zlog_default.
1102
11032004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1104
ajs887c44a2004-12-03 16:36:46 +00001105 * version.h.in: Remove declaration for pid_output_lock, this function
1106 is now static, not global.
1107 * pid_output.c: (pid_output_lock) This function should be static, not
1108 global. And remove "old umask" error message, since it was really
1109 an unimportant debug message, not an error.
1110 (pid_output) Need to declare static function pid_output_lock.
1111
ajs7d149b82004-11-28 23:00:01 +000011122004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1113
1114 * log.h: Remove several unused fields from struct zlog. Add comments
1115 for other fields, and add one new field syslog_options that is
1116 used in the new syslog_sigsafe implementation.
1117 * log.c: (syslog_sigsafe) New function to send syslog messages in
1118 an async-signal safe way that can be used inside a signal handler.
1119 (syslog_connect) New function to connect to syslog daemon inside a
1120 signal handler. This function supports only systems where /dev/log
1121 is a unix datagram socket (e.g. not Solaris).
1122 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
1123 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
1124 enabled.
1125 (openzlog) Save syslog_options for use in syslog_sigsafe.
1126 (num_append) Fix bug: handle 0 properly.
1127 (hex_append) New function to print a u_long in hex format.
1128
hasso2557aed2004-11-28 21:16:20 +000011292004-11-28 Hasso Tepper <hasso at quagga.net>
1130
1131 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
1132
ajsd1c51d72004-11-26 14:14:30 +000011332004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1134
ajs48d6c692004-11-26 20:52:59 +00001135 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
1136 to the more self-explanatory zlog_backtrace_sigsafe.
1137
11382004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1139
ajs5b85fac2004-11-26 19:36:42 +00001140 * debug.[ch]: Remove unused files.
1141 * Makefile.am: Remove references to debug.c and debug.h
1142
11432004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1144
ajs063ee522004-11-26 18:11:14 +00001145 * log.c: (zlog_backtrace) New function to log a backtrace.
1146 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
1147 Unfortunately, this function does not support syslog logging yet.
1148 (zlog_signal) Move backtrace code into separate function
1149 zlog_backtrace_safe.
1150 (_zlog_assert_failed) Call zlog_backtrace before aborting.
1151 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
1152 * memory.c: (zerror) Call zlog_backtrace before aborting.
1153
11542004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1155
ajsd1c51d72004-11-26 14:14:30 +00001156 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
1157
ajse5879ca2004-11-25 16:07:53 +000011582004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1159
ajs4cf0d0d2004-11-25 17:14:34 +00001160 * zebra.h: If not C99 and there's no va_copy macro and there is
1161 a __va_copy macro, define va_copy as __va_copy.
1162
11632004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1164
ajse5879ca2004-11-25 16:07:53 +00001165 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
1166 set l_whence to SEEK_SET, not SEEK_END. And after writing new
1167 pid to file, must ftruncate to eliminate any extraneous bytes left
1168 over from the last time a pid was written.
1169
ajscee3df12004-11-24 17:14:49 +000011702004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1171
1172 * zassert.h: New header file to declare a quagga-specific assert macro.
1173 * log.c: (_zlog_assert_failed) New function called when assert fails
1174 to log the error and abort.
1175 * zebra.h: Include "zassert.h" instead of <assert.h>.
1176 * regex.c: Include "zassert.h" instead of <assert.h>.
1177
ajsd246bd92004-11-23 17:35:08 +000011782004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1179
ajs59a06a92004-11-23 18:19:14 +00001180 * sigevent.c: (signal_init) Set up some default signal handlers
1181 so that processes will issue an error message before terminating
1182 or dumping core.
1183 (trap_default_signals) New function to set up signal handlers
1184 for various signals that may kill the process.
1185 (exit_handler) Call zlog_signal, then _exit.
1186 (core_handler) Call zlog_signal, then abort.
1187 * log.h: Declare new function zlog_signal.
1188 * log.c: (zlog_signal) New function to log information about
1189 a received signal before the process dies. Try to log a
1190 backtrace also.
1191 (quagga_signal_handler,signal_set) Should be static.
1192
11932004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1194
ajsd246bd92004-11-23 17:35:08 +00001195 * log.c: (vzlog) Take a single va_list argument and use va_copy
1196 as necessary for multiple traversals.
1197 (zlog) Pass only one va_list to vzlog.
1198 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
1199 va_list to vzlog.
1200 (zlog_set_file) Remove unused 2nd argument (flags).
1201 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
1202 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
1203 Remove unused 2nd argument from zlog_set_file prototype.
1204 Fix prototype for zlog_rotate.
1205 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
1206 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
1207 properly.
1208 (vty_log) Must use va_copy for multiple traversals of va_list arg.
1209
ajsca359762004-11-19 23:40:16 +000012102004-11-19 David Young <dyoung@pobox.com>
1211
1212 * log.c: (safe_strerror) New function: safe wrapper for strerror.
1213
ajsff29bb32004-11-19 18:29:22 +000012142004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1215
1216 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
1217 printed every time.
1218
ajsf858e492004-11-16 14:25:30 +000012192004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1220
1221 * memory.h: Fix prototype for memory_init().
1222 * memory.c: Declare many functions and data structures static instead
1223 of global. Fix prototype for memory_init().
1224
gdt69e13252004-11-15 18:51:15 +000012252004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1226
1227 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
1228 alignment (users should use CMSG_SPACE).
1229
1230 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
1231 asumming 4-byte alignment, since this isn't safe.
1232
ajs7fa25ff2004-11-15 16:12:32 +000012332004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1234
1235 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
1236 Instead of exiting, log currenty memory usage and then abort.
1237 (log_memstats) New function to log memory statistics, called by
1238 zerror.
1239 (show_memory_all) Loop over new mlists array instead of calling
1240 show_memory_vty separately for each memory_list.
1241
paulb86718e2004-11-08 17:34:07 +000012422004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +00001243
paul2265d202004-11-08 15:43:21 +00001244 * buffer.c: Add missing include of log.h.
1245 (buffer_flush_available) written is compared against
1246 mostly against unsigned types, only for the writev do we need
1247 signed compare, so declare it as size_t and cast it to ssize_t
1248 just for the error compare when we've called writev.
1249 * buffer.h: Add comment that buffer data sizes really should be
1250 size_t.
1251
12522004-11-07 Paul Jakma <paul@dishone.st>
1253
1254 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +00001255
ajs49ff6d92004-11-04 19:26:16 +000012562004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1257
ajs5a646652004-11-05 01:25:55 +00001258 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
1259 capabilities (that were used only in bgpd/bgp_route.c and are now
1260 removed). Also remove some other fields that were not being
1261 used at all.
1262 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
1263 and VTY_CONTINUE.
1264 (vty_read) Remove calls to vty->output_func since that was part
1265 of the VTY_CONTINUE infrastructure that has been removed.
1266 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
1267 (vty_close) Remove code to cancel vty->t_output thread, since that
1268 thread was never actually used.
1269
12702004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1271
ajs49ff6d92004-11-04 19:26:16 +00001272 * vty.c: Vtysh connections to daemons should use buffering.
1273 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
1274 (vty_new) Increase output buffer size to 4096 rounded up to a
1275 multiple of pagesize.
1276 (vtysh_read) After command has been executed and all output buffered,
1277 call buffer_flush_available and schedule further writes if the
1278 buffers are not yet empty.
1279 (vtysh_write) New function to flush output to vtysh when the socket
1280 is writeable.
1281 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
1282 clients. Also, should save read thread in vty->t_read so the
1283 thread can be cancelled in vty_close.
1284 * buffer.h: In struct buffer_data, remove unused "parent" field.
1285 Convert "unsigned char *data" to "unsigned char data[0]" to save
1286 a malloc. Declare new function buffer_flush_available that works
1287 with non-blocking sockets.
1288 * buffer.c: (buffer_data_new) Use a single malloc now that data is
1289 a variable-size array at end of structure.
1290 (buffer_data_free) Just a single free now that data is part of the
1291 structure.
1292 (buffer_write) Simplify the logic to make behavior more transparent.
1293 (buffer_flush) Decrease b->length as data is written out.
1294 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
1295 (buffer_flush_vty) Decrease b->length as data is written out.
1296 (buffer_flush_available) New function to flush non-blocking sockets.
1297
paule064d6d2004-11-01 08:59:21 +000012982004-11-01 Paul Jakma <paul@dishone.st>
1299
1300 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
1301
paul75e15fe2004-10-31 02:13:09 +000013022004-10-31 Paul Jakma <paul@dishone.st>
1303
1304 * vty.c: As per Andrew's suggestions..
1305 (vty_serv_un) remove flags.
1306 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +00001307 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +00001308 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
1309 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +00001310 specific memory type defines. Use XCALLOC and sizeof the type,
1311 not the pointer.
paul70e149e2004-10-31 16:29:50 +00001312 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +00001313
pauldccfb192004-10-29 08:29:36 +000013142004-10-29 Paul Jakma <paul@dishone.st>
1315
1316 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
1317 to vtysh_accept, where sock is the actual fd we wanted to set to
1318 O_NONBLOCK, ie the /connected/ vtysh unix socket.
1319
hasso508ec912004-10-23 14:26:49 +000013202004-10-23 Hasso Tepper <hasso at quagga.net>
1321
1322 * zclient.c: Unbreak reading interface update message. Might fix
1323 blocker bugzilla #109.
1324
paul23b9c612004-10-22 11:51:57 +000013252004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +00001326
1327 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +00001328 -1.
1329 (setsockopt_pktinfo) unexported
1330 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
1331 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +00001332 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
1333 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +00001334 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +00001335 * command.h: Cleanup the defines a bit, add helper defines and
1336 collapse all defines to use those. Add an attribute field to
1337 cmd_element to support, eg hidden or deprecated commands, add
1338 defun defines for such. All that's left to do is add logic
1339 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +00001340 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +00001341
hasso6590f2c2004-10-19 20:40:08 +000013422004-10-19 Hasso Tepper <hasso at quagga.net>
1343
1344 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
1345 * print_version.c: Remove. print_version () function moved to
1346 command.[c|h].
1347 * command.c: Use QUAGGA_COPYRIGHT.
1348 * Makefile.am: Remove useless version.c and print_version.c files.
1349
hasso3fb9cd62004-10-19 19:44:43 +000013502004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1351
1352 * zclient.c: (zebra_interface_address_read) If the destination address
1353 is encoded as all zeroes, load it as a NULL pointer.
1354 * if.h: Add comment describing struct connected destination field
1355 and indicating that it may be NULL. Define macros
1356 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
1357 with PtP logic (distinguish between host and subnet addressing).
1358 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
1359 properly,
1360 (connected_lookup_address) ditto.
1361 (connected_add_by_prefix) Handle case where destination is NULL,
1362 * prefix.[c|h]: New functions ipv4_network_addr and
1363 ipv4_broadcast_addr.
1364
hassoddd85ed2004-10-13 08:18:07 +000013652004-10-13 Hasso Tepper <hasso at quagga.net>
1366
1367 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
1368 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +00001369 * smux.c, smux.h: Remove all defaults to initialize smux connection to
1370 snmpd by default even if not configured to do so. "smux peer OID
1371 <password>" initializes now connection and "no smux peer" terminates
1372 it.
hassoddd85ed2004-10-13 08:18:07 +00001373
paul42d49862004-10-13 05:22:18 +000013742004-10-13 Paul Jakma <paul@dishone.st>
1375
1376 * (global) more const'ification.
1377 * sockunion.c: (sockunion_su2str) buffer should be sized
1378 SU_ADDRSTRLEN.
1379 (sockunion_log) do not return stack variables, strdup buf before
1380 return.
1381 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
1382 values against ULONG_MAX is daft, when caller probably has passed
1383 a type that can not hold ULONG_MAX. use a temporary long instead.
1384 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
1385 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
1386
hassoa1494112004-10-11 12:53:17 +000013872004-10-11 Hasso Tepper <hasso at quagga.net>
1388
1389 * command.h: Sync DEFUNSH with other macros.
1390 * sockunion.c, sockunion.h: More const strings.
1391
paul9076fbd2004-10-11 09:40:58 +000013922004-10-11 Paul Jakma <paul@dishone.st>
1393
1394 * thread.c: (funcname_thread_add_timer)
1395 (funcname_thread_add_timer_msec) Fix mistakes from last change.
1396 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +00001397 * if.h: mtu's should be unsigned.
1398 * routemap.{c,h}: const char updates
1399 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +00001400
paul9035efa2004-10-10 11:56:56 +000014012004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +00001402
1403 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +00001404 * command.h: Change DEFUN func to take const char *[] rather
1405 than char **, to begin process of fixing compile warnings in lib/.
1406 Nearly all other changes in this commit follow from this change.
1407 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
1408 const void * and cast an automatic const char *p to it.
1409 (buffer_putstr) add const
1410 * command.c: (zencrypt) const qualifier
1411 (cmd_execute_command_real) ditto
1412 (cmd_execute_command_strict) ditto
1413 (config_log_file) ditto.
1414 Fix leak of getcwd() returned string.
1415 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
1416 * distribute.{c,h}: Update with const qualifier.
1417 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
1418 (distribute_lookup) Cast to char *, note that it's ok.
1419 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
1420 (distribute_get) Cast to char *, note that it's ok.
1421 * filter.c: Update with const qualifier.
1422 * if.{c,h}: ditto.
1423 * if_rmap.{c,h}: ditto.
1424 (if_rmap_lookup) Cast to char *, note that it's ok.
1425 (if_rmap_get) ditto.
1426 * log.{c,h}: Update with const qualifier.
1427 * plist.{c,h}: ditto.
1428 * routemap.{c,h}: ditto.
1429 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
1430 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
1431 * vty.c: Update with const qualifier.
1432
hasso27a43a82004-10-08 06:29:12 +000014332004-10-08 Hasso Tepper <hasso at quagga.net>
1434
1435 * routemap.c, routemap.h: Make some string arguments const.
1436
paul5973ee72004-10-08 01:36:54 +000014372004-10-05 Paul Jakma <paul@dishone.st>
1438
1439 * version.h.in: print_version declaration is here, not in automake
1440 generated version.h.
1441
hassoea8e9d92004-10-07 21:32:14 +000014422004-10-08 Hasso Tepper <hasso at quagga.net>
1443
1444 * command.c, command.h: Make argument of cmd_make_strvec function
1445 const.
1446 * command.c: Make hostname commands usable in vtysh again.
1447
hasso6ad96ea2004-10-07 19:33:46 +000014482004-10-07 Hasso Tepper <hasso at quagga.net>
1449
1450 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
1451 strings const.
1452
hasso8c328f12004-10-05 21:01:23 +000014532004-10-05 Hasso Tepper <hasso at quagga.net>
1454
1455 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
1456 changes to fix warnings.
1457
paul96e27c92004-10-05 14:33:43 +000014582004-10-05 Paul Jakma <paul@dishone.st>
1459
1460 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
1461 functions to change byte order between system IP_HDRINCL order
1462 and host order.
paul98c91ac2004-10-05 14:57:50 +00001463 * thread.c: (funcname_thread_add_timer_timeval) new function, add
1464 timer at specified timeval.
1465 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
1466 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +00001467
hassob04c6992004-10-04 19:10:31 +000014682004-10-04 Hasso Tepper <hasso at quagga.net>
1469
1470 * memory.c, memory.h: Make char * argument of strdup functions const.
1471 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
1472 header.
1473 * log.h: Make log message const in struct message.
1474 * log.c: Fix some indenting.
1475 * network.c, network.h: Make second argument of writen() const.
1476
hassoe7168df2004-10-03 20:11:32 +000014772004-10-03 Hasso Tepper <hasso at quagga.net>
1478
1479 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
1480 * command.c: Don't initialize commands that don't make sense if vtysh
1481 is used.
1482 * vty.c: Make VTY_NODE appear in vtysh.
1483
hasso18a6dce2004-10-03 18:18:34 +000014842004-10-03 James R. Leu <jleu at mindspring.com>
1485
1486 * zclient.c, zclient.h: zclient functions for router id handling.
1487 * zebra.h: New message types for router id handling.
1488
paul9172ee02004-09-27 12:46:37 +000014892004-09-27 Paul Jakma <paul@dishone.st>
1490
1491 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
1492 to try to fragment oversized packets. Enabled only for Linux.
1493 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
1494 to consolidate various ad-hoc platform defines for same thing.
1495
hassoe473b032004-09-26 16:08:11 +000014962004-09-26 Hasso Tepper <hasso at quagga.net>
1497
1498 * vty.c, sockopt.c: Fix compiler warnings.
1499
hasso52dc7ee2004-09-23 19:18:23 +000015002004-09-23 Hasso Tepper <hasso at quagga.net>
1501
1502 * linklist.h: Remove list and listnode typedefs.
1503 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1504
paul0b3acf42004-09-17 08:39:08 +000015052004-09-17 Paul Jakma <paul@dishone.st>
1506
paulb89e60c2004-09-21 15:43:13 +00001507 * sockopt.c: Add missing bracket
1508
15092004-09-17 Paul Jakma <paul@dishone.st>
1510
paul0b3acf42004-09-17 08:39:08 +00001511 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
1512
paul33394762004-09-13 11:27:57 +000015132004-09-13 Paul Jakma <paul@dishone.st>
1514
1515 * command.c: Update the copyright string in the default motd.
1516
gdt630e4802004-08-31 17:28:41 +000015172004-08-31 David Wiggins <dwiggins@bbn.com>
1518
1519 * hash.c (hash_iterate): Save next pointer before calling
1520 procedure, so that iteration works even if the called procedure
1521 deletes the hash backet.
1522
1523 * linklist.h (listtail): new macro, not yet used.
1524
hasso34553cc2004-08-27 13:56:39 +000015252004-08-27 Hasso Tepper <hasso at quagga.net>
1526
1527 * command.c: Install "terminal length" commands only if vty is used.
1528 Vtysh will handle it itself.
1529
gdtafa43b22004-08-26 13:12:41 +000015302004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1531
1532 * sockopt.h: Define method-independent macro for callers of
1533 get_ifindex to use for cmsg length.
1534
paule6822762004-08-19 04:13:29 +000015352004-08-19 Paul Jakma <paul@dishone.st>
1536
paulefba6ce2004-08-25 13:47:16 +00001537 * zebra.h: add MAX and MIN defines (eg for ospf6d)
1538
15392004-08-19 Paul Jakma <paul@dishone.st>
1540
paule6822762004-08-19 04:13:29 +00001541 * sockopt.c: include sockopt.h
1542 rename some of the _pktinfo_ functions to _ifindex, where that is
1543 their purpose.
1544 (getsockopt_ipv6_pktinfo_ifindex) renamed to
1545 getsockopt_ipv6_ifindex.
1546 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
1547 (setsockopt_pktinfo) update with previous and add comment re
1548 AF_INET portability.
1549 (setsockopt_ifindex) generic ifindex function ala
1550 setsockopt_pktinfo.
1551 (getsockopt_ipv4_pktinfo_ifindex) renamed to
1552 getsockopt_ipv4_ifindex.
1553 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
1554 ifdef/elses. pktinfo case forgot to set ifindex.
1555 (getsockopt_pktinfo_ifindex) renamed to
1556 getsockopt_ifindex. update some calls to renamed functions.
1557 * sockopt.h: Update renamed exported functions
1558 Rename the CMSG_SIZE macros to IFINDEX.
1559 Guard IPv4 PKTINFO in a conditional define.
1560
paulc0618de2004-08-18 21:52:58 +000015612004-08-18 Paul Jakma <paul@dishone.st>
1562
1563 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
1564 to prevent inadvertent blocking of daemons by use of
1565 vtysh. TODO: disentangle manual paging from the buffer_write
1566 path so that unix vty can use this path too and be reliable.
1567
gdt33f92322004-07-23 16:14:32 +000015682004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
1569
1570 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
1571 on NetBSD, and add comments to make it less confusing. Change the
1572 sense of the SUNOS_5 test to make parallel structure between the
1573 variables and the code.
1574
paul4f7baa02004-07-23 15:11:07 +000015752004-07-23 Paul Jakma <paul@dishone.st>
1576
1577 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
1578 sizeof pktinfo as appropriate, to be used when allocating msg
1579 buffers. export setsockopt_pktinfo() and
1580 getsockopt_pktinfo_ifindex()
1581 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
1582 set received ifindex sock option.
1583 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
1584 (getsockopt_cmsg_data) retrieve indicated control info from
1585 message header.
1586 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
1587 (setsockopt_ipv4_pktinfo) v4 version
1588 (setsockopt_pktinfo) the exported version
1589 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
1590 (getsockopt_pktinfo_ifindex) the exported version
1591
paul05c447d2004-07-22 19:14:27 +000015922004-07-14 Paul Jakma <paul@dishone.st>
1593
1594 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
1595 the flags to a constant rather increment to be kinder.
1596 (quagga_sigevent_process) new function, to do core of what
1597 quagga_signal_timer did. dont block signals at all as sig->caught
1598 is volatile sig_atomic_t and should be safe to access from signal
1599 and normal contexts. The signal blocking is unneeded paranoia, but
1600 is left intact under an ifdef, should some platform require it.
1601 Check global caught flag before iterating through array.
1602 (quagga_signal_timer) nearly everything moved to
1603 quagga_sigevent_process. Left in under ifdef, in case some
1604 platform could use a regular timer check for signals.
1605 * sigevent.h: quagga_sigevent_process declaration.
1606 * thread.c: (thread_fetch) check for signals at beginning of
1607 scheduler loop, check for signals if select returns EINTR.
1608
gdtb7797132004-07-13 13:47:25 +000016092004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
1610
1611 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
1612 confuses gdb, at least on NetBSD 2.0_BETA, where the block
1613 succeeds.
1614
paul5510e832004-07-09 14:00:01 +000016152004-07-09 Paul Jakma <paul@dishone.st>
1616
1617 * Merge Kunihiro's 'show route-map' change and add
1618 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +00001619 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
1620 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +00001621
paulb06c14f2004-07-09 12:24:42 +000016222004-07-09 Juris Kalnins <juris@mt.lv>
1623
1624 * if.c: (if_cmp_func) fix for interface names where name is same,
1625 but one has no number, eg "devtyp" and "devtyp0".
1626
gdt87efd642004-06-30 17:36:11 +000016272004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1628
1629 * Makefile.am: Make libzebra shared.
1630
paul138ce752004-06-21 10:35:59 +000016312004-06-21 Paul Jakma <paul@dishone.st>
1632
1633 * ChangeLog: fix my last update config.h -> zebra.h ;)
1634 * zebra.h: Fix gcc check.
1635
paul02ff83c2004-06-11 11:27:03 +000016362004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
1637
1638 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
1639 to u_char. (ipv6_access_list_remark_cmd) ditto.
1640 if.c: ditto
1641 * network.c: (readn/writen) pointer arg should be type u_char.
1642 * plist.c: needs to include stream.h, not declare stream functions
1643 internally.
1644 (various) Add static qualifier to internal functions.
1645 (prefix_list_type_str) extraneous breaks in switch statement.
1646 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
1647 * stream.h: depends on plist.h and export stream_put_prefix
1648 * vty.c: (vty_<telnet option build functions>) should use
1649 unsigned char, telnet options are 0 -> 255.
1650 * zclient.c: various u_char<->char type cleanups.
1651 * zebra.h: Having to define CMSG_* can apply to more than just
1652 BSDI_NRL.
1653
paul51a87982004-06-09 10:36:05 +000016542004-06-09 Paul Jakma <paul@dishone.st>
1655
paul138ce752004-06-21 10:35:59 +00001656 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +00001657
paul5228ad22004-06-04 17:58:18 +000016582004-06-04 Paul Jakma <paul@dishone.st>
1659
1660 * type mismatch fixes
1661
hasso6708fa32004-05-18 18:46:54 +000016622004-05-18 Hasso Tepper <hasso@estpak.ee>
1663
1664 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
1665
paul0a589352004-05-08 11:48:26 +000016662004-05-08 Paul Jakma <paul@dishone.st>
1667
1668 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
1669 message format.
1670
16712004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1672
1673 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
1674 (zapi_ipv4_delete) ditto.
1675 (zapi_ipv4_route) add/delete a route by way of cmd arg.
1676 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
1677 (zapi_ipv6_delete) ditto.
1678 (zapi_ipv6_route) add/delete a route by way of cmd arg.
1679 (zebra_interface_address_delete_read) collapsed into
1680 zebra_interface_address_read.
1681 (zebra_interface_address_delete_read) ditto.
1682 (zebra_interface_address_read) read address add/delete messages
1683 by way of type argument. Describe command message format.
1684 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
1685 Describe command message format.
1686 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
1687 (zclient_redistribute_set) Collapsed into zclient_redistribute
1688 (zclient_redistribute_unset) ditto
1689 (zclient_redistribute) set/unset redistribution.
1690 (zclient_redistribute_default_set) Collapsed into
1691 zclient_redistribute_default.
1692 (zclient_redistribute_default_unset) ditto.
1693 (zclient_redistribute_default) Redistribute default set/unset.
1694 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
1695 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
1696 zclient_redistribute. Ditto for
1697 zclient_redistribute_default_{set/unset}.
1698
paul4a7aac12004-05-08 05:00:31 +000016992004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1700
1701 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
1702 from IPv4, and Solaris treats the MTU's differently.
1703 Add connected_add_by_prefix, for use by later patch.
1704 * if.c: (connected_add_by_prefix) Add prefix to connected list.
1705 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
1706 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +00001707 * command.c: (sockunion_getsockname) use socklen_t for len.
1708 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +00001709
paul31fcdd32004-04-21 11:00:43 +000017102004-04-21 Boris Kovalenko <boris@tagnet.ru>
1711
1712 * daemon.c: (daemon) fix check for error return from setsid
1713
paulc49b3062004-01-19 21:23:37 +000017142004-01-19 Paul Jakma <paul@dishone.st>
1715
1716 * sigevent.{c,h}: New files, implement event handled signals.
1717 see signal_init() in sigevent.h.
1718
jardinc32e1b52003-12-23 09:06:51 +000017192003-12-23 Vincent Jardin <jardin@6wind.com>
1720
1721 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
1722
gdt3dbf9962003-12-22 20:18:18 +000017232003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
1724
1725 * vty.c (vty_use_backup_config): Don't free filenames before using
1726 them for unlink.
1727
paul54aba542003-08-21 20:28:24 +000017282003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1729
1730 * command.c: Fix <cr> display problem for command line
1731 description
1732
paule9af5c72003-05-24 11:54:31 +000017332003-05-24 Anil Madhavapeddy
1734
1735 * (sockunion.c): Incorrect bounds specified in sockunion_log()
1736
paul445f1432003-05-16 19:00:31 +000017372003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
1738
1739 * vty.c: -A option
1740
17412003-04-19 Hasso Tepper <hasso@estpak.ee>
1742
1743 * rip_routemap.c: sync daemon's route-map commands to have same
1744 syntax
1745
paul718e3742002-12-13 20:15:29 +000017462002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1747
1748 * vty.c (vty_flush): One line more on vty.
1749
17502002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1751
1752 * vector.c (vector_lookup): Add new function.
1753
17542002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1755
1756 * thread.c (timeval_adjust): Fix unconditional crush due to
1757 FreeBSD's select() system call timeval value check.
1758
17592002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1760
1761 * zebra-0.93 released.
1762
17632002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1764
1765 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
1766 van Maarseveen's suggestion.
1767
17682002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1769
1770 * command.c: Change bcopy() to memcpy().
1771
17722001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1773
1774 * command.c (config_password): Fix host.password clear bug.
1775 Reported by Wang Jian <lark@linux.net.cn>.
1776
17772001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1778
1779 * thread.c (thread_should_yield): New function to check thread
1780 should yeild it's execution to other thread. Suggested by: Rick
1781 Payne <rickp@ayrnetworks.com>
1782
17832001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1784
1785 * thread.c (thread_timer_cmp): Rewrite function.
1786
1787 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
1788
17892001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1790
1791 * zebra-0.92a released.
1792
17932001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1794
1795 * zebra-0.92 released.
1796
17972001-08-12 Akihiro Mizutani <mizutani@dml.com>
1798
1799 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
1800 string to "1.1.0.0/16".
1801
18022001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1803
1804 * filter.c (access_list_lookup): access_list_lookup's first
1805 argument is changed from address family to AFI.
1806
1807 * plist.c: (prefix_list_lookup): Likewise.
1808
18092001-07-27 Akihiro Mizutani <mizutani@dml.com>
1810
1811 * plist.c: ge and le display order is changed. Old compatible
1812 rule (len <= ge-value <= le-value) is removed.
1813
18142001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1815
1816 * prefix.h: Temporary fix for alignment of prefix problem.
1817
18182001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1819
1820 * prefix.h (struct prefix): Remove safi and padding field.
1821 (struct prefix_ipv4): Likewise.
1822 (struct prefix_ipv6): Likewise.
1823 (struct prefix_ls): Likewise.
1824 (struct prefix_rd): Likewise.
1825
1826 * command.h (enum node_type): Preparation for BGP new config.
1827
1828 * vty.c (vty_end_config): Likewise.
1829
18302001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1831
1832 * routemap.c (route_map_rule_delete): Call func_free when
1833 route-map rule is deleted.
1834
18352001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
1836
1837 * routemap.c (route_map_index_lookup): Prevent to use deny and
1838 permit for same route-map sequence.
1839
18402001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1841
1842 * vty.c (vty_read_config): Fix warning.
1843
18442001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1845
1846 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
1847 strings.
1848
18492001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1850
1851 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
1852 CMSG_FIRSTHDR.
1853
18542001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1855
1856 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
1857
18582001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1859
1860 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
1861 lib" member.
1862
18632001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
1864
1865 * vty.c (vty_read_config): Revert check of integrate_default when
1866 VTYSH is defined.
1867
18682001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1869
1870 * vty.c (vty_read_config): Do not check integrate_default. That
1871 should be used only by vtysh.
1872
18732001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1874
1875 * vty.c (vty_serv_un): Set umask 0077.
1876 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
1877 wait for boot configuration.
1878
1879 * if.c (if_lookup_address): Make it smart implementation.
1880
1881 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
1882 options for IPv4 This is here so that people only have to do their
1883 OS multicast mess in one place rather than all through zebra,
1884 ospfd, and ripd .
1885
18862001-02-04 Akihiro Mizutani <mizutani@dml.com>
1887
1888 * plist.c (vty_prefix_list_install): Even when argument is
1889 invalid, new memory is allocated. Now memory allocation is done
1890 after argument check.
1891
18922001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1893
1894 * zebra-0.91 is released.
1895
18962001-01-31 Akihiro Mizutani <mizutani@dml.com>
1897
1898 * vty.c (vty_login): Add vty login command.
1899
19002001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1901
1902 * vty.c (vty_reset): Close accept socket.
1903
19042001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1905
1906 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
1907 attribute.
1908
19092001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1910
1911 * zclient.c (zebra_interface_address_add_read): Fetch interface
1912 address flag.
1913 (zebra_interface_address_delete_read): Likewise.
1914
19152001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1916
1917 * table.c (route_node_match_ipv4): Utility function for IPv4
1918 address lookup.
1919 (route_node_match_ipv6): Utility function for IPv4 address lookup.
1920
19212001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1922
1923 * if.c: Delete RIP_API part until new implementation comes out.
1924
19252001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1926
1927 * hash.h (struct Hash): Rename alloc to count. Change type to
1928 unsigned long.
1929
1930 * stream.c (stream_getc_from): New function.
1931 (stream_getw_from): Likewise.
1932
1933 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
1934
19352001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1936
1937 * flap.c: File is removed.
1938
1939 * flap.c: Likewise.
1940
1941 * roken.h: Likewise.
1942
1943 * buffer.c (buffer_new): Remove type option to buffer_new().
1944
19452001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1946
1947 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
1948
19492001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1950
1951 * zebra-0.90 is released.
1952
1953 * command.c: Update Copyright year.
1954
19552001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1956
1957 * if.c (if_create): Register connected_free() function for
1958 deletion.
1959 (if_delete): Free connected information when the interface is
1960 deleted.
1961 (if_lookup_by_index): Fix argument type from int to unsigned int.
1962 (connected_add): Keep list in order if old info found, essential
1963 for repeatable operation in some daemons.
1964
19652001-01-09 endo@suri.co.jp (Masahiko Endo)
1966
1967 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
1968 read thread.
1969
19702001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1971
1972 * filter.c (access_list_delete): Access-list name is not freed.
1973
1974 * plist.c (prefix_list_delete): Prefix-list name is not freed.
1975
19762000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1977
1978 * zclient.c (zclient_start): Change to use UNIX domain
1979 socket for zebra communication.
1980
1981 * vector.c (vector_init): vector_alloc and vector_data_alloc is
1982 removed. All memory allocation count should be maintained by
1983 XMALLOC and XFREE macros.
1984
19852000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1986
1987 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
1988
19892000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1990
1991 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
1992 value.
1993
19942000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
1995
1996 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
1997 allocated in vty_new ().
1998
19992000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2000
2001 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
2002
2003 * command.c (config_write_terminal): Display "end" at the end of
2004 configuration.
2005
2006 * plist.c (vty_prefix_list_install): Use AF_INET to determine
2007 lenum length.
2008
20092000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
2010
2011 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
2012 then all lines write by IOV_MAX.
2013
20142000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2015
2016 * command.c (config_write_file): Robust method for writing
2017 configuration file and recover from backing up config file.
2018
20192000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2020
2021 * smux.c (smux_connect): More fail check.
2022 (smux_trap): When SMUX connection is not established, do nothing.
2023
20242000-11-28 Gleb Natapov <gleb@nbase.co.il>
2025
2026 * thread.c (thread_fetch): Execut event list first. Old event
2027 list is renamed to ready list. With this change, event thread is
2028 executed before any other thread.
2029
2030 * thread.h (struct thread_master): Add ready list.
2031
20322000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2033
2034 * linklist.c (listnode_add_after): Add node right after the
2035 listnode pointer.
2036
20372000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2038
2039 * smux.h: Pass struct variable to WriteMethod.
2040
20412000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
2042
2043 * if.c (if_lookup_address): When looking up interface with IP
2044 address, Sometimes multiple interfaces will match. Now PtP
2045 interfaces prevail in such a case which seem the right thing to
2046 do: There will probably also be host routes which usually prevail
2047 over network routes.
2048
20492000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2050
2051 * smux.c (smux_trap): SMUX trap implementation.
2052
20532000-11-19 Akihiro Mizutani <mizutani@dml.com>
2054
2055 * plist.c: Add automatic conversion function of an old rule.
2056 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
2057
20582000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
2059
2060 * zclient.c (zebra_interface_add_read): Read hardware address when
2061 hw_addr_len is greater than 0.
2062
20632000-11-15 Akihiro Mizutani <mizutani@dml.com>
2064
2065 * plist.c: The rule of "len <= ge-value <= le-value"
2066 was changed to "len < ge-value <= le-value".
2067
20682000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2069
2070 * memory.[ch]: Added #define and functions for ospf6d.
2071
2072 * log.[ch]: some platform says that the data of used va_list
2073 is undefined. Changed to hold list of va_list for each
2074 vsnprintf.
2075
20762000-11-07 Rick Payne <rickp@rossfell.co.uk>
2077
2078 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
2079
20802000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2081
2082 * command.c (config_exit): Fix bug of missing break after case
2083 BGP_VPNV4_NODE.
2084
20852000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2086
2087 * vector.c (vector_unset): Check i is not nevative.
2088
20892000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
2090
2091 * smux.c (smux_sock): Set terminating '\0'. Check address family.
2092
2093 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
2094 gai_strerror. Check address family.
2095
20962000-10-23 Jochen Friedrich <jochen@scram.de>
2097
2098 * smux.c: Use linklist rather than vector.
2099 (smux_getnext): A SMUX subagent has to behave as if it manages the
2100 whole SNMP MIB tree itself. It's the duty of the master agent to
2101 collect the best answer and return it to the manager. See RFC 1227
2102 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
2103 bad here as it actually might ask multiple times for the same
2104 GETNEXT request as it throws away the answer when it expects it in
2105 a different subtree and might come back later with the very same
2106 request.
2107
21082000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2109
2110 * command.c (cmd_init): Log related command are only installed for
2111 terminal mode.
2112
21132000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2114
2115 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
2116
2117 * zebra.h: Remove #warn directive.
2118
21192000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2120
2121 * keychain.c (keychain_init): Register "key chain" command to
2122 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
2123
2124 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
2125 CONFIG_NODE.
2126
2127 * command.c (config_end): Likewise.
2128
2129 * keychain.c (keychain_get): Key is sorted by it's identifier
2130 value.
2131
21322000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2133
2134 * linklist.c (list_delete_all_node): Call delete function if it is
2135 defined.
2136
2137 * command.c (cmd_execute_command_strict): Add modification for
2138 vtysh.
2139 (cmd_execute_command_strict): Remove first argument cmdvec because
2140 it is global varibale in command.c.
2141
21422000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2143
2144 * command.c (cmd_init): Install
2145 copy_runningconfig_startupconfig_cmd only in terminal mode.
2146
2147 * linklist.c (list_delete_node): Simplify the function.
2148 (listnode_lookup): Renamed from list_lookup_node.
2149
21502000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2151
2152 * stream.h: Undef stream_read and stream_write without
2153 parenthesis.
2154
2155 * newlist.c: File removed.
2156
2157 * newlist.h: Likewise.
2158
2159 * linklist.c (list_new): Remove list_init(). To allocate new
2160 linked list, please use list_new().
2161 (listnode_add): Remove list_add_node(). To add new node to linked
2162 list, please use listnode_add().
2163 (list_delete_by_val): Revemove fucntion.
2164
21652000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
2166
2167 * table.c (route_table_free): Reimplement route_table_free().
2168
21692000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2170
2171 * keychain.c (keychain_get): Register key_delete_func to key
2172 list's delete function. Use linklist.c instead of newlist.c.
2173
21742000-10-04 Akihiro Mizutani <mizutani@dml.com>
2175
2176 * filter.c (access_list_remark): Add access-list's remark command.
2177 (no_access_list): "no access-list 100 permit any" error message
2178 bug is fixed.
2179
21802000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2181
2182 * memory.h (enum): Add MTYPE_SOCKUNION.
2183
21842000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2185
2186 * zebra-0.89 is released.
2187
21882000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2189
2190 * linklist.c (list_add_node_head): Delete unused function.
2191 (list_add_node_tail): Likewise.
2192
21932000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2194
2195 * stream.c (stream_read_unblock): Add new function for unblocking
2196 read.
2197
21982000-09-26 Jochen Friedrich <jochen@nwe.de>
2199
2200 * smux.c (smux_register): Fix bug of can't register more than one
2201 MIB with SMUX.
2202
22032000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
2204
2205 * vty.c (vty_close): Fix memory leak of sb_buffer.
2206 (vty_new): Likewise.
2207
22082000-09-21 steve@Watt.COM (Steve Watt)
2209
2210 * log.h: Do not declare zlog_priority[0] variable.
2211
22122000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2213
2214 * linklist.h (struct _list ): Add member cmp for compare function.
2215 (struct _list ): Member up is deleted
2216
22172000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
2218
2219 * if.c: Include RIP_API header when RIP API is enabled.
2220
22212000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2222
2223 * prefix.c (prefix_free): Siplify prefix_free().
2224
2225 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
2226
22272000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2228
2229 * zebra.h: Merge roken.h into zebra.h.
2230
22312000-09-05 Akihiro Mizutani <mizutani@dml.com>
2232
2233 * routemap.c (route_map_init_vty): Install route-map command to
2234 RMAP_NODE.
2235
22362000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2237
2238 * thread.c (thread_get_id): Remove pthread related garbage.
2239
2240 * command.h (struct host): Likewise.
2241
2242 * zebra.h: Likewise.
2243
22442000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2245
2246 * command.h (node_type ): Add AAA node for authentication.
2247
2248 * vty.c (vty_close): Do not close stdout.
2249
22502000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2251
2252 * vty.c (vty_init_vtysh): Added for vtysh.
2253
2254 * distribute.c (districute_list_prefix_all): Interface independent
2255 filter can be set.
2256 (distribute_list_all): Likewise.
2257 (config_show_distribute): Display current distribute-list status
2258 for "show ip protocols".
2259
22602000-08-18 Akihiro Mizutani <mizutani@dml.com>
2261
2262 * command.c (config_terminal_no_length): no terminal monitor ->
2263 terminal no monitor
2264 (cmd_init): Do not install service_terminal_length_cmd into
2265 ENABLE_NODE.
2266
2267 * vty.c (terminal_no_monitor): no terminal length -> terminal no
2268 length.
2269
22702000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2271
2272 * zebra-0.88 is released.
2273
22742000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
2275
2276 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
2277 better IAC handling.
2278
2279 * vty.c (vty_telnet_option): Change telnet option handling.
2280
22812000-08-15 Gleb Natapov <gleb@nbase.co.il>
2282
2283 * zclient.c (zclient_redistribute_unset): New function added.
2284
22852000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2286
2287 * zclient.c (zebra_interface_add_read): Change ifindex restore
2288 size from two octet to four.
2289 (zebra_interface_state_read): Likewise.
2290 (zebra_interface_address_add_read): Likewise.
2291
22922000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2293
2294 * vty.c (vty_event): Use vector_set_index() instead of
2295 vector_set().
2296
22972000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2298
2299 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
2300 Administrative Distance of each protocol.
2301
23022000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
2303
2304 * if.h (struct interface ): Add new member bandwidth to struct
2305 interface.
2306
2307 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
2308 (zebra_interface_state_read): Likewise.
2309
23102000-08-07 Gleb Natapov <gleb@nbase.co.il>
2311
2312 * routemap.c (route_map_event_hook): New hook route_map_event_hook
2313 is added. This hook is called when route-map is changed. The
2314 parameters passed to the hook are 'event' and 'route-map name'
2315
2316 * routemap.h: Add prototype for route_map_event_hook().
2317
23182000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2319
2320 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
2321 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
2322
2323 * routemap.c (route_map_empty): Add new function.
2324 (route_map_delete): Use route_map_index_delete() instead of
2325 route_map_index_free().
2326 (route_map_index_free): Function removed.
2327
23282000-08-06 Gleb Natapov <gleb@nbase.co.il>
2329
2330 * routemap.c (route_map_index_delete): Add check for route-map is
2331 empty or not.
2332
23332000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2334
2335 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
2336 zclient.
2337
23382000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2339
2340 * zclient.h (struct zebra): Add obuf for output buffer.
2341
2342 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
2343 if_indextoname().
2344
23452000-08-02 David Lipovkov <davidl@nbase.co.il>
2346
2347 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
2348 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
2349
2350 * if.c (interface_pseudo): Add "pseudo" command to interface node.
2351 (no_interface_pseudo): Add "no pseudo" command to interface node.
2352
2353 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
2354 send from zebra.
2355
23562000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2357
2358 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
2359 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
2360
2361 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
2362
23632000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2364
2365 * vty.c: Use vector for VTY server thread listing instead of
2366 single value.
2367
23682000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2369
2370 * keychain.c (no_key_chain): "no key chain WORD" command is added.
2371
23722000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2373
2374 * command.c (config_from_file): If command fail in
2375 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
2376
2377 * vty.h (struct vty ): Add index_sub member.
2378
23792000-07-27 Akihiro Mizutani <mizutani@dml.com>
2380
2381 * if.c: Help strings updates.
2382
23832000-07-11 Akihiro Mizutani <mizutani@dml.com>
2384
2385 * command.c (no_config_enable_password): Add "no enable password"
2386 command.
2387 (config_write_host): Display password string.
2388
2389 * routemap.c (route_map_delete_match): Add support for delete
2390 match without argument.
2391 (route_map_delete_set): Likewise.
2392
23932000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2394
2395 * command.h (node_type ): Change KEYCHAIN_NODE and
2396 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
2397
23982000-07-09 Jochen Friedrich <jochen@scram.de>
2399
2400 * smux.c (config_write_smux): Fixes the option to override OID and
2401 password for SMUX.
2402
24032000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2404
2405 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
2406
24072000-07-09 Toshiaki Takada <takada@zebra.org>
2408
2409 * command.c: Sort descvec command's help.
2410
2411 * vty.c (vty_describe_command): Display '<cr>' at the end of
2412 descriptions.
2413
24142000-07-05 Toshiaki Takada <takada@zebra.org>
2415
2416 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
2417 treatment of double colon.
2418
24192000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2420
2421 * zclient.h: Add zclient_redistribute_default_{set,unset}().
2422
2423 * keychain.c: New file for authentication key management.
2424 * keychain.h: Likewise.
2425
2426 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
2427 ipchains.
2428 * tcpfilter.h: Likewise.
2429
2430 * flap.h: New file for route flap dampening.
2431 * flap.c: Likewise.
2432
24332000-07-04 Toshiaki Takada <takada@zebra.org>
2434
2435 * filter.c (struct filter): Add exact flag.
2436 (access_list): Add exact-match command.
2437 (ipv6_access_list): Add exact-match command.
2438
24392000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2440
2441 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
2442 request default route.
2443
24442000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
2445
2446 * smux.c: Add IPv6 smux connection code.
2447
24482000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2449
2450 * vty.c (vty_complete_command): To cooperate readline library,
2451 returned string is newly allocated. So some match function case
2452 need, free of memory.
2453
24542000-06-12 Akihiro Mizutani <mizutani@dml.com>
2455
2456 * distribute.c: Fix help strings.
2457
24582000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2459
2460 * command.c (cmd_complete_command): Add check for vector_slot
2461 (vline, index) is not NULL when calculating lcd.
2462 (cmd_entry_function): First check variable arguemnt to prevent it
2463 from completion.
2464
24652000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2466
2467 * vty.h (struct vty ): Add output_count member for displaying
2468 output route count. Remove arugment arg from output_func because
2469 the value is passed by vty argument. Change output to output_rn.
2470 Add output_clean function pointer member. Add output_type member.
2471
24722000-06-10 Toshiaki Takada <takada@zebra.org>
2473
2474 * command.c (show_startup_config): Add "show startup-config"
2475 command.
2476
24772000-06-06 Akihiro Mizutani <mizutani@dml.com>
2478
2479 * filter.c: Fix help strings.
2480
24812000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2482
2483 * prefix.h (struct prefix_rd): New prefix structure for routing
2484 distinguisher.
2485 (struct prefix): Add padding to every prefix structure.
2486
2487
2488 * routemap.c (route_map_add_match): When completely same match
2489 statement exists, don't duplicate it.
2490
24912000-06-05 Akihiro Mizutani <mizutani@dml.com>
2492
2493 * routemap.c: Change NAME to WORD.
2494
2495 * plist.c: Fix help strings.
2496
24972000-06-02 Akihiro Mizutani <mizutani@dml.com>
2498
2499 * routemap.c: Fix route-map help strings.
2500
25012000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2502
2503 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
2504 to filter other non vararg commands.
2505
2506 * routemap.c (route_map_init_vty): Use install_default() for
2507 install common commands into route-map node..
2508
25092000-06-01 Akihiro Mizutani <mizutani@dml.com>
2510
2511 * command.h (OSPF_STR): Macro added.
2512
25132000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2514
2515 * command.c (cmd_complete_command): LCD completion must not modify
2516 installed command string.
2517
2518 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
2519 X:X::X:X to X:X::X:X/M.
2520
25212000-05-31 Toshiaki Takada <takada@zebra.org>
2522
2523 * vty.c (show_history): New defun added.
2524
25252000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2526
2527 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
2528 list. CMD_COMPLETE_MATCH is used for LCD completion.
2529
2530 * vty.c (vty_complete_command): Matched string's LCD is completed.
2531
2532 * command.c (cmd_lcd): New function for calculate LCD of matched
2533 strings.
2534
25352000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2536
2537 * command.c (install_default): config_write_terminal_cmd,
2538 config_write_file_cmd, config_write_memory_cmd are added to
2539 default node.
2540
2541 * memory.c (memory_init): Divide show memory command into each
2542 sort.
2543
2544 * command.c (cmd_init): config_write_terminal_cmd,
2545 config_write_file_cmd, config_write_memory_cmd are added to
2546 CONFIG_NODE.
2547
2548 * routemap.c (route_map_index_free): New function.
2549 (no_route_map_all): New DEFUN for "no route-map NAME".
2550
2551 * filter.c (no_access_list_all): New DEFUN for delete access-list
2552 with NAME.
2553 (no_ipv6_access_list_all): Likewise.
2554
25552000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2556
2557 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
2558 specified, user can not use "ge" and "le" statement.
2559
25602000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
2561
2562 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
2563
2564 * table.c (route_table_free): Like wise.
2565
25662000-05-22 Toshiaki Takada <takada@zebra.org>
2567
2568 * vty.c (vty_stop_input): Set history pointer to the latest one.
2569
2570 * vty.c (vty_hist_add): Do not add command line history when input
2571 is as same as previous one.
2572
25732000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2574
2575 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
2576
25772000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2578
2579 * command.h (node_type ): Add BGP_VPNV4_NODE.
2580
25812000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2582
2583 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
2584 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
2585
2586 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
2587 IPv4 example. Reported by: Love <lha@s3.kth.se>.
2588
2589 * command.c (cmd_complete_command): Make it sure last element of
2590 matchvec is NULL. This fix problem which cause crush in
2591 vty_complete_command(). Reported by: JINMEI Tatuya
2592 <jinmei@isl.rdc.toshiba.co.jp>.
2593
25942000-04-28 Love <lha@s3.kth.se>
2595
2596 * prefix.h (struct prefix): Add padding.
2597
25982000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2599
2600 * command.c (show_version): Update copyright year.
2601
26022000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2603
2604 * routemap.c (route_map_apply): When map is NULL, return deny.
2605
26062000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2607
2608 * filter.c (access_list_apply): When access is NULL, return deny.
2609
2610 * plist.c (prefix_list_apply): When plist is NULL, return deny.
2611
26122000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2613
2614 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
2615
26162000-04-18 Toshiaki Takada <takada@zebra.org>
2617
2618 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
2619 Add argument for hook function to give struct access_list *.
2620
26212000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2622
2623 * plist.c (prefix_list_entry_match): In case of le nor ge is
2624 specified, exact match is performed.
2625 (prefix_list_entry_match): Add any entry matching check.
2626
26272000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2628
2629 * vty.c (exec_timeout): Separate timeout setting to minutes and
2630 seconds.
2631 (no_exec_timeout): Add "no exec-timeout" command.
2632
2633 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
2634 600.
2635
26362000-03-31 Jochen Friedrich <jochen@scram.de>
2637
2638 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
2639 it is a primitive encoding and not constructed.
2640
26412000-03-28 Toshiaki Takada <takada@zebra.org>
2642
2643 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
2644
26452000-03-26 Love <lha@s3.kth.se>
2646
2647 * zclient.c (zclient_read): Add nbytes size check for
2648 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
2649
26502000-03-26 Rick Payne <rickp@rossfell.co.uk>
2651
2652 * routemap.c: Add flexible route-map commands such as on-match
2653 next, on-match goto N.
2654
2655 * routemap.h: Likewise
2656
26572000-03-23 Adrian Bool <aid@u.net.uk>
2658
2659 * command.c (config_log_trap): Add new command "log trap
2660 PRIORITY".
2661
26622000-03-14 Toshiaki Takada <takada@zebra.org>
2663
2664 * memory.c (struct memory_list): Add Link List and Link Node
2665 to view.
2666
2667 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
2668
26692000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
2670
2671 * str.c (snprintf): Fix bug of calling sprintf instead of
2672 vsprintf.
2673
26742000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2675
2676 * memory.h (enum): Add MTYPE_RIP_PEER.
2677
26782000-01-15 Toshiaki Takada <takada@zebra.org>
2679
2680 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
2681
26822000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2683
2684 * command.h (node_type ): Add MASC_NODE for masc.
2685
26862000-01-09 Wang Jianliang <wangjl@soim.net>
2687
2688 * routemap.c (route_map_index_add): When route_map_index is not
2689 empty and insert new item at the head, it can cause core dump.
2690 Fix "if (index == map->head)" to "if (point == map->head).
2691 (route_map_add_set): If there is an old set command, override old
2692 set command with new one.
2693 (route_map_index_delete): Use while() instead of for for() for
2694 logical correctness.
2695
26961999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2697
2698 * memory.h (enum): Add MTYPE_BGP_STATIC.
2699
27001999-12-23 Alex Zinin <zinin@amt.ru>
2701 * zebra.h, zclient.*: dynamic int up/down message
2702 support
2703
27041999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2705
2706 * thread.c (thread_cancel_event): Add a function for clean up
2707 events.
2708
27091999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2710
2711 * dropline.c: Delete file.
2712 dropline.h: Linewise.
2713
27141999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2715
2716 * filter.c (access_list_filter_delete): Wrong pointer
2717 access->master was pointed out after access is freed. I store
2718 master value at the beginning of the function.
2719
27201999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2721
2722 * vty.c (exec_timeout): Change of VTY timeout affect to current
2723 VTY connection.
2724 (vty_accept): Instead of immediate exit() return -1.
2725
27261999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2727
2728 * vty.c (vty_configure_lock): Configuration lock function added.
2729 Only one VTY can use CONFI_NODE at the same time.
2730
2731 * log.c: Delete zvlog_* functions. Now zlog_* does the same
2732 thing.
2733
2734 * log.c (log_init): Function removed.
2735 (log_close): Likewise.
2736 (log_flush): Likewise.
2737 (log_open): Likewise.
2738
2739 * vty.c (terminal_monitor): Add new command.
2740 (no_terminal_monitor): Likewise.
2741
2742 * log.c (old_log): Function removed.
2743 (old_log2): Likewise.
2744 (old_log_warn): Likewise.
2745
27461999-12-04 Toshiaki Takada <takada@zebra.org>
2747
2748 * command.c (cmd_ipv6_match): New function added.
2749 (cmd_ipv6_prefix_match): Likewise.
2750
27511999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2752
2753 * command.c (cmd_ipv6_match):
2754
2755 * table.c: Delete #ifdef HAVE_MBGPV4.
2756
2757 * prefix.h (struct prefix): Add safi member.
2758 (struct prefix_ipv4): Likewise.
2759 (struct prefix_ipv6): Likewise.
2760
27611999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
2762
2763 * memory.c (struct mstat): Revert to support MEMORY_LOG.
2764
27651999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2766
2767 * version.h: Bump up to 0.81c for testing new kernel codes.
2768
27691999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2770
2771 * thread.h (struct thread): Pthread support is disabled all
2772 platform.
2773
27741999-11-21 Michael Handler <handler@sub-rosa.com>
2775
2776 * Include <limits.h> and <strings.h> under SUNOS_5.
2777
27781999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2779
2780 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
27811999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2782
2783 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
2784
27851999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2786
2787 * command.c (disable): Add `disable' command.
2788
27891999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2790
2791 * plist.c (vty_prefix_list_install): Add any check.
2792
27931999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2794
2795 * command.h (node_type ): Add DUMP_NODE.
2796
27971999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2798
2799 * smux.c: Change default SMUX oid to compatible with gated.
2800
28011999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2802
2803 * if_rmap.c: New file added.
2804
2805 * if_rmap.h: New file added.
2806
28071999-10-29 Alex Zinin <zinin@amt.ru>
2808
2809 * hash.c: add hash_free() function
2810
28111999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2812
2813 * hash.c (hash_clean): Add clean function.
2814
2815 * plist.c (prefix_list_reset): Add reset function.
2816
2817 * filter.c (access_list_reset): Add reset function.
2818
28191999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2820
2821 * client.c: Merged with zclient.c.
2822 * client.h: Merged with zclient.h.
2823
28241999-10-15 Jordan Mendelson <jordy@wserv.com>
2825
2826 * md5.c: Imported from GNU C Library.
2827 * md5-gnu.h: Likewise.
2828
28291999-10-15 Jochen Friedrich <jochen@scram.de>
2830
2831 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
2832
28331999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2834
2835 * smux.h: New file added.
2836
2837 * snmp.c: Rename to smux.c.
2838
28391999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2840
2841 * command.c (cmd_execute_command_strict): Filter ambious commands.
2842 (cmd_filter_by_string): Change to return enum match_type.
2843
28441999-10-01 Toshiaki Takada <takada@zebra.org>
2845
2846 * vty.c (vty_describe_fold): New function which does VTY
2847 description line fold.
2848 * vty.c (vty_describe_command): Set description column.
2849
28501999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2851
2852 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
2853
28541999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2855
2856 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
2857 CMD_IPV4_PREFIX check. Both return type must be exact_match.
2858
28591999-09-24 Toshiaki Takada <takada@zebra.org>
2860
2861 * command.c (cmd_filter_by_completion),
2862 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
2863 parameter matches range.
2864
28651999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2866
2867 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
2868 is performed.
2869
28701999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2871
2872 * vty.c (vty_read): Control-C stop VTY_MORE mode.
2873
28741999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2875
2876 * command.h (node_type ): Add ACCESS_IPV6_NODE and
2877 PREFIX_IPV6_NODE.
2878
2879 * distribute.h: New file added.
2880
2881 * command.h (node_type ): Delete DISTRIBUTE_NODE.
2882
28831999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2884
2885 * vty.c (vty_terminate_all): New function added for reload
2886 support.
2887
28881999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2889
2890 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
2891
28921999-08-31 Janos Farkas <chexum@shadow.banki.hu>
2893
2894 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
2895 esc-ctrl-h (delete word backwards).
2896
28971999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2898
2899 * if.h: Add if_nametoindex for NRL.
2900
29011999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2902
2903 * if.c (if_create): New function.
2904
29051999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2906
2907 * snmp.c: New file.
2908
29091999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2910
2911 * stream.c (stream_put): stream_memcpy () is changed to stream_put
2912 (). stream_get () is added.
2913
29141999-08-18 Toshiaki Takada <takada@zebra.org>
2915
2916 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
2917
29181999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2919
2920 * table.c (route_table_finish): add function frees table.
2921
29221999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2923
2924 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
2925
29261999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2927
2928 * if.h (struct interface ): hw_address, hw_address_len added.
2929
29301999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2931
2932 * if.h (struct interface ): Change structure member if_data to
2933 info, index to ifindex.
2934
29351999-08-08 Rick Payne <rickp@rossfell.co.uk>
2936
2937 * routemap.c: Multi protocol route-map modification.
2938
2939 * routemap.c (route_map_apply): Route match process bug is fixed.
2940
29411999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2942
2943 * thread.c (thread_fetch): When signal comes, goto retry point.
2944
29451999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2946
2947 * Makefile.am: Add sockopt.c and sockopt.h
2948 * sockopt.c: New file.
2949 * sockopt.h: New file.
2950
29511999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2952
2953 * version.h (ZEBRA_VERSION): Release zebra-0.75
2954
29551999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2956
2957 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
2958
29591999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2960
2961 * sockunion.h: Add sockunion_getpeername ().
2962
29631999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2964
2965 * version.h: Release zebra-0.74
2966
29671999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2968
2969 * command.h (struct host): Delete lines from struct host. Add
2970 lines to struct vty.
2971
2972 * command.c: Delete `lines LINES'. Terminal display line settings
2973 should be done by `terminal length' command.
2974
29751999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2976
2977 * memory.h (enum): MTYPE_OSPF_PATH are added.
2978
29791999-07-22 Toshiaki Takada <takada@zebra.org>
2980
2981 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
2982
29831999-07-21 Toshiaki Takada <takada@zebra.org>
2984
2985 * linklist.c (list_add_node_prev), (list_add_node_next),
2986 (list_add_list): New function added.
2987
2988 * table.c (route_table_free): New function added.
2989
29901999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2991
2992 * plist.c (config_write_prefix): Set write flag when configuration
2993 is written.
2994
29951999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2996
2997 * prefix.c : prefix_cmp() added. change apply_mask() to
2998 apply_mask_ipv4(), and new apply_mask() added.
2999
30001999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3001
3002 * prefix.c (prefix2str): append prefixlen.
3003
30041999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3005
3006 * command.c (config_terminal): Change "config terminal" to
3007 "configure terminal". Reported by Georg Hitsch
3008 <georg@atnet.at>.
3009 (config_terminal_length): `terminal length <0-512>' is added. At
3010 this moment this command is only usef for vty interface.
3011 Suggested by Georg Hitsch <georg@atnet.at>.
3012
30131999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3014
3015 * routemap.c (rulecmp): Add wrapper function of strcmp.
3016
30171999-07-08 Rick Payne <rickp@rossfell.co.uk>
3018
3019 * sockunion.c (inet_aton): Fix bug of inet_aton.
3020
30211999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3022
3023 * version.h (ZEBRA_VERSION): Start zebra-0.73
3024
30251999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3026
3027 * version.h: Bump up to 0.72.
3028
30291999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3030
3031 * command.c (install_default): New function for install default
3032 commands to the node.
3033
3034 * memory.h (enum): MTYPE_NEXTHOP is added.
3035
30361999-07-01 <kunihiro@zebra.org>
3037
3038 * command.c (no_banner_motd): `no banner motd' command added.
3039
30401999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3041
3042 * regex.c: Update to glibc-2.1.1's posix/regex.c
3043
3044 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
3045
3046 * prefix.h (IPV4_ADDR_SAME): Macro added.
3047 (IPV6_ADDR_SAME): Likewise.
3048
30491999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3050
3051 * memory.h (enum): Add MTYPE_OSPF_VERTEX
3052
3053 * version.h: Bump up to 0.71.
3054
3055 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
3056 VTY socket when IPv6 is enabled.
3057
30581999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
3059
3060 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
3061 address family to bind.
3062
3063 * command.c: Add quit command.
3064
30651999-06-26 NOGUCHI kay <kay@dti.ad.jp>
3066
3067 * vty.c (vty_read_config): Fix bug of configuration file path
3068 detection.
3069
30701999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3071
3072 * version.h: Bump up to 0.70.
3073
30741999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3075
3076 * buffer.h (GETL): Remove GETL macro.
3077
3078 * version.h: Bump up to 0.69.
3079
30801999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3081
3082 * if.c (connected_add): Commented out connected_log.
3083
30841999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3085
3086 * command.h (struct cmd_element ): strvec and descvec is combined
3087 into newstrvec.
3088
3089 * command.c (desc_make): Function removed.
3090 (desc_next): Function removed.
3091
3092 * command.h (struct cmd_element ): docvec is removed from struct
3093 cmd_element.
3094
30951999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3096
3097 * command.c (cmd_execute_command): Remove command NULL check.
3098
3099 * command.h (struct cmd_element ): Add newstrvec entry to struct
3100 cmd_element.
3101 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
3102 (a|b|c) statement.
3103 (DESC): DESC macro is removed.
3104
3105 * vty.c (vty_complete_command): When return value is
3106 CMD_ERR_NO_MATCH, don't display error message.
3107
31081999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3109
3110 * table.c (route_next_until): New function.
3111
3112 * version.h: Bump up to 0.68.
3113
31141999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3115
3116 * vty.c (vty_close): Free vty->buf when vty is closed.
3117
3118 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
3119 MTYPE_COMMUNITY_LIST.
3120
3121 * vty.h (struct vty ): Change buf from static length buffer to
3122 variable length buffer.
3123
3124 * vty.c (vty_ensure): New function added.
3125
31261999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3127
3128 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
3129
3130 * command.c (config_enable_password): Freeing host.enable bug is
3131 fixed.
3132 (config_enable_password): Add argc count check.
3133
31341999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3135
3136 * version.h: Bump up to 0.67.
3137
31381999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3139
3140 * command.c (zencrypt): New function for encrypt password.
3141
3142 * command.h (struct host): Add password_encrypt and
3143 enable_encrypt.
3144
31451999-05-30 Jochen Friedrich <jochen@scram.de>
3146
3147 * command.h (struct host): New member encrypt is added for
3148 encrypted password.
3149
31501999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3151
3152 * vty.c: Remove all_digit_check function. Instead use all_digit.
3153
3154 * prefix.c (all_digit): New function for checking string is made
3155 from digit character.
3156
31571999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3158
3159 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
3160 (noinst_HEADERS): Add zclient.h
3161
3162 * zclient.[ch]: New file for zebra client routine.
3163
3164 * memory.h (enum): Add MTYPE_ZEBRA.
3165
31661999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3167
3168 * version.h (ZEBRA_VERSION): Update to 0.66.
3169
31701999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3171
3172 * buffer.h (GETC,GETW): Macro deleted.
3173
31741999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3175
3176 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
3177
31781999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3179
3180 * vty.c (service_advanced_vty): New command added.
3181 (no_service_advanced_vty): Likewise.
3182
31831999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3184
3185 * vty.c (vty_auth): If advanced flag is set and enable password is
3186 not set, directly login to the ENABLE_NODE. This feature is
3187 originally designed and implemented by Stephen R. van den Berg
3188 <srb@cuci.nl>.
3189
3190 * command.h (host): Add advanced flag to struct host for advanced
3191 vty terminal interface.
3192
3193 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
3194
31951999-05-14 Stephen R. van den Berg <srb@cuci.nl>
3196
3197 * command.h (node_type ): Add TABLE_NODE.
3198
3199 * vty.c (vty_telnet_option): Check host.lines value.
3200
3201 * command.c (config_lines): DEFUN for 'lines LINES' command.
3202
3203 * zebra.h: Include <sys/utsname.h> for uname().
3204 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
3205 routing table.
3206
3207 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
3208 password is not set.
3209 (vty_prompt): Get machine's hostname when hostname is not set.
3210
32111999-05-11 James Willard <james@whispering.org>
3212
3213 * command.c (config_exit): Close connection when `exit' command is
3214 executed at ENABLE_NODE.
3215
32161999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3217
3218 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
3219
3220 * command.c (cmd_execute_command_strict): Matched command size
3221 check added.
3222 (cmd_make_desc_line): New function for DEFUN2.
3223
3224 * command.h (struct cmd_element ): Add descsize.
3225
32261999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3227
3228 * command.h (struct cmd_element ): Remame descvec to docvec.
3229 (struct cmd_element ): Add descvec for new description system.
3230
3231 * command.c (desc_make): Check cmd->descvec.
3232
32331999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3234
3235 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
3236
32371999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3238
3239 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
3240 release.
3241
32421999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3243
3244 * linklist.c (list_delete_all_node): bug fix.
3245 previous code loses current position when node
3246 is deleted.
3247
32481999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3249
3250 * command.h (DESC): Macro added.
3251 (struct cmd_element2): Delete struct cmd_element2.
3252
3253 * plist.c (prefix_list): Sequential number option check is added.
3254
32551999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3256
3257 * log.c (zvlog_{debug,info,notice,warn,err}): have been
3258 added. now we can log both console and file, but still
3259 need some fix about config write.
3260
32611999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3262
3263 * log.c (zvlog_debug): Fix yasu's change.
3264
32651999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3266
3267 * plist.c (prefix_list): Fix typo.
3268
32691999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3270
3271 * Set version to 0.63 for first beta package.
3272
32731999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3274
3275 * prefix.c (str2prefix_ipv4): Fix prefix length check.
3276 (str2prefix_ipv6): Likewise.
3277
32781999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3279
3280 * memory.h (enum): Add MTPYE_PREFIX_LIST and
3281 MTYPE_PREFIX_LIST_ENTRY.
3282
3283 * command.h (node_type ): Add PREFIX_NODE.
3284
32851999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3286
3287 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
3288 (copy_runningconfig_startupconfig_cmd) is added.
3289
3290 * table.c (route_node_lookup): Unused match variable deletion.
3291
32921999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3293
3294 * Makefile.am (libzebra_a_SOURCES): plist.c added.
3295 (noinst_HEADERS): plist.h added.
3296
3297 * plist.c, plist.h: New file added.
3298
3299 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
3300 * memory.c: Likewise.
3301
33021999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3303
3304 * command.c (show_version): `show version' command added.
3305
33061999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3307
3308 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
3309
33101999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3311
3312 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
3313
33141999-04-19 Alex Bligh <amb@gxn.net>
3315
3316 * prefix.c (sockunion2hostprefix): Function added.
3317 (sockunion2prefix): Address family was not set. Now it is set.
3318
3319 * vty.c: VTY access-class command is added.
3320
33211999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3322
3323 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
3324 xstrdup are likewise.
3325
33261999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3327
3328 * thread.c: Add thread_execute for other routing daemon.
3329 OSPF tasks need to be generated by "sheduled" and "executed".
3330
33311999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3332
3333 * buffer.c: Rewrite buffer_write and buffer_flush related
3334 functions for fixing bugs. Reason of the problem and fix is
3335 suggested by Alex Bligh <amb@gxn.net>.
3336
33371999-04-12 Alex Bligh <amb@gxn.net>
3338
3339 * command.c (cmd_entry_function_descr): Added for variable
3340 argument help display.
3341
33421999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3343
3344 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
3345
33461999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3347
3348 * stream.c: stream_fifo_free bug is fixed.
3349
33501999-03-19 Toshiaki Takada <takada@zebra.org>
3351
3352 * stream.c (stream_strncpy): Added for getting any length bytes
3353 from stream.
3354
33551999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3356
3357 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
3358
33591999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3360
3361 * buffer.c (buffer_flush_window): If ep is same as buffer's size
3362 length and lp is overrun one octet.
3363
33641999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3365
3366 * vty.h: add VTY's timeout function.
3367
33681999-03-05 <kunihiro@zebra.org>
3369
3370 * command.h (node_type ): Add OSPF6_node.
3371
33721999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3373
3374 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
3375
33761999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
3377
3378 * zebra.h: Include <net/if_var.h> if it exists.
3379
33801999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3381
3382 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
3383
3384 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
3385
3386 * command.h: Include vector.h and vty.h
3387
33881999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3389
3390 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
3391
3392 * routemap.c (route_map_apply_index): Add prefix argument.
3393 (route_map_apply): Likewise.
3394
3395 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
3396
3397 * stream.c: Add stream_fifo related functions.
3398
33991999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3400
3401 * daemon.c: Return integer value. File descriptor close is added.
3402
3403 * memory.h (enum): add MTYPE_OSPF_LSA.
3404
34051999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3406
3407 * rsh.c: Remove empty file.
3408
34091999-02-22 <kunihiro@zebra.org>
3410
3411 * routemap.c: Add add/delete hook to route_map_master.
3412
34131999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
3414
3415 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
3416 strlcpy on system without these.
3417
34181999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
3419
3420 * syslog support added
3421
34221999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3423
3424 * filter.c (access_list_add_hook): added for hook function management.
3425 * filter.c (access_list_delete_hook): Likewise.
3426
34271999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3428
3429 * stream.c: New file.
3430 * stream.h: New file.
3431 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
3432
34331999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3434
3435 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
3436
3437 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
3438
34391998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3440
3441 * routemap.c: route_map_index_delete() added.
3442
34431998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3444
3445 * buffer.c (buffer_empty): check cp instead of sp.
3446
34471998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3448
3449 * radix.[ch]: Deleted.
3450
34511998-12-15 Magnus Ahltorp <map@stacken.kth.se>
3452
3453 * buffer.c: Prototype fixes.
3454 * prefix.c: Likewise.
3455 * sockunion.c: Likewise.
3456 * sockunion.h: Likewise.
3457
34581998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3459
3460 * vty.c (vty_read): DELETE key works as vty_delete_char.
3461
34621998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3463
3464 * log.c (time_print): chane %y to %Y.
3465
34661998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3467
3468 * distribute.c: new file.
3469
34701998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3471
3472 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
3473 complete support of IPv6 access list.
3474
3475 * command.c (config_write_element): function delete.
3476 (config_write_host): function add. password and enable password
3477 isn't printed to vty interface.
3478
34791998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3480
3481 * filter.c: Change prefix_ipv4 to prefix and add support of
3482 prefix_ipv6 filtering.
3483
34841998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3485
3486 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
3487 header includes.
3488
34891998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3490
3491 * log.c (log_flush): fix function name typo.
3492
34931998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3494
3495 * memory.h: OSPF memory type is added.
3496
34971998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3498
3499 * command.c (sort_node): add sort_node() for pretty printing of
3500 command on vty interface.
3501 (config_password): delete the restriction of charaster of password
3502 string.
3503
35041998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
3505
3506 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
3507
35081998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3509
3510 * network.h: New file.
3511
35121998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3513
3514 * vty.c (vty_will_echo): function name change from vty_off_echo.
3515
35161998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3517
3518 * buffer.h: add PUTC,PUTW,PUTL macros.
3519
35201998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3521
3522 * route.[ch]: renamed to prefix.[ch]
3523
35241998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3525
3526 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
3527
3528 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
3529
35301998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3531
3532 * host.[ch]: merged with command.[ch]
3533
35341998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3535
3536 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
3537
35381998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3539
3540 * route.c (str2prefix): str2prefix () is gone.
3541
35421998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3543
3544 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
3545
3546 * .cvsignore: add file.
3547
3548 * memory.c (xerror): add arguent `type' and `size'.
3549
3550 * socket.c: deleted.
3551
35521998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3553
3554 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
3555 * linklist.c: same as above.
3556
35571998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3558
3559 * filter.[ch]: added.
3560
35611998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3562
3563 * vty.c (config_who): return CMD_SUCCESS
3564
35651998-04-01 Jochen Friedrich <jochen@scram.de>
3566
3567 * table.c (route_dump_node): route_dump_node is IPv6 specific
3568 function so move #ifdef to the end of route_dump_node ().
3569
35701998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
3571
3572 * if.c: DEFUN(interface_desc) added.
3573
35741998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3575
3576 * if.c: separated from ripd/rip_interface.c
3577
35781998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3579
3580 * thread.[ch] : added.
3581
35821998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3583
3584 * vty.c (vty_delete_char): fix size bug.
3585 (vty_backward_pure_word): function added.
3586 (vty_read): ESC + 'f' perform vty_forward_word.
3587 (vty_read): ESC + 'b' perform vty_backward_word.
3588
35891998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3590
3591 * radix.c (radix_lookup_rt): add mask check.
3592 (radix_delete_duproute): add mask check.
3593
35941998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3595
3596 * command.c (config_write_file): fix vty -> file_vty.
3597
35981998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3599
3600 * command.c (cmd_filter_ambiguous): add complex type treatment.
3601
36021998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3603
3604 * vty.c (vty_time_print): function added.
3605 (vty_complete_command): now [...] element isn't shown by completion.
3606
36071998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3608
3609 * command.c : change from cmd_install_node() to install_node().
3610
36111998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3612
3613 * route.[ch]: struct rt{} is replaced by struct prefix{}.
3614
36151998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3616
3617 * command.c (cmd_execute_command): check command length.
3618
3619 * timer.c (zebra_timer_set): add zebra_timer_set.
3620
36211998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3622
3623 * command.h (node_type ): add ZEBRA_NODE.
3624
3625 * command.c (config_exit): add RIP_NODE.
3626 (config_write_file): add RIP_NODE.
3627
36281998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3629
3630 * print_version.c (print_version): Now Copyright is 1996-1998.
3631
3632 * sockunion.c (sockunion_log): moved from ../zebra/route.c
3633
36341997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3635
3636 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
3637
3638 * sockunion.c (sockunion_sameprefix): add same prefix for
3639 sockunion.
3640
36411997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3642
3643 * radix.[ch] : are moved from ../zebra directroy.
3644
3645 * command.c (config_from_file): if command execution failed down
3646 level to CONFIG_NODE.
3647
3648 * host.c: config_log function which enable 'log FILENAME' command.
3649
36501997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3651
3652 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
3653 transpose character.
3654
3655 * command.c: cmd_cmdsize add, this is useful to check incomplete
3656 command.
3657
36581997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3659
3660 * fd.h: add family for address family
3661
36621997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3663
3664 * command.o
3665 * vty.o
3666 * host.o is moved from ../zebra
3667
36681997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3669
3670 * make library directory.
3671