blob: d031d8f58f522409e4f62bdb038ce5e4513dd0c6 [file] [log] [blame]
Paul Jakmae5cd7062006-06-15 12:25:55 +000012006-06-15 Paul Jakma <paul.jakma@sun.com>
2
3 * command.c: (cmd_describe_command_real) Fix leak, CID #38.
Paul Jakma8ce5cfd2006-06-15 12:41:02 +00004 * memory.h: Experimental, have XFREE macro NULL out the freed
5 pointer.
Paul Jakmac024fd02006-06-15 12:43:09 +00006 * linklist.c: (list_delete) call list_delete_all_node, don't
7 duplicate it.
Paul Jakma630c97c2006-06-15 12:48:17 +00008 * if.c: (if_flag_dump) remove the whitespace indentation, callers
9 should provide.
Paul Jakmae5cd7062006-06-15 12:25:55 +000010
Paul Jakma35cfc902006-05-28 08:08:24 +0000112006-05-28 Paul Jakma <paul.jakma@sun.com>
12
13 * zebra.h: Include inttypes.h rather than stdint.h, best practice
14 according to the autoconf manual.
15 Add UINT*_MAX defines for older platforms lacking these (FBSD 4)
Paul Jakmad09552d2006-05-28 08:15:46 +000016 * memory.c: malloc.h is deprecated in favour of stdlib.h, however
17 we still need it on GNU Libc for mallinfo().
Paul Jakmaa4b30302006-05-28 08:18:38 +000018 * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty
19 hasn't been initiliased.
Paul Jakmafb66b292006-05-28 08:26:15 +000020 * log.c: (general) Add support for Sun libc printstack().
21 (hex_append) make the cpp conditional on general HAVE_STACK_TRACE
22 define.
23 (zlog_backtrace_sigsafe) Ditto. Add printstack() version of the
24 the DUMP macro in this function.
Paul Jakma35cfc902006-05-28 08:08:24 +000025
Andrew J. Schorr9c378512006-05-21 04:04:49 +0000262006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
27
28 * if.h: (struct connected) Document the meaning of the
29 ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags.
30
Paul Jakmad6d672a2006-05-15 16:56:51 +0000312006-05-15 Paul Jakma <paul.jakma@sun.com>
32
33 * log.c: (general) Generalise struct zebra_route_desc into
34 struct zebra_desc_table and, similar to route_types, add a
35 command_types table to describe Zserv protocol commands.
36 (route_types[]) use a macro to use designated initialisers
37 while avoiding tedious duplication.
38 (zserv_command_string) lookup string from zebra_desc_table,
39 similar to zebra_route_string
40 * zebra.h: Add declaration for zserv_command_string, adjust the
41 comments to reflect zebra_desc_table.
42
Paul Jakmad16e0432006-05-15 10:56:46 +0000432006-05-13 Paul Jakma <paul.jakma@sun.com>
44
45 * vty.c: (vty_describe_command) CID #39 fix was too hasty, just
46 cause it /can/ leak doesn't mean it always will have, check
47 first.
48
Paul Jakma9376c342006-05-12 23:17:38 +0000492006-05-12 Paul Jakma <paul.jakma@sun.com>
50
51 * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref
52 of prefix and typestr strings, Coverity CID #3.
Paul Jakmad2519962006-05-12 23:19:37 +000053 * command.c: (cmd_complete_command_real) Fix leak of cmd_vector
54 in error case, Coverity CID #37.
Paul Jakma5fc60512006-05-12 23:24:09 +000055 (cmd_describe_command_real) Fix return of freed pointer when
56 no-match, CID #55.
Paul Jakma2fe8aba2006-05-12 23:22:01 +000057 * vty.c: (vty_describe_command) fix leak of describe vector in
58 error path, CID #39.
Paul Jakma9376c342006-05-12 23:17:38 +000059
Paul Jakma6cf0cf02006-03-30 14:43:17 +0000602006-03-30 Paul Jakma <paul.jakma@sun.com>
61
62 * command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as
63 potentially being unused.
Paul Jakma213d8da2006-03-30 14:45:47 +000064 * workqueue.c: (work_queue_run) fix line length of comment
Paul Jakma6cf0cf02006-03-30 14:43:17 +000065
Paul Jakmad4ce4f62006-03-30 14:30:19 +0000662006-03-27 Paul Jakma <paul.jakma@sun.com>
67
68 * memtypes.awk: Fix gensub call, g should be a string..
69
Paul Jakma68784532006-03-30 14:25:24 +0000702006-03-25 Paul Jakma <paul.jakma@sun.com>
71
72 * workqueue.h: (struct work_queue) Remove status field and
73 state flag, no longer used.
74
Paul Jakmab51f1262006-03-30 14:09:38 +0000752006-03-19 Paul Jakma <paul.jakma@sun.com>
76
77 * memtypes.c: Add MTYPE_BGP_SYNCHRONISE.
78
Paul Jakmacec0c4f2006-03-30 13:58:05 +0000792006-03-16 Paul Jakma <paul.jakma@sun.com>
80
81 * Makefile.am: Fix -version-info argument.
82
Paul Jakma41be32b2006-03-30 13:53:59 +0000832006-03-15 Paul Jakma <paul.jakma@sun.com>
84
85 * memory.c: (mtype_memstr) new helper function to
86 return human friendly string for a byte count.
87 (mtype_stats_alloc) new function, for users to retrieve
88 number of objects allocated.
89 (show_memory_mallinfo) New function, show mallinfo statistics
90 if available.
91 (show_memory_all_cmd) Call show_memory_mallinfo, if mallinfo
92 is available.
93 * memory.h: Export mtype_memstr and mtype_stats_alloc.
94 Provide a define for a reasonable buffer size for
95 mtype_memstr.
96
Paul Jakma924f9d32006-03-30 13:25:52 +0000972006-03-14 Paul Jakma <paul.jakma@sun.com>
98
99 * privs.c: (zprivs_caps_init) Change user IDs before lowering
100 privileges, while this seems to work on Linux, on Solaris
101 it rightfully refuses due to PRIV_PROC_SETID having been
102 dropped.
Paul Jakma86228fd2006-03-30 15:00:30 +0000103 * command.h: Add the struct host global exported from command.c
Paul Jakma924f9d32006-03-30 13:25:52 +0000104
Paul Jakma478ccfd2006-03-06 18:18:37 +00001052006-03-06 Paul Jakma <paul.jakma@sun.com>
106
107 * if.h: export show_address_cmd, for anyone who wishes to use
108 it.
109
Paul Jakma5a54df92006-02-21 01:37:14 +00001102006-02-21 Paul Jakma <paul.jakma@sun.com>
111
112 * sockunion.c: (sockunion_{su2str,log}) Use XSTRDUP.
113 Particularly with _su2str, as that string gets XFREEd,
114 which can be annoying if run debug code in memory.c.
115
paul306d8892006-02-02 17:50:19 +00001162006-02-02 Paul Jakma <paul.jakma@sun.com>
117
118 * workqueue.h: (struct work_queue) Remove the delay field.
119 It served no purpose and just introduced bad behaviour.
120 Should be excised before its allowed to escape into 1.0.
121 This removes need for the 'flood' and runs_since_clear
122 fields.
123 * workqueue.c: (general) excise delay factor between queue
124 runs, hence the 'flood' crap too.. See above.
125
paul581a02a2006-01-19 20:22:16 +00001262006-01-19 Paul Jakma <paul.jakma@sun.com>
127
128 * stream.c: (stream_getq_from) should use POSIX uint64_t
129 not u_int64_t. Latter is neither a traditional BSD type, nor
130 a POSIX type.
131
vincenteac314c2006-01-17 23:39:04 +00001322006-01-17 Vincent Jardin <vincent.jardin@6wind.com>
133
134 * md5.c: Don't forget to keep const.
135 * regex.c: Cleanup code and remove warnings.
136
paul7d0b0c42006-01-17 17:40:45 +00001372006-01-17 Paul Jakma <paul.jakma@sun.com>
138
139 * md5.{c,h}: (md5_loop) Is better off taking a void * and doing
140 cast to byte wise type internally, avoids needs for casts
141 in users.
paul789f78a2006-01-17 17:42:03 +0000142 * vty.c: (no_terminal_monitor_cmd) New ALIAS for
143 terminal_no_monitor, in the more normal negating format,
144 to be kind to my fingers.
145 (vty_init) install new ALIAS.
pauld2110862006-01-17 17:43:18 +0000146 * zclient.{c,h}: (zclient_create_header) export this, seems others
147 could use it (in lieu of more complete zserv helpers).
paul7d0b0c42006-01-17 17:40:45 +0000148
paulc1b98002006-01-16 01:54:02 +00001492006-01-16 Paul Jakma <paul.jakma@sun.com>
150
151 * zclient.h: Update the Zserv protocol header with a version
152 field. Define the old command field to be a 'marker', to
153 allow old Zserv and updated Zserv to be differentiated.
154 Future updates will bump the version field obviously. New
155 command field is made wider. Try to stop using the
156 'zebra_size_t' typedef in the callbacks.
157 * zclient.c: Update to read/write new format header.
158
paulc77d4542006-01-11 01:59:04 +00001592006-01-11 Paul Jakma <paul.jakma@sun.com>
160
161 * if.h: (struct interface) expand flags to 8 bytes.
162 * zclient.c: (zebra_interface_{add,state}_read) stream read of
163 interface flags now need to use stream_getq.
164 (zebra_interface_if_set_value) ditto
165
paul4b201d42006-01-10 14:35:19 +00001662006-01-10 Paul Jakma <paul.jakma@sun.com>
167
168 * stream.c: (stream_new) Allocate stream data as seperate object.
169 (stream_free) free the data.
170 (stream_resize) new function, resize stream to new size.
171 (stream_{get,put}q*) new functions to get/put quad word size
172 types.
173 * stream.h: (struct stream) make data seperate from the stream.
174 Export new stream_resize and quad-word get/put functions.
175
gdtf80a0162005-12-29 16:03:32 +00001762005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
177
178 * vty.c (vty_hello): add cast to quiet lint (from David Young)
179
paul00c290e2005-11-26 09:21:43 +00001802005-11-26 Paul Jakma <paul.jakma@sun.com>
181
182 * buffer.c: (struct buffer_data) change gcc zero array
183 declaration to C99 incomplete array.
184 * stream.h: (struct stream) same
185
paul6e0f1b92005-11-24 12:47:17 +00001862005-11-24 Paul Jakma <paul.jakma@sun.com>
187
188 * privs.c: (zcaps2sys/solaris) remove unused variable.
189 (zprivs_state_caps/solaris) Format string missing a
190 specifier.
paulb6026072005-11-24 12:51:24 +0000191 * zebra.h: s/u_int/unsigned int/, u_int is a BSD type, defining
192 __USE_BSD on Linux pulls in further things from netinet/ip.h
193 which dont preprocess for some reason. There is no C99
194 shorthand type directly equivalent to u_int afaict, so don't
195 use it.
paul6e0f1b92005-11-24 12:47:17 +0000196
paul190880d2005-11-14 12:07:47 +00001972005-11-14 Paul Jakma <paul.jakma@sun.com>
198
paul889e9312005-11-14 14:46:35 +0000199 * (general) pass struct work-queue to callback functions.
200 * workqueue.h: (struct work_queue) move the state flag
201 variables to end.
202 Add an opaque pointer to spec, for user-data global to the
203 queue.
204 Pass reference to work_queue to all callbacks.
205 * workqueue.c: (work_queue_item_remove) pass ref to workqueue
206 to user callbacks.
207 (work_queue_run) ditto.
208
2092005-11-14 Paul Jakma <paul.jakma@sun.com>
210
paul190880d2005-11-14 12:07:47 +0000211 * (general) Add state to detect queue floods. There's no sense
212 trying to be sparing of CPU resources, if the queue is
213 flooding and using ever more memory resources. we should just
214 get on with clearing the queue.
215 The sense of delay and hold were wrong way around, fix.
216 * workqueue.h: (struct work_queue) Add status bitfield. Add
217 'flood' integer to workqueue spec. Add runs_since_clear
218 counter to workqueue.
219 * workqueue.c: (work_queue_new) set defaults for delay, hold
220 and flood.
221 (work_queue_add) initial schedule should use delay, not hold.
222 (show_work_queues) Print flood field, conserve whitespace.
223 (work_queue_unplug) use delay, not hold.
224 (work_queue_run) consecutive runs should be seperated by hold
225 time, not delay.
226 Keep track of number of consecutive runs, go into 'overdrive'
227 if queue is being flooded, we can't avoid making heavy use of
228 resources, better to use CPU than ever more RAM.
paul76367ea2005-11-14 14:05:35 +0000229 * zebra.h: [bug #231] include stdint, if its there.
paul190880d2005-11-14 12:07:47 +0000230
2312005-11-05 Paul Jakma <paul.jakma@sun.com>
pauldb29ae52005-11-12 22:36:41 +0000232
233 * routemap.c: (vty_show_route_map_entry) call action is
234 seperate from exit action, latter should still be printed
235 regardless of whether a call is specified.
236
paul34204aa2005-11-03 09:00:23 +00002372005-11-03 Paul Jakma <paul.jakma@sun.com>
238
239 * zebra.h: BSD BYTE_ORDER define isn't available everywhere,
240 define if needs be.
241 * checksum.h: new file. checksum.c exports in_cksum, provide
242 a header for it.
243 * checksum.c: (in_cksum) callers shouldn't have to know it uses
244 a u_short internally, change to void *.
245 * Makefile.am: Add checksum.h
246 * command.h: remove bogus trailling slash.
247 * md5.c: (general) Update it for the twentieth century. ANSI
248 declarations are widely supported now.. Don't include system
249 headers, only include zebra.h. Use POSIX types (the
250 alternative is to define u_int64_t in a portable way - rest
251 of Quagga needs same cleanup).
252 Make endian-conditional code be compiler conditional rather
253 than preprocessor conditional, so that breakage gets noticed
254 quicker.
255 * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable
256 compiler compatibility hack.
paul9c4f1c62005-11-03 11:04:07 +0000257 * if.c: (connected_free) use MTYPE for connected label.
paula49ad232005-11-03 13:00:54 +0000258 * memtypes.c: Add MTYPE_CONNECTED_LABEL
259 * memtypes.h: Update auto-built file.
paul34204aa2005-11-03 09:00:23 +0000260
paul02416842005-10-26 05:05:16 +00002612005-10-26 Paul Jakma <paul.jakma@sun.com>
262
263 * (general) Cleanup a some calls to XFREE,strdup, etc. to use
264 the memory.h macros.
265 * memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE,
266 MTYPE_PQUEUE_DATA and MTYPE_HOST.
267 * memtypes.h: update auto-built file.
268 * if_rmap.c: Use MTYPE_IF_RMAP_NAME.
269 * pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations.
paul05865c92005-10-26 05:49:54 +0000270 * command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups,
271 including fixing some likely leaks in config_write_file.
272 * vty.c: memory macro usage fixes.
273 (vty_read_config) fix leak where relative config file is
274 specified.
paul02416842005-10-26 05:05:16 +0000275
ajs24065a32005-10-20 22:28:14 +00002762005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
277
ajsc188c372005-10-21 02:57:41 +0000278 * sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP
279 fails with errno equal to EADDRINUSE, then issue an info
280 message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP.
281
2822005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
283
ajs24065a32005-10-20 22:28:14 +0000284 * memory.c: (show_memory_vty) Omit zero statistics. Print separators
285 only if some non-zero stats have been printed in between.
286 (show_separator) New function to print a separator.
287 (show_memory_all) Keep track of whether a separator is needed
288 between the different memory statistics groups.
289
ajs50123222005-10-18 20:19:13 +00002902005-10-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
291
292 * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c).
293
pauleb3da6d2005-10-18 04:20:33 +00002942005-10-18 Paul Jakma <paul.jakma@sun.com>
295
296 * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT.
297
ajsf52d13c2005-10-01 17:38:06 +00002982005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
299
300 * zebra.h: Declare new functions zebra_route_string() and
301 zebra_route_char().
302 * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New
303 functions to map zebra route numbers to strings.
304
vincent5e4914c2005-09-29 16:34:30 +00003052005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
306
307 * smux.[ch]: allow to retreive global OID (identified by <0
308 namelen).
309
paulceacedb2005-09-29 14:39:32 +00003102005-09-29 Paul Jakma <paul.jakma@sun.com>
311
312 * zebra.h: Solaris capabilities requires priv.h to be included.
313 * privs.{c,h}: Add support for Solaris Least-Privileges.
314 privs.h: Reduce some of the abstract capabilities, which do
315 not have rough equivalents on both systems. Rename the net
316 related caps to _NET, as they should have been in first
317 place.
318 (zprivs_terminate) should take the zebra_privs_t as argument so
319 that it can update change pointer.
320 Add an additional privilege state, ZPRIVS_UNKNOWN.
321 * privs.c: (various capability functions) Add
322 Solaris privileges variants.
323 (zprivs_state) Use privs.c specific generic types to
324 represent various capability/privilege related types, so that
325 each can be typedef'd as appropriate on each platform.
326 (zprivs_null_state) static added, to hold the state the null
327 method should report (should be raised by default, and
328 LOWERED if zprivs_terminate has been called)
329 (zprivs_state_null) Report back the zprivs_null_state.
330 (cap_map) Make it able to map abstract capability to multiple
331 system capabilities.
332 (zcaps2sys) Map to abstract capabilities to multiple system
333 privileges/capabilities.
334 (zprivs_init) move capability related init to seperate
335 function, zprivs_caps_init.
336 (zprivs_terminate) ditto, moved to zprivs_caps_terminate.
337 Set the change_state callback to the NULL state, so the
338 user can continue to run and use the callbacks.
339
vincentfbf5d032005-09-29 11:25:50 +00003402005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
341
342 * filer.c: show protocol name in filter_show()
343 * plist.c: show protocol name in vty_show_prefix_entry()
344 * routemap.c: show protocol name in vty_show_route_map_entry()
345 * vty.c: in vty_command(), show protocol name if command unknown
346
vincentc1a03d42005-09-28 15:47:44 +00003472005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
348
349 * md5-gnu.h: removed
350 * md5.h: replaces md5-gnu.h
351 * Makefile.am: use correct md5.h
352 * md5.c: import from WIDE
353
paul75b2dd02005-09-21 14:06:35 +00003542005-09-21 Paul Jakma <paul.jakma@sun.com>
355
356 * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA.
357
hassoe6a4feb2005-09-19 09:53:21 +00003582005-09-19 Hasso Tepper <hasso at quagga.net>
359
360 * str.[ch]: Add strndup() from glibc.
361
pauleb820af2005-09-05 11:54:13 +00003622005-09-05 Paul Jakma <paul.jakma@sun.com>
363
364 * command.c: (install_element) be more robust. Eg, cmd_init
365 need not have been called, some applications may use other
366 library subsystems, which call install_element, without the
367 application wanting commands and hence not calling cmd_init.
368
paul1e836592005-08-22 22:39:56 +00003692005-08-22 Hugo Santos <hsantos@av.it.pt>
370
371 * command.h: (enum node_type) Add BGP_IPV6M_NODE
372 * command.c: (node_parent) Handle BGP_IPV6M_NODE node
373 (config_exit, config_end) ditto
374 * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node
375
gdt0312f0c2005-08-10 13:20:03 +00003762005-08-10 Greg Troxel <gdt@fnord.ir.bbn.com>
377
378 * getopt.h: Don't declare getopt (rather than getopt_long), since
379 quagga doesn't need it.
380 * getopt.c (getopt): Don't define getopt.
381
ajs330009f2005-07-26 14:35:37 +00003822005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs7907c6c2005-07-26 19:55:31 +0000383 * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new
384 to allocate the memory to make sure that all struct prefix pointers
385 point to objects of the same length (avoids memory overruns
386 on struct prefix assignments).
387 (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free.
388 It is interesting to note that these functions are never actually
389 called anywhere in the code. Instead prefix_free was already
390 being called directly, despite the previous MTYPE incompatibility.
391
3922005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs330009f2005-07-26 14:35:37 +0000393
394 * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is
395 in range before dereferencing it.
396
paul510e2092005-06-24 01:20:25 +00003972005-06-24 Pawel Worach <pawel.worach@gmail.com>
398
399 * getopt.h: add further tests for full getopt declaration on
400 various systems.
401
paul354f3b62005-06-18 16:55:20 +00004022005-06-18 Paul Jakma <paul.jakma@sun.com>
403
404 * memtypes.h: update autobuilt file to match memtypes.c changes
405
paul200df112005-06-01 11:17:05 +00004062005-06-01 Paul Jakma <paul.jakma@sun.com>
407
408 * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and
409 MTYPE_BGP_CLEAR_NODE_QUEUE
410
paul8176c192005-05-24 09:33:52 +00004112005-05-24 Paul Jakma <paul@dishone.st>
412
413 * memtypes.h: update this auto-built file. (maybe we should just
414 remove it, is GNU awk a terrible dependency to have?)
415
pauld5c92532005-05-23 12:33:58 +00004162005-05-23 Paul Jakma <paul@dishone.st>
417
418 * memtypes.awk: use character classes, which work correctly in
419 all LC_COLLATE environments, unlike A-Z, which doesnt work in
420 eg estonian collate order. Reported by Hasso.
pauld4f09602005-05-23 12:43:34 +0000421 * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command
422 is used, which does not supply an argv[0].
423 this is a backport candidate /iff/ the trailing ; is removed
424 from VTY_GET_INTEGER_RANGE
425 * vty.h: fix the VTY_GET macros, do {..} while(0) so they have
426 correct function like syntax in usage.
paul269d74f2005-05-23 13:42:46 +0000427 * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code,
428 to allow a queue function to indicate the queue is not
429 ready/blocked - rather than any problem with the item at hand.
430 Add a notion of being able to 'plug' and 'unplug' a queue.
431 Add helpers to plug/unplug a queue.
432 Add a completion callback, to be called when a queue is emptied.
433 * workqueue.c: (work_queue_new) remove useless list_free.
434 (work_queue_schedule) new internal helper function to schedule
435 queue, if appropriate.
436 (work_queue_add) use work_queue_schedule
437 (show_work_queues) Print 'P' if queue is plugged.
438 (work_queue_plug) new API function, plug a queue - ie prevent it
439 from 'drained' / processed / scheduled.
440 (work_queue_unplug) unplug a queue, allowing it to be drained
441 / scheduled / processed again.
442 (work_queue_run) Add support for WQ_QUEUE_BLOCKED.
443 Add comment for RETRY_NOW case.
444 Make hysteris more aggresive in ramping up granularity, improves
445 performance significantly.
446 Add support for calling completion callback when queue is emptied,
447 possibly useful for knowing when to unplug a queue.
pauld5c92532005-05-23 12:33:58 +0000448
pauldc818072005-05-19 01:30:53 +00004492005-05-19 Paul Jakma <paul@dishone.st>
450
451 * thread.c: (thread_cancel_event) the number of pending events
452 cancelled is potentially useful information, dont throw it away,
453 pass it back to the caller.
paul2ba9a372005-05-19 01:37:50 +0000454 * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP
455 (sockunion_getpeername) ditto
paule387e662005-05-19 02:13:28 +0000456 * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST
pauldc818072005-05-19 01:30:53 +0000457
paul024a7f02005-05-15 14:25:08 +00004582005-05-15 Paul Jakma <paul@dishone.st>
459
460 * getopt.h: It's not just __GNU_LIBRARY__ which defines
461 getopt, eg __EXTENSIONS__ does too on SunOS. It still seems
462 awfully fragile though.
463 * getopt.c: include zebra.h after config.h, before including
464 getopt.h so that things at least are consistent..
465 * getopt1.c: ditto
466
paul42c98192005-05-07 02:22:51 +00004672005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
468
469 * sockopt.c: Add support for BSD style ifindex in ip_mreq.
470
paul8cc41982005-05-06 21:25:49 +00004712005-05-06 Paul Jakma <paul@dishone.st>
472
473 * (general) extern and static'ification of functions in code and
474 header.
475 Cleanup any definitions with unspecified arguments.
476 Add casts for callback assignments where the callback is defined,
477 typically, as passing void *, but the function being assigned has
478 some other pointer type defined as its argument, as gcc complains
479 about casts from void * to X* via function arguments.
480 Fix some old K&R style function argument definitions.
481 Add noreturn gcc attribute to some functions, as appropriate.
482 Add unused gcc attribute to some functions (eg ones meant to help
483 while debugging)
484 Add guard defines to headers which were missing them.
485 * command.c: (install_node) add const qualifier, still doesnt shut
486 up the warning though, because of the double pointer.
487 (cmp_node) ditto
488 * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived
489 fromn vty.h ones to fix some of the (long) < 0 warnings.
490 * thread.c: (various) use thread_empty
491 (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type
492 * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they
493 removed from ospfd/ospf_vty.h
494 * zebra.h: Move definition of ZEBRA_PORT to here, to remove
495 dependence of lib on zebra/zserv.h
496
hassoe7fe8c82005-05-06 19:33:35 +00004972005-05-06 Hasso Tepper <hasso at quagga.net>
498
499 * sockunion.c: Fix warning message.
500
paul0dab9302005-05-03 09:07:56 +00005012005-05-03 Paul Jakma <paul@dishone.st>
502
503 * stream.h: Add comment about the special zero-ing ability of
504 stream_put.
505 (stream_recvmsg, stream_write) should return ssize_t and size_t
506 respectively. Should both be extern linkage.
507 (stream_recvfrom) Stream aware wrapper around recvfrom, in style
508 of stream_read_try.
509 * stream.c: (stream_recvfrom) new function, wrapper around recvfrom.
510 (stream_recvmsg, stream_write) ssize_t and size_t return values
511
ajs3df53782005-04-27 16:29:54 +00005122005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
513
ajs8b70d0b2005-04-28 01:31:13 +0000514 Add wall-clock timing statistics to 'show thread cpu' output.
515 * thread.h: Define struct rusage_t to contain wall-clock time
516 and cpu time. Change GETRUSAGE macro to collect both pieces
517 of data. Make appropriate changes to struct cpu_thread_history
518 to track CPU time and real time. Change proto for
519 thread_consumed_time to return real and cpu time elapsed.
520 And declare a new global variable 'struct timeval recent_time'.
521 * thread.c (struct timeval recent_time): New global timestamp variable.
522 (timeval_adjust): If timeout is negative, set to 0 (not 10
523 microseconds). And remove upper bound of 1,000,000 seconds, since
524 this does not seem to make any sense (and it breaks
525 funcname_thread_add_timer_timeval).
526 (timeval_cmp): Should return long, not int.
527 (vty_out_cpu_thread_history): Show CPU time and real time.
528 (cpu_record_hash_print): Calculate totals for CPU and real time.
529 (cpu_record_print): Change 'show thread cpu' title to show CPU and
530 real time.
531 (thread_timer_remain_second): Put current time in global recent_time.
532 (funcname_thread_add_timer_timeval): Fix assert. Replace 2-case
533 switch assignment with a ternary expression. Use global recent_time
534 variable. Fix use of timeval_adjust (previously, the value was not
535 actually being adjusted).
536 (thread_cancel): Add missing "break" statement in case
537 THREAD_BACKGROUND.
538 (thread_timer_wait): Use global recent_time value instead of calling
539 gettimeofday. And there's no need to check for negative timeouts,
540 since timeval_subtract already sets these to zero.
541 (thread_timer_process): Timers are sorted, so bail out once we
542 encounter a timer that has not yet popped. And remove some
543 extraneous asserts.
544 (thread_fetch): Do not process foreground timers before calling
545 select. Instead, add them to the ready list just after the select.
546 Also, no need to maintain a count of the number of ready threads,
547 since we don't care how many there are, just whether there's
548 one at the head of the ready list (which is easily checked).
549 Stick current time in global variable recent_time to reduce
550 the number of calls to gettimeofday. Tighten logic for
551 calculating the select timeout.
552 (thread_consumed_time): Now returns real time and puts the elapsed
553 cpu time in an additional argument.
554 (thread_should_yield): Use real (wall-clock) time to decide whether
555 to yield.
556 (thread_call): Maintain CPU and real time statistics.
557 * vty.c (vty_command): For slow commands, show real and cpu time.
558
5592005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
560
ajs3df53782005-04-27 16:29:54 +0000561 * workqueue.c (show_work_queues): Remove unused gettimeofday call.
562
paul84369682005-04-27 12:39:27 +00005632005-04-27 Paul Jakma <paul.jakma@sun.com>
564
565 * workqueue.h: (struct work_queue_item) change retry_count to ran,
566 its a count of number item has been run.
567 * workqueue.c: (show_work_queues) Fix formating of slightly
568 bugfix: fix SIGFPE if wq->runs is 0.
569 (work_queue_run) retry logic was slightly wrong.
570 cycles.best is 0 initialy, granularity is 1, so update best
571 if cycles >= granularity, not just >.
paula7bca0f2005-04-27 12:44:54 +0000572 * memory.h: memtypes is built source, default includes points to
573 top_builddir, so we should refer to lib/memtypes.h
574
ajs07334da2005-04-26 17:14:30 +00005752005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
576
577 * buffer.c (buffer_write): Comment out call to buffer_flush_available.
578 This should speed up buffering at the expense of a possible increase
579 in latency in flushing the data if inside a long-running thread.
580
paulab59ae32005-04-25 13:52:26 +00005812005-04-25 Paul Jakma <paul.jakma@sun.com>
582
paul147aff02005-04-25 16:29:10 +0000583 * workqueue.{c,h}: Helper API for setting up and running queues via
584 background threads.
585 * command.c: install the 'show workqueues' command
586 * memtypes.c: Add work queue mtypes, and a rib-queue type for
587 a zebra rib work queue.
588 * memtypes.h: Updated to match memtypes.c
paulab59ae32005-04-25 13:52:26 +0000589 * Makefile.am: Refer to source files via srcdir variable, fix
590 out-of-tree build breakage.
paul147aff02005-04-25 16:29:10 +0000591 Add new workqueue files to build.
paul2c1de2a2005-04-25 14:02:44 +0000592 * memory.c: Make the string field much wider
593 * memtypes.c: Correct the prefix list str/entry strings
paul907873a2005-04-25 14:53:46 +0000594 * thread.c: Kill unused TIMER_NO_SORT bits
paulab59ae32005-04-25 13:52:26 +0000595
ajsfb9e46b2005-04-22 14:23:34 +00005962005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
597
598 * thread.h: Fix type for struct thread_master add_type: should be
599 unsigned char. Also, add some documentation of thread_add_background
600 args. And remove extraneous declaration of
601 show_thread_work_queues_cmd.
602
paula48b4e62005-04-22 00:43:47 +00006032005-04-22 Paul Jakma <paul.jakma@sun.com>
604
paule1e53ed2005-04-22 13:44:17 +0000605 * memory.h: Move include of memtypes.h to after the definition of
606 struct memory_list, gcc 4.0 doesn't like arrays of incomplete
607 types.
paula48b4e62005-04-22 00:43:47 +0000608 * thread.h: Add background thread type and thread_add_background
609 macro and accompanying funcname_... function.
610 export thread_should_yield, background threads can use it.
611 Lower thread yield time to 10ms, 100ms is noticeable lag and
612 a thread would only be /starting/ to finish sometime afterward.
613 * thread.c: (general) Add background thread type and schedule
614 nearly all thread types through the ready list for fairness.
615 (timeval_adjust) static qualifier missing
616 (vty_out_cpu_thread_history) add support for printout of
617 background threads
618 (show_thread_cpu) ditto.
619 (thread_master_debug) add debug of background list
620 (thread_master_create) fixup long line
621 (thread_add_unuse) add asserts for required state.
622 (thread_master_free) free background thread list
623 (funcname_thread_add_timer_timeval) make generic, able to
624 support arbitrary timer-like thread types.
625 (funcname_thread_add_timer) pass thread type to .._add_timer_timeval
626 (funcname_thread_add_timer_msec) ditto
627 (funcname_thread_add_background) Add a background thread, with an
628 optional millisecond delay factor, using .._add_timer_timeval.
629 (thread_cancel) Add background thread type.
630 Move the thread_list_delete common to all cases to bottom of
631 function, after the switch statement..
632 (thread_cancel_event) indent
633 (thread_timer_wait) Static qualifier, and make it able to cope
634 with arbitrary timer-like thread lists, so its of use to
635 background threads too.
636 (thread_process_fd) static qualifier. Again, make it take a list
637 reference rather than thread_master. Fix indentation.
638 (thread_timer_process) Check for ready timer-like threads in the
639 given list and move them on to the ready list - code originally
640 embedded in thread_fetch.
641 (thread_fetch) Schedule all threads, other than events, through
642 the ready list, to ensure fairness. Timer readying code moved to
643 thread_timer_process so it can be reused for background threads.
644 Remove the unneeded quagga_sigevent_process, as pointed out by
645 John Lin <john.ch.lin@gmail.com>.
646 (thread_should_yield) make this available.
647
ajs924b9222005-04-16 17:11:24 +00006482005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
649
650 * thread.h (thread_consumed_time): Declare new function to calculate
651 elapsed microseconds.
652 * thread.c (thread_consumed_time): Must be global not static so we
653 can call it from lib/vty.c:vty_command.
654 (thread_should_yield): Surround with `#if 0' to make clear that this
655 function is not currently being used anywhere.
656 (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG
657 warning message if the thread takes more than CONSUMED_TIME_CHECK
658 microseconds.
659 * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU
660 HOG warning message if the command takes more than CONSUMED_TIME_CHECK
661 microseconds.
662
pauldc830cb2005-04-16 15:51:05 +00006632005-04-16 Paul Jakma <paul@dishone.st>
664
665 * memtypes.c: the comment about use of comments in the comments
666 headers was causing comment within comment warnings from compiler
667 * memtypes.awk: Add extensive comments on the file format for
668 memtypes.c.
669 tighten the pattern for the MTYPE matching action (suggestion from
670 Andrew) and tighten which field we try the match on.
671
paul2fd2fd52005-04-15 11:47:15 +00006722005-04-15 Paul Jakma <paul@dishone.st>
673
674 * memtypes.c: The new, unified location for memory type definitions.
675 The memtype enum and declarations for memory_lists are built from
676 this automatically and put into memtypes.h.
677 * memtypes.awk: New script to generate memtypes.h from memtypes.c
678 * memory.h: Finally, the enum can banished!
679 * memory.c: Finally, the seperate mtype memory_list definitions can
680 be banished!
681 (log_memstats) Increase width of fields
682 (show_memory_zebra_cmd) display zebra specific memory types.
683 Increase width of fields.
684 * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h
685 Add a rule to build memtypes.h using memtypes.awk.
686 Add memtypes.awk to EXTRA_DIST.
pauld45f1f12005-04-15 22:18:37 +0000687 memtypes.awk is gawk dependent, use the GAWK automake var.
688 * memtypes.h: New file, auto-generated, checked in for convenience.
paul2fd2fd52005-04-15 11:47:15 +0000689
ajs634f9ea2005-04-11 15:51:40 +00006902005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
691
692 * zclient.h (struct zclient): Add two fields to support non-blocking
693 I/O: struct buffer *wb, and struct thread *t_write.
694 (zclient_free): Remove function.
695 (zebra_redistribute_send): Change 2nd arg from socket fd to
696 struct zclient * (needed to support non-blocking I/O and buffering).
697 (zclient_send_message): New function to send an arbitrary
698 message with non-blocking I/O.
699 * zclient.c (zclient_new): Create write buffer.
700 (zclient_free): Remove unused function.
701 (zclient_stop): Must cancel new t_write thread. Also, reset
702 all buffers: ibuf, obuf, and wb.
703 (zclient_failed): New helper function for typical error handling.
704 (zclient_flush_data): New thread to flush queued data.
705 (zclient_send_message): New function to send the message in
706 zclient->obuf to zebra using non-blocking I/O and buffering.
707 (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use
708 new zclient_send_message function instead of calling writen.
709 (zclient_start): Set socket non-blocking. Also, change 2nd arg
710 to zebra_redistribute_send from zclient->sock to zclient.
711 (zebra_redistribute_send): Change 2nd arg to struct zclient *.
712 Can now use zclient->obuf to assemble the message instead of
713 allocating a temporary stream. And call zclient_send_message to
714 send the message instead of writen.
715 (zclient_read): Convert to support non-blocking I/O by using
716 stream_read_try instead of deprecated stream_read.
717 (zclient_redistribute): Change 2nd arg to zebra_redistribute_send
718 from zclient->sock to zclient.
719
hasso5bb4c192005-04-09 13:27:50 +00007202005-04-09 Jeroen Simonetti <jeroens@office.netland.nl>
721
722 * routemap.c: Show description in "show route-map" output.
723
ajsd66a7b52005-04-08 16:42:03 +00007242005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
725
ajs67bf16c2005-04-08 19:02:04 +0000726 * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.
727
7282005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
729
ajs926fe8f2005-04-08 18:50:40 +0000730 * vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate
731 compiler warnings when assigning a (const char *) value to
732 struct iovec iov_base.
733
7342005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
735
ajsd66a7b52005-04-08 16:42:03 +0000736 * zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This
737 fixes a problem where we were not getting the declaration of strnlen
738 in <string.h>.
739
hasso3a2ce6a2005-04-08 01:30:51 +00007402005-04-08 Hasso Tepper <hasso at quagga.net>
741
hasso4a8164e2005-04-08 14:20:18 +0000742 * routemap.[ch]: Added "description ..." command.
743
7442005-04-08 Hasso Tepper <hasso at quagga.net>
745
hasso3a2ce6a2005-04-08 01:30:51 +0000746 * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
747 inet_ntoa alike.
748
paul1eb8ef22005-04-07 07:30:20 +00007492005-04-07 Paul Jakma <paul.jakma@sun.com>
750
751 * linklist.h: Add usage comments.
752 Rename getdata macro to listgetdata.
753 Rename nextnode to listnextnode and fix its odd behaviour to be
754 less dangerous.
755 Make listgetdata macro assert node is not null, NULL list entries
756 should be bug condition.
757 ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use
758 with for loop, Suggested by Jim Carlson of Sun.
759 Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the
760 "safety" of previous macro.
761 LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to
762 distinguish from the similarly named functions, and reflect their
763 effect better.
764 Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section
765 with the old defines which were modified above,
766 for backwards compatibility - guarded to prevent Quagga using it..
767 * linklist.c: fix up for linklist.h changes.
768 * *.c: fix up for new list loop macro, try audit other loop
769 usage at same time, to some degree.
770
hasso59209902005-04-05 14:36:49 +00007712004-04-05 Hasso Tepper <hasso at quagga.net>
772
773 * lib/prefix.[hc]: inet6_ntoa utility function copied from
774 ripngd/ripngd.c (inet6_ntop).
775
paul3d1dc852005-04-05 00:45:23 +00007762004-04-05 Paul Jakma <paul@dishone.st>
777
778 * vty.c: Improve logging of failures to open vty socket(s).
779 See bugid #163.
780
ajs3cb98de2005-04-02 16:01:05 +00007812005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
782
ajs08dbfb62005-04-03 03:40:52 +0000783 * if.h: Fix comments to reflect that if_lookup_by_name and
784 if_get_by_name now require the argument strings to be NUL-terminated.
785 * if.c: (if_lookup_by_name) Compare using strcmp.
786 (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create.
787
7882005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
789
ajs018546e2005-04-02 23:05:56 +0000790 * if.c: (if_nametoindex) The man page is rather vague, but it seems
791 like the argument to if_nametoindex has an implicit maximum length
792 of IFNAMSIZ characters.
793
7942005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
795
ajsa3491982005-04-02 22:50:38 +0000796 * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
797 * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
798 (if_get_by_name) Tighten up code.
799 (interface) Use new function if_get_by_name_len.
800 * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
801 function.
802 (zebra_interface_state_read) Use new if_lookup_by_name_len function.
803
8042005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
805
ajs851adbd2005-04-02 18:48:39 +0000806 * str.c: Replace strlcpy and strlcat with actual working versions
807 copied from rsync-2.6.2/lib/compat.c.
808
8092005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
810
ajsd2fc8892005-04-02 18:38:43 +0000811 * if.h: Remove define for IFINDEX_INTERNBASE and add define
812 IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
813 interfaces should have ifindex set to 0.
814 (if_new) Remove function.
815 (if_delete_retain) New function to delete an interface without
816 removing from iflist and freeing the structure.
817 (ifname2ifindex) New function.
818 * if.c: (if_new) Remove function (absorb into if_create).
819 (if_create) Replace function if_new with call to calloc.
820 Set ifp->ifindex to IFINDEX_INTERNAL. Fix off-by-one error
821 in assert to check length of interface name. Add error message
822 if interface with this name already exists.
823 (if_delete_retain) New function to delete an interface without
824 removing from iflist and freeing the structure.
825 (if_delete) Implement with help of if_delete_retain.
826 (ifindex2ifname) Reimplement using if_lookup_by_index.
827 (ifname2ifindex) New function to complement ifindex2ifname.
828 (interface) The interface command should check the name length
829 and fail with a warning message if it is too long.
830 (no_interface) Fix spelling in warning message.
831 (if_nametoindex) Reimplement using if_lookup_by_name.
832 (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
833 if_lookup_by_index.
834
8352005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
836
ajs3cb98de2005-04-02 16:01:05 +0000837 * zebra.h: Should include str.h to pick up missing functions.
838 * str.h: Declare strnlen if needed.
839 * str.c: Do not include str.h since zebra.h now includes it.
840 (strnlen) New function.
841
ajsdb8eaac2005-03-16 16:13:06 +00008422005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
843
844 * zebra.h: Must check whether __attribute__ should be defined before
845 including zassert.h.
846
paulb8961472005-03-14 17:35:52 +00008472005-03-14 Paul Jakma <paul.jakma@sun.com>
848
849 * command.c: (sort_node) use vector_max instead of referencing
850 (struct vector *)->max directly. Test that vector_max is > 0
851 before using it to calculate an index.
852 Fixup vector loop to make main body conditional on vector slot
853 not being empty.
854 (cmd_cmdsize) Fixup vector loop to make main body conditional on
855 vector slot not being empty.
856 (cmd_filter_by_completion) ditto
857 (cmd_filter_by_string) ditto
858 (is_cmd_ambiguous) ditto
859 (cmd_describe_command_real) Change index integers to unsigned.
860 Test that vector_max is > 0 before using it to calculate an index.
861 Return immediately with CMD_ERR_NO_MATCH if vline has no
862 active slots.
863 Fixup vector loop to make main body conditional on vector slot
864 not being empty.
865 (cmd_complete_command_real) ditto.
866 (cmd_execute_command_strict) Fixup vector loop to be conditional
867 on non-null slot.
paul909a2152005-03-14 17:41:45 +0000868 (various) Fix indentation and other whitespace.
paul55468c82005-03-14 20:19:01 +0000869 vector.h: Rename to (struct vector).max to slightly less confusing
870 active, for the number of active slots, distinct from allocated
871 or active-and-not-empty. Rename vector_max to vector_active
872 for same reason.
paulb8961472005-03-14 17:35:52 +0000873
paul9e92eea2005-03-09 13:39:26 +00008742005-03-09 Paul Jakma <paul.jakma@sun.com>
875
876 * command.c: Undo commit of sign warning fix and hidden command
877 in list_cmd. Sign warning is more subtle. list_cmd on its own
878 will be committed after.
paul4275b1d2005-03-09 13:42:23 +0000879 * command.c: (config_list_cmd) Don't list hidden or deprecated
880 commands, hiding these from tab completion is still to be done.
paul9e92eea2005-03-09 13:39:26 +0000881
paulb45da6f2005-03-08 15:16:57 +00008822005-03-08 Paul Jakma <paul.jakma@sun.com>
883
paul9c5d8562005-03-08 15:56:42 +0000884 * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
paul22085182005-03-08 16:00:12 +0000885 (no_banner_motd_cmd) use XFREE.
paul9c5d8562005-03-08 15:56:42 +0000886 (cmd_describe_command_real) sign compile warning fix
887 (cmd_complete_command_real) ditto.
888 (config_list_cmd) Don't list hidden or deprecated commands,
889 hiding these from tab completion is still to be done.
890 * command.h: cmd attr enum should start at 1.
paulb45da6f2005-03-08 15:16:57 +0000891 * vty.c: (vty_hello) suggestions from Andrew, read by line and
892 stub out trailling non-printable characters on each line thus
893 allowing us to specify VTY_NEWLINE to vty_out.
894
paul3b0c5d92005-03-08 10:43:43 +00008952005-03-08 Jeroen Massar <jeroen@unfix.org>
896
897 * vty.c: (vty_hello) display motd file, if set
898 * command.h: add char *motdfile to struct host
899 * command.c: (config_write_host) write out motdfile config
900 (banner_motd_file_cmd) new command, allow motd to be read from
901 file.
902 (no_banner_motd_cmd) free motdfile string, if needs be.
903 (cmd_init) init (struct host).motdfile. Add new motd file
904 commands.
905
hasso12f6ea22005-03-07 08:35:39 +00009062005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
907
908 * command.c: host.name might be NULL.
909 * vty.c: Fix fd leak.
910
ajs81fb3242005-02-24 16:02:53 +00009112005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
912
913 * stream.c: (stream_read_try) Log a warning message if a fatal
914 I/O error occurs.
915 (stream_fifo_new) Fix prototype.
916 * stream.h: Fix prototype for stream_fifo_new (need void arg).
917
ajs9fc7ebf2005-02-23 15:12:34 +00009182005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
919
ajscdb6ee92005-02-23 15:48:32 +0000920 * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
921
9222005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
923
ajs9fc7ebf2005-02-23 15:12:34 +0000924 * buffer.h: Make the struct buffer and struct buffer_data structures
925 private by moving them inside buffer.c. Add comments for all
926 functions. Rename buffer_write as buffer_put (to be more consistent
927 with the buffer_putc and buffer_putstr functions). Declare a new
928 buffer_write function that is used to write data to a file descriptor
929 and/or add it to the buffer queue. Remove unused function
930 buffer_flush_vty_all. Create a new enum typedef buffer_status_t
931 to be used as the return code for all buffer_flush* functions
932 and buffer_write.
933 * buffer.c: The struct buffer and struct buffer_data declarations
934 are now private to this file. In conjunction with that, remove
935 some unnecessary fields: struct buffer (alloc, unused_head,
936 unused_tail, length), struct buffer_data (prev).
937 (buffer_data_new) Removed: functionality incorporated into buffer_add.
938 (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
939 (buffer_new) Use calloc instead of malloc + memset(zero).
940 Supply an appropriate default size if the specified size is 0.
941 (buffer_free) Eliminate code duplication by calling buffer_reset to
942 free the contents of the buffer (and remove unused code related
943 to unused_head).
944 (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
945 compact).
946 (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set
947 alloc and length to 0 (these fields have been removed).
948 (buffer_add) Fix scope to be static. Call XMALLOC directly instead
949 of calling removed buffer_data_new function. Simplify the logic
950 (since it's now a singly-linked list instead of doubly-linked).
951 (buffer_write) Renamed to buffer_put. Change to void, since return
952 code of 1 was meaningless. No need to adjust length field, since
953 it has been removed.
954 (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
955 Remove unused functions.
956 (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
957 a possible failure mode if IOV_MAX is less than the number of buffers
958 on the queue.
959 (buffer_flush_window) Incorporate logic from buffer_flush_vty.
960 Log an error message if there is a writev error.
961 (buffer_flush_available) Be more paranoid: check for case where
962 buffer is already empty. Use new ERRNO_IO_RETRY macro, and use
963 new enum for return codes. Simplify deletion logic (since it's
964 now a singly-linked list).
965 (buffer_write) New function for use with non-blocking I/O.
966 * vty.h: Replace the struct vty sb_buffer field with a fixed-size
967 (5-character) sb_buf field and an sb_len field, since using
968 a struct buffer was inappropriate for this task. Add some useful
969 comments about telnet window size negotiation.
970 * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
971 Remove VTY_OBUF_SIZE (instead use buffer_new default size).
972 Make telnet_backward_char and telnet_space_char static const.
973 (vty_out) Replace buffer_write with buffer_put.
974 (vty_log_out) Check for I/O errors. If fatal, close the vty session.
975 Consolidate 3 separate writes into a single write call.
976 (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
977 vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
978 vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
979 vty_config_write,vty_save_cwd) Fix scope to static.
980 (vty_new) Let buffer_new use its default buffer size.
981 (vty_write) Fix signature: 2nd arg should be const char *.
982 Replaced buffer_write with buffer_put.
983 (vty_telnet_option) Fix minor bug (window height or width greater than
984 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer
985 (which was being used improperly).
986 (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
987 If the error is fatal, call buffer_reset so vty_close does not attempt
988 to flush the data. Use new sb_buf and sb_len instead of sb_buffer
989 to store the SB negotiation string.
990 (vty_flush) When vty->lines is 0, call buffer_flush_available instead
991 of buffer_flush_window. Look at the return code from buffer_flush
992 to detect I/O errors (and in that case, log an error message and
993 close the vty).
994 (vty_create) Fix scope to static. Initialize sb_len to 0 instead
995 of creating sb_buffer.
996 (vty_accept) Set socket nonblocking.
997 (vtysh_accept) Use new set_nonblocking function instead of calling
998 fcntl directly.
999 (vtysh_flush) New function called from vtysh_read (after command
1000 execution) and from vtysh_write. This flushes the buffer
1001 and reacts appropriately to the return code (by closing the vty
1002 or scheduling further flushes).
1003 (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
1004 If not, just try again later. Otherwise, call buffer_reset before
1005 calling vty_close (to avoid trying to flush the buffer in vty_close).
1006 Fix logic to allow case where a command does not arrive atomically
1007 in a single read call by checking for the terminating NUL char.
1008 (vtysh_write) Use new vtysh_flush helper function.
1009 (vty_close) No need to call buffer_empty, just call buffer_flush_all
1010 in any case (it will check whether the buffer is empty).
1011 Do not free sb_buffer (since it has been removed).
1012 (vty_log_fixed) Use writev instead of write.
1013 * zebra.h: Do not include <arpa/telnet.h>, since this is used only
1014 by lib/vty.c.
1015
hassoc3c07f22005-02-21 18:17:52 +000010162005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
1017
1018 * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
1019 will allow to update node when:
1020 i) a node is inserted into the priority queue;
1021 ii) a node position is modified in the priority queue;
1022 * pqueue.h: Export trickle_down() function.
1023
paul109ac962005-02-19 01:17:07 +000010242005-02-19 Paul Jakma <paul.jakma@sun.com>
1025
1026 * stream.c: (stream_new) fix dumb mistake.
1027
ajsd7e2a812005-02-17 20:02:49 +000010282005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1029
ajs53270112005-02-17 20:07:22 +00001030 * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.
1031
10322005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1033
ajsd7e2a812005-02-17 20:02:49 +00001034 * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
1035 operation should be retried. This eliminates the need to duplicate
1036 the same logic testing for EAGAIN or EINTR in multiple places.
1037
ajs42218e72005-02-16 16:25:39 +000010382005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1039
ajs262feb12005-02-16 20:35:47 +00001040 * stream.h: Declare new function stream_read_try suitable for use
1041 with non-blocking file descriptors. Indicate that stream_read
1042 and stream_read_unblock are deprecated.
1043 * stream.c: (stream_read_try) New function for use with non-blocking
1044 I/O.
1045 (stream_recvmsg) Should return -1 if the stream is too small to
1046 contain the data.
1047
10482005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1049
ajs42218e72005-02-16 16:25:39 +00001050 * network.c: (set_nonblocking) Should check return code from
1051 fcntl(F_GETFL).
1052
ajsa269d612005-02-16 00:45:37 +000010532005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1054
1055 * network.h: Declare new function set_nonblocking. Indicate that
1056 readn and writen are deprecated.
1057 * network.c: (set_nonblocking) New function to make a file descriptor
1058 non-blocking, since it seems silly to have fcntl calls sprinkled
1059 throughout the code.
1060
paul1dd13d42005-02-14 23:49:09 +000010612005-02-14 Paul Jakma <paul.jakma@sun.com>
paulf2e6c422005-02-12 14:35:49 +00001062
1063 * stream.h: Unsigned long updated to size_t
1064 * stream.c: ditto
paul050c0132005-02-14 23:47:47 +00001065 * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
1066 Add comment describing struct stream abstraction, and various
1067 other comments.
1068 Deprecate several unsafe/ambigious macros.
1069 Add STREAM_WRITEABLE and STREAM_READABLE.
1070 Add (stream_getl_from) for symmetry.
1071 Update stream_forward_{endp,getp} to use size_t offset.
1072 Make stream data a 0 length array, rather than a seperate malloc.
1073 * stream.c: Add consistency checks. Update to follow stream.h
1074 changes.
1075 (stream_new) Alloc stream+data in one go.
1076 (stream_copy) new function, copy a stream.
1077 (stream_dup) new function, dup a stream.
1078 (stream_recvmsg) new function, recvmsg data into a stream.
1079 (stream_empty) no need to check getp == 0.
paulf2e6c422005-02-12 14:35:49 +00001080
paul9985f832005-02-09 15:51:56 +000010812005-02-09 Paul Jakma <paul.jakma@sun.com>
1082
1083 * stream.h: Remove putp. Update reference to putp with endp.
1084 Add stream_forward_endp, which daemons were doing manually.
1085 Rename stream_forward to stream_forward_getp.
1086 stream.c: Remove/update references to putp.
1087 introduce stream_forward_endp.
1088
ajs548e6f72005-02-08 15:57:25 +000010892005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1090
1091 * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
1092 to use compound assignment operators (aesthetic change).
1093
ajs1e221352005-02-03 16:42:40 +000010942005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1095
ajsc4c7d0c2005-02-03 19:22:05 +00001096 * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
1097 since it is not async-signal-safe.
1098 (_zlog_assert_failed) Rewrite crashlog logic more compactly.
1099 (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
1100 for use in signal handler.
1101
11022005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1103
ajs1e221352005-02-03 16:42:40 +00001104 * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
1105 inside this function only.
1106 (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
1107 with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
1108 (zlog_signal,_zlog_assert_failed) Increase logging priority from
1109 LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
1110 open_crashlog to create a crash logfile.
1111 (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
1112 dump a backtrace to that file.
1113
ajs847947f2005-02-02 18:38:48 +000011142005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1115
1116 * if.h: Declare if_flag_dump.
1117
ajs6a52d0d2005-01-30 18:49:28 +000011182005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1119
1120 * daemon.c: (daemon) Replace perror with zlog_err.
1121 * vty.c: (vty_serv_un) Replace perror with zlog_err.
1122
ajs3b8b1852005-01-29 18:19:13 +000011232005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1124
1125 * buffer.h: Fix comment on buffer_getstr to reflect that it now
1126 uses XMALLOC.
1127 * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
1128 * filter.c: (access_list_remark,ipv6_access_list_remark) Use
1129 argv_concat instead of buffer_getstr.
1130 * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
1131 * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
1132 Use argv_concat instead of buffer_getstr.
1133
ajsf6834d42005-01-28 20:28:35 +000011342005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1135
ajsafb8b602005-01-28 20:41:07 +00001136 * lib/buffer.h: Document behavior of buffer_getstr function.
1137 * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
1138 the string extends beyond the head struct buffer_data.
1139
11402005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1141
ajsf6834d42005-01-28 20:28:35 +00001142 * lib/command.h: Document behavior of argv_concat function.
1143 * lib/command.c: (argv_concat) Calculate total string length first so
1144 we can call malloc just once (instead of realloc'ing to add each
1145 string element).
1146 (do_echo,config_logmsg) Allow for possible NULL return value from
1147 argv_concat.
1148
hasso13bfca72005-01-23 21:42:25 +000011492005-01-23 Hasso Tepper <hasso at quagga.net>
1150
1151 * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
1152 use it as well.
1153
ajs31364272005-01-18 22:18:59 +000011542005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1155
1156 * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
1157 two args (siginfo and program_counter).
1158 * log.c: (hex_append) Include this function only if SA_SIGINFO or
1159 HAVE_GLIBC_BACKTRACE is defined.
1160 (zlog_signal) Final two args (siginfo and program_counter) now
1161 depend on whether SA_SIGINFO is defined on this platform.
1162 * sigevent.c: (program_counter) Do not include this function if
1163 SA_SIGINFO is not defined on this platform.
1164 (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
1165 2nd & 3rd arguments are present and to decide how to invoke
1166 zlog_signal.
1167 (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
1168 appropriately.
1169
ajs239c26f2005-01-17 15:22:28 +000011702005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1171
1172 * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
1173 program_counter argument.
1174 * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
1175 argument. If it is non-NULL, use backtrace_symbols_fd to resolve
1176 the address.
1177 (zlog_signal) Call zlog_backtrace_sigsafe with additional
1178 program_counter argument.
1179
hasso87d683b2005-01-16 23:31:54 +000011802005-01-17 Hasso Tepper <hasso at quagga.net>
1181
1182 * command.[ch], vty.c: cmd_execute_command() function must not attempt
1183 to walk up in the node tree if called from vtysh. Different daemons
1184 might have commands with same syntax in different nodes (for example
1185 "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
1186
ajscb585b62005-01-14 17:09:38 +000011872005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1188
1189 * command.c (print_version): Do not bother even to examine host.name,
1190 since it is always NULL when this function is called from main.
1191
gdtf867d322005-01-14 15:47:33 +000011922005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com>
1193
1194 * command.c (print_version): Don't print host.name if it is NULL.
1195 Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
1196
ajse22f5512005-01-12 16:18:17 +000011972005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1198
ajs40abf232005-01-12 17:27:27 +00001199 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
1200 pass additional siginfo_t and ucontext_t arguments to core_handler
1201 and exit_handler.
1202 (core_handler,exit_handler) Now invoked with 3 arguments (using
1203 SA_SIGINFO). Pass additional info to zlog_signal.
1204 (program_counter) New function to find program counter in ucontext_t,
1205 needs to be enhanced to support more platforms (currently works only
1206 on Linux/x86).
1207 * log.h: Change the zlog_signal prototype to add new arguments
1208 siginfo_t * and program_counter.
1209 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
1210 Include si_addr and program counter (if non-NULL) in message.
1211 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
1212 that is now used to render the si_addr and PC pointers.
1213
12142005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1215
ajse22f5512005-01-12 16:18:17 +00001216 * zebra.h: If not C99 and no va_copy macro available, fall back to
1217 memcpy (solves a build problem on FreeBSD 4.x).
1218
ajsb99760a2005-01-04 16:24:43 +000012192005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1220
1221 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
1222 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
1223 by the configure test program).
1224 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
1225 of CMSG_FIRSTHDR.
1226
hassocba8a602005-01-02 18:51:01 +000012272005-01-02 Hasso Tepper <hasso at quagga.net>
1228
1229 * command.c: Revert int -> unsigned int fixes in
1230 cmd_describe_command_real() and cmd_complete_command_real(). index can
1231 be actually negative and it caused crash with "do<TAB>" in vty.
1232
gdt1d69fdf2004-12-29 18:53:30 +000012332004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
1234
gdtd44debe2004-12-29 20:06:23 +00001235 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
1236 convention. Beef up comments. Handle the case where the cmsghdr
1237 has a zero controllen, or more specifically when the wanted option
1238 is not present. This is needed for Solaris 8, and in general for
1239 any platform for which configure finds a method and it can fail.
1240 Mark some changes with XXX to be cleaned up post 0.98.
1241
ajsaf04bd72004-12-28 17:00:12 +000012422004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1243
ajs1d75c8c2004-12-28 21:43:17 +00001244 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
1245 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
1246 deterministic (-1).
1247
12482004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1249
ajsaf04bd72004-12-28 17:00:12 +00001250 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
1251
paul4ba9b922004-12-21 22:34:58 +000012522004-12-21 Paul Jakma <paul.jakma@sun.com>
1253
1254 * if.h: Add more 'non-generic' IFF_ flags.
1255 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +00001256 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +00001257
ajs202d08c2004-12-17 20:50:00 +000012582004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +00001259
1260 * command.c: (do_echo) Added new "echo" command, useful for
1261 watchdog pinging to make sure the daemon is responsive.
1262
12632004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +00001264
1265 * pid_output.c: (pid_output_lock) Eliminate static function, and just
1266 use the #ifdef to decide which version of the function to include.
1267 This eliminates a compilation problem with gcc4. And fix the
1268 non-fcntl version so that it actually compiles. Exit with
1269 status 1 instead of -1 on error.
1270
ajs81fc57c2004-12-15 17:41:14 +000012712004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1272
1273 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
1274
ajs3378d202004-12-10 22:43:17 +000012752004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1276
1277 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
1278 LOG_ERR instead of LOG_EMERG.
1279
ajsc3324c62004-12-09 17:26:31 +000012802004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1281
1282 * log.c: (hex_append) No need to include this function if
1283 HAVE_GLIBC_BACKTRACE is not defined.
1284
ajsb9e70282004-12-08 17:14:45 +000012852004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1286
1287 * prefix.c: (prefix_copy) Error message before abort should
1288 have severity LOG_ERR, not LOG_INFO.
1289 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
1290
ajs274a4a42004-12-07 15:39:31 +000012912004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1292
ajs8ddca702004-12-07 18:53:52 +00001293 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
1294
12952004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1296
ajs82146b82004-12-07 17:15:55 +00001297 * command.c: (config_write_host) Note that "log trap" is deprecated
1298 when writing out the config.
1299
13002004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1301
ajs274a4a42004-12-07 15:39:31 +00001302 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
1303 array to support individual logging levels for each destination.
1304 Remove the 2nd argument to openzlog since the default logging config
1305 should be standardized inside the library. Replaced the
1306 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
1307 And zlog_set_file now requires an additional log_level argument.
1308 Declare zlog_proto_names for use inside command.c in the
1309 "show logging" command. Added defines useful for command
1310 construction.
1311 * log.c: (vzlog) Decide where to send the message based on the
1312 individual logging levels configured for each destination.
1313 Remove support for ZLOG_STDERR since it was never actually used.
1314 Support record-priority for terminal monitors.
1315 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
1316 logging levels. Remove stderr support (was never used). Added
1317 support for terminal monitor logging.
1318 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
1319 (openzlog) Remove 2nd argument since default config should be
1320 standardized in library. By default, terminal monitoring
1321 is set to debug, and all other logging is disabled.
1322 (zlog_set_flag,zlog_reset_flag) Removed.
1323 (zlog_set_level) New function to replace zlog_set_flag and
1324 zlog_reset_flag. Supports destination-specific logging levels.
1325 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
1326 (zlog_rotate) Log an error message if fopen fails, and support
1327 new file-specific logging level.
1328 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
1329 command functions will be static instead of global. Remove
1330 declarations for config_exit and config_help. Define new macros
1331 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
1332 have deprecated commands in vtysh. Similarly, for completeness,
1333 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
1334 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
1335 was never used).
1336 * command.c: Make many functions static instead of global.
1337 (facility_name,facility_match,level_match) New functions
1338 to support enhanced destination-specific logging levels.
1339 (config_write_host) Support new destination-specific logging levels.
1340 (config_logmsg) Added new "logmsg" command to help test logging
1341 system.
1342 (show_logging) Added "show logging" command to show the current
1343 configuration of the logging system.
1344 (config_log_stdout_level) Support explicit stdout logging level.
1345 (no_config_log_stdout) Now takes optional LEVEL arg.
1346 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
1347 New commands creating new "log monitor" commands to set terminal
1348 monitoring log level.
1349 (config_log_file_level) Support explicit file logging level.
1350 (config_log_syslog_level) Support explicit syslog logging level.
1351 (config_log_facility,no_config_log_facility) Implement new
1352 "log facility" command.
1353 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
1354 "log stdout <level>", "log monitor", "log monitor <level>",
1355 "no log monitor", "log file <filename> <level>",
1356 "no log file <filename> <level>", "log syslog <level>",
1357 "log facility", and "no log facility".
1358 * vty.h: Added a "level" argument to vty_log so it can support
1359 "log record-priority". Declare new function vty_log_fixed for
1360 use in signal handlers.
1361 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
1362 "log record-priority" for vty terminal monitors.
1363 (vty_down_level) Use config_exit_cmd.func instead of calling
1364 config_exit directly (since command functions will now be static
1365 instead of global).
1366 (vty_log_fixed) New function to send terminal monitor messages
1367 from inside a signal handler.
1368
ajs887c44a2004-12-03 16:36:46 +000013692004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1370
ajs5e764772004-12-03 19:03:33 +00001371 * log.h: Document appropriate use of syslog logging priorities
1372 inside quagga.
1373
13742004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1375
ajs56f20692004-12-03 17:40:31 +00001376 * command.h: Remove fields log_stdout and log_syslog from struct host,
1377 since they are just trying to duplicate information in the
1378 zlog_default structure. Note that this fixes a bug since those
1379 fields were not registering any logging that was established
1380 in the initial call to openzlog (this affects only the zebra and
1381 ospf6d daemons). It is probably a bug to turn on any logging by
1382 default in the call to openzlog.
1383 * command.c: (config_write_host) Get logging info from zlog_default
1384 instead of now-removed fields host.log_stdout and host.log_syslog.
1385 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
1386 host.log_stdout, since this info is recorded in zlog_default.
1387 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
1388 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
1389 Do not set now-removed field host.log_syslog, since this info is
1390 recorded in zlog_default.
1391
13922004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1393
ajs887c44a2004-12-03 16:36:46 +00001394 * version.h.in: Remove declaration for pid_output_lock, this function
1395 is now static, not global.
1396 * pid_output.c: (pid_output_lock) This function should be static, not
1397 global. And remove "old umask" error message, since it was really
1398 an unimportant debug message, not an error.
1399 (pid_output) Need to declare static function pid_output_lock.
1400
ajs7d149b82004-11-28 23:00:01 +000014012004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1402
1403 * log.h: Remove several unused fields from struct zlog. Add comments
1404 for other fields, and add one new field syslog_options that is
1405 used in the new syslog_sigsafe implementation.
1406 * log.c: (syslog_sigsafe) New function to send syslog messages in
1407 an async-signal safe way that can be used inside a signal handler.
1408 (syslog_connect) New function to connect to syslog daemon inside a
1409 signal handler. This function supports only systems where /dev/log
1410 is a unix datagram socket (e.g. not Solaris).
1411 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
1412 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
1413 enabled.
1414 (openzlog) Save syslog_options for use in syslog_sigsafe.
1415 (num_append) Fix bug: handle 0 properly.
1416 (hex_append) New function to print a u_long in hex format.
1417
hasso2557aed2004-11-28 21:16:20 +000014182004-11-28 Hasso Tepper <hasso at quagga.net>
1419
1420 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
1421
ajsd1c51d72004-11-26 14:14:30 +000014222004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1423
ajs48d6c692004-11-26 20:52:59 +00001424 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
1425 to the more self-explanatory zlog_backtrace_sigsafe.
1426
14272004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1428
ajs5b85fac2004-11-26 19:36:42 +00001429 * debug.[ch]: Remove unused files.
1430 * Makefile.am: Remove references to debug.c and debug.h
1431
14322004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1433
ajs063ee522004-11-26 18:11:14 +00001434 * log.c: (zlog_backtrace) New function to log a backtrace.
1435 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
1436 Unfortunately, this function does not support syslog logging yet.
1437 (zlog_signal) Move backtrace code into separate function
1438 zlog_backtrace_safe.
1439 (_zlog_assert_failed) Call zlog_backtrace before aborting.
1440 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
1441 * memory.c: (zerror) Call zlog_backtrace before aborting.
1442
14432004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1444
ajsd1c51d72004-11-26 14:14:30 +00001445 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
1446
ajse5879ca2004-11-25 16:07:53 +000014472004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1448
ajs4cf0d0d2004-11-25 17:14:34 +00001449 * zebra.h: If not C99 and there's no va_copy macro and there is
1450 a __va_copy macro, define va_copy as __va_copy.
1451
14522004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1453
ajse5879ca2004-11-25 16:07:53 +00001454 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
1455 set l_whence to SEEK_SET, not SEEK_END. And after writing new
1456 pid to file, must ftruncate to eliminate any extraneous bytes left
1457 over from the last time a pid was written.
1458
ajscee3df12004-11-24 17:14:49 +000014592004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1460
1461 * zassert.h: New header file to declare a quagga-specific assert macro.
1462 * log.c: (_zlog_assert_failed) New function called when assert fails
1463 to log the error and abort.
1464 * zebra.h: Include "zassert.h" instead of <assert.h>.
1465 * regex.c: Include "zassert.h" instead of <assert.h>.
1466
ajsd246bd92004-11-23 17:35:08 +000014672004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1468
ajs59a06a92004-11-23 18:19:14 +00001469 * sigevent.c: (signal_init) Set up some default signal handlers
1470 so that processes will issue an error message before terminating
1471 or dumping core.
1472 (trap_default_signals) New function to set up signal handlers
1473 for various signals that may kill the process.
1474 (exit_handler) Call zlog_signal, then _exit.
1475 (core_handler) Call zlog_signal, then abort.
1476 * log.h: Declare new function zlog_signal.
1477 * log.c: (zlog_signal) New function to log information about
1478 a received signal before the process dies. Try to log a
1479 backtrace also.
1480 (quagga_signal_handler,signal_set) Should be static.
1481
14822004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1483
ajsd246bd92004-11-23 17:35:08 +00001484 * log.c: (vzlog) Take a single va_list argument and use va_copy
1485 as necessary for multiple traversals.
1486 (zlog) Pass only one va_list to vzlog.
1487 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
1488 va_list to vzlog.
1489 (zlog_set_file) Remove unused 2nd argument (flags).
1490 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
1491 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
1492 Remove unused 2nd argument from zlog_set_file prototype.
1493 Fix prototype for zlog_rotate.
1494 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
1495 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
1496 properly.
1497 (vty_log) Must use va_copy for multiple traversals of va_list arg.
1498
ajsca359762004-11-19 23:40:16 +000014992004-11-19 David Young <dyoung@pobox.com>
1500
1501 * log.c: (safe_strerror) New function: safe wrapper for strerror.
1502
ajsff29bb32004-11-19 18:29:22 +000015032004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1504
1505 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
1506 printed every time.
1507
ajsf858e492004-11-16 14:25:30 +000015082004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1509
1510 * memory.h: Fix prototype for memory_init().
1511 * memory.c: Declare many functions and data structures static instead
1512 of global. Fix prototype for memory_init().
1513
gdt69e13252004-11-15 18:51:15 +000015142004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1515
1516 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
1517 alignment (users should use CMSG_SPACE).
1518
1519 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
1520 asumming 4-byte alignment, since this isn't safe.
1521
ajs7fa25ff2004-11-15 16:12:32 +000015222004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1523
1524 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
1525 Instead of exiting, log currenty memory usage and then abort.
1526 (log_memstats) New function to log memory statistics, called by
1527 zerror.
1528 (show_memory_all) Loop over new mlists array instead of calling
1529 show_memory_vty separately for each memory_list.
1530
paulb86718e2004-11-08 17:34:07 +000015312004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +00001532
paul2265d202004-11-08 15:43:21 +00001533 * buffer.c: Add missing include of log.h.
1534 (buffer_flush_available) written is compared against
1535 mostly against unsigned types, only for the writev do we need
1536 signed compare, so declare it as size_t and cast it to ssize_t
1537 just for the error compare when we've called writev.
1538 * buffer.h: Add comment that buffer data sizes really should be
1539 size_t.
1540
15412004-11-07 Paul Jakma <paul@dishone.st>
1542
1543 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +00001544
ajs49ff6d92004-11-04 19:26:16 +000015452004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1546
ajs5a646652004-11-05 01:25:55 +00001547 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
1548 capabilities (that were used only in bgpd/bgp_route.c and are now
1549 removed). Also remove some other fields that were not being
1550 used at all.
1551 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
1552 and VTY_CONTINUE.
1553 (vty_read) Remove calls to vty->output_func since that was part
1554 of the VTY_CONTINUE infrastructure that has been removed.
1555 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
1556 (vty_close) Remove code to cancel vty->t_output thread, since that
1557 thread was never actually used.
1558
15592004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1560
ajs49ff6d92004-11-04 19:26:16 +00001561 * vty.c: Vtysh connections to daemons should use buffering.
1562 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
1563 (vty_new) Increase output buffer size to 4096 rounded up to a
1564 multiple of pagesize.
1565 (vtysh_read) After command has been executed and all output buffered,
1566 call buffer_flush_available and schedule further writes if the
1567 buffers are not yet empty.
1568 (vtysh_write) New function to flush output to vtysh when the socket
1569 is writeable.
1570 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
1571 clients. Also, should save read thread in vty->t_read so the
1572 thread can be cancelled in vty_close.
1573 * buffer.h: In struct buffer_data, remove unused "parent" field.
1574 Convert "unsigned char *data" to "unsigned char data[0]" to save
1575 a malloc. Declare new function buffer_flush_available that works
1576 with non-blocking sockets.
1577 * buffer.c: (buffer_data_new) Use a single malloc now that data is
1578 a variable-size array at end of structure.
1579 (buffer_data_free) Just a single free now that data is part of the
1580 structure.
1581 (buffer_write) Simplify the logic to make behavior more transparent.
1582 (buffer_flush) Decrease b->length as data is written out.
1583 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
1584 (buffer_flush_vty) Decrease b->length as data is written out.
1585 (buffer_flush_available) New function to flush non-blocking sockets.
1586
paule064d6d2004-11-01 08:59:21 +000015872004-11-01 Paul Jakma <paul@dishone.st>
1588
1589 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
1590
paul75e15fe2004-10-31 02:13:09 +000015912004-10-31 Paul Jakma <paul@dishone.st>
1592
1593 * vty.c: As per Andrew's suggestions..
1594 (vty_serv_un) remove flags.
1595 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +00001596 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +00001597 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
1598 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +00001599 specific memory type defines. Use XCALLOC and sizeof the type,
1600 not the pointer.
paul70e149e2004-10-31 16:29:50 +00001601 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +00001602
pauldccfb192004-10-29 08:29:36 +000016032004-10-29 Paul Jakma <paul@dishone.st>
1604
1605 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
1606 to vtysh_accept, where sock is the actual fd we wanted to set to
1607 O_NONBLOCK, ie the /connected/ vtysh unix socket.
1608
hasso508ec912004-10-23 14:26:49 +000016092004-10-23 Hasso Tepper <hasso at quagga.net>
1610
1611 * zclient.c: Unbreak reading interface update message. Might fix
1612 blocker bugzilla #109.
1613
paul23b9c612004-10-22 11:51:57 +000016142004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +00001615
1616 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +00001617 -1.
1618 (setsockopt_pktinfo) unexported
1619 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
1620 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +00001621 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
1622 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +00001623 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +00001624 * command.h: Cleanup the defines a bit, add helper defines and
1625 collapse all defines to use those. Add an attribute field to
1626 cmd_element to support, eg hidden or deprecated commands, add
1627 defun defines for such. All that's left to do is add logic
1628 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +00001629 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +00001630
hasso6590f2c2004-10-19 20:40:08 +000016312004-10-19 Hasso Tepper <hasso at quagga.net>
1632
1633 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
1634 * print_version.c: Remove. print_version () function moved to
1635 command.[c|h].
1636 * command.c: Use QUAGGA_COPYRIGHT.
1637 * Makefile.am: Remove useless version.c and print_version.c files.
1638
hasso3fb9cd62004-10-19 19:44:43 +000016392004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1640
1641 * zclient.c: (zebra_interface_address_read) If the destination address
1642 is encoded as all zeroes, load it as a NULL pointer.
1643 * if.h: Add comment describing struct connected destination field
1644 and indicating that it may be NULL. Define macros
1645 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
1646 with PtP logic (distinguish between host and subnet addressing).
1647 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
1648 properly,
1649 (connected_lookup_address) ditto.
1650 (connected_add_by_prefix) Handle case where destination is NULL,
1651 * prefix.[c|h]: New functions ipv4_network_addr and
1652 ipv4_broadcast_addr.
1653
hassoddd85ed2004-10-13 08:18:07 +000016542004-10-13 Hasso Tepper <hasso at quagga.net>
1655
1656 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
1657 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +00001658 * smux.c, smux.h: Remove all defaults to initialize smux connection to
1659 snmpd by default even if not configured to do so. "smux peer OID
1660 <password>" initializes now connection and "no smux peer" terminates
1661 it.
hassoddd85ed2004-10-13 08:18:07 +00001662
paul42d49862004-10-13 05:22:18 +000016632004-10-13 Paul Jakma <paul@dishone.st>
1664
1665 * (global) more const'ification.
1666 * sockunion.c: (sockunion_su2str) buffer should be sized
1667 SU_ADDRSTRLEN.
1668 (sockunion_log) do not return stack variables, strdup buf before
1669 return.
1670 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
1671 values against ULONG_MAX is daft, when caller probably has passed
1672 a type that can not hold ULONG_MAX. use a temporary long instead.
1673 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
1674 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
1675
hassoa1494112004-10-11 12:53:17 +000016762004-10-11 Hasso Tepper <hasso at quagga.net>
1677
1678 * command.h: Sync DEFUNSH with other macros.
1679 * sockunion.c, sockunion.h: More const strings.
1680
paul9076fbd2004-10-11 09:40:58 +000016812004-10-11 Paul Jakma <paul@dishone.st>
1682
1683 * thread.c: (funcname_thread_add_timer)
1684 (funcname_thread_add_timer_msec) Fix mistakes from last change.
1685 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +00001686 * if.h: mtu's should be unsigned.
1687 * routemap.{c,h}: const char updates
1688 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +00001689
paul9035efa2004-10-10 11:56:56 +000016902004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +00001691
1692 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +00001693 * command.h: Change DEFUN func to take const char *[] rather
1694 than char **, to begin process of fixing compile warnings in lib/.
1695 Nearly all other changes in this commit follow from this change.
1696 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
1697 const void * and cast an automatic const char *p to it.
1698 (buffer_putstr) add const
1699 * command.c: (zencrypt) const qualifier
1700 (cmd_execute_command_real) ditto
1701 (cmd_execute_command_strict) ditto
1702 (config_log_file) ditto.
1703 Fix leak of getcwd() returned string.
1704 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
1705 * distribute.{c,h}: Update with const qualifier.
1706 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
1707 (distribute_lookup) Cast to char *, note that it's ok.
1708 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
1709 (distribute_get) Cast to char *, note that it's ok.
1710 * filter.c: Update with const qualifier.
1711 * if.{c,h}: ditto.
1712 * if_rmap.{c,h}: ditto.
1713 (if_rmap_lookup) Cast to char *, note that it's ok.
1714 (if_rmap_get) ditto.
1715 * log.{c,h}: Update with const qualifier.
1716 * plist.{c,h}: ditto.
1717 * routemap.{c,h}: ditto.
1718 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
1719 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
1720 * vty.c: Update with const qualifier.
1721
hasso27a43a82004-10-08 06:29:12 +000017222004-10-08 Hasso Tepper <hasso at quagga.net>
1723
1724 * routemap.c, routemap.h: Make some string arguments const.
1725
paul5973ee72004-10-08 01:36:54 +000017262004-10-05 Paul Jakma <paul@dishone.st>
1727
1728 * version.h.in: print_version declaration is here, not in automake
1729 generated version.h.
1730
hassoea8e9d92004-10-07 21:32:14 +000017312004-10-08 Hasso Tepper <hasso at quagga.net>
1732
1733 * command.c, command.h: Make argument of cmd_make_strvec function
1734 const.
1735 * command.c: Make hostname commands usable in vtysh again.
1736
hasso6ad96ea2004-10-07 19:33:46 +000017372004-10-07 Hasso Tepper <hasso at quagga.net>
1738
1739 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
1740 strings const.
1741
hasso8c328f12004-10-05 21:01:23 +000017422004-10-05 Hasso Tepper <hasso at quagga.net>
1743
1744 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
1745 changes to fix warnings.
1746
paul96e27c92004-10-05 14:33:43 +000017472004-10-05 Paul Jakma <paul@dishone.st>
1748
1749 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
1750 functions to change byte order between system IP_HDRINCL order
1751 and host order.
paul98c91ac2004-10-05 14:57:50 +00001752 * thread.c: (funcname_thread_add_timer_timeval) new function, add
1753 timer at specified timeval.
1754 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
1755 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +00001756
hassob04c6992004-10-04 19:10:31 +000017572004-10-04 Hasso Tepper <hasso at quagga.net>
1758
1759 * memory.c, memory.h: Make char * argument of strdup functions const.
1760 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
1761 header.
1762 * log.h: Make log message const in struct message.
1763 * log.c: Fix some indenting.
1764 * network.c, network.h: Make second argument of writen() const.
1765
hassoe7168df2004-10-03 20:11:32 +000017662004-10-03 Hasso Tepper <hasso at quagga.net>
1767
1768 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
1769 * command.c: Don't initialize commands that don't make sense if vtysh
1770 is used.
1771 * vty.c: Make VTY_NODE appear in vtysh.
1772
hasso18a6dce2004-10-03 18:18:34 +000017732004-10-03 James R. Leu <jleu at mindspring.com>
1774
1775 * zclient.c, zclient.h: zclient functions for router id handling.
1776 * zebra.h: New message types for router id handling.
1777
paul9172ee02004-09-27 12:46:37 +000017782004-09-27 Paul Jakma <paul@dishone.st>
1779
1780 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
1781 to try to fragment oversized packets. Enabled only for Linux.
1782 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
1783 to consolidate various ad-hoc platform defines for same thing.
1784
hassoe473b032004-09-26 16:08:11 +000017852004-09-26 Hasso Tepper <hasso at quagga.net>
1786
1787 * vty.c, sockopt.c: Fix compiler warnings.
1788
hasso52dc7ee2004-09-23 19:18:23 +000017892004-09-23 Hasso Tepper <hasso at quagga.net>
1790
1791 * linklist.h: Remove list and listnode typedefs.
1792 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1793
paul0b3acf42004-09-17 08:39:08 +000017942004-09-17 Paul Jakma <paul@dishone.st>
1795
paulb89e60c2004-09-21 15:43:13 +00001796 * sockopt.c: Add missing bracket
1797
17982004-09-17 Paul Jakma <paul@dishone.st>
1799
paul0b3acf42004-09-17 08:39:08 +00001800 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
1801
paul33394762004-09-13 11:27:57 +000018022004-09-13 Paul Jakma <paul@dishone.st>
1803
1804 * command.c: Update the copyright string in the default motd.
1805
gdt630e4802004-08-31 17:28:41 +000018062004-08-31 David Wiggins <dwiggins@bbn.com>
1807
1808 * hash.c (hash_iterate): Save next pointer before calling
1809 procedure, so that iteration works even if the called procedure
1810 deletes the hash backet.
1811
1812 * linklist.h (listtail): new macro, not yet used.
1813
hasso34553cc2004-08-27 13:56:39 +000018142004-08-27 Hasso Tepper <hasso at quagga.net>
1815
1816 * command.c: Install "terminal length" commands only if vty is used.
1817 Vtysh will handle it itself.
1818
gdtafa43b22004-08-26 13:12:41 +000018192004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1820
1821 * sockopt.h: Define method-independent macro for callers of
1822 get_ifindex to use for cmsg length.
1823
paule6822762004-08-19 04:13:29 +000018242004-08-19 Paul Jakma <paul@dishone.st>
1825
paulefba6ce2004-08-25 13:47:16 +00001826 * zebra.h: add MAX and MIN defines (eg for ospf6d)
1827
18282004-08-19 Paul Jakma <paul@dishone.st>
1829
paule6822762004-08-19 04:13:29 +00001830 * sockopt.c: include sockopt.h
1831 rename some of the _pktinfo_ functions to _ifindex, where that is
1832 their purpose.
1833 (getsockopt_ipv6_pktinfo_ifindex) renamed to
1834 getsockopt_ipv6_ifindex.
1835 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
1836 (setsockopt_pktinfo) update with previous and add comment re
1837 AF_INET portability.
1838 (setsockopt_ifindex) generic ifindex function ala
1839 setsockopt_pktinfo.
1840 (getsockopt_ipv4_pktinfo_ifindex) renamed to
1841 getsockopt_ipv4_ifindex.
1842 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
1843 ifdef/elses. pktinfo case forgot to set ifindex.
1844 (getsockopt_pktinfo_ifindex) renamed to
1845 getsockopt_ifindex. update some calls to renamed functions.
1846 * sockopt.h: Update renamed exported functions
1847 Rename the CMSG_SIZE macros to IFINDEX.
1848 Guard IPv4 PKTINFO in a conditional define.
1849
paulc0618de2004-08-18 21:52:58 +000018502004-08-18 Paul Jakma <paul@dishone.st>
1851
1852 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
1853 to prevent inadvertent blocking of daemons by use of
1854 vtysh. TODO: disentangle manual paging from the buffer_write
1855 path so that unix vty can use this path too and be reliable.
1856
gdt33f92322004-07-23 16:14:32 +000018572004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
1858
1859 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
1860 on NetBSD, and add comments to make it less confusing. Change the
1861 sense of the SUNOS_5 test to make parallel structure between the
1862 variables and the code.
1863
paul4f7baa02004-07-23 15:11:07 +000018642004-07-23 Paul Jakma <paul@dishone.st>
1865
1866 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
1867 sizeof pktinfo as appropriate, to be used when allocating msg
1868 buffers. export setsockopt_pktinfo() and
1869 getsockopt_pktinfo_ifindex()
1870 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
1871 set received ifindex sock option.
1872 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
1873 (getsockopt_cmsg_data) retrieve indicated control info from
1874 message header.
1875 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
1876 (setsockopt_ipv4_pktinfo) v4 version
1877 (setsockopt_pktinfo) the exported version
1878 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
1879 (getsockopt_pktinfo_ifindex) the exported version
1880
paul05c447d2004-07-22 19:14:27 +000018812004-07-14 Paul Jakma <paul@dishone.st>
1882
1883 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
1884 the flags to a constant rather increment to be kinder.
1885 (quagga_sigevent_process) new function, to do core of what
1886 quagga_signal_timer did. dont block signals at all as sig->caught
1887 is volatile sig_atomic_t and should be safe to access from signal
1888 and normal contexts. The signal blocking is unneeded paranoia, but
1889 is left intact under an ifdef, should some platform require it.
1890 Check global caught flag before iterating through array.
1891 (quagga_signal_timer) nearly everything moved to
1892 quagga_sigevent_process. Left in under ifdef, in case some
1893 platform could use a regular timer check for signals.
1894 * sigevent.h: quagga_sigevent_process declaration.
1895 * thread.c: (thread_fetch) check for signals at beginning of
1896 scheduler loop, check for signals if select returns EINTR.
1897
gdtb7797132004-07-13 13:47:25 +000018982004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
1899
1900 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
1901 confuses gdb, at least on NetBSD 2.0_BETA, where the block
1902 succeeds.
1903
paul5510e832004-07-09 14:00:01 +000019042004-07-09 Paul Jakma <paul@dishone.st>
1905
1906 * Merge Kunihiro's 'show route-map' change and add
1907 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +00001908 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
1909 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +00001910
paulb06c14f2004-07-09 12:24:42 +000019112004-07-09 Juris Kalnins <juris@mt.lv>
1912
1913 * if.c: (if_cmp_func) fix for interface names where name is same,
1914 but one has no number, eg "devtyp" and "devtyp0".
1915
gdt87efd642004-06-30 17:36:11 +000019162004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1917
1918 * Makefile.am: Make libzebra shared.
1919
paul138ce752004-06-21 10:35:59 +000019202004-06-21 Paul Jakma <paul@dishone.st>
1921
1922 * ChangeLog: fix my last update config.h -> zebra.h ;)
1923 * zebra.h: Fix gcc check.
1924
paul02ff83c2004-06-11 11:27:03 +000019252004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
1926
1927 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
1928 to u_char. (ipv6_access_list_remark_cmd) ditto.
1929 if.c: ditto
1930 * network.c: (readn/writen) pointer arg should be type u_char.
1931 * plist.c: needs to include stream.h, not declare stream functions
1932 internally.
1933 (various) Add static qualifier to internal functions.
1934 (prefix_list_type_str) extraneous breaks in switch statement.
1935 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
1936 * stream.h: depends on plist.h and export stream_put_prefix
1937 * vty.c: (vty_<telnet option build functions>) should use
1938 unsigned char, telnet options are 0 -> 255.
1939 * zclient.c: various u_char<->char type cleanups.
1940 * zebra.h: Having to define CMSG_* can apply to more than just
1941 BSDI_NRL.
1942
paul51a87982004-06-09 10:36:05 +000019432004-06-09 Paul Jakma <paul@dishone.st>
1944
paul138ce752004-06-21 10:35:59 +00001945 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +00001946
paul5228ad22004-06-04 17:58:18 +000019472004-06-04 Paul Jakma <paul@dishone.st>
1948
1949 * type mismatch fixes
1950
hasso6708fa32004-05-18 18:46:54 +000019512004-05-18 Hasso Tepper <hasso@estpak.ee>
1952
1953 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
1954
paul0a589352004-05-08 11:48:26 +000019552004-05-08 Paul Jakma <paul@dishone.st>
1956
1957 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
1958 message format.
1959
19602004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1961
1962 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
1963 (zapi_ipv4_delete) ditto.
1964 (zapi_ipv4_route) add/delete a route by way of cmd arg.
1965 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
1966 (zapi_ipv6_delete) ditto.
1967 (zapi_ipv6_route) add/delete a route by way of cmd arg.
1968 (zebra_interface_address_delete_read) collapsed into
1969 zebra_interface_address_read.
1970 (zebra_interface_address_delete_read) ditto.
1971 (zebra_interface_address_read) read address add/delete messages
1972 by way of type argument. Describe command message format.
1973 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
1974 Describe command message format.
1975 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
1976 (zclient_redistribute_set) Collapsed into zclient_redistribute
1977 (zclient_redistribute_unset) ditto
1978 (zclient_redistribute) set/unset redistribution.
1979 (zclient_redistribute_default_set) Collapsed into
1980 zclient_redistribute_default.
1981 (zclient_redistribute_default_unset) ditto.
1982 (zclient_redistribute_default) Redistribute default set/unset.
1983 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
1984 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
1985 zclient_redistribute. Ditto for
1986 zclient_redistribute_default_{set/unset}.
1987
paul4a7aac12004-05-08 05:00:31 +000019882004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1989
1990 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
1991 from IPv4, and Solaris treats the MTU's differently.
1992 Add connected_add_by_prefix, for use by later patch.
1993 * if.c: (connected_add_by_prefix) Add prefix to connected list.
1994 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
1995 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +00001996 * command.c: (sockunion_getsockname) use socklen_t for len.
1997 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +00001998
paul31fcdd32004-04-21 11:00:43 +000019992004-04-21 Boris Kovalenko <boris@tagnet.ru>
2000
2001 * daemon.c: (daemon) fix check for error return from setsid
2002
paulc49b3062004-01-19 21:23:37 +000020032004-01-19 Paul Jakma <paul@dishone.st>
2004
2005 * sigevent.{c,h}: New files, implement event handled signals.
2006 see signal_init() in sigevent.h.
2007
jardinc32e1b52003-12-23 09:06:51 +000020082003-12-23 Vincent Jardin <jardin@6wind.com>
2009
2010 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
2011
gdt3dbf9962003-12-22 20:18:18 +000020122003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
2013
2014 * vty.c (vty_use_backup_config): Don't free filenames before using
2015 them for unlink.
2016
paul54aba542003-08-21 20:28:24 +000020172003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2018
2019 * command.c: Fix <cr> display problem for command line
2020 description
2021
paule9af5c72003-05-24 11:54:31 +000020222003-05-24 Anil Madhavapeddy
2023
2024 * (sockunion.c): Incorrect bounds specified in sockunion_log()
2025
paul445f1432003-05-16 19:00:31 +000020262003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
2027
2028 * vty.c: -A option
2029
20302003-04-19 Hasso Tepper <hasso@estpak.ee>
2031
2032 * rip_routemap.c: sync daemon's route-map commands to have same
2033 syntax
2034
paul718e3742002-12-13 20:15:29 +000020352002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2036
2037 * vty.c (vty_flush): One line more on vty.
2038
20392002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2040
2041 * vector.c (vector_lookup): Add new function.
2042
20432002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2044
2045 * thread.c (timeval_adjust): Fix unconditional crush due to
2046 FreeBSD's select() system call timeval value check.
2047
20482002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2049
2050 * zebra-0.93 released.
2051
20522002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2053
2054 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
2055 van Maarseveen's suggestion.
2056
20572002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2058
2059 * command.c: Change bcopy() to memcpy().
2060
20612001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2062
2063 * command.c (config_password): Fix host.password clear bug.
2064 Reported by Wang Jian <lark@linux.net.cn>.
2065
20662001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2067
2068 * thread.c (thread_should_yield): New function to check thread
2069 should yeild it's execution to other thread. Suggested by: Rick
2070 Payne <rickp@ayrnetworks.com>
2071
20722001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2073
2074 * thread.c (thread_timer_cmp): Rewrite function.
2075
2076 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
2077
20782001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2079
2080 * zebra-0.92a released.
2081
20822001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2083
2084 * zebra-0.92 released.
2085
20862001-08-12 Akihiro Mizutani <mizutani@dml.com>
2087
2088 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
2089 string to "1.1.0.0/16".
2090
20912001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2092
2093 * filter.c (access_list_lookup): access_list_lookup's first
2094 argument is changed from address family to AFI.
2095
2096 * plist.c: (prefix_list_lookup): Likewise.
2097
20982001-07-27 Akihiro Mizutani <mizutani@dml.com>
2099
2100 * plist.c: ge and le display order is changed. Old compatible
2101 rule (len <= ge-value <= le-value) is removed.
2102
21032001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2104
2105 * prefix.h: Temporary fix for alignment of prefix problem.
2106
21072001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2108
2109 * prefix.h (struct prefix): Remove safi and padding field.
2110 (struct prefix_ipv4): Likewise.
2111 (struct prefix_ipv6): Likewise.
2112 (struct prefix_ls): Likewise.
2113 (struct prefix_rd): Likewise.
2114
2115 * command.h (enum node_type): Preparation for BGP new config.
2116
2117 * vty.c (vty_end_config): Likewise.
2118
21192001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2120
2121 * routemap.c (route_map_rule_delete): Call func_free when
2122 route-map rule is deleted.
2123
21242001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
2125
2126 * routemap.c (route_map_index_lookup): Prevent to use deny and
2127 permit for same route-map sequence.
2128
21292001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2130
2131 * vty.c (vty_read_config): Fix warning.
2132
21332001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2134
2135 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
2136 strings.
2137
21382001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2139
2140 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
2141 CMSG_FIRSTHDR.
2142
21432001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2144
2145 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
2146
21472001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2148
2149 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
2150 lib" member.
2151
21522001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
2153
2154 * vty.c (vty_read_config): Revert check of integrate_default when
2155 VTYSH is defined.
2156
21572001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2158
2159 * vty.c (vty_read_config): Do not check integrate_default. That
2160 should be used only by vtysh.
2161
21622001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
2163
2164 * vty.c (vty_serv_un): Set umask 0077.
2165 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
2166 wait for boot configuration.
2167
2168 * if.c (if_lookup_address): Make it smart implementation.
2169
2170 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
2171 options for IPv4 This is here so that people only have to do their
2172 OS multicast mess in one place rather than all through zebra,
2173 ospfd, and ripd .
2174
21752001-02-04 Akihiro Mizutani <mizutani@dml.com>
2176
2177 * plist.c (vty_prefix_list_install): Even when argument is
2178 invalid, new memory is allocated. Now memory allocation is done
2179 after argument check.
2180
21812001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2182
2183 * zebra-0.91 is released.
2184
21852001-01-31 Akihiro Mizutani <mizutani@dml.com>
2186
2187 * vty.c (vty_login): Add vty login command.
2188
21892001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2190
2191 * vty.c (vty_reset): Close accept socket.
2192
21932001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2194
2195 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
2196 attribute.
2197
21982001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2199
2200 * zclient.c (zebra_interface_address_add_read): Fetch interface
2201 address flag.
2202 (zebra_interface_address_delete_read): Likewise.
2203
22042001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2205
2206 * table.c (route_node_match_ipv4): Utility function for IPv4
2207 address lookup.
2208 (route_node_match_ipv6): Utility function for IPv4 address lookup.
2209
22102001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2211
2212 * if.c: Delete RIP_API part until new implementation comes out.
2213
22142001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2215
2216 * hash.h (struct Hash): Rename alloc to count. Change type to
2217 unsigned long.
2218
2219 * stream.c (stream_getc_from): New function.
2220 (stream_getw_from): Likewise.
2221
2222 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
2223
22242001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2225
2226 * flap.c: File is removed.
2227
2228 * flap.c: Likewise.
2229
2230 * roken.h: Likewise.
2231
2232 * buffer.c (buffer_new): Remove type option to buffer_new().
2233
22342001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2235
2236 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
2237
22382001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2239
2240 * zebra-0.90 is released.
2241
2242 * command.c: Update Copyright year.
2243
22442001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
2245
2246 * if.c (if_create): Register connected_free() function for
2247 deletion.
2248 (if_delete): Free connected information when the interface is
2249 deleted.
2250 (if_lookup_by_index): Fix argument type from int to unsigned int.
2251 (connected_add): Keep list in order if old info found, essential
2252 for repeatable operation in some daemons.
2253
22542001-01-09 endo@suri.co.jp (Masahiko Endo)
2255
2256 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
2257 read thread.
2258
22592001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2260
2261 * filter.c (access_list_delete): Access-list name is not freed.
2262
2263 * plist.c (prefix_list_delete): Prefix-list name is not freed.
2264
22652000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2266
2267 * zclient.c (zclient_start): Change to use UNIX domain
2268 socket for zebra communication.
2269
2270 * vector.c (vector_init): vector_alloc and vector_data_alloc is
2271 removed. All memory allocation count should be maintained by
2272 XMALLOC and XFREE macros.
2273
22742000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2275
2276 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
2277
22782000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2279
2280 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
2281 value.
2282
22832000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
2284
2285 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
2286 allocated in vty_new ().
2287
22882000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2289
2290 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
2291
2292 * command.c (config_write_terminal): Display "end" at the end of
2293 configuration.
2294
2295 * plist.c (vty_prefix_list_install): Use AF_INET to determine
2296 lenum length.
2297
22982000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
2299
2300 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
2301 then all lines write by IOV_MAX.
2302
23032000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2304
2305 * command.c (config_write_file): Robust method for writing
2306 configuration file and recover from backing up config file.
2307
23082000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2309
2310 * smux.c (smux_connect): More fail check.
2311 (smux_trap): When SMUX connection is not established, do nothing.
2312
23132000-11-28 Gleb Natapov <gleb@nbase.co.il>
2314
2315 * thread.c (thread_fetch): Execut event list first. Old event
2316 list is renamed to ready list. With this change, event thread is
2317 executed before any other thread.
2318
2319 * thread.h (struct thread_master): Add ready list.
2320
23212000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2322
2323 * linklist.c (listnode_add_after): Add node right after the
2324 listnode pointer.
2325
23262000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2327
2328 * smux.h: Pass struct variable to WriteMethod.
2329
23302000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
2331
2332 * if.c (if_lookup_address): When looking up interface with IP
2333 address, Sometimes multiple interfaces will match. Now PtP
2334 interfaces prevail in such a case which seem the right thing to
2335 do: There will probably also be host routes which usually prevail
2336 over network routes.
2337
23382000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2339
2340 * smux.c (smux_trap): SMUX trap implementation.
2341
23422000-11-19 Akihiro Mizutani <mizutani@dml.com>
2343
2344 * plist.c: Add automatic conversion function of an old rule.
2345 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
2346
23472000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
2348
2349 * zclient.c (zebra_interface_add_read): Read hardware address when
2350 hw_addr_len is greater than 0.
2351
23522000-11-15 Akihiro Mizutani <mizutani@dml.com>
2353
2354 * plist.c: The rule of "len <= ge-value <= le-value"
2355 was changed to "len < ge-value <= le-value".
2356
23572000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2358
2359 * memory.[ch]: Added #define and functions for ospf6d.
2360
2361 * log.[ch]: some platform says that the data of used va_list
2362 is undefined. Changed to hold list of va_list for each
2363 vsnprintf.
2364
23652000-11-07 Rick Payne <rickp@rossfell.co.uk>
2366
2367 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
2368
23692000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2370
2371 * command.c (config_exit): Fix bug of missing break after case
2372 BGP_VPNV4_NODE.
2373
23742000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2375
2376 * vector.c (vector_unset): Check i is not nevative.
2377
23782000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
2379
2380 * smux.c (smux_sock): Set terminating '\0'. Check address family.
2381
2382 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
2383 gai_strerror. Check address family.
2384
23852000-10-23 Jochen Friedrich <jochen@scram.de>
2386
2387 * smux.c: Use linklist rather than vector.
2388 (smux_getnext): A SMUX subagent has to behave as if it manages the
2389 whole SNMP MIB tree itself. It's the duty of the master agent to
2390 collect the best answer and return it to the manager. See RFC 1227
2391 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
2392 bad here as it actually might ask multiple times for the same
2393 GETNEXT request as it throws away the answer when it expects it in
2394 a different subtree and might come back later with the very same
2395 request.
2396
23972000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2398
2399 * command.c (cmd_init): Log related command are only installed for
2400 terminal mode.
2401
24022000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2403
2404 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
2405
2406 * zebra.h: Remove #warn directive.
2407
24082000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2409
2410 * keychain.c (keychain_init): Register "key chain" command to
2411 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
2412
2413 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
2414 CONFIG_NODE.
2415
2416 * command.c (config_end): Likewise.
2417
2418 * keychain.c (keychain_get): Key is sorted by it's identifier
2419 value.
2420
24212000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2422
2423 * linklist.c (list_delete_all_node): Call delete function if it is
2424 defined.
2425
2426 * command.c (cmd_execute_command_strict): Add modification for
2427 vtysh.
2428 (cmd_execute_command_strict): Remove first argument cmdvec because
2429 it is global varibale in command.c.
2430
24312000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2432
2433 * command.c (cmd_init): Install
2434 copy_runningconfig_startupconfig_cmd only in terminal mode.
2435
2436 * linklist.c (list_delete_node): Simplify the function.
2437 (listnode_lookup): Renamed from list_lookup_node.
2438
24392000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2440
2441 * stream.h: Undef stream_read and stream_write without
2442 parenthesis.
2443
2444 * newlist.c: File removed.
2445
2446 * newlist.h: Likewise.
2447
2448 * linklist.c (list_new): Remove list_init(). To allocate new
2449 linked list, please use list_new().
2450 (listnode_add): Remove list_add_node(). To add new node to linked
2451 list, please use listnode_add().
2452 (list_delete_by_val): Revemove fucntion.
2453
24542000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
2455
2456 * table.c (route_table_free): Reimplement route_table_free().
2457
24582000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2459
2460 * keychain.c (keychain_get): Register key_delete_func to key
2461 list's delete function. Use linklist.c instead of newlist.c.
2462
24632000-10-04 Akihiro Mizutani <mizutani@dml.com>
2464
2465 * filter.c (access_list_remark): Add access-list's remark command.
2466 (no_access_list): "no access-list 100 permit any" error message
2467 bug is fixed.
2468
24692000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2470
2471 * memory.h (enum): Add MTYPE_SOCKUNION.
2472
24732000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2474
2475 * zebra-0.89 is released.
2476
24772000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2478
2479 * linklist.c (list_add_node_head): Delete unused function.
2480 (list_add_node_tail): Likewise.
2481
24822000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2483
2484 * stream.c (stream_read_unblock): Add new function for unblocking
2485 read.
2486
24872000-09-26 Jochen Friedrich <jochen@nwe.de>
2488
2489 * smux.c (smux_register): Fix bug of can't register more than one
2490 MIB with SMUX.
2491
24922000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
2493
2494 * vty.c (vty_close): Fix memory leak of sb_buffer.
2495 (vty_new): Likewise.
2496
24972000-09-21 steve@Watt.COM (Steve Watt)
2498
2499 * log.h: Do not declare zlog_priority[0] variable.
2500
25012000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2502
2503 * linklist.h (struct _list ): Add member cmp for compare function.
2504 (struct _list ): Member up is deleted
2505
25062000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
2507
2508 * if.c: Include RIP_API header when RIP API is enabled.
2509
25102000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2511
2512 * prefix.c (prefix_free): Siplify prefix_free().
2513
2514 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
2515
25162000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2517
2518 * zebra.h: Merge roken.h into zebra.h.
2519
25202000-09-05 Akihiro Mizutani <mizutani@dml.com>
2521
2522 * routemap.c (route_map_init_vty): Install route-map command to
2523 RMAP_NODE.
2524
25252000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2526
2527 * thread.c (thread_get_id): Remove pthread related garbage.
2528
2529 * command.h (struct host): Likewise.
2530
2531 * zebra.h: Likewise.
2532
25332000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2534
2535 * command.h (node_type ): Add AAA node for authentication.
2536
2537 * vty.c (vty_close): Do not close stdout.
2538
25392000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2540
2541 * vty.c (vty_init_vtysh): Added for vtysh.
2542
2543 * distribute.c (districute_list_prefix_all): Interface independent
2544 filter can be set.
2545 (distribute_list_all): Likewise.
2546 (config_show_distribute): Display current distribute-list status
2547 for "show ip protocols".
2548
25492000-08-18 Akihiro Mizutani <mizutani@dml.com>
2550
2551 * command.c (config_terminal_no_length): no terminal monitor ->
2552 terminal no monitor
2553 (cmd_init): Do not install service_terminal_length_cmd into
2554 ENABLE_NODE.
2555
2556 * vty.c (terminal_no_monitor): no terminal length -> terminal no
2557 length.
2558
25592000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2560
2561 * zebra-0.88 is released.
2562
25632000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
2564
2565 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
2566 better IAC handling.
2567
2568 * vty.c (vty_telnet_option): Change telnet option handling.
2569
25702000-08-15 Gleb Natapov <gleb@nbase.co.il>
2571
2572 * zclient.c (zclient_redistribute_unset): New function added.
2573
25742000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2575
2576 * zclient.c (zebra_interface_add_read): Change ifindex restore
2577 size from two octet to four.
2578 (zebra_interface_state_read): Likewise.
2579 (zebra_interface_address_add_read): Likewise.
2580
25812000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2582
2583 * vty.c (vty_event): Use vector_set_index() instead of
2584 vector_set().
2585
25862000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2587
2588 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
2589 Administrative Distance of each protocol.
2590
25912000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
2592
2593 * if.h (struct interface ): Add new member bandwidth to struct
2594 interface.
2595
2596 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
2597 (zebra_interface_state_read): Likewise.
2598
25992000-08-07 Gleb Natapov <gleb@nbase.co.il>
2600
2601 * routemap.c (route_map_event_hook): New hook route_map_event_hook
2602 is added. This hook is called when route-map is changed. The
2603 parameters passed to the hook are 'event' and 'route-map name'
2604
2605 * routemap.h: Add prototype for route_map_event_hook().
2606
26072000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2608
2609 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
2610 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
2611
2612 * routemap.c (route_map_empty): Add new function.
2613 (route_map_delete): Use route_map_index_delete() instead of
2614 route_map_index_free().
2615 (route_map_index_free): Function removed.
2616
26172000-08-06 Gleb Natapov <gleb@nbase.co.il>
2618
2619 * routemap.c (route_map_index_delete): Add check for route-map is
2620 empty or not.
2621
26222000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2623
2624 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
2625 zclient.
2626
26272000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2628
2629 * zclient.h (struct zebra): Add obuf for output buffer.
2630
2631 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
2632 if_indextoname().
2633
26342000-08-02 David Lipovkov <davidl@nbase.co.il>
2635
2636 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
2637 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
2638
2639 * if.c (interface_pseudo): Add "pseudo" command to interface node.
2640 (no_interface_pseudo): Add "no pseudo" command to interface node.
2641
2642 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
2643 send from zebra.
2644
26452000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2646
2647 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
2648 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
2649
2650 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
2651
26522000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2653
2654 * vty.c: Use vector for VTY server thread listing instead of
2655 single value.
2656
26572000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2658
2659 * keychain.c (no_key_chain): "no key chain WORD" command is added.
2660
26612000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2662
2663 * command.c (config_from_file): If command fail in
2664 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
2665
2666 * vty.h (struct vty ): Add index_sub member.
2667
26682000-07-27 Akihiro Mizutani <mizutani@dml.com>
2669
2670 * if.c: Help strings updates.
2671
26722000-07-11 Akihiro Mizutani <mizutani@dml.com>
2673
2674 * command.c (no_config_enable_password): Add "no enable password"
2675 command.
2676 (config_write_host): Display password string.
2677
2678 * routemap.c (route_map_delete_match): Add support for delete
2679 match without argument.
2680 (route_map_delete_set): Likewise.
2681
26822000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2683
2684 * command.h (node_type ): Change KEYCHAIN_NODE and
2685 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
2686
26872000-07-09 Jochen Friedrich <jochen@scram.de>
2688
2689 * smux.c (config_write_smux): Fixes the option to override OID and
2690 password for SMUX.
2691
26922000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2693
2694 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
2695
26962000-07-09 Toshiaki Takada <takada@zebra.org>
2697
2698 * command.c: Sort descvec command's help.
2699
2700 * vty.c (vty_describe_command): Display '<cr>' at the end of
2701 descriptions.
2702
27032000-07-05 Toshiaki Takada <takada@zebra.org>
2704
2705 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
2706 treatment of double colon.
2707
27082000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2709
2710 * zclient.h: Add zclient_redistribute_default_{set,unset}().
2711
2712 * keychain.c: New file for authentication key management.
2713 * keychain.h: Likewise.
2714
2715 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
2716 ipchains.
2717 * tcpfilter.h: Likewise.
2718
2719 * flap.h: New file for route flap dampening.
2720 * flap.c: Likewise.
2721
27222000-07-04 Toshiaki Takada <takada@zebra.org>
2723
2724 * filter.c (struct filter): Add exact flag.
2725 (access_list): Add exact-match command.
2726 (ipv6_access_list): Add exact-match command.
2727
27282000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2729
2730 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
2731 request default route.
2732
27332000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
2734
2735 * smux.c: Add IPv6 smux connection code.
2736
27372000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2738
2739 * vty.c (vty_complete_command): To cooperate readline library,
2740 returned string is newly allocated. So some match function case
2741 need, free of memory.
2742
27432000-06-12 Akihiro Mizutani <mizutani@dml.com>
2744
2745 * distribute.c: Fix help strings.
2746
27472000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2748
2749 * command.c (cmd_complete_command): Add check for vector_slot
2750 (vline, index) is not NULL when calculating lcd.
2751 (cmd_entry_function): First check variable arguemnt to prevent it
2752 from completion.
2753
27542000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2755
2756 * vty.h (struct vty ): Add output_count member for displaying
2757 output route count. Remove arugment arg from output_func because
2758 the value is passed by vty argument. Change output to output_rn.
2759 Add output_clean function pointer member. Add output_type member.
2760
27612000-06-10 Toshiaki Takada <takada@zebra.org>
2762
2763 * command.c (show_startup_config): Add "show startup-config"
2764 command.
2765
27662000-06-06 Akihiro Mizutani <mizutani@dml.com>
2767
2768 * filter.c: Fix help strings.
2769
27702000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2771
2772 * prefix.h (struct prefix_rd): New prefix structure for routing
2773 distinguisher.
2774 (struct prefix): Add padding to every prefix structure.
2775
2776
2777 * routemap.c (route_map_add_match): When completely same match
2778 statement exists, don't duplicate it.
2779
27802000-06-05 Akihiro Mizutani <mizutani@dml.com>
2781
2782 * routemap.c: Change NAME to WORD.
2783
2784 * plist.c: Fix help strings.
2785
27862000-06-02 Akihiro Mizutani <mizutani@dml.com>
2787
2788 * routemap.c: Fix route-map help strings.
2789
27902000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2791
2792 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
2793 to filter other non vararg commands.
2794
2795 * routemap.c (route_map_init_vty): Use install_default() for
2796 install common commands into route-map node..
2797
27982000-06-01 Akihiro Mizutani <mizutani@dml.com>
2799
2800 * command.h (OSPF_STR): Macro added.
2801
28022000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2803
2804 * command.c (cmd_complete_command): LCD completion must not modify
2805 installed command string.
2806
2807 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
2808 X:X::X:X to X:X::X:X/M.
2809
28102000-05-31 Toshiaki Takada <takada@zebra.org>
2811
2812 * vty.c (show_history): New defun added.
2813
28142000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2815
2816 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
2817 list. CMD_COMPLETE_MATCH is used for LCD completion.
2818
2819 * vty.c (vty_complete_command): Matched string's LCD is completed.
2820
2821 * command.c (cmd_lcd): New function for calculate LCD of matched
2822 strings.
2823
28242000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2825
2826 * command.c (install_default): config_write_terminal_cmd,
2827 config_write_file_cmd, config_write_memory_cmd are added to
2828 default node.
2829
2830 * memory.c (memory_init): Divide show memory command into each
2831 sort.
2832
2833 * command.c (cmd_init): config_write_terminal_cmd,
2834 config_write_file_cmd, config_write_memory_cmd are added to
2835 CONFIG_NODE.
2836
2837 * routemap.c (route_map_index_free): New function.
2838 (no_route_map_all): New DEFUN for "no route-map NAME".
2839
2840 * filter.c (no_access_list_all): New DEFUN for delete access-list
2841 with NAME.
2842 (no_ipv6_access_list_all): Likewise.
2843
28442000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2845
2846 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
2847 specified, user can not use "ge" and "le" statement.
2848
28492000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
2850
2851 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
2852
2853 * table.c (route_table_free): Like wise.
2854
28552000-05-22 Toshiaki Takada <takada@zebra.org>
2856
2857 * vty.c (vty_stop_input): Set history pointer to the latest one.
2858
2859 * vty.c (vty_hist_add): Do not add command line history when input
2860 is as same as previous one.
2861
28622000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2863
2864 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
2865
28662000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2867
2868 * command.h (node_type ): Add BGP_VPNV4_NODE.
2869
28702000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2871
2872 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
2873 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
2874
2875 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
2876 IPv4 example. Reported by: Love <lha@s3.kth.se>.
2877
2878 * command.c (cmd_complete_command): Make it sure last element of
2879 matchvec is NULL. This fix problem which cause crush in
2880 vty_complete_command(). Reported by: JINMEI Tatuya
2881 <jinmei@isl.rdc.toshiba.co.jp>.
2882
28832000-04-28 Love <lha@s3.kth.se>
2884
2885 * prefix.h (struct prefix): Add padding.
2886
28872000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2888
2889 * command.c (show_version): Update copyright year.
2890
28912000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2892
2893 * routemap.c (route_map_apply): When map is NULL, return deny.
2894
28952000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2896
2897 * filter.c (access_list_apply): When access is NULL, return deny.
2898
2899 * plist.c (prefix_list_apply): When plist is NULL, return deny.
2900
29012000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2902
2903 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
2904
29052000-04-18 Toshiaki Takada <takada@zebra.org>
2906
2907 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
2908 Add argument for hook function to give struct access_list *.
2909
29102000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2911
2912 * plist.c (prefix_list_entry_match): In case of le nor ge is
2913 specified, exact match is performed.
2914 (prefix_list_entry_match): Add any entry matching check.
2915
29162000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2917
2918 * vty.c (exec_timeout): Separate timeout setting to minutes and
2919 seconds.
2920 (no_exec_timeout): Add "no exec-timeout" command.
2921
2922 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
2923 600.
2924
29252000-03-31 Jochen Friedrich <jochen@scram.de>
2926
2927 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
2928 it is a primitive encoding and not constructed.
2929
29302000-03-28 Toshiaki Takada <takada@zebra.org>
2931
2932 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
2933
29342000-03-26 Love <lha@s3.kth.se>
2935
2936 * zclient.c (zclient_read): Add nbytes size check for
2937 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
2938
29392000-03-26 Rick Payne <rickp@rossfell.co.uk>
2940
2941 * routemap.c: Add flexible route-map commands such as on-match
2942 next, on-match goto N.
2943
2944 * routemap.h: Likewise
2945
29462000-03-23 Adrian Bool <aid@u.net.uk>
2947
2948 * command.c (config_log_trap): Add new command "log trap
2949 PRIORITY".
2950
29512000-03-14 Toshiaki Takada <takada@zebra.org>
2952
2953 * memory.c (struct memory_list): Add Link List and Link Node
2954 to view.
2955
2956 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
2957
29582000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
2959
2960 * str.c (snprintf): Fix bug of calling sprintf instead of
2961 vsprintf.
2962
29632000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2964
2965 * memory.h (enum): Add MTYPE_RIP_PEER.
2966
29672000-01-15 Toshiaki Takada <takada@zebra.org>
2968
2969 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
2970
29712000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2972
2973 * command.h (node_type ): Add MASC_NODE for masc.
2974
29752000-01-09 Wang Jianliang <wangjl@soim.net>
2976
2977 * routemap.c (route_map_index_add): When route_map_index is not
2978 empty and insert new item at the head, it can cause core dump.
2979 Fix "if (index == map->head)" to "if (point == map->head).
2980 (route_map_add_set): If there is an old set command, override old
2981 set command with new one.
2982 (route_map_index_delete): Use while() instead of for for() for
2983 logical correctness.
2984
29851999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2986
2987 * memory.h (enum): Add MTYPE_BGP_STATIC.
2988
29891999-12-23 Alex Zinin <zinin@amt.ru>
2990 * zebra.h, zclient.*: dynamic int up/down message
2991 support
2992
29931999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2994
2995 * thread.c (thread_cancel_event): Add a function for clean up
2996 events.
2997
29981999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2999
3000 * dropline.c: Delete file.
3001 dropline.h: Linewise.
3002
30031999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3004
3005 * filter.c (access_list_filter_delete): Wrong pointer
3006 access->master was pointed out after access is freed. I store
3007 master value at the beginning of the function.
3008
30091999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3010
3011 * vty.c (exec_timeout): Change of VTY timeout affect to current
3012 VTY connection.
3013 (vty_accept): Instead of immediate exit() return -1.
3014
30151999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3016
3017 * vty.c (vty_configure_lock): Configuration lock function added.
3018 Only one VTY can use CONFI_NODE at the same time.
3019
3020 * log.c: Delete zvlog_* functions. Now zlog_* does the same
3021 thing.
3022
3023 * log.c (log_init): Function removed.
3024 (log_close): Likewise.
3025 (log_flush): Likewise.
3026 (log_open): Likewise.
3027
3028 * vty.c (terminal_monitor): Add new command.
3029 (no_terminal_monitor): Likewise.
3030
3031 * log.c (old_log): Function removed.
3032 (old_log2): Likewise.
3033 (old_log_warn): Likewise.
3034
30351999-12-04 Toshiaki Takada <takada@zebra.org>
3036
3037 * command.c (cmd_ipv6_match): New function added.
3038 (cmd_ipv6_prefix_match): Likewise.
3039
30401999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3041
3042 * command.c (cmd_ipv6_match):
3043
3044 * table.c: Delete #ifdef HAVE_MBGPV4.
3045
3046 * prefix.h (struct prefix): Add safi member.
3047 (struct prefix_ipv4): Likewise.
3048 (struct prefix_ipv6): Likewise.
3049
30501999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
3051
3052 * memory.c (struct mstat): Revert to support MEMORY_LOG.
3053
30541999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3055
3056 * version.h: Bump up to 0.81c for testing new kernel codes.
3057
30581999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3059
3060 * thread.h (struct thread): Pthread support is disabled all
3061 platform.
3062
30631999-11-21 Michael Handler <handler@sub-rosa.com>
3064
3065 * Include <limits.h> and <strings.h> under SUNOS_5.
3066
30671999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3068
3069 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
30701999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3071
3072 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
3073
30741999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3075
3076 * command.c (disable): Add `disable' command.
3077
30781999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3079
3080 * plist.c (vty_prefix_list_install): Add any check.
3081
30821999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3083
3084 * command.h (node_type ): Add DUMP_NODE.
3085
30861999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3087
3088 * smux.c: Change default SMUX oid to compatible with gated.
3089
30901999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3091
3092 * if_rmap.c: New file added.
3093
3094 * if_rmap.h: New file added.
3095
30961999-10-29 Alex Zinin <zinin@amt.ru>
3097
3098 * hash.c: add hash_free() function
3099
31001999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3101
3102 * hash.c (hash_clean): Add clean function.
3103
3104 * plist.c (prefix_list_reset): Add reset function.
3105
3106 * filter.c (access_list_reset): Add reset function.
3107
31081999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3109
3110 * client.c: Merged with zclient.c.
3111 * client.h: Merged with zclient.h.
3112
31131999-10-15 Jordan Mendelson <jordy@wserv.com>
3114
3115 * md5.c: Imported from GNU C Library.
3116 * md5-gnu.h: Likewise.
3117
31181999-10-15 Jochen Friedrich <jochen@scram.de>
3119
3120 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
3121
31221999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3123
3124 * smux.h: New file added.
3125
3126 * snmp.c: Rename to smux.c.
3127
31281999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3129
3130 * command.c (cmd_execute_command_strict): Filter ambious commands.
3131 (cmd_filter_by_string): Change to return enum match_type.
3132
31331999-10-01 Toshiaki Takada <takada@zebra.org>
3134
3135 * vty.c (vty_describe_fold): New function which does VTY
3136 description line fold.
3137 * vty.c (vty_describe_command): Set description column.
3138
31391999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3140
3141 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
3142
31431999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3144
3145 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
3146 CMD_IPV4_PREFIX check. Both return type must be exact_match.
3147
31481999-09-24 Toshiaki Takada <takada@zebra.org>
3149
3150 * command.c (cmd_filter_by_completion),
3151 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
3152 parameter matches range.
3153
31541999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3155
3156 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
3157 is performed.
3158
31591999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3160
3161 * vty.c (vty_read): Control-C stop VTY_MORE mode.
3162
31631999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
3164
3165 * command.h (node_type ): Add ACCESS_IPV6_NODE and
3166 PREFIX_IPV6_NODE.
3167
3168 * distribute.h: New file added.
3169
3170 * command.h (node_type ): Delete DISTRIBUTE_NODE.
3171
31721999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3173
3174 * vty.c (vty_terminate_all): New function added for reload
3175 support.
3176
31771999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3178
3179 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
3180
31811999-08-31 Janos Farkas <chexum@shadow.banki.hu>
3182
3183 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
3184 esc-ctrl-h (delete word backwards).
3185
31861999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3187
3188 * if.h: Add if_nametoindex for NRL.
3189
31901999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3191
3192 * if.c (if_create): New function.
3193
31941999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3195
3196 * snmp.c: New file.
3197
31981999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3199
3200 * stream.c (stream_put): stream_memcpy () is changed to stream_put
3201 (). stream_get () is added.
3202
32031999-08-18 Toshiaki Takada <takada@zebra.org>
3204
3205 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
3206
32071999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3208
3209 * table.c (route_table_finish): add function frees table.
3210
32111999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3212
3213 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
3214
32151999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3216
3217 * if.h (struct interface ): hw_address, hw_address_len added.
3218
32191999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3220
3221 * if.h (struct interface ): Change structure member if_data to
3222 info, index to ifindex.
3223
32241999-08-08 Rick Payne <rickp@rossfell.co.uk>
3225
3226 * routemap.c: Multi protocol route-map modification.
3227
3228 * routemap.c (route_map_apply): Route match process bug is fixed.
3229
32301999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3231
3232 * thread.c (thread_fetch): When signal comes, goto retry point.
3233
32341999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3235
3236 * Makefile.am: Add sockopt.c and sockopt.h
3237 * sockopt.c: New file.
3238 * sockopt.h: New file.
3239
32401999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3241
3242 * version.h (ZEBRA_VERSION): Release zebra-0.75
3243
32441999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3245
3246 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
3247
32481999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3249
3250 * sockunion.h: Add sockunion_getpeername ().
3251
32521999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3253
3254 * version.h: Release zebra-0.74
3255
32561999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3257
3258 * command.h (struct host): Delete lines from struct host. Add
3259 lines to struct vty.
3260
3261 * command.c: Delete `lines LINES'. Terminal display line settings
3262 should be done by `terminal length' command.
3263
32641999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3265
3266 * memory.h (enum): MTYPE_OSPF_PATH are added.
3267
32681999-07-22 Toshiaki Takada <takada@zebra.org>
3269
3270 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
3271
32721999-07-21 Toshiaki Takada <takada@zebra.org>
3273
3274 * linklist.c (list_add_node_prev), (list_add_node_next),
3275 (list_add_list): New function added.
3276
3277 * table.c (route_table_free): New function added.
3278
32791999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3280
3281 * plist.c (config_write_prefix): Set write flag when configuration
3282 is written.
3283
32841999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3285
3286 * prefix.c : prefix_cmp() added. change apply_mask() to
3287 apply_mask_ipv4(), and new apply_mask() added.
3288
32891999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3290
3291 * prefix.c (prefix2str): append prefixlen.
3292
32931999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3294
3295 * command.c (config_terminal): Change "config terminal" to
3296 "configure terminal". Reported by Georg Hitsch
3297 <georg@atnet.at>.
3298 (config_terminal_length): `terminal length <0-512>' is added. At
3299 this moment this command is only usef for vty interface.
3300 Suggested by Georg Hitsch <georg@atnet.at>.
3301
33021999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3303
3304 * routemap.c (rulecmp): Add wrapper function of strcmp.
3305
33061999-07-08 Rick Payne <rickp@rossfell.co.uk>
3307
3308 * sockunion.c (inet_aton): Fix bug of inet_aton.
3309
33101999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3311
3312 * version.h (ZEBRA_VERSION): Start zebra-0.73
3313
33141999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3315
3316 * version.h: Bump up to 0.72.
3317
33181999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3319
3320 * command.c (install_default): New function for install default
3321 commands to the node.
3322
3323 * memory.h (enum): MTYPE_NEXTHOP is added.
3324
33251999-07-01 <kunihiro@zebra.org>
3326
3327 * command.c (no_banner_motd): `no banner motd' command added.
3328
33291999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3330
3331 * regex.c: Update to glibc-2.1.1's posix/regex.c
3332
3333 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
3334
3335 * prefix.h (IPV4_ADDR_SAME): Macro added.
3336 (IPV6_ADDR_SAME): Likewise.
3337
33381999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3339
3340 * memory.h (enum): Add MTYPE_OSPF_VERTEX
3341
3342 * version.h: Bump up to 0.71.
3343
3344 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
3345 VTY socket when IPv6 is enabled.
3346
33471999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
3348
3349 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
3350 address family to bind.
3351
3352 * command.c: Add quit command.
3353
33541999-06-26 NOGUCHI kay <kay@dti.ad.jp>
3355
3356 * vty.c (vty_read_config): Fix bug of configuration file path
3357 detection.
3358
33591999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3360
3361 * version.h: Bump up to 0.70.
3362
33631999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3364
3365 * buffer.h (GETL): Remove GETL macro.
3366
3367 * version.h: Bump up to 0.69.
3368
33691999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3370
3371 * if.c (connected_add): Commented out connected_log.
3372
33731999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3374
3375 * command.h (struct cmd_element ): strvec and descvec is combined
3376 into newstrvec.
3377
3378 * command.c (desc_make): Function removed.
3379 (desc_next): Function removed.
3380
3381 * command.h (struct cmd_element ): docvec is removed from struct
3382 cmd_element.
3383
33841999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3385
3386 * command.c (cmd_execute_command): Remove command NULL check.
3387
3388 * command.h (struct cmd_element ): Add newstrvec entry to struct
3389 cmd_element.
3390 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
3391 (a|b|c) statement.
3392 (DESC): DESC macro is removed.
3393
3394 * vty.c (vty_complete_command): When return value is
3395 CMD_ERR_NO_MATCH, don't display error message.
3396
33971999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3398
3399 * table.c (route_next_until): New function.
3400
3401 * version.h: Bump up to 0.68.
3402
34031999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3404
3405 * vty.c (vty_close): Free vty->buf when vty is closed.
3406
3407 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
3408 MTYPE_COMMUNITY_LIST.
3409
3410 * vty.h (struct vty ): Change buf from static length buffer to
3411 variable length buffer.
3412
3413 * vty.c (vty_ensure): New function added.
3414
34151999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3416
3417 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
3418
3419 * command.c (config_enable_password): Freeing host.enable bug is
3420 fixed.
3421 (config_enable_password): Add argc count check.
3422
34231999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3424
3425 * version.h: Bump up to 0.67.
3426
34271999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3428
3429 * command.c (zencrypt): New function for encrypt password.
3430
3431 * command.h (struct host): Add password_encrypt and
3432 enable_encrypt.
3433
34341999-05-30 Jochen Friedrich <jochen@scram.de>
3435
3436 * command.h (struct host): New member encrypt is added for
3437 encrypted password.
3438
34391999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3440
3441 * vty.c: Remove all_digit_check function. Instead use all_digit.
3442
3443 * prefix.c (all_digit): New function for checking string is made
3444 from digit character.
3445
34461999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3447
3448 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
3449 (noinst_HEADERS): Add zclient.h
3450
3451 * zclient.[ch]: New file for zebra client routine.
3452
3453 * memory.h (enum): Add MTYPE_ZEBRA.
3454
34551999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3456
3457 * version.h (ZEBRA_VERSION): Update to 0.66.
3458
34591999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3460
3461 * buffer.h (GETC,GETW): Macro deleted.
3462
34631999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3464
3465 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
3466
34671999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3468
3469 * vty.c (service_advanced_vty): New command added.
3470 (no_service_advanced_vty): Likewise.
3471
34721999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3473
3474 * vty.c (vty_auth): If advanced flag is set and enable password is
3475 not set, directly login to the ENABLE_NODE. This feature is
3476 originally designed and implemented by Stephen R. van den Berg
3477 <srb@cuci.nl>.
3478
3479 * command.h (host): Add advanced flag to struct host for advanced
3480 vty terminal interface.
3481
3482 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
3483
34841999-05-14 Stephen R. van den Berg <srb@cuci.nl>
3485
3486 * command.h (node_type ): Add TABLE_NODE.
3487
3488 * vty.c (vty_telnet_option): Check host.lines value.
3489
3490 * command.c (config_lines): DEFUN for 'lines LINES' command.
3491
3492 * zebra.h: Include <sys/utsname.h> for uname().
3493 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
3494 routing table.
3495
3496 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
3497 password is not set.
3498 (vty_prompt): Get machine's hostname when hostname is not set.
3499
35001999-05-11 James Willard <james@whispering.org>
3501
3502 * command.c (config_exit): Close connection when `exit' command is
3503 executed at ENABLE_NODE.
3504
35051999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3506
3507 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
3508
3509 * command.c (cmd_execute_command_strict): Matched command size
3510 check added.
3511 (cmd_make_desc_line): New function for DEFUN2.
3512
3513 * command.h (struct cmd_element ): Add descsize.
3514
35151999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3516
3517 * command.h (struct cmd_element ): Remame descvec to docvec.
3518 (struct cmd_element ): Add descvec for new description system.
3519
3520 * command.c (desc_make): Check cmd->descvec.
3521
35221999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3523
3524 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
3525
35261999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3527
3528 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
3529 release.
3530
35311999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3532
3533 * linklist.c (list_delete_all_node): bug fix.
3534 previous code loses current position when node
3535 is deleted.
3536
35371999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3538
3539 * command.h (DESC): Macro added.
3540 (struct cmd_element2): Delete struct cmd_element2.
3541
3542 * plist.c (prefix_list): Sequential number option check is added.
3543
35441999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3545
3546 * log.c (zvlog_{debug,info,notice,warn,err}): have been
3547 added. now we can log both console and file, but still
3548 need some fix about config write.
3549
35501999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3551
3552 * log.c (zvlog_debug): Fix yasu's change.
3553
35541999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3555
3556 * plist.c (prefix_list): Fix typo.
3557
35581999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3559
3560 * Set version to 0.63 for first beta package.
3561
35621999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3563
3564 * prefix.c (str2prefix_ipv4): Fix prefix length check.
3565 (str2prefix_ipv6): Likewise.
3566
35671999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3568
3569 * memory.h (enum): Add MTPYE_PREFIX_LIST and
3570 MTYPE_PREFIX_LIST_ENTRY.
3571
3572 * command.h (node_type ): Add PREFIX_NODE.
3573
35741999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3575
3576 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
3577 (copy_runningconfig_startupconfig_cmd) is added.
3578
3579 * table.c (route_node_lookup): Unused match variable deletion.
3580
35811999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3582
3583 * Makefile.am (libzebra_a_SOURCES): plist.c added.
3584 (noinst_HEADERS): plist.h added.
3585
3586 * plist.c, plist.h: New file added.
3587
3588 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
3589 * memory.c: Likewise.
3590
35911999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3592
3593 * command.c (show_version): `show version' command added.
3594
35951999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3596
3597 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
3598
35991999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3600
3601 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
3602
36031999-04-19 Alex Bligh <amb@gxn.net>
3604
3605 * prefix.c (sockunion2hostprefix): Function added.
3606 (sockunion2prefix): Address family was not set. Now it is set.
3607
3608 * vty.c: VTY access-class command is added.
3609
36101999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3611
3612 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
3613 xstrdup are likewise.
3614
36151999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3616
3617 * thread.c: Add thread_execute for other routing daemon.
3618 OSPF tasks need to be generated by "sheduled" and "executed".
3619
36201999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3621
3622 * buffer.c: Rewrite buffer_write and buffer_flush related
3623 functions for fixing bugs. Reason of the problem and fix is
3624 suggested by Alex Bligh <amb@gxn.net>.
3625
36261999-04-12 Alex Bligh <amb@gxn.net>
3627
3628 * command.c (cmd_entry_function_descr): Added for variable
3629 argument help display.
3630
36311999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3632
3633 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
3634
36351999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3636
3637 * stream.c: stream_fifo_free bug is fixed.
3638
36391999-03-19 Toshiaki Takada <takada@zebra.org>
3640
3641 * stream.c (stream_strncpy): Added for getting any length bytes
3642 from stream.
3643
36441999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3645
3646 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
3647
36481999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3649
3650 * buffer.c (buffer_flush_window): If ep is same as buffer's size
3651 length and lp is overrun one octet.
3652
36531999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3654
3655 * vty.h: add VTY's timeout function.
3656
36571999-03-05 <kunihiro@zebra.org>
3658
3659 * command.h (node_type ): Add OSPF6_node.
3660
36611999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3662
3663 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
3664
36651999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
3666
3667 * zebra.h: Include <net/if_var.h> if it exists.
3668
36691999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3670
3671 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
3672
3673 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
3674
3675 * command.h: Include vector.h and vty.h
3676
36771999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3678
3679 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
3680
3681 * routemap.c (route_map_apply_index): Add prefix argument.
3682 (route_map_apply): Likewise.
3683
3684 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
3685
3686 * stream.c: Add stream_fifo related functions.
3687
36881999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3689
3690 * daemon.c: Return integer value. File descriptor close is added.
3691
3692 * memory.h (enum): add MTYPE_OSPF_LSA.
3693
36941999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3695
3696 * rsh.c: Remove empty file.
3697
36981999-02-22 <kunihiro@zebra.org>
3699
3700 * routemap.c: Add add/delete hook to route_map_master.
3701
37021999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
3703
3704 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
3705 strlcpy on system without these.
3706
37071999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
3708
3709 * syslog support added
3710
37111999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3712
3713 * filter.c (access_list_add_hook): added for hook function management.
3714 * filter.c (access_list_delete_hook): Likewise.
3715
37161999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3717
3718 * stream.c: New file.
3719 * stream.h: New file.
3720 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
3721
37221999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3723
3724 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
3725
3726 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
3727
37281998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3729
3730 * routemap.c: route_map_index_delete() added.
3731
37321998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3733
3734 * buffer.c (buffer_empty): check cp instead of sp.
3735
37361998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3737
3738 * radix.[ch]: Deleted.
3739
37401998-12-15 Magnus Ahltorp <map@stacken.kth.se>
3741
3742 * buffer.c: Prototype fixes.
3743 * prefix.c: Likewise.
3744 * sockunion.c: Likewise.
3745 * sockunion.h: Likewise.
3746
37471998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3748
3749 * vty.c (vty_read): DELETE key works as vty_delete_char.
3750
37511998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3752
3753 * log.c (time_print): chane %y to %Y.
3754
37551998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3756
3757 * distribute.c: new file.
3758
37591998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3760
3761 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
3762 complete support of IPv6 access list.
3763
3764 * command.c (config_write_element): function delete.
3765 (config_write_host): function add. password and enable password
3766 isn't printed to vty interface.
3767
37681998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3769
3770 * filter.c: Change prefix_ipv4 to prefix and add support of
3771 prefix_ipv6 filtering.
3772
37731998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3774
3775 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
3776 header includes.
3777
37781998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3779
3780 * log.c (log_flush): fix function name typo.
3781
37821998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3783
3784 * memory.h: OSPF memory type is added.
3785
37861998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3787
3788 * command.c (sort_node): add sort_node() for pretty printing of
3789 command on vty interface.
3790 (config_password): delete the restriction of charaster of password
3791 string.
3792
37931998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
3794
3795 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
3796
37971998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3798
3799 * network.h: New file.
3800
38011998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3802
3803 * vty.c (vty_will_echo): function name change from vty_off_echo.
3804
38051998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3806
3807 * buffer.h: add PUTC,PUTW,PUTL macros.
3808
38091998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3810
3811 * route.[ch]: renamed to prefix.[ch]
3812
38131998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3814
3815 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
3816
3817 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
3818
38191998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3820
3821 * host.[ch]: merged with command.[ch]
3822
38231998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3824
3825 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
3826
38271998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3828
3829 * route.c (str2prefix): str2prefix () is gone.
3830
38311998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3832
3833 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
3834
3835 * .cvsignore: add file.
3836
3837 * memory.c (xerror): add arguent `type' and `size'.
3838
3839 * socket.c: deleted.
3840
38411998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3842
3843 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
3844 * linklist.c: same as above.
3845
38461998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3847
3848 * filter.[ch]: added.
3849
38501998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3851
3852 * vty.c (config_who): return CMD_SUCCESS
3853
38541998-04-01 Jochen Friedrich <jochen@scram.de>
3855
3856 * table.c (route_dump_node): route_dump_node is IPv6 specific
3857 function so move #ifdef to the end of route_dump_node ().
3858
38591998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
3860
3861 * if.c: DEFUN(interface_desc) added.
3862
38631998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3864
3865 * if.c: separated from ripd/rip_interface.c
3866
38671998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3868
3869 * thread.[ch] : added.
3870
38711998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3872
3873 * vty.c (vty_delete_char): fix size bug.
3874 (vty_backward_pure_word): function added.
3875 (vty_read): ESC + 'f' perform vty_forward_word.
3876 (vty_read): ESC + 'b' perform vty_backward_word.
3877
38781998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3879
3880 * radix.c (radix_lookup_rt): add mask check.
3881 (radix_delete_duproute): add mask check.
3882
38831998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3884
3885 * command.c (config_write_file): fix vty -> file_vty.
3886
38871998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3888
3889 * command.c (cmd_filter_ambiguous): add complex type treatment.
3890
38911998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3892
3893 * vty.c (vty_time_print): function added.
3894 (vty_complete_command): now [...] element isn't shown by completion.
3895
38961998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3897
3898 * command.c : change from cmd_install_node() to install_node().
3899
39001998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3901
3902 * route.[ch]: struct rt{} is replaced by struct prefix{}.
3903
39041998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3905
3906 * command.c (cmd_execute_command): check command length.
3907
3908 * timer.c (zebra_timer_set): add zebra_timer_set.
3909
39101998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3911
3912 * command.h (node_type ): add ZEBRA_NODE.
3913
3914 * command.c (config_exit): add RIP_NODE.
3915 (config_write_file): add RIP_NODE.
3916
39171998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3918
3919 * print_version.c (print_version): Now Copyright is 1996-1998.
3920
3921 * sockunion.c (sockunion_log): moved from ../zebra/route.c
3922
39231997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3924
3925 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
3926
3927 * sockunion.c (sockunion_sameprefix): add same prefix for
3928 sockunion.
3929
39301997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3931
3932 * radix.[ch] : are moved from ../zebra directroy.
3933
3934 * command.c (config_from_file): if command execution failed down
3935 level to CONFIG_NODE.
3936
3937 * host.c: config_log function which enable 'log FILENAME' command.
3938
39391997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3940
3941 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
3942 transpose character.
3943
3944 * command.c: cmd_cmdsize add, this is useful to check incomplete
3945 command.
3946
39471997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3948
3949 * fd.h: add family for address family
3950
39511997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3952
3953 * command.o
3954 * vty.o
3955 * host.o is moved from ../zebra
3956
39571997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3958
3959 * make library directory.
3960