blob: a96e917cbc3e071705d5a7063562c5b97a3f094d [file] [log] [blame]
paul354f3b62005-06-18 16:55:20 +000012005-06-18 Paul Jakma <paul.jakma@sun.com>
2
3 * memtypes.h: update autobuilt file to match memtypes.c changes
4
paul200df112005-06-01 11:17:05 +000052005-06-01 Paul Jakma <paul.jakma@sun.com>
6
7 * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and
8 MTYPE_BGP_CLEAR_NODE_QUEUE
9
paul8176c192005-05-24 09:33:52 +0000102005-05-24 Paul Jakma <paul@dishone.st>
11
12 * memtypes.h: update this auto-built file. (maybe we should just
13 remove it, is GNU awk a terrible dependency to have?)
14
pauld5c92532005-05-23 12:33:58 +0000152005-05-23 Paul Jakma <paul@dishone.st>
16
17 * memtypes.awk: use character classes, which work correctly in
18 all LC_COLLATE environments, unlike A-Z, which doesnt work in
19 eg estonian collate order. Reported by Hasso.
pauld4f09602005-05-23 12:43:34 +000020 * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command
21 is used, which does not supply an argv[0].
22 this is a backport candidate /iff/ the trailing ; is removed
23 from VTY_GET_INTEGER_RANGE
24 * vty.h: fix the VTY_GET macros, do {..} while(0) so they have
25 correct function like syntax in usage.
paul269d74f2005-05-23 13:42:46 +000026 * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code,
27 to allow a queue function to indicate the queue is not
28 ready/blocked - rather than any problem with the item at hand.
29 Add a notion of being able to 'plug' and 'unplug' a queue.
30 Add helpers to plug/unplug a queue.
31 Add a completion callback, to be called when a queue is emptied.
32 * workqueue.c: (work_queue_new) remove useless list_free.
33 (work_queue_schedule) new internal helper function to schedule
34 queue, if appropriate.
35 (work_queue_add) use work_queue_schedule
36 (show_work_queues) Print 'P' if queue is plugged.
37 (work_queue_plug) new API function, plug a queue - ie prevent it
38 from 'drained' / processed / scheduled.
39 (work_queue_unplug) unplug a queue, allowing it to be drained
40 / scheduled / processed again.
41 (work_queue_run) Add support for WQ_QUEUE_BLOCKED.
42 Add comment for RETRY_NOW case.
43 Make hysteris more aggresive in ramping up granularity, improves
44 performance significantly.
45 Add support for calling completion callback when queue is emptied,
46 possibly useful for knowing when to unplug a queue.
pauld5c92532005-05-23 12:33:58 +000047
pauldc818072005-05-19 01:30:53 +0000482005-05-19 Paul Jakma <paul@dishone.st>
49
50 * thread.c: (thread_cancel_event) the number of pending events
51 cancelled is potentially useful information, dont throw it away,
52 pass it back to the caller.
paul2ba9a372005-05-19 01:37:50 +000053 * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP
54 (sockunion_getpeername) ditto
paule387e662005-05-19 02:13:28 +000055 * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST
pauldc818072005-05-19 01:30:53 +000056
paul024a7f02005-05-15 14:25:08 +0000572005-05-15 Paul Jakma <paul@dishone.st>
58
59 * getopt.h: It's not just __GNU_LIBRARY__ which defines
60 getopt, eg __EXTENSIONS__ does too on SunOS. It still seems
61 awfully fragile though.
62 * getopt.c: include zebra.h after config.h, before including
63 getopt.h so that things at least are consistent..
64 * getopt1.c: ditto
65
paul42c98192005-05-07 02:22:51 +0000662005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
67
68 * sockopt.c: Add support for BSD style ifindex in ip_mreq.
69
paul8cc41982005-05-06 21:25:49 +0000702005-05-06 Paul Jakma <paul@dishone.st>
71
72 * (general) extern and static'ification of functions in code and
73 header.
74 Cleanup any definitions with unspecified arguments.
75 Add casts for callback assignments where the callback is defined,
76 typically, as passing void *, but the function being assigned has
77 some other pointer type defined as its argument, as gcc complains
78 about casts from void * to X* via function arguments.
79 Fix some old K&R style function argument definitions.
80 Add noreturn gcc attribute to some functions, as appropriate.
81 Add unused gcc attribute to some functions (eg ones meant to help
82 while debugging)
83 Add guard defines to headers which were missing them.
84 * command.c: (install_node) add const qualifier, still doesnt shut
85 up the warning though, because of the double pointer.
86 (cmp_node) ditto
87 * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived
88 fromn vty.h ones to fix some of the (long) < 0 warnings.
89 * thread.c: (various) use thread_empty
90 (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type
91 * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they
92 removed from ospfd/ospf_vty.h
93 * zebra.h: Move definition of ZEBRA_PORT to here, to remove
94 dependence of lib on zebra/zserv.h
95
hassoe7fe8c82005-05-06 19:33:35 +0000962005-05-06 Hasso Tepper <hasso at quagga.net>
97
98 * sockunion.c: Fix warning message.
99
paul0dab9302005-05-03 09:07:56 +00001002005-05-03 Paul Jakma <paul@dishone.st>
101
102 * stream.h: Add comment about the special zero-ing ability of
103 stream_put.
104 (stream_recvmsg, stream_write) should return ssize_t and size_t
105 respectively. Should both be extern linkage.
106 (stream_recvfrom) Stream aware wrapper around recvfrom, in style
107 of stream_read_try.
108 * stream.c: (stream_recvfrom) new function, wrapper around recvfrom.
109 (stream_recvmsg, stream_write) ssize_t and size_t return values
110
ajs3df53782005-04-27 16:29:54 +00001112005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
112
ajs8b70d0b2005-04-28 01:31:13 +0000113 Add wall-clock timing statistics to 'show thread cpu' output.
114 * thread.h: Define struct rusage_t to contain wall-clock time
115 and cpu time. Change GETRUSAGE macro to collect both pieces
116 of data. Make appropriate changes to struct cpu_thread_history
117 to track CPU time and real time. Change proto for
118 thread_consumed_time to return real and cpu time elapsed.
119 And declare a new global variable 'struct timeval recent_time'.
120 * thread.c (struct timeval recent_time): New global timestamp variable.
121 (timeval_adjust): If timeout is negative, set to 0 (not 10
122 microseconds). And remove upper bound of 1,000,000 seconds, since
123 this does not seem to make any sense (and it breaks
124 funcname_thread_add_timer_timeval).
125 (timeval_cmp): Should return long, not int.
126 (vty_out_cpu_thread_history): Show CPU time and real time.
127 (cpu_record_hash_print): Calculate totals for CPU and real time.
128 (cpu_record_print): Change 'show thread cpu' title to show CPU and
129 real time.
130 (thread_timer_remain_second): Put current time in global recent_time.
131 (funcname_thread_add_timer_timeval): Fix assert. Replace 2-case
132 switch assignment with a ternary expression. Use global recent_time
133 variable. Fix use of timeval_adjust (previously, the value was not
134 actually being adjusted).
135 (thread_cancel): Add missing "break" statement in case
136 THREAD_BACKGROUND.
137 (thread_timer_wait): Use global recent_time value instead of calling
138 gettimeofday. And there's no need to check for negative timeouts,
139 since timeval_subtract already sets these to zero.
140 (thread_timer_process): Timers are sorted, so bail out once we
141 encounter a timer that has not yet popped. And remove some
142 extraneous asserts.
143 (thread_fetch): Do not process foreground timers before calling
144 select. Instead, add them to the ready list just after the select.
145 Also, no need to maintain a count of the number of ready threads,
146 since we don't care how many there are, just whether there's
147 one at the head of the ready list (which is easily checked).
148 Stick current time in global variable recent_time to reduce
149 the number of calls to gettimeofday. Tighten logic for
150 calculating the select timeout.
151 (thread_consumed_time): Now returns real time and puts the elapsed
152 cpu time in an additional argument.
153 (thread_should_yield): Use real (wall-clock) time to decide whether
154 to yield.
155 (thread_call): Maintain CPU and real time statistics.
156 * vty.c (vty_command): For slow commands, show real and cpu time.
157
1582005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
159
ajs3df53782005-04-27 16:29:54 +0000160 * workqueue.c (show_work_queues): Remove unused gettimeofday call.
161
paul84369682005-04-27 12:39:27 +00001622005-04-27 Paul Jakma <paul.jakma@sun.com>
163
164 * workqueue.h: (struct work_queue_item) change retry_count to ran,
165 its a count of number item has been run.
166 * workqueue.c: (show_work_queues) Fix formating of slightly
167 bugfix: fix SIGFPE if wq->runs is 0.
168 (work_queue_run) retry logic was slightly wrong.
169 cycles.best is 0 initialy, granularity is 1, so update best
170 if cycles >= granularity, not just >.
paula7bca0f2005-04-27 12:44:54 +0000171 * memory.h: memtypes is built source, default includes points to
172 top_builddir, so we should refer to lib/memtypes.h
173
ajs07334da2005-04-26 17:14:30 +00001742005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
175
176 * buffer.c (buffer_write): Comment out call to buffer_flush_available.
177 This should speed up buffering at the expense of a possible increase
178 in latency in flushing the data if inside a long-running thread.
179
paulab59ae32005-04-25 13:52:26 +00001802005-04-25 Paul Jakma <paul.jakma@sun.com>
181
paul147aff02005-04-25 16:29:10 +0000182 * workqueue.{c,h}: Helper API for setting up and running queues via
183 background threads.
184 * command.c: install the 'show workqueues' command
185 * memtypes.c: Add work queue mtypes, and a rib-queue type for
186 a zebra rib work queue.
187 * memtypes.h: Updated to match memtypes.c
paulab59ae32005-04-25 13:52:26 +0000188 * Makefile.am: Refer to source files via srcdir variable, fix
189 out-of-tree build breakage.
paul147aff02005-04-25 16:29:10 +0000190 Add new workqueue files to build.
paul2c1de2a2005-04-25 14:02:44 +0000191 * memory.c: Make the string field much wider
192 * memtypes.c: Correct the prefix list str/entry strings
paul907873a2005-04-25 14:53:46 +0000193 * thread.c: Kill unused TIMER_NO_SORT bits
paulab59ae32005-04-25 13:52:26 +0000194
ajsfb9e46b2005-04-22 14:23:34 +00001952005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
196
197 * thread.h: Fix type for struct thread_master add_type: should be
198 unsigned char. Also, add some documentation of thread_add_background
199 args. And remove extraneous declaration of
200 show_thread_work_queues_cmd.
201
paula48b4e62005-04-22 00:43:47 +00002022005-04-22 Paul Jakma <paul.jakma@sun.com>
203
paule1e53ed2005-04-22 13:44:17 +0000204 * memory.h: Move include of memtypes.h to after the definition of
205 struct memory_list, gcc 4.0 doesn't like arrays of incomplete
206 types.
paula48b4e62005-04-22 00:43:47 +0000207 * thread.h: Add background thread type and thread_add_background
208 macro and accompanying funcname_... function.
209 export thread_should_yield, background threads can use it.
210 Lower thread yield time to 10ms, 100ms is noticeable lag and
211 a thread would only be /starting/ to finish sometime afterward.
212 * thread.c: (general) Add background thread type and schedule
213 nearly all thread types through the ready list for fairness.
214 (timeval_adjust) static qualifier missing
215 (vty_out_cpu_thread_history) add support for printout of
216 background threads
217 (show_thread_cpu) ditto.
218 (thread_master_debug) add debug of background list
219 (thread_master_create) fixup long line
220 (thread_add_unuse) add asserts for required state.
221 (thread_master_free) free background thread list
222 (funcname_thread_add_timer_timeval) make generic, able to
223 support arbitrary timer-like thread types.
224 (funcname_thread_add_timer) pass thread type to .._add_timer_timeval
225 (funcname_thread_add_timer_msec) ditto
226 (funcname_thread_add_background) Add a background thread, with an
227 optional millisecond delay factor, using .._add_timer_timeval.
228 (thread_cancel) Add background thread type.
229 Move the thread_list_delete common to all cases to bottom of
230 function, after the switch statement..
231 (thread_cancel_event) indent
232 (thread_timer_wait) Static qualifier, and make it able to cope
233 with arbitrary timer-like thread lists, so its of use to
234 background threads too.
235 (thread_process_fd) static qualifier. Again, make it take a list
236 reference rather than thread_master. Fix indentation.
237 (thread_timer_process) Check for ready timer-like threads in the
238 given list and move them on to the ready list - code originally
239 embedded in thread_fetch.
240 (thread_fetch) Schedule all threads, other than events, through
241 the ready list, to ensure fairness. Timer readying code moved to
242 thread_timer_process so it can be reused for background threads.
243 Remove the unneeded quagga_sigevent_process, as pointed out by
244 John Lin <john.ch.lin@gmail.com>.
245 (thread_should_yield) make this available.
246
ajs924b9222005-04-16 17:11:24 +00002472005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
248
249 * thread.h (thread_consumed_time): Declare new function to calculate
250 elapsed microseconds.
251 * thread.c (thread_consumed_time): Must be global not static so we
252 can call it from lib/vty.c:vty_command.
253 (thread_should_yield): Surround with `#if 0' to make clear that this
254 function is not currently being used anywhere.
255 (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG
256 warning message if the thread takes more than CONSUMED_TIME_CHECK
257 microseconds.
258 * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU
259 HOG warning message if the command takes more than CONSUMED_TIME_CHECK
260 microseconds.
261
pauldc830cb2005-04-16 15:51:05 +00002622005-04-16 Paul Jakma <paul@dishone.st>
263
264 * memtypes.c: the comment about use of comments in the comments
265 headers was causing comment within comment warnings from compiler
266 * memtypes.awk: Add extensive comments on the file format for
267 memtypes.c.
268 tighten the pattern for the MTYPE matching action (suggestion from
269 Andrew) and tighten which field we try the match on.
270
paul2fd2fd52005-04-15 11:47:15 +00002712005-04-15 Paul Jakma <paul@dishone.st>
272
273 * memtypes.c: The new, unified location for memory type definitions.
274 The memtype enum and declarations for memory_lists are built from
275 this automatically and put into memtypes.h.
276 * memtypes.awk: New script to generate memtypes.h from memtypes.c
277 * memory.h: Finally, the enum can banished!
278 * memory.c: Finally, the seperate mtype memory_list definitions can
279 be banished!
280 (log_memstats) Increase width of fields
281 (show_memory_zebra_cmd) display zebra specific memory types.
282 Increase width of fields.
283 * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h
284 Add a rule to build memtypes.h using memtypes.awk.
285 Add memtypes.awk to EXTRA_DIST.
pauld45f1f12005-04-15 22:18:37 +0000286 memtypes.awk is gawk dependent, use the GAWK automake var.
287 * memtypes.h: New file, auto-generated, checked in for convenience.
paul2fd2fd52005-04-15 11:47:15 +0000288
ajs634f9ea2005-04-11 15:51:40 +00002892005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
290
291 * zclient.h (struct zclient): Add two fields to support non-blocking
292 I/O: struct buffer *wb, and struct thread *t_write.
293 (zclient_free): Remove function.
294 (zebra_redistribute_send): Change 2nd arg from socket fd to
295 struct zclient * (needed to support non-blocking I/O and buffering).
296 (zclient_send_message): New function to send an arbitrary
297 message with non-blocking I/O.
298 * zclient.c (zclient_new): Create write buffer.
299 (zclient_free): Remove unused function.
300 (zclient_stop): Must cancel new t_write thread. Also, reset
301 all buffers: ibuf, obuf, and wb.
302 (zclient_failed): New helper function for typical error handling.
303 (zclient_flush_data): New thread to flush queued data.
304 (zclient_send_message): New function to send the message in
305 zclient->obuf to zebra using non-blocking I/O and buffering.
306 (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use
307 new zclient_send_message function instead of calling writen.
308 (zclient_start): Set socket non-blocking. Also, change 2nd arg
309 to zebra_redistribute_send from zclient->sock to zclient.
310 (zebra_redistribute_send): Change 2nd arg to struct zclient *.
311 Can now use zclient->obuf to assemble the message instead of
312 allocating a temporary stream. And call zclient_send_message to
313 send the message instead of writen.
314 (zclient_read): Convert to support non-blocking I/O by using
315 stream_read_try instead of deprecated stream_read.
316 (zclient_redistribute): Change 2nd arg to zebra_redistribute_send
317 from zclient->sock to zclient.
318
hasso5bb4c192005-04-09 13:27:50 +00003192005-04-09 Jeroen Simonetti <jeroens@office.netland.nl>
320
321 * routemap.c: Show description in "show route-map" output.
322
ajsd66a7b52005-04-08 16:42:03 +00003232005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
324
ajs67bf16c2005-04-08 19:02:04 +0000325 * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.
326
3272005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
328
ajs926fe8f2005-04-08 18:50:40 +0000329 * vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate
330 compiler warnings when assigning a (const char *) value to
331 struct iovec iov_base.
332
3332005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
334
ajsd66a7b52005-04-08 16:42:03 +0000335 * zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This
336 fixes a problem where we were not getting the declaration of strnlen
337 in <string.h>.
338
hasso3a2ce6a2005-04-08 01:30:51 +00003392005-04-08 Hasso Tepper <hasso at quagga.net>
340
hasso4a8164e2005-04-08 14:20:18 +0000341 * routemap.[ch]: Added "description ..." command.
342
3432005-04-08 Hasso Tepper <hasso at quagga.net>
344
hasso3a2ce6a2005-04-08 01:30:51 +0000345 * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
346 inet_ntoa alike.
347
paul1eb8ef22005-04-07 07:30:20 +00003482005-04-07 Paul Jakma <paul.jakma@sun.com>
349
350 * linklist.h: Add usage comments.
351 Rename getdata macro to listgetdata.
352 Rename nextnode to listnextnode and fix its odd behaviour to be
353 less dangerous.
354 Make listgetdata macro assert node is not null, NULL list entries
355 should be bug condition.
356 ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use
357 with for loop, Suggested by Jim Carlson of Sun.
358 Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the
359 "safety" of previous macro.
360 LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to
361 distinguish from the similarly named functions, and reflect their
362 effect better.
363 Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section
364 with the old defines which were modified above,
365 for backwards compatibility - guarded to prevent Quagga using it..
366 * linklist.c: fix up for linklist.h changes.
367 * *.c: fix up for new list loop macro, try audit other loop
368 usage at same time, to some degree.
369
hasso59209902005-04-05 14:36:49 +00003702004-04-05 Hasso Tepper <hasso at quagga.net>
371
372 * lib/prefix.[hc]: inet6_ntoa utility function copied from
373 ripngd/ripngd.c (inet6_ntop).
374
paul3d1dc852005-04-05 00:45:23 +00003752004-04-05 Paul Jakma <paul@dishone.st>
376
377 * vty.c: Improve logging of failures to open vty socket(s).
378 See bugid #163.
379
ajs3cb98de2005-04-02 16:01:05 +00003802005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
381
ajs08dbfb62005-04-03 03:40:52 +0000382 * if.h: Fix comments to reflect that if_lookup_by_name and
383 if_get_by_name now require the argument strings to be NUL-terminated.
384 * if.c: (if_lookup_by_name) Compare using strcmp.
385 (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create.
386
3872005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
388
ajs018546e2005-04-02 23:05:56 +0000389 * if.c: (if_nametoindex) The man page is rather vague, but it seems
390 like the argument to if_nametoindex has an implicit maximum length
391 of IFNAMSIZ characters.
392
3932005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
394
ajsa3491982005-04-02 22:50:38 +0000395 * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
396 * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
397 (if_get_by_name) Tighten up code.
398 (interface) Use new function if_get_by_name_len.
399 * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
400 function.
401 (zebra_interface_state_read) Use new if_lookup_by_name_len function.
402
4032005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
404
ajs851adbd2005-04-02 18:48:39 +0000405 * str.c: Replace strlcpy and strlcat with actual working versions
406 copied from rsync-2.6.2/lib/compat.c.
407
4082005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
409
ajsd2fc8892005-04-02 18:38:43 +0000410 * if.h: Remove define for IFINDEX_INTERNBASE and add define
411 IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
412 interfaces should have ifindex set to 0.
413 (if_new) Remove function.
414 (if_delete_retain) New function to delete an interface without
415 removing from iflist and freeing the structure.
416 (ifname2ifindex) New function.
417 * if.c: (if_new) Remove function (absorb into if_create).
418 (if_create) Replace function if_new with call to calloc.
419 Set ifp->ifindex to IFINDEX_INTERNAL. Fix off-by-one error
420 in assert to check length of interface name. Add error message
421 if interface with this name already exists.
422 (if_delete_retain) New function to delete an interface without
423 removing from iflist and freeing the structure.
424 (if_delete) Implement with help of if_delete_retain.
425 (ifindex2ifname) Reimplement using if_lookup_by_index.
426 (ifname2ifindex) New function to complement ifindex2ifname.
427 (interface) The interface command should check the name length
428 and fail with a warning message if it is too long.
429 (no_interface) Fix spelling in warning message.
430 (if_nametoindex) Reimplement using if_lookup_by_name.
431 (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
432 if_lookup_by_index.
433
4342005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
435
ajs3cb98de2005-04-02 16:01:05 +0000436 * zebra.h: Should include str.h to pick up missing functions.
437 * str.h: Declare strnlen if needed.
438 * str.c: Do not include str.h since zebra.h now includes it.
439 (strnlen) New function.
440
ajsdb8eaac2005-03-16 16:13:06 +00004412005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
442
443 * zebra.h: Must check whether __attribute__ should be defined before
444 including zassert.h.
445
paulb8961472005-03-14 17:35:52 +00004462005-03-14 Paul Jakma <paul.jakma@sun.com>
447
448 * command.c: (sort_node) use vector_max instead of referencing
449 (struct vector *)->max directly. Test that vector_max is > 0
450 before using it to calculate an index.
451 Fixup vector loop to make main body conditional on vector slot
452 not being empty.
453 (cmd_cmdsize) Fixup vector loop to make main body conditional on
454 vector slot not being empty.
455 (cmd_filter_by_completion) ditto
456 (cmd_filter_by_string) ditto
457 (is_cmd_ambiguous) ditto
458 (cmd_describe_command_real) Change index integers to unsigned.
459 Test that vector_max is > 0 before using it to calculate an index.
460 Return immediately with CMD_ERR_NO_MATCH if vline has no
461 active slots.
462 Fixup vector loop to make main body conditional on vector slot
463 not being empty.
464 (cmd_complete_command_real) ditto.
465 (cmd_execute_command_strict) Fixup vector loop to be conditional
466 on non-null slot.
paul909a2152005-03-14 17:41:45 +0000467 (various) Fix indentation and other whitespace.
paul55468c82005-03-14 20:19:01 +0000468 vector.h: Rename to (struct vector).max to slightly less confusing
469 active, for the number of active slots, distinct from allocated
470 or active-and-not-empty. Rename vector_max to vector_active
471 for same reason.
paulb8961472005-03-14 17:35:52 +0000472
paul9e92eea2005-03-09 13:39:26 +00004732005-03-09 Paul Jakma <paul.jakma@sun.com>
474
475 * command.c: Undo commit of sign warning fix and hidden command
476 in list_cmd. Sign warning is more subtle. list_cmd on its own
477 will be committed after.
paul4275b1d2005-03-09 13:42:23 +0000478 * command.c: (config_list_cmd) Don't list hidden or deprecated
479 commands, hiding these from tab completion is still to be done.
paul9e92eea2005-03-09 13:39:26 +0000480
paulb45da6f2005-03-08 15:16:57 +00004812005-03-08 Paul Jakma <paul.jakma@sun.com>
482
paul9c5d8562005-03-08 15:56:42 +0000483 * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
paul22085182005-03-08 16:00:12 +0000484 (no_banner_motd_cmd) use XFREE.
paul9c5d8562005-03-08 15:56:42 +0000485 (cmd_describe_command_real) sign compile warning fix
486 (cmd_complete_command_real) ditto.
487 (config_list_cmd) Don't list hidden or deprecated commands,
488 hiding these from tab completion is still to be done.
489 * command.h: cmd attr enum should start at 1.
paulb45da6f2005-03-08 15:16:57 +0000490 * vty.c: (vty_hello) suggestions from Andrew, read by line and
491 stub out trailling non-printable characters on each line thus
492 allowing us to specify VTY_NEWLINE to vty_out.
493
paul3b0c5d92005-03-08 10:43:43 +00004942005-03-08 Jeroen Massar <jeroen@unfix.org>
495
496 * vty.c: (vty_hello) display motd file, if set
497 * command.h: add char *motdfile to struct host
498 * command.c: (config_write_host) write out motdfile config
499 (banner_motd_file_cmd) new command, allow motd to be read from
500 file.
501 (no_banner_motd_cmd) free motdfile string, if needs be.
502 (cmd_init) init (struct host).motdfile. Add new motd file
503 commands.
504
hasso12f6ea22005-03-07 08:35:39 +00005052005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
506
507 * command.c: host.name might be NULL.
508 * vty.c: Fix fd leak.
509
ajs81fb3242005-02-24 16:02:53 +00005102005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
511
512 * stream.c: (stream_read_try) Log a warning message if a fatal
513 I/O error occurs.
514 (stream_fifo_new) Fix prototype.
515 * stream.h: Fix prototype for stream_fifo_new (need void arg).
516
ajs9fc7ebf2005-02-23 15:12:34 +00005172005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
518
ajscdb6ee92005-02-23 15:48:32 +0000519 * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
520
5212005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
522
ajs9fc7ebf2005-02-23 15:12:34 +0000523 * buffer.h: Make the struct buffer and struct buffer_data structures
524 private by moving them inside buffer.c. Add comments for all
525 functions. Rename buffer_write as buffer_put (to be more consistent
526 with the buffer_putc and buffer_putstr functions). Declare a new
527 buffer_write function that is used to write data to a file descriptor
528 and/or add it to the buffer queue. Remove unused function
529 buffer_flush_vty_all. Create a new enum typedef buffer_status_t
530 to be used as the return code for all buffer_flush* functions
531 and buffer_write.
532 * buffer.c: The struct buffer and struct buffer_data declarations
533 are now private to this file. In conjunction with that, remove
534 some unnecessary fields: struct buffer (alloc, unused_head,
535 unused_tail, length), struct buffer_data (prev).
536 (buffer_data_new) Removed: functionality incorporated into buffer_add.
537 (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
538 (buffer_new) Use calloc instead of malloc + memset(zero).
539 Supply an appropriate default size if the specified size is 0.
540 (buffer_free) Eliminate code duplication by calling buffer_reset to
541 free the contents of the buffer (and remove unused code related
542 to unused_head).
543 (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
544 compact).
545 (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set
546 alloc and length to 0 (these fields have been removed).
547 (buffer_add) Fix scope to be static. Call XMALLOC directly instead
548 of calling removed buffer_data_new function. Simplify the logic
549 (since it's now a singly-linked list instead of doubly-linked).
550 (buffer_write) Renamed to buffer_put. Change to void, since return
551 code of 1 was meaningless. No need to adjust length field, since
552 it has been removed.
553 (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
554 Remove unused functions.
555 (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
556 a possible failure mode if IOV_MAX is less than the number of buffers
557 on the queue.
558 (buffer_flush_window) Incorporate logic from buffer_flush_vty.
559 Log an error message if there is a writev error.
560 (buffer_flush_available) Be more paranoid: check for case where
561 buffer is already empty. Use new ERRNO_IO_RETRY macro, and use
562 new enum for return codes. Simplify deletion logic (since it's
563 now a singly-linked list).
564 (buffer_write) New function for use with non-blocking I/O.
565 * vty.h: Replace the struct vty sb_buffer field with a fixed-size
566 (5-character) sb_buf field and an sb_len field, since using
567 a struct buffer was inappropriate for this task. Add some useful
568 comments about telnet window size negotiation.
569 * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
570 Remove VTY_OBUF_SIZE (instead use buffer_new default size).
571 Make telnet_backward_char and telnet_space_char static const.
572 (vty_out) Replace buffer_write with buffer_put.
573 (vty_log_out) Check for I/O errors. If fatal, close the vty session.
574 Consolidate 3 separate writes into a single write call.
575 (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
576 vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
577 vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
578 vty_config_write,vty_save_cwd) Fix scope to static.
579 (vty_new) Let buffer_new use its default buffer size.
580 (vty_write) Fix signature: 2nd arg should be const char *.
581 Replaced buffer_write with buffer_put.
582 (vty_telnet_option) Fix minor bug (window height or width greater than
583 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer
584 (which was being used improperly).
585 (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
586 If the error is fatal, call buffer_reset so vty_close does not attempt
587 to flush the data. Use new sb_buf and sb_len instead of sb_buffer
588 to store the SB negotiation string.
589 (vty_flush) When vty->lines is 0, call buffer_flush_available instead
590 of buffer_flush_window. Look at the return code from buffer_flush
591 to detect I/O errors (and in that case, log an error message and
592 close the vty).
593 (vty_create) Fix scope to static. Initialize sb_len to 0 instead
594 of creating sb_buffer.
595 (vty_accept) Set socket nonblocking.
596 (vtysh_accept) Use new set_nonblocking function instead of calling
597 fcntl directly.
598 (vtysh_flush) New function called from vtysh_read (after command
599 execution) and from vtysh_write. This flushes the buffer
600 and reacts appropriately to the return code (by closing the vty
601 or scheduling further flushes).
602 (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
603 If not, just try again later. Otherwise, call buffer_reset before
604 calling vty_close (to avoid trying to flush the buffer in vty_close).
605 Fix logic to allow case where a command does not arrive atomically
606 in a single read call by checking for the terminating NUL char.
607 (vtysh_write) Use new vtysh_flush helper function.
608 (vty_close) No need to call buffer_empty, just call buffer_flush_all
609 in any case (it will check whether the buffer is empty).
610 Do not free sb_buffer (since it has been removed).
611 (vty_log_fixed) Use writev instead of write.
612 * zebra.h: Do not include <arpa/telnet.h>, since this is used only
613 by lib/vty.c.
614
hassoc3c07f22005-02-21 18:17:52 +00006152005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
616
617 * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
618 will allow to update node when:
619 i) a node is inserted into the priority queue;
620 ii) a node position is modified in the priority queue;
621 * pqueue.h: Export trickle_down() function.
622
paul109ac962005-02-19 01:17:07 +00006232005-02-19 Paul Jakma <paul.jakma@sun.com>
624
625 * stream.c: (stream_new) fix dumb mistake.
626
ajsd7e2a812005-02-17 20:02:49 +00006272005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
628
ajs53270112005-02-17 20:07:22 +0000629 * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.
630
6312005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
632
ajsd7e2a812005-02-17 20:02:49 +0000633 * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
634 operation should be retried. This eliminates the need to duplicate
635 the same logic testing for EAGAIN or EINTR in multiple places.
636
ajs42218e72005-02-16 16:25:39 +00006372005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
638
ajs262feb12005-02-16 20:35:47 +0000639 * stream.h: Declare new function stream_read_try suitable for use
640 with non-blocking file descriptors. Indicate that stream_read
641 and stream_read_unblock are deprecated.
642 * stream.c: (stream_read_try) New function for use with non-blocking
643 I/O.
644 (stream_recvmsg) Should return -1 if the stream is too small to
645 contain the data.
646
6472005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
648
ajs42218e72005-02-16 16:25:39 +0000649 * network.c: (set_nonblocking) Should check return code from
650 fcntl(F_GETFL).
651
ajsa269d612005-02-16 00:45:37 +00006522005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
653
654 * network.h: Declare new function set_nonblocking. Indicate that
655 readn and writen are deprecated.
656 * network.c: (set_nonblocking) New function to make a file descriptor
657 non-blocking, since it seems silly to have fcntl calls sprinkled
658 throughout the code.
659
paul1dd13d42005-02-14 23:49:09 +00006602005-02-14 Paul Jakma <paul.jakma@sun.com>
paulf2e6c422005-02-12 14:35:49 +0000661
662 * stream.h: Unsigned long updated to size_t
663 * stream.c: ditto
paul050c0132005-02-14 23:47:47 +0000664 * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
665 Add comment describing struct stream abstraction, and various
666 other comments.
667 Deprecate several unsafe/ambigious macros.
668 Add STREAM_WRITEABLE and STREAM_READABLE.
669 Add (stream_getl_from) for symmetry.
670 Update stream_forward_{endp,getp} to use size_t offset.
671 Make stream data a 0 length array, rather than a seperate malloc.
672 * stream.c: Add consistency checks. Update to follow stream.h
673 changes.
674 (stream_new) Alloc stream+data in one go.
675 (stream_copy) new function, copy a stream.
676 (stream_dup) new function, dup a stream.
677 (stream_recvmsg) new function, recvmsg data into a stream.
678 (stream_empty) no need to check getp == 0.
paulf2e6c422005-02-12 14:35:49 +0000679
paul9985f832005-02-09 15:51:56 +00006802005-02-09 Paul Jakma <paul.jakma@sun.com>
681
682 * stream.h: Remove putp. Update reference to putp with endp.
683 Add stream_forward_endp, which daemons were doing manually.
684 Rename stream_forward to stream_forward_getp.
685 stream.c: Remove/update references to putp.
686 introduce stream_forward_endp.
687
ajs548e6f72005-02-08 15:57:25 +00006882005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
689
690 * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
691 to use compound assignment operators (aesthetic change).
692
ajs1e221352005-02-03 16:42:40 +00006932005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
694
ajsc4c7d0c2005-02-03 19:22:05 +0000695 * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
696 since it is not async-signal-safe.
697 (_zlog_assert_failed) Rewrite crashlog logic more compactly.
698 (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
699 for use in signal handler.
700
7012005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
702
ajs1e221352005-02-03 16:42:40 +0000703 * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
704 inside this function only.
705 (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
706 with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
707 (zlog_signal,_zlog_assert_failed) Increase logging priority from
708 LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
709 open_crashlog to create a crash logfile.
710 (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
711 dump a backtrace to that file.
712
ajs847947f2005-02-02 18:38:48 +00007132005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
714
715 * if.h: Declare if_flag_dump.
716
ajs6a52d0d2005-01-30 18:49:28 +00007172005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
718
719 * daemon.c: (daemon) Replace perror with zlog_err.
720 * vty.c: (vty_serv_un) Replace perror with zlog_err.
721
ajs3b8b1852005-01-29 18:19:13 +00007222005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
723
724 * buffer.h: Fix comment on buffer_getstr to reflect that it now
725 uses XMALLOC.
726 * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
727 * filter.c: (access_list_remark,ipv6_access_list_remark) Use
728 argv_concat instead of buffer_getstr.
729 * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
730 * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
731 Use argv_concat instead of buffer_getstr.
732
ajsf6834d42005-01-28 20:28:35 +00007332005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
734
ajsafb8b602005-01-28 20:41:07 +0000735 * lib/buffer.h: Document behavior of buffer_getstr function.
736 * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
737 the string extends beyond the head struct buffer_data.
738
7392005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
740
ajsf6834d42005-01-28 20:28:35 +0000741 * lib/command.h: Document behavior of argv_concat function.
742 * lib/command.c: (argv_concat) Calculate total string length first so
743 we can call malloc just once (instead of realloc'ing to add each
744 string element).
745 (do_echo,config_logmsg) Allow for possible NULL return value from
746 argv_concat.
747
hasso13bfca72005-01-23 21:42:25 +00007482005-01-23 Hasso Tepper <hasso at quagga.net>
749
750 * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
751 use it as well.
752
ajs31364272005-01-18 22:18:59 +00007532005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
754
755 * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
756 two args (siginfo and program_counter).
757 * log.c: (hex_append) Include this function only if SA_SIGINFO or
758 HAVE_GLIBC_BACKTRACE is defined.
759 (zlog_signal) Final two args (siginfo and program_counter) now
760 depend on whether SA_SIGINFO is defined on this platform.
761 * sigevent.c: (program_counter) Do not include this function if
762 SA_SIGINFO is not defined on this platform.
763 (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
764 2nd & 3rd arguments are present and to decide how to invoke
765 zlog_signal.
766 (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
767 appropriately.
768
ajs239c26f2005-01-17 15:22:28 +00007692005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
770
771 * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
772 program_counter argument.
773 * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
774 argument. If it is non-NULL, use backtrace_symbols_fd to resolve
775 the address.
776 (zlog_signal) Call zlog_backtrace_sigsafe with additional
777 program_counter argument.
778
hasso87d683b2005-01-16 23:31:54 +00007792005-01-17 Hasso Tepper <hasso at quagga.net>
780
781 * command.[ch], vty.c: cmd_execute_command() function must not attempt
782 to walk up in the node tree if called from vtysh. Different daemons
783 might have commands with same syntax in different nodes (for example
784 "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
785
ajscb585b62005-01-14 17:09:38 +00007862005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
787
788 * command.c (print_version): Do not bother even to examine host.name,
789 since it is always NULL when this function is called from main.
790
gdtf867d322005-01-14 15:47:33 +00007912005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com>
792
793 * command.c (print_version): Don't print host.name if it is NULL.
794 Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
795
ajse22f5512005-01-12 16:18:17 +00007962005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
797
ajs40abf232005-01-12 17:27:27 +0000798 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
799 pass additional siginfo_t and ucontext_t arguments to core_handler
800 and exit_handler.
801 (core_handler,exit_handler) Now invoked with 3 arguments (using
802 SA_SIGINFO). Pass additional info to zlog_signal.
803 (program_counter) New function to find program counter in ucontext_t,
804 needs to be enhanced to support more platforms (currently works only
805 on Linux/x86).
806 * log.h: Change the zlog_signal prototype to add new arguments
807 siginfo_t * and program_counter.
808 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
809 Include si_addr and program counter (if non-NULL) in message.
810 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
811 that is now used to render the si_addr and PC pointers.
812
8132005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
814
ajse22f5512005-01-12 16:18:17 +0000815 * zebra.h: If not C99 and no va_copy macro available, fall back to
816 memcpy (solves a build problem on FreeBSD 4.x).
817
ajsb99760a2005-01-04 16:24:43 +00008182005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
819
820 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
821 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
822 by the configure test program).
823 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
824 of CMSG_FIRSTHDR.
825
hassocba8a602005-01-02 18:51:01 +00008262005-01-02 Hasso Tepper <hasso at quagga.net>
827
828 * command.c: Revert int -> unsigned int fixes in
829 cmd_describe_command_real() and cmd_complete_command_real(). index can
830 be actually negative and it caused crash with "do<TAB>" in vty.
831
gdt1d69fdf2004-12-29 18:53:30 +00008322004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
833
gdtd44debe2004-12-29 20:06:23 +0000834 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
835 convention. Beef up comments. Handle the case where the cmsghdr
836 has a zero controllen, or more specifically when the wanted option
837 is not present. This is needed for Solaris 8, and in general for
838 any platform for which configure finds a method and it can fail.
839 Mark some changes with XXX to be cleaned up post 0.98.
840
ajsaf04bd72004-12-28 17:00:12 +00008412004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
842
ajs1d75c8c2004-12-28 21:43:17 +0000843 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
844 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
845 deterministic (-1).
846
8472004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
848
ajsaf04bd72004-12-28 17:00:12 +0000849 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
850
paul4ba9b922004-12-21 22:34:58 +00008512004-12-21 Paul Jakma <paul.jakma@sun.com>
852
853 * if.h: Add more 'non-generic' IFF_ flags.
854 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +0000855 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +0000856
ajs202d08c2004-12-17 20:50:00 +00008572004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +0000858
859 * command.c: (do_echo) Added new "echo" command, useful for
860 watchdog pinging to make sure the daemon is responsive.
861
8622004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +0000863
864 * pid_output.c: (pid_output_lock) Eliminate static function, and just
865 use the #ifdef to decide which version of the function to include.
866 This eliminates a compilation problem with gcc4. And fix the
867 non-fcntl version so that it actually compiles. Exit with
868 status 1 instead of -1 on error.
869
ajs81fc57c2004-12-15 17:41:14 +00008702004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
871
872 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
873
ajs3378d202004-12-10 22:43:17 +00008742004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
875
876 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
877 LOG_ERR instead of LOG_EMERG.
878
ajsc3324c62004-12-09 17:26:31 +00008792004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
880
881 * log.c: (hex_append) No need to include this function if
882 HAVE_GLIBC_BACKTRACE is not defined.
883
ajsb9e70282004-12-08 17:14:45 +00008842004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
885
886 * prefix.c: (prefix_copy) Error message before abort should
887 have severity LOG_ERR, not LOG_INFO.
888 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
889
ajs274a4a42004-12-07 15:39:31 +00008902004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
891
ajs8ddca702004-12-07 18:53:52 +0000892 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
893
8942004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
895
ajs82146b82004-12-07 17:15:55 +0000896 * command.c: (config_write_host) Note that "log trap" is deprecated
897 when writing out the config.
898
8992004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
900
ajs274a4a42004-12-07 15:39:31 +0000901 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
902 array to support individual logging levels for each destination.
903 Remove the 2nd argument to openzlog since the default logging config
904 should be standardized inside the library. Replaced the
905 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
906 And zlog_set_file now requires an additional log_level argument.
907 Declare zlog_proto_names for use inside command.c in the
908 "show logging" command. Added defines useful for command
909 construction.
910 * log.c: (vzlog) Decide where to send the message based on the
911 individual logging levels configured for each destination.
912 Remove support for ZLOG_STDERR since it was never actually used.
913 Support record-priority for terminal monitors.
914 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
915 logging levels. Remove stderr support (was never used). Added
916 support for terminal monitor logging.
917 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
918 (openzlog) Remove 2nd argument since default config should be
919 standardized in library. By default, terminal monitoring
920 is set to debug, and all other logging is disabled.
921 (zlog_set_flag,zlog_reset_flag) Removed.
922 (zlog_set_level) New function to replace zlog_set_flag and
923 zlog_reset_flag. Supports destination-specific logging levels.
924 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
925 (zlog_rotate) Log an error message if fopen fails, and support
926 new file-specific logging level.
927 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
928 command functions will be static instead of global. Remove
929 declarations for config_exit and config_help. Define new macros
930 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
931 have deprecated commands in vtysh. Similarly, for completeness,
932 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
933 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
934 was never used).
935 * command.c: Make many functions static instead of global.
936 (facility_name,facility_match,level_match) New functions
937 to support enhanced destination-specific logging levels.
938 (config_write_host) Support new destination-specific logging levels.
939 (config_logmsg) Added new "logmsg" command to help test logging
940 system.
941 (show_logging) Added "show logging" command to show the current
942 configuration of the logging system.
943 (config_log_stdout_level) Support explicit stdout logging level.
944 (no_config_log_stdout) Now takes optional LEVEL arg.
945 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
946 New commands creating new "log monitor" commands to set terminal
947 monitoring log level.
948 (config_log_file_level) Support explicit file logging level.
949 (config_log_syslog_level) Support explicit syslog logging level.
950 (config_log_facility,no_config_log_facility) Implement new
951 "log facility" command.
952 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
953 "log stdout <level>", "log monitor", "log monitor <level>",
954 "no log monitor", "log file <filename> <level>",
955 "no log file <filename> <level>", "log syslog <level>",
956 "log facility", and "no log facility".
957 * vty.h: Added a "level" argument to vty_log so it can support
958 "log record-priority". Declare new function vty_log_fixed for
959 use in signal handlers.
960 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
961 "log record-priority" for vty terminal monitors.
962 (vty_down_level) Use config_exit_cmd.func instead of calling
963 config_exit directly (since command functions will now be static
964 instead of global).
965 (vty_log_fixed) New function to send terminal monitor messages
966 from inside a signal handler.
967
ajs887c44a2004-12-03 16:36:46 +00009682004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
969
ajs5e764772004-12-03 19:03:33 +0000970 * log.h: Document appropriate use of syslog logging priorities
971 inside quagga.
972
9732004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
974
ajs56f20692004-12-03 17:40:31 +0000975 * command.h: Remove fields log_stdout and log_syslog from struct host,
976 since they are just trying to duplicate information in the
977 zlog_default structure. Note that this fixes a bug since those
978 fields were not registering any logging that was established
979 in the initial call to openzlog (this affects only the zebra and
980 ospf6d daemons). It is probably a bug to turn on any logging by
981 default in the call to openzlog.
982 * command.c: (config_write_host) Get logging info from zlog_default
983 instead of now-removed fields host.log_stdout and host.log_syslog.
984 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
985 host.log_stdout, since this info is recorded in zlog_default.
986 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
987 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
988 Do not set now-removed field host.log_syslog, since this info is
989 recorded in zlog_default.
990
9912004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
992
ajs887c44a2004-12-03 16:36:46 +0000993 * version.h.in: Remove declaration for pid_output_lock, this function
994 is now static, not global.
995 * pid_output.c: (pid_output_lock) This function should be static, not
996 global. And remove "old umask" error message, since it was really
997 an unimportant debug message, not an error.
998 (pid_output) Need to declare static function pid_output_lock.
999
ajs7d149b82004-11-28 23:00:01 +000010002004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1001
1002 * log.h: Remove several unused fields from struct zlog. Add comments
1003 for other fields, and add one new field syslog_options that is
1004 used in the new syslog_sigsafe implementation.
1005 * log.c: (syslog_sigsafe) New function to send syslog messages in
1006 an async-signal safe way that can be used inside a signal handler.
1007 (syslog_connect) New function to connect to syslog daemon inside a
1008 signal handler. This function supports only systems where /dev/log
1009 is a unix datagram socket (e.g. not Solaris).
1010 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
1011 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
1012 enabled.
1013 (openzlog) Save syslog_options for use in syslog_sigsafe.
1014 (num_append) Fix bug: handle 0 properly.
1015 (hex_append) New function to print a u_long in hex format.
1016
hasso2557aed2004-11-28 21:16:20 +000010172004-11-28 Hasso Tepper <hasso at quagga.net>
1018
1019 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
1020
ajsd1c51d72004-11-26 14:14:30 +000010212004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1022
ajs48d6c692004-11-26 20:52:59 +00001023 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
1024 to the more self-explanatory zlog_backtrace_sigsafe.
1025
10262004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1027
ajs5b85fac2004-11-26 19:36:42 +00001028 * debug.[ch]: Remove unused files.
1029 * Makefile.am: Remove references to debug.c and debug.h
1030
10312004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1032
ajs063ee522004-11-26 18:11:14 +00001033 * log.c: (zlog_backtrace) New function to log a backtrace.
1034 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
1035 Unfortunately, this function does not support syslog logging yet.
1036 (zlog_signal) Move backtrace code into separate function
1037 zlog_backtrace_safe.
1038 (_zlog_assert_failed) Call zlog_backtrace before aborting.
1039 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
1040 * memory.c: (zerror) Call zlog_backtrace before aborting.
1041
10422004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1043
ajsd1c51d72004-11-26 14:14:30 +00001044 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
1045
ajse5879ca2004-11-25 16:07:53 +000010462004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1047
ajs4cf0d0d2004-11-25 17:14:34 +00001048 * zebra.h: If not C99 and there's no va_copy macro and there is
1049 a __va_copy macro, define va_copy as __va_copy.
1050
10512004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1052
ajse5879ca2004-11-25 16:07:53 +00001053 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
1054 set l_whence to SEEK_SET, not SEEK_END. And after writing new
1055 pid to file, must ftruncate to eliminate any extraneous bytes left
1056 over from the last time a pid was written.
1057
ajscee3df12004-11-24 17:14:49 +000010582004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1059
1060 * zassert.h: New header file to declare a quagga-specific assert macro.
1061 * log.c: (_zlog_assert_failed) New function called when assert fails
1062 to log the error and abort.
1063 * zebra.h: Include "zassert.h" instead of <assert.h>.
1064 * regex.c: Include "zassert.h" instead of <assert.h>.
1065
ajsd246bd92004-11-23 17:35:08 +000010662004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1067
ajs59a06a92004-11-23 18:19:14 +00001068 * sigevent.c: (signal_init) Set up some default signal handlers
1069 so that processes will issue an error message before terminating
1070 or dumping core.
1071 (trap_default_signals) New function to set up signal handlers
1072 for various signals that may kill the process.
1073 (exit_handler) Call zlog_signal, then _exit.
1074 (core_handler) Call zlog_signal, then abort.
1075 * log.h: Declare new function zlog_signal.
1076 * log.c: (zlog_signal) New function to log information about
1077 a received signal before the process dies. Try to log a
1078 backtrace also.
1079 (quagga_signal_handler,signal_set) Should be static.
1080
10812004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1082
ajsd246bd92004-11-23 17:35:08 +00001083 * log.c: (vzlog) Take a single va_list argument and use va_copy
1084 as necessary for multiple traversals.
1085 (zlog) Pass only one va_list to vzlog.
1086 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
1087 va_list to vzlog.
1088 (zlog_set_file) Remove unused 2nd argument (flags).
1089 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
1090 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
1091 Remove unused 2nd argument from zlog_set_file prototype.
1092 Fix prototype for zlog_rotate.
1093 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
1094 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
1095 properly.
1096 (vty_log) Must use va_copy for multiple traversals of va_list arg.
1097
ajsca359762004-11-19 23:40:16 +000010982004-11-19 David Young <dyoung@pobox.com>
1099
1100 * log.c: (safe_strerror) New function: safe wrapper for strerror.
1101
ajsff29bb32004-11-19 18:29:22 +000011022004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1103
1104 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
1105 printed every time.
1106
ajsf858e492004-11-16 14:25:30 +000011072004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1108
1109 * memory.h: Fix prototype for memory_init().
1110 * memory.c: Declare many functions and data structures static instead
1111 of global. Fix prototype for memory_init().
1112
gdt69e13252004-11-15 18:51:15 +000011132004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1114
1115 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
1116 alignment (users should use CMSG_SPACE).
1117
1118 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
1119 asumming 4-byte alignment, since this isn't safe.
1120
ajs7fa25ff2004-11-15 16:12:32 +000011212004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1122
1123 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
1124 Instead of exiting, log currenty memory usage and then abort.
1125 (log_memstats) New function to log memory statistics, called by
1126 zerror.
1127 (show_memory_all) Loop over new mlists array instead of calling
1128 show_memory_vty separately for each memory_list.
1129
paulb86718e2004-11-08 17:34:07 +000011302004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +00001131
paul2265d202004-11-08 15:43:21 +00001132 * buffer.c: Add missing include of log.h.
1133 (buffer_flush_available) written is compared against
1134 mostly against unsigned types, only for the writev do we need
1135 signed compare, so declare it as size_t and cast it to ssize_t
1136 just for the error compare when we've called writev.
1137 * buffer.h: Add comment that buffer data sizes really should be
1138 size_t.
1139
11402004-11-07 Paul Jakma <paul@dishone.st>
1141
1142 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +00001143
ajs49ff6d92004-11-04 19:26:16 +000011442004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1145
ajs5a646652004-11-05 01:25:55 +00001146 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
1147 capabilities (that were used only in bgpd/bgp_route.c and are now
1148 removed). Also remove some other fields that were not being
1149 used at all.
1150 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
1151 and VTY_CONTINUE.
1152 (vty_read) Remove calls to vty->output_func since that was part
1153 of the VTY_CONTINUE infrastructure that has been removed.
1154 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
1155 (vty_close) Remove code to cancel vty->t_output thread, since that
1156 thread was never actually used.
1157
11582004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1159
ajs49ff6d92004-11-04 19:26:16 +00001160 * vty.c: Vtysh connections to daemons should use buffering.
1161 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
1162 (vty_new) Increase output buffer size to 4096 rounded up to a
1163 multiple of pagesize.
1164 (vtysh_read) After command has been executed and all output buffered,
1165 call buffer_flush_available and schedule further writes if the
1166 buffers are not yet empty.
1167 (vtysh_write) New function to flush output to vtysh when the socket
1168 is writeable.
1169 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
1170 clients. Also, should save read thread in vty->t_read so the
1171 thread can be cancelled in vty_close.
1172 * buffer.h: In struct buffer_data, remove unused "parent" field.
1173 Convert "unsigned char *data" to "unsigned char data[0]" to save
1174 a malloc. Declare new function buffer_flush_available that works
1175 with non-blocking sockets.
1176 * buffer.c: (buffer_data_new) Use a single malloc now that data is
1177 a variable-size array at end of structure.
1178 (buffer_data_free) Just a single free now that data is part of the
1179 structure.
1180 (buffer_write) Simplify the logic to make behavior more transparent.
1181 (buffer_flush) Decrease b->length as data is written out.
1182 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
1183 (buffer_flush_vty) Decrease b->length as data is written out.
1184 (buffer_flush_available) New function to flush non-blocking sockets.
1185
paule064d6d2004-11-01 08:59:21 +000011862004-11-01 Paul Jakma <paul@dishone.st>
1187
1188 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
1189
paul75e15fe2004-10-31 02:13:09 +000011902004-10-31 Paul Jakma <paul@dishone.st>
1191
1192 * vty.c: As per Andrew's suggestions..
1193 (vty_serv_un) remove flags.
1194 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +00001195 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +00001196 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
1197 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +00001198 specific memory type defines. Use XCALLOC and sizeof the type,
1199 not the pointer.
paul70e149e2004-10-31 16:29:50 +00001200 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +00001201
pauldccfb192004-10-29 08:29:36 +000012022004-10-29 Paul Jakma <paul@dishone.st>
1203
1204 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
1205 to vtysh_accept, where sock is the actual fd we wanted to set to
1206 O_NONBLOCK, ie the /connected/ vtysh unix socket.
1207
hasso508ec912004-10-23 14:26:49 +000012082004-10-23 Hasso Tepper <hasso at quagga.net>
1209
1210 * zclient.c: Unbreak reading interface update message. Might fix
1211 blocker bugzilla #109.
1212
paul23b9c612004-10-22 11:51:57 +000012132004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +00001214
1215 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +00001216 -1.
1217 (setsockopt_pktinfo) unexported
1218 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
1219 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +00001220 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
1221 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +00001222 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +00001223 * command.h: Cleanup the defines a bit, add helper defines and
1224 collapse all defines to use those. Add an attribute field to
1225 cmd_element to support, eg hidden or deprecated commands, add
1226 defun defines for such. All that's left to do is add logic
1227 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +00001228 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +00001229
hasso6590f2c2004-10-19 20:40:08 +000012302004-10-19 Hasso Tepper <hasso at quagga.net>
1231
1232 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
1233 * print_version.c: Remove. print_version () function moved to
1234 command.[c|h].
1235 * command.c: Use QUAGGA_COPYRIGHT.
1236 * Makefile.am: Remove useless version.c and print_version.c files.
1237
hasso3fb9cd62004-10-19 19:44:43 +000012382004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1239
1240 * zclient.c: (zebra_interface_address_read) If the destination address
1241 is encoded as all zeroes, load it as a NULL pointer.
1242 * if.h: Add comment describing struct connected destination field
1243 and indicating that it may be NULL. Define macros
1244 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
1245 with PtP logic (distinguish between host and subnet addressing).
1246 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
1247 properly,
1248 (connected_lookup_address) ditto.
1249 (connected_add_by_prefix) Handle case where destination is NULL,
1250 * prefix.[c|h]: New functions ipv4_network_addr and
1251 ipv4_broadcast_addr.
1252
hassoddd85ed2004-10-13 08:18:07 +000012532004-10-13 Hasso Tepper <hasso at quagga.net>
1254
1255 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
1256 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +00001257 * smux.c, smux.h: Remove all defaults to initialize smux connection to
1258 snmpd by default even if not configured to do so. "smux peer OID
1259 <password>" initializes now connection and "no smux peer" terminates
1260 it.
hassoddd85ed2004-10-13 08:18:07 +00001261
paul42d49862004-10-13 05:22:18 +000012622004-10-13 Paul Jakma <paul@dishone.st>
1263
1264 * (global) more const'ification.
1265 * sockunion.c: (sockunion_su2str) buffer should be sized
1266 SU_ADDRSTRLEN.
1267 (sockunion_log) do not return stack variables, strdup buf before
1268 return.
1269 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
1270 values against ULONG_MAX is daft, when caller probably has passed
1271 a type that can not hold ULONG_MAX. use a temporary long instead.
1272 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
1273 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
1274
hassoa1494112004-10-11 12:53:17 +000012752004-10-11 Hasso Tepper <hasso at quagga.net>
1276
1277 * command.h: Sync DEFUNSH with other macros.
1278 * sockunion.c, sockunion.h: More const strings.
1279
paul9076fbd2004-10-11 09:40:58 +000012802004-10-11 Paul Jakma <paul@dishone.st>
1281
1282 * thread.c: (funcname_thread_add_timer)
1283 (funcname_thread_add_timer_msec) Fix mistakes from last change.
1284 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +00001285 * if.h: mtu's should be unsigned.
1286 * routemap.{c,h}: const char updates
1287 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +00001288
paul9035efa2004-10-10 11:56:56 +000012892004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +00001290
1291 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +00001292 * command.h: Change DEFUN func to take const char *[] rather
1293 than char **, to begin process of fixing compile warnings in lib/.
1294 Nearly all other changes in this commit follow from this change.
1295 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
1296 const void * and cast an automatic const char *p to it.
1297 (buffer_putstr) add const
1298 * command.c: (zencrypt) const qualifier
1299 (cmd_execute_command_real) ditto
1300 (cmd_execute_command_strict) ditto
1301 (config_log_file) ditto.
1302 Fix leak of getcwd() returned string.
1303 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
1304 * distribute.{c,h}: Update with const qualifier.
1305 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
1306 (distribute_lookup) Cast to char *, note that it's ok.
1307 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
1308 (distribute_get) Cast to char *, note that it's ok.
1309 * filter.c: Update with const qualifier.
1310 * if.{c,h}: ditto.
1311 * if_rmap.{c,h}: ditto.
1312 (if_rmap_lookup) Cast to char *, note that it's ok.
1313 (if_rmap_get) ditto.
1314 * log.{c,h}: Update with const qualifier.
1315 * plist.{c,h}: ditto.
1316 * routemap.{c,h}: ditto.
1317 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
1318 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
1319 * vty.c: Update with const qualifier.
1320
hasso27a43a82004-10-08 06:29:12 +000013212004-10-08 Hasso Tepper <hasso at quagga.net>
1322
1323 * routemap.c, routemap.h: Make some string arguments const.
1324
paul5973ee72004-10-08 01:36:54 +000013252004-10-05 Paul Jakma <paul@dishone.st>
1326
1327 * version.h.in: print_version declaration is here, not in automake
1328 generated version.h.
1329
hassoea8e9d92004-10-07 21:32:14 +000013302004-10-08 Hasso Tepper <hasso at quagga.net>
1331
1332 * command.c, command.h: Make argument of cmd_make_strvec function
1333 const.
1334 * command.c: Make hostname commands usable in vtysh again.
1335
hasso6ad96ea2004-10-07 19:33:46 +000013362004-10-07 Hasso Tepper <hasso at quagga.net>
1337
1338 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
1339 strings const.
1340
hasso8c328f12004-10-05 21:01:23 +000013412004-10-05 Hasso Tepper <hasso at quagga.net>
1342
1343 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
1344 changes to fix warnings.
1345
paul96e27c92004-10-05 14:33:43 +000013462004-10-05 Paul Jakma <paul@dishone.st>
1347
1348 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
1349 functions to change byte order between system IP_HDRINCL order
1350 and host order.
paul98c91ac2004-10-05 14:57:50 +00001351 * thread.c: (funcname_thread_add_timer_timeval) new function, add
1352 timer at specified timeval.
1353 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
1354 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +00001355
hassob04c6992004-10-04 19:10:31 +000013562004-10-04 Hasso Tepper <hasso at quagga.net>
1357
1358 * memory.c, memory.h: Make char * argument of strdup functions const.
1359 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
1360 header.
1361 * log.h: Make log message const in struct message.
1362 * log.c: Fix some indenting.
1363 * network.c, network.h: Make second argument of writen() const.
1364
hassoe7168df2004-10-03 20:11:32 +000013652004-10-03 Hasso Tepper <hasso at quagga.net>
1366
1367 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
1368 * command.c: Don't initialize commands that don't make sense if vtysh
1369 is used.
1370 * vty.c: Make VTY_NODE appear in vtysh.
1371
hasso18a6dce2004-10-03 18:18:34 +000013722004-10-03 James R. Leu <jleu at mindspring.com>
1373
1374 * zclient.c, zclient.h: zclient functions for router id handling.
1375 * zebra.h: New message types for router id handling.
1376
paul9172ee02004-09-27 12:46:37 +000013772004-09-27 Paul Jakma <paul@dishone.st>
1378
1379 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
1380 to try to fragment oversized packets. Enabled only for Linux.
1381 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
1382 to consolidate various ad-hoc platform defines for same thing.
1383
hassoe473b032004-09-26 16:08:11 +000013842004-09-26 Hasso Tepper <hasso at quagga.net>
1385
1386 * vty.c, sockopt.c: Fix compiler warnings.
1387
hasso52dc7ee2004-09-23 19:18:23 +000013882004-09-23 Hasso Tepper <hasso at quagga.net>
1389
1390 * linklist.h: Remove list and listnode typedefs.
1391 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1392
paul0b3acf42004-09-17 08:39:08 +000013932004-09-17 Paul Jakma <paul@dishone.st>
1394
paulb89e60c2004-09-21 15:43:13 +00001395 * sockopt.c: Add missing bracket
1396
13972004-09-17 Paul Jakma <paul@dishone.st>
1398
paul0b3acf42004-09-17 08:39:08 +00001399 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
1400
paul33394762004-09-13 11:27:57 +000014012004-09-13 Paul Jakma <paul@dishone.st>
1402
1403 * command.c: Update the copyright string in the default motd.
1404
gdt630e4802004-08-31 17:28:41 +000014052004-08-31 David Wiggins <dwiggins@bbn.com>
1406
1407 * hash.c (hash_iterate): Save next pointer before calling
1408 procedure, so that iteration works even if the called procedure
1409 deletes the hash backet.
1410
1411 * linklist.h (listtail): new macro, not yet used.
1412
hasso34553cc2004-08-27 13:56:39 +000014132004-08-27 Hasso Tepper <hasso at quagga.net>
1414
1415 * command.c: Install "terminal length" commands only if vty is used.
1416 Vtysh will handle it itself.
1417
gdtafa43b22004-08-26 13:12:41 +000014182004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1419
1420 * sockopt.h: Define method-independent macro for callers of
1421 get_ifindex to use for cmsg length.
1422
paule6822762004-08-19 04:13:29 +000014232004-08-19 Paul Jakma <paul@dishone.st>
1424
paulefba6ce2004-08-25 13:47:16 +00001425 * zebra.h: add MAX and MIN defines (eg for ospf6d)
1426
14272004-08-19 Paul Jakma <paul@dishone.st>
1428
paule6822762004-08-19 04:13:29 +00001429 * sockopt.c: include sockopt.h
1430 rename some of the _pktinfo_ functions to _ifindex, where that is
1431 their purpose.
1432 (getsockopt_ipv6_pktinfo_ifindex) renamed to
1433 getsockopt_ipv6_ifindex.
1434 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
1435 (setsockopt_pktinfo) update with previous and add comment re
1436 AF_INET portability.
1437 (setsockopt_ifindex) generic ifindex function ala
1438 setsockopt_pktinfo.
1439 (getsockopt_ipv4_pktinfo_ifindex) renamed to
1440 getsockopt_ipv4_ifindex.
1441 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
1442 ifdef/elses. pktinfo case forgot to set ifindex.
1443 (getsockopt_pktinfo_ifindex) renamed to
1444 getsockopt_ifindex. update some calls to renamed functions.
1445 * sockopt.h: Update renamed exported functions
1446 Rename the CMSG_SIZE macros to IFINDEX.
1447 Guard IPv4 PKTINFO in a conditional define.
1448
paulc0618de2004-08-18 21:52:58 +000014492004-08-18 Paul Jakma <paul@dishone.st>
1450
1451 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
1452 to prevent inadvertent blocking of daemons by use of
1453 vtysh. TODO: disentangle manual paging from the buffer_write
1454 path so that unix vty can use this path too and be reliable.
1455
gdt33f92322004-07-23 16:14:32 +000014562004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
1457
1458 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
1459 on NetBSD, and add comments to make it less confusing. Change the
1460 sense of the SUNOS_5 test to make parallel structure between the
1461 variables and the code.
1462
paul4f7baa02004-07-23 15:11:07 +000014632004-07-23 Paul Jakma <paul@dishone.st>
1464
1465 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
1466 sizeof pktinfo as appropriate, to be used when allocating msg
1467 buffers. export setsockopt_pktinfo() and
1468 getsockopt_pktinfo_ifindex()
1469 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
1470 set received ifindex sock option.
1471 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
1472 (getsockopt_cmsg_data) retrieve indicated control info from
1473 message header.
1474 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
1475 (setsockopt_ipv4_pktinfo) v4 version
1476 (setsockopt_pktinfo) the exported version
1477 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
1478 (getsockopt_pktinfo_ifindex) the exported version
1479
paul05c447d2004-07-22 19:14:27 +000014802004-07-14 Paul Jakma <paul@dishone.st>
1481
1482 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
1483 the flags to a constant rather increment to be kinder.
1484 (quagga_sigevent_process) new function, to do core of what
1485 quagga_signal_timer did. dont block signals at all as sig->caught
1486 is volatile sig_atomic_t and should be safe to access from signal
1487 and normal contexts. The signal blocking is unneeded paranoia, but
1488 is left intact under an ifdef, should some platform require it.
1489 Check global caught flag before iterating through array.
1490 (quagga_signal_timer) nearly everything moved to
1491 quagga_sigevent_process. Left in under ifdef, in case some
1492 platform could use a regular timer check for signals.
1493 * sigevent.h: quagga_sigevent_process declaration.
1494 * thread.c: (thread_fetch) check for signals at beginning of
1495 scheduler loop, check for signals if select returns EINTR.
1496
gdtb7797132004-07-13 13:47:25 +000014972004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
1498
1499 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
1500 confuses gdb, at least on NetBSD 2.0_BETA, where the block
1501 succeeds.
1502
paul5510e832004-07-09 14:00:01 +000015032004-07-09 Paul Jakma <paul@dishone.st>
1504
1505 * Merge Kunihiro's 'show route-map' change and add
1506 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +00001507 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
1508 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +00001509
paulb06c14f2004-07-09 12:24:42 +000015102004-07-09 Juris Kalnins <juris@mt.lv>
1511
1512 * if.c: (if_cmp_func) fix for interface names where name is same,
1513 but one has no number, eg "devtyp" and "devtyp0".
1514
gdt87efd642004-06-30 17:36:11 +000015152004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1516
1517 * Makefile.am: Make libzebra shared.
1518
paul138ce752004-06-21 10:35:59 +000015192004-06-21 Paul Jakma <paul@dishone.st>
1520
1521 * ChangeLog: fix my last update config.h -> zebra.h ;)
1522 * zebra.h: Fix gcc check.
1523
paul02ff83c2004-06-11 11:27:03 +000015242004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
1525
1526 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
1527 to u_char. (ipv6_access_list_remark_cmd) ditto.
1528 if.c: ditto
1529 * network.c: (readn/writen) pointer arg should be type u_char.
1530 * plist.c: needs to include stream.h, not declare stream functions
1531 internally.
1532 (various) Add static qualifier to internal functions.
1533 (prefix_list_type_str) extraneous breaks in switch statement.
1534 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
1535 * stream.h: depends on plist.h and export stream_put_prefix
1536 * vty.c: (vty_<telnet option build functions>) should use
1537 unsigned char, telnet options are 0 -> 255.
1538 * zclient.c: various u_char<->char type cleanups.
1539 * zebra.h: Having to define CMSG_* can apply to more than just
1540 BSDI_NRL.
1541
paul51a87982004-06-09 10:36:05 +000015422004-06-09 Paul Jakma <paul@dishone.st>
1543
paul138ce752004-06-21 10:35:59 +00001544 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +00001545
paul5228ad22004-06-04 17:58:18 +000015462004-06-04 Paul Jakma <paul@dishone.st>
1547
1548 * type mismatch fixes
1549
hasso6708fa32004-05-18 18:46:54 +000015502004-05-18 Hasso Tepper <hasso@estpak.ee>
1551
1552 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
1553
paul0a589352004-05-08 11:48:26 +000015542004-05-08 Paul Jakma <paul@dishone.st>
1555
1556 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
1557 message format.
1558
15592004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1560
1561 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
1562 (zapi_ipv4_delete) ditto.
1563 (zapi_ipv4_route) add/delete a route by way of cmd arg.
1564 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
1565 (zapi_ipv6_delete) ditto.
1566 (zapi_ipv6_route) add/delete a route by way of cmd arg.
1567 (zebra_interface_address_delete_read) collapsed into
1568 zebra_interface_address_read.
1569 (zebra_interface_address_delete_read) ditto.
1570 (zebra_interface_address_read) read address add/delete messages
1571 by way of type argument. Describe command message format.
1572 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
1573 Describe command message format.
1574 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
1575 (zclient_redistribute_set) Collapsed into zclient_redistribute
1576 (zclient_redistribute_unset) ditto
1577 (zclient_redistribute) set/unset redistribution.
1578 (zclient_redistribute_default_set) Collapsed into
1579 zclient_redistribute_default.
1580 (zclient_redistribute_default_unset) ditto.
1581 (zclient_redistribute_default) Redistribute default set/unset.
1582 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
1583 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
1584 zclient_redistribute. Ditto for
1585 zclient_redistribute_default_{set/unset}.
1586
paul4a7aac12004-05-08 05:00:31 +000015872004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1588
1589 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
1590 from IPv4, and Solaris treats the MTU's differently.
1591 Add connected_add_by_prefix, for use by later patch.
1592 * if.c: (connected_add_by_prefix) Add prefix to connected list.
1593 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
1594 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +00001595 * command.c: (sockunion_getsockname) use socklen_t for len.
1596 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +00001597
paul31fcdd32004-04-21 11:00:43 +000015982004-04-21 Boris Kovalenko <boris@tagnet.ru>
1599
1600 * daemon.c: (daemon) fix check for error return from setsid
1601
paulc49b3062004-01-19 21:23:37 +000016022004-01-19 Paul Jakma <paul@dishone.st>
1603
1604 * sigevent.{c,h}: New files, implement event handled signals.
1605 see signal_init() in sigevent.h.
1606
jardinc32e1b52003-12-23 09:06:51 +000016072003-12-23 Vincent Jardin <jardin@6wind.com>
1608
1609 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
1610
gdt3dbf9962003-12-22 20:18:18 +000016112003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
1612
1613 * vty.c (vty_use_backup_config): Don't free filenames before using
1614 them for unlink.
1615
paul54aba542003-08-21 20:28:24 +000016162003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1617
1618 * command.c: Fix <cr> display problem for command line
1619 description
1620
paule9af5c72003-05-24 11:54:31 +000016212003-05-24 Anil Madhavapeddy
1622
1623 * (sockunion.c): Incorrect bounds specified in sockunion_log()
1624
paul445f1432003-05-16 19:00:31 +000016252003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
1626
1627 * vty.c: -A option
1628
16292003-04-19 Hasso Tepper <hasso@estpak.ee>
1630
1631 * rip_routemap.c: sync daemon's route-map commands to have same
1632 syntax
1633
paul718e3742002-12-13 20:15:29 +000016342002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1635
1636 * vty.c (vty_flush): One line more on vty.
1637
16382002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1639
1640 * vector.c (vector_lookup): Add new function.
1641
16422002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1643
1644 * thread.c (timeval_adjust): Fix unconditional crush due to
1645 FreeBSD's select() system call timeval value check.
1646
16472002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1648
1649 * zebra-0.93 released.
1650
16512002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1652
1653 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
1654 van Maarseveen's suggestion.
1655
16562002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1657
1658 * command.c: Change bcopy() to memcpy().
1659
16602001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1661
1662 * command.c (config_password): Fix host.password clear bug.
1663 Reported by Wang Jian <lark@linux.net.cn>.
1664
16652001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1666
1667 * thread.c (thread_should_yield): New function to check thread
1668 should yeild it's execution to other thread. Suggested by: Rick
1669 Payne <rickp@ayrnetworks.com>
1670
16712001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1672
1673 * thread.c (thread_timer_cmp): Rewrite function.
1674
1675 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
1676
16772001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1678
1679 * zebra-0.92a released.
1680
16812001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1682
1683 * zebra-0.92 released.
1684
16852001-08-12 Akihiro Mizutani <mizutani@dml.com>
1686
1687 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
1688 string to "1.1.0.0/16".
1689
16902001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1691
1692 * filter.c (access_list_lookup): access_list_lookup's first
1693 argument is changed from address family to AFI.
1694
1695 * plist.c: (prefix_list_lookup): Likewise.
1696
16972001-07-27 Akihiro Mizutani <mizutani@dml.com>
1698
1699 * plist.c: ge and le display order is changed. Old compatible
1700 rule (len <= ge-value <= le-value) is removed.
1701
17022001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1703
1704 * prefix.h: Temporary fix for alignment of prefix problem.
1705
17062001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1707
1708 * prefix.h (struct prefix): Remove safi and padding field.
1709 (struct prefix_ipv4): Likewise.
1710 (struct prefix_ipv6): Likewise.
1711 (struct prefix_ls): Likewise.
1712 (struct prefix_rd): Likewise.
1713
1714 * command.h (enum node_type): Preparation for BGP new config.
1715
1716 * vty.c (vty_end_config): Likewise.
1717
17182001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1719
1720 * routemap.c (route_map_rule_delete): Call func_free when
1721 route-map rule is deleted.
1722
17232001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
1724
1725 * routemap.c (route_map_index_lookup): Prevent to use deny and
1726 permit for same route-map sequence.
1727
17282001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1729
1730 * vty.c (vty_read_config): Fix warning.
1731
17322001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1733
1734 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
1735 strings.
1736
17372001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1738
1739 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
1740 CMSG_FIRSTHDR.
1741
17422001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1743
1744 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
1745
17462001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
1747
1748 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
1749 lib" member.
1750
17512001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
1752
1753 * vty.c (vty_read_config): Revert check of integrate_default when
1754 VTYSH is defined.
1755
17562001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1757
1758 * vty.c (vty_read_config): Do not check integrate_default. That
1759 should be used only by vtysh.
1760
17612001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1762
1763 * vty.c (vty_serv_un): Set umask 0077.
1764 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
1765 wait for boot configuration.
1766
1767 * if.c (if_lookup_address): Make it smart implementation.
1768
1769 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
1770 options for IPv4 This is here so that people only have to do their
1771 OS multicast mess in one place rather than all through zebra,
1772 ospfd, and ripd .
1773
17742001-02-04 Akihiro Mizutani <mizutani@dml.com>
1775
1776 * plist.c (vty_prefix_list_install): Even when argument is
1777 invalid, new memory is allocated. Now memory allocation is done
1778 after argument check.
1779
17802001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1781
1782 * zebra-0.91 is released.
1783
17842001-01-31 Akihiro Mizutani <mizutani@dml.com>
1785
1786 * vty.c (vty_login): Add vty login command.
1787
17882001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1789
1790 * vty.c (vty_reset): Close accept socket.
1791
17922001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1793
1794 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
1795 attribute.
1796
17972001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1798
1799 * zclient.c (zebra_interface_address_add_read): Fetch interface
1800 address flag.
1801 (zebra_interface_address_delete_read): Likewise.
1802
18032001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1804
1805 * table.c (route_node_match_ipv4): Utility function for IPv4
1806 address lookup.
1807 (route_node_match_ipv6): Utility function for IPv4 address lookup.
1808
18092001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
1810
1811 * if.c: Delete RIP_API part until new implementation comes out.
1812
18132001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1814
1815 * hash.h (struct Hash): Rename alloc to count. Change type to
1816 unsigned long.
1817
1818 * stream.c (stream_getc_from): New function.
1819 (stream_getw_from): Likewise.
1820
1821 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
1822
18232001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1824
1825 * flap.c: File is removed.
1826
1827 * flap.c: Likewise.
1828
1829 * roken.h: Likewise.
1830
1831 * buffer.c (buffer_new): Remove type option to buffer_new().
1832
18332001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1834
1835 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
1836
18372001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1838
1839 * zebra-0.90 is released.
1840
1841 * command.c: Update Copyright year.
1842
18432001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1844
1845 * if.c (if_create): Register connected_free() function for
1846 deletion.
1847 (if_delete): Free connected information when the interface is
1848 deleted.
1849 (if_lookup_by_index): Fix argument type from int to unsigned int.
1850 (connected_add): Keep list in order if old info found, essential
1851 for repeatable operation in some daemons.
1852
18532001-01-09 endo@suri.co.jp (Masahiko Endo)
1854
1855 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
1856 read thread.
1857
18582001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1859
1860 * filter.c (access_list_delete): Access-list name is not freed.
1861
1862 * plist.c (prefix_list_delete): Prefix-list name is not freed.
1863
18642000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1865
1866 * zclient.c (zclient_start): Change to use UNIX domain
1867 socket for zebra communication.
1868
1869 * vector.c (vector_init): vector_alloc and vector_data_alloc is
1870 removed. All memory allocation count should be maintained by
1871 XMALLOC and XFREE macros.
1872
18732000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1874
1875 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
1876
18772000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1878
1879 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
1880 value.
1881
18822000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
1883
1884 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
1885 allocated in vty_new ().
1886
18872000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1888
1889 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
1890
1891 * command.c (config_write_terminal): Display "end" at the end of
1892 configuration.
1893
1894 * plist.c (vty_prefix_list_install): Use AF_INET to determine
1895 lenum length.
1896
18972000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
1898
1899 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
1900 then all lines write by IOV_MAX.
1901
19022000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1903
1904 * command.c (config_write_file): Robust method for writing
1905 configuration file and recover from backing up config file.
1906
19072000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1908
1909 * smux.c (smux_connect): More fail check.
1910 (smux_trap): When SMUX connection is not established, do nothing.
1911
19122000-11-28 Gleb Natapov <gleb@nbase.co.il>
1913
1914 * thread.c (thread_fetch): Execut event list first. Old event
1915 list is renamed to ready list. With this change, event thread is
1916 executed before any other thread.
1917
1918 * thread.h (struct thread_master): Add ready list.
1919
19202000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1921
1922 * linklist.c (listnode_add_after): Add node right after the
1923 listnode pointer.
1924
19252000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1926
1927 * smux.h: Pass struct variable to WriteMethod.
1928
19292000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
1930
1931 * if.c (if_lookup_address): When looking up interface with IP
1932 address, Sometimes multiple interfaces will match. Now PtP
1933 interfaces prevail in such a case which seem the right thing to
1934 do: There will probably also be host routes which usually prevail
1935 over network routes.
1936
19372000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1938
1939 * smux.c (smux_trap): SMUX trap implementation.
1940
19412000-11-19 Akihiro Mizutani <mizutani@dml.com>
1942
1943 * plist.c: Add automatic conversion function of an old rule.
1944 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
1945
19462000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
1947
1948 * zclient.c (zebra_interface_add_read): Read hardware address when
1949 hw_addr_len is greater than 0.
1950
19512000-11-15 Akihiro Mizutani <mizutani@dml.com>
1952
1953 * plist.c: The rule of "len <= ge-value <= le-value"
1954 was changed to "len < ge-value <= le-value".
1955
19562000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1957
1958 * memory.[ch]: Added #define and functions for ospf6d.
1959
1960 * log.[ch]: some platform says that the data of used va_list
1961 is undefined. Changed to hold list of va_list for each
1962 vsnprintf.
1963
19642000-11-07 Rick Payne <rickp@rossfell.co.uk>
1965
1966 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
1967
19682000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1969
1970 * command.c (config_exit): Fix bug of missing break after case
1971 BGP_VPNV4_NODE.
1972
19732000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
1974
1975 * vector.c (vector_unset): Check i is not nevative.
1976
19772000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
1978
1979 * smux.c (smux_sock): Set terminating '\0'. Check address family.
1980
1981 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
1982 gai_strerror. Check address family.
1983
19842000-10-23 Jochen Friedrich <jochen@scram.de>
1985
1986 * smux.c: Use linklist rather than vector.
1987 (smux_getnext): A SMUX subagent has to behave as if it manages the
1988 whole SNMP MIB tree itself. It's the duty of the master agent to
1989 collect the best answer and return it to the manager. See RFC 1227
1990 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
1991 bad here as it actually might ask multiple times for the same
1992 GETNEXT request as it throws away the answer when it expects it in
1993 a different subtree and might come back later with the very same
1994 request.
1995
19962000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1997
1998 * command.c (cmd_init): Log related command are only installed for
1999 terminal mode.
2000
20012000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2002
2003 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
2004
2005 * zebra.h: Remove #warn directive.
2006
20072000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2008
2009 * keychain.c (keychain_init): Register "key chain" command to
2010 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
2011
2012 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
2013 CONFIG_NODE.
2014
2015 * command.c (config_end): Likewise.
2016
2017 * keychain.c (keychain_get): Key is sorted by it's identifier
2018 value.
2019
20202000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2021
2022 * linklist.c (list_delete_all_node): Call delete function if it is
2023 defined.
2024
2025 * command.c (cmd_execute_command_strict): Add modification for
2026 vtysh.
2027 (cmd_execute_command_strict): Remove first argument cmdvec because
2028 it is global varibale in command.c.
2029
20302000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2031
2032 * command.c (cmd_init): Install
2033 copy_runningconfig_startupconfig_cmd only in terminal mode.
2034
2035 * linklist.c (list_delete_node): Simplify the function.
2036 (listnode_lookup): Renamed from list_lookup_node.
2037
20382000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2039
2040 * stream.h: Undef stream_read and stream_write without
2041 parenthesis.
2042
2043 * newlist.c: File removed.
2044
2045 * newlist.h: Likewise.
2046
2047 * linklist.c (list_new): Remove list_init(). To allocate new
2048 linked list, please use list_new().
2049 (listnode_add): Remove list_add_node(). To add new node to linked
2050 list, please use listnode_add().
2051 (list_delete_by_val): Revemove fucntion.
2052
20532000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
2054
2055 * table.c (route_table_free): Reimplement route_table_free().
2056
20572000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2058
2059 * keychain.c (keychain_get): Register key_delete_func to key
2060 list's delete function. Use linklist.c instead of newlist.c.
2061
20622000-10-04 Akihiro Mizutani <mizutani@dml.com>
2063
2064 * filter.c (access_list_remark): Add access-list's remark command.
2065 (no_access_list): "no access-list 100 permit any" error message
2066 bug is fixed.
2067
20682000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2069
2070 * memory.h (enum): Add MTYPE_SOCKUNION.
2071
20722000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2073
2074 * zebra-0.89 is released.
2075
20762000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2077
2078 * linklist.c (list_add_node_head): Delete unused function.
2079 (list_add_node_tail): Likewise.
2080
20812000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2082
2083 * stream.c (stream_read_unblock): Add new function for unblocking
2084 read.
2085
20862000-09-26 Jochen Friedrich <jochen@nwe.de>
2087
2088 * smux.c (smux_register): Fix bug of can't register more than one
2089 MIB with SMUX.
2090
20912000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
2092
2093 * vty.c (vty_close): Fix memory leak of sb_buffer.
2094 (vty_new): Likewise.
2095
20962000-09-21 steve@Watt.COM (Steve Watt)
2097
2098 * log.h: Do not declare zlog_priority[0] variable.
2099
21002000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2101
2102 * linklist.h (struct _list ): Add member cmp for compare function.
2103 (struct _list ): Member up is deleted
2104
21052000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
2106
2107 * if.c: Include RIP_API header when RIP API is enabled.
2108
21092000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2110
2111 * prefix.c (prefix_free): Siplify prefix_free().
2112
2113 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
2114
21152000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2116
2117 * zebra.h: Merge roken.h into zebra.h.
2118
21192000-09-05 Akihiro Mizutani <mizutani@dml.com>
2120
2121 * routemap.c (route_map_init_vty): Install route-map command to
2122 RMAP_NODE.
2123
21242000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2125
2126 * thread.c (thread_get_id): Remove pthread related garbage.
2127
2128 * command.h (struct host): Likewise.
2129
2130 * zebra.h: Likewise.
2131
21322000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2133
2134 * command.h (node_type ): Add AAA node for authentication.
2135
2136 * vty.c (vty_close): Do not close stdout.
2137
21382000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2139
2140 * vty.c (vty_init_vtysh): Added for vtysh.
2141
2142 * distribute.c (districute_list_prefix_all): Interface independent
2143 filter can be set.
2144 (distribute_list_all): Likewise.
2145 (config_show_distribute): Display current distribute-list status
2146 for "show ip protocols".
2147
21482000-08-18 Akihiro Mizutani <mizutani@dml.com>
2149
2150 * command.c (config_terminal_no_length): no terminal monitor ->
2151 terminal no monitor
2152 (cmd_init): Do not install service_terminal_length_cmd into
2153 ENABLE_NODE.
2154
2155 * vty.c (terminal_no_monitor): no terminal length -> terminal no
2156 length.
2157
21582000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2159
2160 * zebra-0.88 is released.
2161
21622000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
2163
2164 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
2165 better IAC handling.
2166
2167 * vty.c (vty_telnet_option): Change telnet option handling.
2168
21692000-08-15 Gleb Natapov <gleb@nbase.co.il>
2170
2171 * zclient.c (zclient_redistribute_unset): New function added.
2172
21732000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2174
2175 * zclient.c (zebra_interface_add_read): Change ifindex restore
2176 size from two octet to four.
2177 (zebra_interface_state_read): Likewise.
2178 (zebra_interface_address_add_read): Likewise.
2179
21802000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2181
2182 * vty.c (vty_event): Use vector_set_index() instead of
2183 vector_set().
2184
21852000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2186
2187 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
2188 Administrative Distance of each protocol.
2189
21902000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
2191
2192 * if.h (struct interface ): Add new member bandwidth to struct
2193 interface.
2194
2195 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
2196 (zebra_interface_state_read): Likewise.
2197
21982000-08-07 Gleb Natapov <gleb@nbase.co.il>
2199
2200 * routemap.c (route_map_event_hook): New hook route_map_event_hook
2201 is added. This hook is called when route-map is changed. The
2202 parameters passed to the hook are 'event' and 'route-map name'
2203
2204 * routemap.h: Add prototype for route_map_event_hook().
2205
22062000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2207
2208 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
2209 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
2210
2211 * routemap.c (route_map_empty): Add new function.
2212 (route_map_delete): Use route_map_index_delete() instead of
2213 route_map_index_free().
2214 (route_map_index_free): Function removed.
2215
22162000-08-06 Gleb Natapov <gleb@nbase.co.il>
2217
2218 * routemap.c (route_map_index_delete): Add check for route-map is
2219 empty or not.
2220
22212000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2222
2223 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
2224 zclient.
2225
22262000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2227
2228 * zclient.h (struct zebra): Add obuf for output buffer.
2229
2230 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
2231 if_indextoname().
2232
22332000-08-02 David Lipovkov <davidl@nbase.co.il>
2234
2235 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
2236 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
2237
2238 * if.c (interface_pseudo): Add "pseudo" command to interface node.
2239 (no_interface_pseudo): Add "no pseudo" command to interface node.
2240
2241 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
2242 send from zebra.
2243
22442000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2245
2246 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
2247 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
2248
2249 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
2250
22512000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2252
2253 * vty.c: Use vector for VTY server thread listing instead of
2254 single value.
2255
22562000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2257
2258 * keychain.c (no_key_chain): "no key chain WORD" command is added.
2259
22602000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2261
2262 * command.c (config_from_file): If command fail in
2263 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
2264
2265 * vty.h (struct vty ): Add index_sub member.
2266
22672000-07-27 Akihiro Mizutani <mizutani@dml.com>
2268
2269 * if.c: Help strings updates.
2270
22712000-07-11 Akihiro Mizutani <mizutani@dml.com>
2272
2273 * command.c (no_config_enable_password): Add "no enable password"
2274 command.
2275 (config_write_host): Display password string.
2276
2277 * routemap.c (route_map_delete_match): Add support for delete
2278 match without argument.
2279 (route_map_delete_set): Likewise.
2280
22812000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2282
2283 * command.h (node_type ): Change KEYCHAIN_NODE and
2284 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
2285
22862000-07-09 Jochen Friedrich <jochen@scram.de>
2287
2288 * smux.c (config_write_smux): Fixes the option to override OID and
2289 password for SMUX.
2290
22912000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2292
2293 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
2294
22952000-07-09 Toshiaki Takada <takada@zebra.org>
2296
2297 * command.c: Sort descvec command's help.
2298
2299 * vty.c (vty_describe_command): Display '<cr>' at the end of
2300 descriptions.
2301
23022000-07-05 Toshiaki Takada <takada@zebra.org>
2303
2304 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
2305 treatment of double colon.
2306
23072000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2308
2309 * zclient.h: Add zclient_redistribute_default_{set,unset}().
2310
2311 * keychain.c: New file for authentication key management.
2312 * keychain.h: Likewise.
2313
2314 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
2315 ipchains.
2316 * tcpfilter.h: Likewise.
2317
2318 * flap.h: New file for route flap dampening.
2319 * flap.c: Likewise.
2320
23212000-07-04 Toshiaki Takada <takada@zebra.org>
2322
2323 * filter.c (struct filter): Add exact flag.
2324 (access_list): Add exact-match command.
2325 (ipv6_access_list): Add exact-match command.
2326
23272000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2328
2329 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
2330 request default route.
2331
23322000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
2333
2334 * smux.c: Add IPv6 smux connection code.
2335
23362000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2337
2338 * vty.c (vty_complete_command): To cooperate readline library,
2339 returned string is newly allocated. So some match function case
2340 need, free of memory.
2341
23422000-06-12 Akihiro Mizutani <mizutani@dml.com>
2343
2344 * distribute.c: Fix help strings.
2345
23462000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2347
2348 * command.c (cmd_complete_command): Add check for vector_slot
2349 (vline, index) is not NULL when calculating lcd.
2350 (cmd_entry_function): First check variable arguemnt to prevent it
2351 from completion.
2352
23532000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2354
2355 * vty.h (struct vty ): Add output_count member for displaying
2356 output route count. Remove arugment arg from output_func because
2357 the value is passed by vty argument. Change output to output_rn.
2358 Add output_clean function pointer member. Add output_type member.
2359
23602000-06-10 Toshiaki Takada <takada@zebra.org>
2361
2362 * command.c (show_startup_config): Add "show startup-config"
2363 command.
2364
23652000-06-06 Akihiro Mizutani <mizutani@dml.com>
2366
2367 * filter.c: Fix help strings.
2368
23692000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2370
2371 * prefix.h (struct prefix_rd): New prefix structure for routing
2372 distinguisher.
2373 (struct prefix): Add padding to every prefix structure.
2374
2375
2376 * routemap.c (route_map_add_match): When completely same match
2377 statement exists, don't duplicate it.
2378
23792000-06-05 Akihiro Mizutani <mizutani@dml.com>
2380
2381 * routemap.c: Change NAME to WORD.
2382
2383 * plist.c: Fix help strings.
2384
23852000-06-02 Akihiro Mizutani <mizutani@dml.com>
2386
2387 * routemap.c: Fix route-map help strings.
2388
23892000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2390
2391 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
2392 to filter other non vararg commands.
2393
2394 * routemap.c (route_map_init_vty): Use install_default() for
2395 install common commands into route-map node..
2396
23972000-06-01 Akihiro Mizutani <mizutani@dml.com>
2398
2399 * command.h (OSPF_STR): Macro added.
2400
24012000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2402
2403 * command.c (cmd_complete_command): LCD completion must not modify
2404 installed command string.
2405
2406 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
2407 X:X::X:X to X:X::X:X/M.
2408
24092000-05-31 Toshiaki Takada <takada@zebra.org>
2410
2411 * vty.c (show_history): New defun added.
2412
24132000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2414
2415 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
2416 list. CMD_COMPLETE_MATCH is used for LCD completion.
2417
2418 * vty.c (vty_complete_command): Matched string's LCD is completed.
2419
2420 * command.c (cmd_lcd): New function for calculate LCD of matched
2421 strings.
2422
24232000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2424
2425 * command.c (install_default): config_write_terminal_cmd,
2426 config_write_file_cmd, config_write_memory_cmd are added to
2427 default node.
2428
2429 * memory.c (memory_init): Divide show memory command into each
2430 sort.
2431
2432 * command.c (cmd_init): config_write_terminal_cmd,
2433 config_write_file_cmd, config_write_memory_cmd are added to
2434 CONFIG_NODE.
2435
2436 * routemap.c (route_map_index_free): New function.
2437 (no_route_map_all): New DEFUN for "no route-map NAME".
2438
2439 * filter.c (no_access_list_all): New DEFUN for delete access-list
2440 with NAME.
2441 (no_ipv6_access_list_all): Likewise.
2442
24432000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2444
2445 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
2446 specified, user can not use "ge" and "le" statement.
2447
24482000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
2449
2450 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
2451
2452 * table.c (route_table_free): Like wise.
2453
24542000-05-22 Toshiaki Takada <takada@zebra.org>
2455
2456 * vty.c (vty_stop_input): Set history pointer to the latest one.
2457
2458 * vty.c (vty_hist_add): Do not add command line history when input
2459 is as same as previous one.
2460
24612000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2462
2463 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
2464
24652000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2466
2467 * command.h (node_type ): Add BGP_VPNV4_NODE.
2468
24692000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2470
2471 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
2472 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
2473
2474 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
2475 IPv4 example. Reported by: Love <lha@s3.kth.se>.
2476
2477 * command.c (cmd_complete_command): Make it sure last element of
2478 matchvec is NULL. This fix problem which cause crush in
2479 vty_complete_command(). Reported by: JINMEI Tatuya
2480 <jinmei@isl.rdc.toshiba.co.jp>.
2481
24822000-04-28 Love <lha@s3.kth.se>
2483
2484 * prefix.h (struct prefix): Add padding.
2485
24862000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2487
2488 * command.c (show_version): Update copyright year.
2489
24902000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2491
2492 * routemap.c (route_map_apply): When map is NULL, return deny.
2493
24942000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2495
2496 * filter.c (access_list_apply): When access is NULL, return deny.
2497
2498 * plist.c (prefix_list_apply): When plist is NULL, return deny.
2499
25002000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2501
2502 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
2503
25042000-04-18 Toshiaki Takada <takada@zebra.org>
2505
2506 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
2507 Add argument for hook function to give struct access_list *.
2508
25092000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2510
2511 * plist.c (prefix_list_entry_match): In case of le nor ge is
2512 specified, exact match is performed.
2513 (prefix_list_entry_match): Add any entry matching check.
2514
25152000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2516
2517 * vty.c (exec_timeout): Separate timeout setting to minutes and
2518 seconds.
2519 (no_exec_timeout): Add "no exec-timeout" command.
2520
2521 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
2522 600.
2523
25242000-03-31 Jochen Friedrich <jochen@scram.de>
2525
2526 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
2527 it is a primitive encoding and not constructed.
2528
25292000-03-28 Toshiaki Takada <takada@zebra.org>
2530
2531 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
2532
25332000-03-26 Love <lha@s3.kth.se>
2534
2535 * zclient.c (zclient_read): Add nbytes size check for
2536 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
2537
25382000-03-26 Rick Payne <rickp@rossfell.co.uk>
2539
2540 * routemap.c: Add flexible route-map commands such as on-match
2541 next, on-match goto N.
2542
2543 * routemap.h: Likewise
2544
25452000-03-23 Adrian Bool <aid@u.net.uk>
2546
2547 * command.c (config_log_trap): Add new command "log trap
2548 PRIORITY".
2549
25502000-03-14 Toshiaki Takada <takada@zebra.org>
2551
2552 * memory.c (struct memory_list): Add Link List and Link Node
2553 to view.
2554
2555 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
2556
25572000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
2558
2559 * str.c (snprintf): Fix bug of calling sprintf instead of
2560 vsprintf.
2561
25622000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2563
2564 * memory.h (enum): Add MTYPE_RIP_PEER.
2565
25662000-01-15 Toshiaki Takada <takada@zebra.org>
2567
2568 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
2569
25702000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2571
2572 * command.h (node_type ): Add MASC_NODE for masc.
2573
25742000-01-09 Wang Jianliang <wangjl@soim.net>
2575
2576 * routemap.c (route_map_index_add): When route_map_index is not
2577 empty and insert new item at the head, it can cause core dump.
2578 Fix "if (index == map->head)" to "if (point == map->head).
2579 (route_map_add_set): If there is an old set command, override old
2580 set command with new one.
2581 (route_map_index_delete): Use while() instead of for for() for
2582 logical correctness.
2583
25841999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2585
2586 * memory.h (enum): Add MTYPE_BGP_STATIC.
2587
25881999-12-23 Alex Zinin <zinin@amt.ru>
2589 * zebra.h, zclient.*: dynamic int up/down message
2590 support
2591
25921999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2593
2594 * thread.c (thread_cancel_event): Add a function for clean up
2595 events.
2596
25971999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2598
2599 * dropline.c: Delete file.
2600 dropline.h: Linewise.
2601
26021999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2603
2604 * filter.c (access_list_filter_delete): Wrong pointer
2605 access->master was pointed out after access is freed. I store
2606 master value at the beginning of the function.
2607
26081999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2609
2610 * vty.c (exec_timeout): Change of VTY timeout affect to current
2611 VTY connection.
2612 (vty_accept): Instead of immediate exit() return -1.
2613
26141999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2615
2616 * vty.c (vty_configure_lock): Configuration lock function added.
2617 Only one VTY can use CONFI_NODE at the same time.
2618
2619 * log.c: Delete zvlog_* functions. Now zlog_* does the same
2620 thing.
2621
2622 * log.c (log_init): Function removed.
2623 (log_close): Likewise.
2624 (log_flush): Likewise.
2625 (log_open): Likewise.
2626
2627 * vty.c (terminal_monitor): Add new command.
2628 (no_terminal_monitor): Likewise.
2629
2630 * log.c (old_log): Function removed.
2631 (old_log2): Likewise.
2632 (old_log_warn): Likewise.
2633
26341999-12-04 Toshiaki Takada <takada@zebra.org>
2635
2636 * command.c (cmd_ipv6_match): New function added.
2637 (cmd_ipv6_prefix_match): Likewise.
2638
26391999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2640
2641 * command.c (cmd_ipv6_match):
2642
2643 * table.c: Delete #ifdef HAVE_MBGPV4.
2644
2645 * prefix.h (struct prefix): Add safi member.
2646 (struct prefix_ipv4): Likewise.
2647 (struct prefix_ipv6): Likewise.
2648
26491999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
2650
2651 * memory.c (struct mstat): Revert to support MEMORY_LOG.
2652
26531999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2654
2655 * version.h: Bump up to 0.81c for testing new kernel codes.
2656
26571999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2658
2659 * thread.h (struct thread): Pthread support is disabled all
2660 platform.
2661
26621999-11-21 Michael Handler <handler@sub-rosa.com>
2663
2664 * Include <limits.h> and <strings.h> under SUNOS_5.
2665
26661999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2667
2668 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
26691999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2670
2671 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
2672
26731999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2674
2675 * command.c (disable): Add `disable' command.
2676
26771999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2678
2679 * plist.c (vty_prefix_list_install): Add any check.
2680
26811999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2682
2683 * command.h (node_type ): Add DUMP_NODE.
2684
26851999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2686
2687 * smux.c: Change default SMUX oid to compatible with gated.
2688
26891999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2690
2691 * if_rmap.c: New file added.
2692
2693 * if_rmap.h: New file added.
2694
26951999-10-29 Alex Zinin <zinin@amt.ru>
2696
2697 * hash.c: add hash_free() function
2698
26991999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2700
2701 * hash.c (hash_clean): Add clean function.
2702
2703 * plist.c (prefix_list_reset): Add reset function.
2704
2705 * filter.c (access_list_reset): Add reset function.
2706
27071999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2708
2709 * client.c: Merged with zclient.c.
2710 * client.h: Merged with zclient.h.
2711
27121999-10-15 Jordan Mendelson <jordy@wserv.com>
2713
2714 * md5.c: Imported from GNU C Library.
2715 * md5-gnu.h: Likewise.
2716
27171999-10-15 Jochen Friedrich <jochen@scram.de>
2718
2719 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
2720
27211999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2722
2723 * smux.h: New file added.
2724
2725 * snmp.c: Rename to smux.c.
2726
27271999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2728
2729 * command.c (cmd_execute_command_strict): Filter ambious commands.
2730 (cmd_filter_by_string): Change to return enum match_type.
2731
27321999-10-01 Toshiaki Takada <takada@zebra.org>
2733
2734 * vty.c (vty_describe_fold): New function which does VTY
2735 description line fold.
2736 * vty.c (vty_describe_command): Set description column.
2737
27381999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2739
2740 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
2741
27421999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2743
2744 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
2745 CMD_IPV4_PREFIX check. Both return type must be exact_match.
2746
27471999-09-24 Toshiaki Takada <takada@zebra.org>
2748
2749 * command.c (cmd_filter_by_completion),
2750 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
2751 parameter matches range.
2752
27531999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2754
2755 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
2756 is performed.
2757
27581999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2759
2760 * vty.c (vty_read): Control-C stop VTY_MORE mode.
2761
27621999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2763
2764 * command.h (node_type ): Add ACCESS_IPV6_NODE and
2765 PREFIX_IPV6_NODE.
2766
2767 * distribute.h: New file added.
2768
2769 * command.h (node_type ): Delete DISTRIBUTE_NODE.
2770
27711999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2772
2773 * vty.c (vty_terminate_all): New function added for reload
2774 support.
2775
27761999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2777
2778 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
2779
27801999-08-31 Janos Farkas <chexum@shadow.banki.hu>
2781
2782 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
2783 esc-ctrl-h (delete word backwards).
2784
27851999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2786
2787 * if.h: Add if_nametoindex for NRL.
2788
27891999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2790
2791 * if.c (if_create): New function.
2792
27931999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2794
2795 * snmp.c: New file.
2796
27971999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2798
2799 * stream.c (stream_put): stream_memcpy () is changed to stream_put
2800 (). stream_get () is added.
2801
28021999-08-18 Toshiaki Takada <takada@zebra.org>
2803
2804 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
2805
28061999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2807
2808 * table.c (route_table_finish): add function frees table.
2809
28101999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2811
2812 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
2813
28141999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2815
2816 * if.h (struct interface ): hw_address, hw_address_len added.
2817
28181999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2819
2820 * if.h (struct interface ): Change structure member if_data to
2821 info, index to ifindex.
2822
28231999-08-08 Rick Payne <rickp@rossfell.co.uk>
2824
2825 * routemap.c: Multi protocol route-map modification.
2826
2827 * routemap.c (route_map_apply): Route match process bug is fixed.
2828
28291999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2830
2831 * thread.c (thread_fetch): When signal comes, goto retry point.
2832
28331999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2834
2835 * Makefile.am: Add sockopt.c and sockopt.h
2836 * sockopt.c: New file.
2837 * sockopt.h: New file.
2838
28391999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2840
2841 * version.h (ZEBRA_VERSION): Release zebra-0.75
2842
28431999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2844
2845 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
2846
28471999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2848
2849 * sockunion.h: Add sockunion_getpeername ().
2850
28511999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2852
2853 * version.h: Release zebra-0.74
2854
28551999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2856
2857 * command.h (struct host): Delete lines from struct host. Add
2858 lines to struct vty.
2859
2860 * command.c: Delete `lines LINES'. Terminal display line settings
2861 should be done by `terminal length' command.
2862
28631999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2864
2865 * memory.h (enum): MTYPE_OSPF_PATH are added.
2866
28671999-07-22 Toshiaki Takada <takada@zebra.org>
2868
2869 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
2870
28711999-07-21 Toshiaki Takada <takada@zebra.org>
2872
2873 * linklist.c (list_add_node_prev), (list_add_node_next),
2874 (list_add_list): New function added.
2875
2876 * table.c (route_table_free): New function added.
2877
28781999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2879
2880 * plist.c (config_write_prefix): Set write flag when configuration
2881 is written.
2882
28831999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2884
2885 * prefix.c : prefix_cmp() added. change apply_mask() to
2886 apply_mask_ipv4(), and new apply_mask() added.
2887
28881999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2889
2890 * prefix.c (prefix2str): append prefixlen.
2891
28921999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2893
2894 * command.c (config_terminal): Change "config terminal" to
2895 "configure terminal". Reported by Georg Hitsch
2896 <georg@atnet.at>.
2897 (config_terminal_length): `terminal length <0-512>' is added. At
2898 this moment this command is only usef for vty interface.
2899 Suggested by Georg Hitsch <georg@atnet.at>.
2900
29011999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2902
2903 * routemap.c (rulecmp): Add wrapper function of strcmp.
2904
29051999-07-08 Rick Payne <rickp@rossfell.co.uk>
2906
2907 * sockunion.c (inet_aton): Fix bug of inet_aton.
2908
29091999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2910
2911 * version.h (ZEBRA_VERSION): Start zebra-0.73
2912
29131999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2914
2915 * version.h: Bump up to 0.72.
2916
29171999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2918
2919 * command.c (install_default): New function for install default
2920 commands to the node.
2921
2922 * memory.h (enum): MTYPE_NEXTHOP is added.
2923
29241999-07-01 <kunihiro@zebra.org>
2925
2926 * command.c (no_banner_motd): `no banner motd' command added.
2927
29281999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2929
2930 * regex.c: Update to glibc-2.1.1's posix/regex.c
2931
2932 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
2933
2934 * prefix.h (IPV4_ADDR_SAME): Macro added.
2935 (IPV6_ADDR_SAME): Likewise.
2936
29371999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2938
2939 * memory.h (enum): Add MTYPE_OSPF_VERTEX
2940
2941 * version.h: Bump up to 0.71.
2942
2943 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
2944 VTY socket when IPv6 is enabled.
2945
29461999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2947
2948 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
2949 address family to bind.
2950
2951 * command.c: Add quit command.
2952
29531999-06-26 NOGUCHI kay <kay@dti.ad.jp>
2954
2955 * vty.c (vty_read_config): Fix bug of configuration file path
2956 detection.
2957
29581999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2959
2960 * version.h: Bump up to 0.70.
2961
29621999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2963
2964 * buffer.h (GETL): Remove GETL macro.
2965
2966 * version.h: Bump up to 0.69.
2967
29681999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2969
2970 * if.c (connected_add): Commented out connected_log.
2971
29721999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2973
2974 * command.h (struct cmd_element ): strvec and descvec is combined
2975 into newstrvec.
2976
2977 * command.c (desc_make): Function removed.
2978 (desc_next): Function removed.
2979
2980 * command.h (struct cmd_element ): docvec is removed from struct
2981 cmd_element.
2982
29831999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2984
2985 * command.c (cmd_execute_command): Remove command NULL check.
2986
2987 * command.h (struct cmd_element ): Add newstrvec entry to struct
2988 cmd_element.
2989 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
2990 (a|b|c) statement.
2991 (DESC): DESC macro is removed.
2992
2993 * vty.c (vty_complete_command): When return value is
2994 CMD_ERR_NO_MATCH, don't display error message.
2995
29961999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2997
2998 * table.c (route_next_until): New function.
2999
3000 * version.h: Bump up to 0.68.
3001
30021999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3003
3004 * vty.c (vty_close): Free vty->buf when vty is closed.
3005
3006 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
3007 MTYPE_COMMUNITY_LIST.
3008
3009 * vty.h (struct vty ): Change buf from static length buffer to
3010 variable length buffer.
3011
3012 * vty.c (vty_ensure): New function added.
3013
30141999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3015
3016 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
3017
3018 * command.c (config_enable_password): Freeing host.enable bug is
3019 fixed.
3020 (config_enable_password): Add argc count check.
3021
30221999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3023
3024 * version.h: Bump up to 0.67.
3025
30261999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3027
3028 * command.c (zencrypt): New function for encrypt password.
3029
3030 * command.h (struct host): Add password_encrypt and
3031 enable_encrypt.
3032
30331999-05-30 Jochen Friedrich <jochen@scram.de>
3034
3035 * command.h (struct host): New member encrypt is added for
3036 encrypted password.
3037
30381999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3039
3040 * vty.c: Remove all_digit_check function. Instead use all_digit.
3041
3042 * prefix.c (all_digit): New function for checking string is made
3043 from digit character.
3044
30451999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3046
3047 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
3048 (noinst_HEADERS): Add zclient.h
3049
3050 * zclient.[ch]: New file for zebra client routine.
3051
3052 * memory.h (enum): Add MTYPE_ZEBRA.
3053
30541999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3055
3056 * version.h (ZEBRA_VERSION): Update to 0.66.
3057
30581999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3059
3060 * buffer.h (GETC,GETW): Macro deleted.
3061
30621999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3063
3064 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
3065
30661999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3067
3068 * vty.c (service_advanced_vty): New command added.
3069 (no_service_advanced_vty): Likewise.
3070
30711999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3072
3073 * vty.c (vty_auth): If advanced flag is set and enable password is
3074 not set, directly login to the ENABLE_NODE. This feature is
3075 originally designed and implemented by Stephen R. van den Berg
3076 <srb@cuci.nl>.
3077
3078 * command.h (host): Add advanced flag to struct host for advanced
3079 vty terminal interface.
3080
3081 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
3082
30831999-05-14 Stephen R. van den Berg <srb@cuci.nl>
3084
3085 * command.h (node_type ): Add TABLE_NODE.
3086
3087 * vty.c (vty_telnet_option): Check host.lines value.
3088
3089 * command.c (config_lines): DEFUN for 'lines LINES' command.
3090
3091 * zebra.h: Include <sys/utsname.h> for uname().
3092 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
3093 routing table.
3094
3095 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
3096 password is not set.
3097 (vty_prompt): Get machine's hostname when hostname is not set.
3098
30991999-05-11 James Willard <james@whispering.org>
3100
3101 * command.c (config_exit): Close connection when `exit' command is
3102 executed at ENABLE_NODE.
3103
31041999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3105
3106 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
3107
3108 * command.c (cmd_execute_command_strict): Matched command size
3109 check added.
3110 (cmd_make_desc_line): New function for DEFUN2.
3111
3112 * command.h (struct cmd_element ): Add descsize.
3113
31141999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3115
3116 * command.h (struct cmd_element ): Remame descvec to docvec.
3117 (struct cmd_element ): Add descvec for new description system.
3118
3119 * command.c (desc_make): Check cmd->descvec.
3120
31211999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3122
3123 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
3124
31251999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3126
3127 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
3128 release.
3129
31301999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3131
3132 * linklist.c (list_delete_all_node): bug fix.
3133 previous code loses current position when node
3134 is deleted.
3135
31361999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3137
3138 * command.h (DESC): Macro added.
3139 (struct cmd_element2): Delete struct cmd_element2.
3140
3141 * plist.c (prefix_list): Sequential number option check is added.
3142
31431999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3144
3145 * log.c (zvlog_{debug,info,notice,warn,err}): have been
3146 added. now we can log both console and file, but still
3147 need some fix about config write.
3148
31491999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3150
3151 * log.c (zvlog_debug): Fix yasu's change.
3152
31531999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3154
3155 * plist.c (prefix_list): Fix typo.
3156
31571999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3158
3159 * Set version to 0.63 for first beta package.
3160
31611999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3162
3163 * prefix.c (str2prefix_ipv4): Fix prefix length check.
3164 (str2prefix_ipv6): Likewise.
3165
31661999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3167
3168 * memory.h (enum): Add MTPYE_PREFIX_LIST and
3169 MTYPE_PREFIX_LIST_ENTRY.
3170
3171 * command.h (node_type ): Add PREFIX_NODE.
3172
31731999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3174
3175 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
3176 (copy_runningconfig_startupconfig_cmd) is added.
3177
3178 * table.c (route_node_lookup): Unused match variable deletion.
3179
31801999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3181
3182 * Makefile.am (libzebra_a_SOURCES): plist.c added.
3183 (noinst_HEADERS): plist.h added.
3184
3185 * plist.c, plist.h: New file added.
3186
3187 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
3188 * memory.c: Likewise.
3189
31901999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3191
3192 * command.c (show_version): `show version' command added.
3193
31941999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3195
3196 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
3197
31981999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3199
3200 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
3201
32021999-04-19 Alex Bligh <amb@gxn.net>
3203
3204 * prefix.c (sockunion2hostprefix): Function added.
3205 (sockunion2prefix): Address family was not set. Now it is set.
3206
3207 * vty.c: VTY access-class command is added.
3208
32091999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3210
3211 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
3212 xstrdup are likewise.
3213
32141999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3215
3216 * thread.c: Add thread_execute for other routing daemon.
3217 OSPF tasks need to be generated by "sheduled" and "executed".
3218
32191999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3220
3221 * buffer.c: Rewrite buffer_write and buffer_flush related
3222 functions for fixing bugs. Reason of the problem and fix is
3223 suggested by Alex Bligh <amb@gxn.net>.
3224
32251999-04-12 Alex Bligh <amb@gxn.net>
3226
3227 * command.c (cmd_entry_function_descr): Added for variable
3228 argument help display.
3229
32301999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3231
3232 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
3233
32341999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3235
3236 * stream.c: stream_fifo_free bug is fixed.
3237
32381999-03-19 Toshiaki Takada <takada@zebra.org>
3239
3240 * stream.c (stream_strncpy): Added for getting any length bytes
3241 from stream.
3242
32431999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3244
3245 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
3246
32471999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3248
3249 * buffer.c (buffer_flush_window): If ep is same as buffer's size
3250 length and lp is overrun one octet.
3251
32521999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3253
3254 * vty.h: add VTY's timeout function.
3255
32561999-03-05 <kunihiro@zebra.org>
3257
3258 * command.h (node_type ): Add OSPF6_node.
3259
32601999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3261
3262 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
3263
32641999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
3265
3266 * zebra.h: Include <net/if_var.h> if it exists.
3267
32681999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3269
3270 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
3271
3272 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
3273
3274 * command.h: Include vector.h and vty.h
3275
32761999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3277
3278 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
3279
3280 * routemap.c (route_map_apply_index): Add prefix argument.
3281 (route_map_apply): Likewise.
3282
3283 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
3284
3285 * stream.c: Add stream_fifo related functions.
3286
32871999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3288
3289 * daemon.c: Return integer value. File descriptor close is added.
3290
3291 * memory.h (enum): add MTYPE_OSPF_LSA.
3292
32931999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3294
3295 * rsh.c: Remove empty file.
3296
32971999-02-22 <kunihiro@zebra.org>
3298
3299 * routemap.c: Add add/delete hook to route_map_master.
3300
33011999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
3302
3303 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
3304 strlcpy on system without these.
3305
33061999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
3307
3308 * syslog support added
3309
33101999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3311
3312 * filter.c (access_list_add_hook): added for hook function management.
3313 * filter.c (access_list_delete_hook): Likewise.
3314
33151999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3316
3317 * stream.c: New file.
3318 * stream.h: New file.
3319 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
3320
33211999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3322
3323 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
3324
3325 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
3326
33271998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3328
3329 * routemap.c: route_map_index_delete() added.
3330
33311998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3332
3333 * buffer.c (buffer_empty): check cp instead of sp.
3334
33351998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3336
3337 * radix.[ch]: Deleted.
3338
33391998-12-15 Magnus Ahltorp <map@stacken.kth.se>
3340
3341 * buffer.c: Prototype fixes.
3342 * prefix.c: Likewise.
3343 * sockunion.c: Likewise.
3344 * sockunion.h: Likewise.
3345
33461998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3347
3348 * vty.c (vty_read): DELETE key works as vty_delete_char.
3349
33501998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3351
3352 * log.c (time_print): chane %y to %Y.
3353
33541998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3355
3356 * distribute.c: new file.
3357
33581998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3359
3360 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
3361 complete support of IPv6 access list.
3362
3363 * command.c (config_write_element): function delete.
3364 (config_write_host): function add. password and enable password
3365 isn't printed to vty interface.
3366
33671998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3368
3369 * filter.c: Change prefix_ipv4 to prefix and add support of
3370 prefix_ipv6 filtering.
3371
33721998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3373
3374 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
3375 header includes.
3376
33771998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3378
3379 * log.c (log_flush): fix function name typo.
3380
33811998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3382
3383 * memory.h: OSPF memory type is added.
3384
33851998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3386
3387 * command.c (sort_node): add sort_node() for pretty printing of
3388 command on vty interface.
3389 (config_password): delete the restriction of charaster of password
3390 string.
3391
33921998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
3393
3394 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
3395
33961998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3397
3398 * network.h: New file.
3399
34001998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3401
3402 * vty.c (vty_will_echo): function name change from vty_off_echo.
3403
34041998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3405
3406 * buffer.h: add PUTC,PUTW,PUTL macros.
3407
34081998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3409
3410 * route.[ch]: renamed to prefix.[ch]
3411
34121998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3413
3414 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
3415
3416 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
3417
34181998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3419
3420 * host.[ch]: merged with command.[ch]
3421
34221998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3423
3424 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
3425
34261998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3427
3428 * route.c (str2prefix): str2prefix () is gone.
3429
34301998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3431
3432 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
3433
3434 * .cvsignore: add file.
3435
3436 * memory.c (xerror): add arguent `type' and `size'.
3437
3438 * socket.c: deleted.
3439
34401998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3441
3442 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
3443 * linklist.c: same as above.
3444
34451998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3446
3447 * filter.[ch]: added.
3448
34491998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3450
3451 * vty.c (config_who): return CMD_SUCCESS
3452
34531998-04-01 Jochen Friedrich <jochen@scram.de>
3454
3455 * table.c (route_dump_node): route_dump_node is IPv6 specific
3456 function so move #ifdef to the end of route_dump_node ().
3457
34581998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
3459
3460 * if.c: DEFUN(interface_desc) added.
3461
34621998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3463
3464 * if.c: separated from ripd/rip_interface.c
3465
34661998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3467
3468 * thread.[ch] : added.
3469
34701998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3471
3472 * vty.c (vty_delete_char): fix size bug.
3473 (vty_backward_pure_word): function added.
3474 (vty_read): ESC + 'f' perform vty_forward_word.
3475 (vty_read): ESC + 'b' perform vty_backward_word.
3476
34771998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3478
3479 * radix.c (radix_lookup_rt): add mask check.
3480 (radix_delete_duproute): add mask check.
3481
34821998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3483
3484 * command.c (config_write_file): fix vty -> file_vty.
3485
34861998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3487
3488 * command.c (cmd_filter_ambiguous): add complex type treatment.
3489
34901998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3491
3492 * vty.c (vty_time_print): function added.
3493 (vty_complete_command): now [...] element isn't shown by completion.
3494
34951998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3496
3497 * command.c : change from cmd_install_node() to install_node().
3498
34991998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3500
3501 * route.[ch]: struct rt{} is replaced by struct prefix{}.
3502
35031998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3504
3505 * command.c (cmd_execute_command): check command length.
3506
3507 * timer.c (zebra_timer_set): add zebra_timer_set.
3508
35091998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3510
3511 * command.h (node_type ): add ZEBRA_NODE.
3512
3513 * command.c (config_exit): add RIP_NODE.
3514 (config_write_file): add RIP_NODE.
3515
35161998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3517
3518 * print_version.c (print_version): Now Copyright is 1996-1998.
3519
3520 * sockunion.c (sockunion_log): moved from ../zebra/route.c
3521
35221997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3523
3524 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
3525
3526 * sockunion.c (sockunion_sameprefix): add same prefix for
3527 sockunion.
3528
35291997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3530
3531 * radix.[ch] : are moved from ../zebra directroy.
3532
3533 * command.c (config_from_file): if command execution failed down
3534 level to CONFIG_NODE.
3535
3536 * host.c: config_log function which enable 'log FILENAME' command.
3537
35381997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3539
3540 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
3541 transpose character.
3542
3543 * command.c: cmd_cmdsize add, this is useful to check incomplete
3544 command.
3545
35461997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3547
3548 * fd.h: add family for address family
3549
35501997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3551
3552 * command.o
3553 * vty.o
3554 * host.o is moved from ../zebra
3555
35561997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3557
3558 * make library directory.
3559