blob: e95e2a3a0d60246462d40f7be636321161ae1f86 [file] [log] [blame]
Andrew J. Schorr08942da2006-07-03 20:58:29 +000012006-07-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
3 * vty.c: (vty_log_out) Debug messages to terminal vty sessions
4 should include timestamps.
5
Paul Jakma74176d22006-06-30 16:49:02 +000062006-06-28 Paul Jakma <paul.jakma@sun.com>
7
8 * memory.c: Fix typo in cpp conditional around malloc.h, from
9 comment in bug #269.
10
Paul Jakma95509e62006-06-27 08:26:07 +0000112006-06-27 Paul Jakma <paul.jakma@sun.com>
12
13 * route_types.awk: Remove setting the 'bare' numeric route type
14 in redist strings.
15
Paul Jakmae5cd7062006-06-15 12:25:55 +0000162006-06-15 Paul Jakma <paul.jakma@sun.com>
17
18 * command.c: (cmd_describe_command_real) Fix leak, CID #38.
Paul Jakma8ce5cfd2006-06-15 12:41:02 +000019 * memory.h: Experimental, have XFREE macro NULL out the freed
20 pointer.
Paul Jakmac024fd02006-06-15 12:43:09 +000021 * linklist.c: (list_delete) call list_delete_all_node, don't
22 duplicate it.
Paul Jakma630c97c2006-06-15 12:48:17 +000023 * if.c: (if_flag_dump) remove the whitespace indentation, callers
24 should provide.
Paul Jakmae5cd7062006-06-15 12:25:55 +000025
Paul Jakma35cfc902006-05-28 08:08:24 +0000262006-05-28 Paul Jakma <paul.jakma@sun.com>
27
28 * zebra.h: Include inttypes.h rather than stdint.h, best practice
29 according to the autoconf manual.
30 Add UINT*_MAX defines for older platforms lacking these (FBSD 4)
Paul Jakmad09552d2006-05-28 08:15:46 +000031 * memory.c: malloc.h is deprecated in favour of stdlib.h, however
32 we still need it on GNU Libc for mallinfo().
Paul Jakmaa4b30302006-05-28 08:18:38 +000033 * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty
34 hasn't been initiliased.
Paul Jakmafb66b292006-05-28 08:26:15 +000035 * log.c: (general) Add support for Sun libc printstack().
36 (hex_append) make the cpp conditional on general HAVE_STACK_TRACE
37 define.
38 (zlog_backtrace_sigsafe) Ditto. Add printstack() version of the
39 the DUMP macro in this function.
Paul Jakma35cfc902006-05-28 08:08:24 +000040
Paul Jakma9c42a6e2006-06-27 07:52:03 +0000412006-05-23 Paul Jakma <paul.jakma@sun.com>
42
43 * route_types.txt: New file, table of ZEBRA_ROUTE definitions.
44 * route_types.awk: New script, to parse previous and generate
45 (for now) redistribute string defines.
46 * Makefile.am: build route_types.h using previous two, ala
47 memtypes.h, include the script and table file in EXTRA_DIST.
48 * command.h: pull in route_types.h, add a REDIST_STR define.
49
Paul Jakmaadf62212006-06-30 16:55:41 +0000502006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
51
52 * if.h: (struct connected) Document the meaning of the
53 ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags.
54
Paul Jakmad6d672a2006-05-15 16:56:51 +0000552006-05-15 Paul Jakma <paul.jakma@sun.com>
56
57 * log.c: (general) Generalise struct zebra_route_desc into
58 struct zebra_desc_table and, similar to route_types, add a
59 command_types table to describe Zserv protocol commands.
60 (route_types[]) use a macro to use designated initialisers
61 while avoiding tedious duplication.
62 (zserv_command_string) lookup string from zebra_desc_table,
63 similar to zebra_route_string
64 * zebra.h: Add declaration for zserv_command_string, adjust the
65 comments to reflect zebra_desc_table.
66
Paul Jakmad16e0432006-05-15 10:56:46 +0000672006-05-13 Paul Jakma <paul.jakma@sun.com>
68
69 * vty.c: (vty_describe_command) CID #39 fix was too hasty, just
70 cause it /can/ leak doesn't mean it always will have, check
71 first.
72
Paul Jakma9376c342006-05-12 23:17:38 +0000732006-05-12 Paul Jakma <paul.jakma@sun.com>
74
75 * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref
76 of prefix and typestr strings, Coverity CID #3.
Paul Jakmad2519962006-05-12 23:19:37 +000077 * command.c: (cmd_complete_command_real) Fix leak of cmd_vector
78 in error case, Coverity CID #37.
Paul Jakma5fc60512006-05-12 23:24:09 +000079 (cmd_describe_command_real) Fix return of freed pointer when
80 no-match, CID #55.
Paul Jakma2fe8aba2006-05-12 23:22:01 +000081 * vty.c: (vty_describe_command) fix leak of describe vector in
82 error path, CID #39.
Paul Jakma9376c342006-05-12 23:17:38 +000083
Paul Jakma6cf0cf02006-03-30 14:43:17 +0000842006-03-30 Paul Jakma <paul.jakma@sun.com>
85
86 * command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as
87 potentially being unused.
Paul Jakma213d8da2006-03-30 14:45:47 +000088 * workqueue.c: (work_queue_run) fix line length of comment
Paul Jakma6cf0cf02006-03-30 14:43:17 +000089
Paul Jakmad4ce4f62006-03-30 14:30:19 +0000902006-03-27 Paul Jakma <paul.jakma@sun.com>
91
92 * memtypes.awk: Fix gensub call, g should be a string..
93
Paul Jakma68784532006-03-30 14:25:24 +0000942006-03-25 Paul Jakma <paul.jakma@sun.com>
95
96 * workqueue.h: (struct work_queue) Remove status field and
97 state flag, no longer used.
98
Paul Jakmab51f1262006-03-30 14:09:38 +0000992006-03-19 Paul Jakma <paul.jakma@sun.com>
100
101 * memtypes.c: Add MTYPE_BGP_SYNCHRONISE.
102
Paul Jakmacec0c4f2006-03-30 13:58:05 +00001032006-03-16 Paul Jakma <paul.jakma@sun.com>
104
105 * Makefile.am: Fix -version-info argument.
106
Paul Jakma41be32b2006-03-30 13:53:59 +00001072006-03-15 Paul Jakma <paul.jakma@sun.com>
108
109 * memory.c: (mtype_memstr) new helper function to
110 return human friendly string for a byte count.
111 (mtype_stats_alloc) new function, for users to retrieve
112 number of objects allocated.
113 (show_memory_mallinfo) New function, show mallinfo statistics
114 if available.
115 (show_memory_all_cmd) Call show_memory_mallinfo, if mallinfo
116 is available.
117 * memory.h: Export mtype_memstr and mtype_stats_alloc.
118 Provide a define for a reasonable buffer size for
119 mtype_memstr.
120
Paul Jakma924f9d32006-03-30 13:25:52 +00001212006-03-14 Paul Jakma <paul.jakma@sun.com>
122
123 * privs.c: (zprivs_caps_init) Change user IDs before lowering
124 privileges, while this seems to work on Linux, on Solaris
125 it rightfully refuses due to PRIV_PROC_SETID having been
126 dropped.
Paul Jakma86228fd2006-03-30 15:00:30 +0000127 * command.h: Add the struct host global exported from command.c
Paul Jakma924f9d32006-03-30 13:25:52 +0000128
Paul Jakma478ccfd2006-03-06 18:18:37 +00001292006-03-06 Paul Jakma <paul.jakma@sun.com>
130
131 * if.h: export show_address_cmd, for anyone who wishes to use
132 it.
133
Paul Jakma5a54df92006-02-21 01:37:14 +00001342006-02-21 Paul Jakma <paul.jakma@sun.com>
135
136 * sockunion.c: (sockunion_{su2str,log}) Use XSTRDUP.
137 Particularly with _su2str, as that string gets XFREEd,
138 which can be annoying if run debug code in memory.c.
139
paul306d8892006-02-02 17:50:19 +00001402006-02-02 Paul Jakma <paul.jakma@sun.com>
141
142 * workqueue.h: (struct work_queue) Remove the delay field.
143 It served no purpose and just introduced bad behaviour.
144 Should be excised before its allowed to escape into 1.0.
145 This removes need for the 'flood' and runs_since_clear
146 fields.
147 * workqueue.c: (general) excise delay factor between queue
148 runs, hence the 'flood' crap too.. See above.
149
paul581a02a2006-01-19 20:22:16 +00001502006-01-19 Paul Jakma <paul.jakma@sun.com>
151
152 * stream.c: (stream_getq_from) should use POSIX uint64_t
153 not u_int64_t. Latter is neither a traditional BSD type, nor
154 a POSIX type.
155
vincenteac314c2006-01-17 23:39:04 +00001562006-01-17 Vincent Jardin <vincent.jardin@6wind.com>
157
158 * md5.c: Don't forget to keep const.
159 * regex.c: Cleanup code and remove warnings.
160
paul7d0b0c42006-01-17 17:40:45 +00001612006-01-17 Paul Jakma <paul.jakma@sun.com>
162
163 * md5.{c,h}: (md5_loop) Is better off taking a void * and doing
164 cast to byte wise type internally, avoids needs for casts
165 in users.
paul789f78a2006-01-17 17:42:03 +0000166 * vty.c: (no_terminal_monitor_cmd) New ALIAS for
167 terminal_no_monitor, in the more normal negating format,
168 to be kind to my fingers.
169 (vty_init) install new ALIAS.
pauld2110862006-01-17 17:43:18 +0000170 * zclient.{c,h}: (zclient_create_header) export this, seems others
171 could use it (in lieu of more complete zserv helpers).
paul7d0b0c42006-01-17 17:40:45 +0000172
paulc1b98002006-01-16 01:54:02 +00001732006-01-16 Paul Jakma <paul.jakma@sun.com>
174
175 * zclient.h: Update the Zserv protocol header with a version
176 field. Define the old command field to be a 'marker', to
177 allow old Zserv and updated Zserv to be differentiated.
178 Future updates will bump the version field obviously. New
179 command field is made wider. Try to stop using the
180 'zebra_size_t' typedef in the callbacks.
181 * zclient.c: Update to read/write new format header.
182
paulc77d4542006-01-11 01:59:04 +00001832006-01-11 Paul Jakma <paul.jakma@sun.com>
184
185 * if.h: (struct interface) expand flags to 8 bytes.
186 * zclient.c: (zebra_interface_{add,state}_read) stream read of
187 interface flags now need to use stream_getq.
188 (zebra_interface_if_set_value) ditto
189
paul4b201d42006-01-10 14:35:19 +00001902006-01-10 Paul Jakma <paul.jakma@sun.com>
191
192 * stream.c: (stream_new) Allocate stream data as seperate object.
193 (stream_free) free the data.
194 (stream_resize) new function, resize stream to new size.
195 (stream_{get,put}q*) new functions to get/put quad word size
196 types.
197 * stream.h: (struct stream) make data seperate from the stream.
198 Export new stream_resize and quad-word get/put functions.
199
gdtf80a0162005-12-29 16:03:32 +00002002005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
201
202 * vty.c (vty_hello): add cast to quiet lint (from David Young)
203
paul00c290e2005-11-26 09:21:43 +00002042005-11-26 Paul Jakma <paul.jakma@sun.com>
205
206 * buffer.c: (struct buffer_data) change gcc zero array
207 declaration to C99 incomplete array.
208 * stream.h: (struct stream) same
209
paul6e0f1b92005-11-24 12:47:17 +00002102005-11-24 Paul Jakma <paul.jakma@sun.com>
211
212 * privs.c: (zcaps2sys/solaris) remove unused variable.
213 (zprivs_state_caps/solaris) Format string missing a
214 specifier.
paulb6026072005-11-24 12:51:24 +0000215 * zebra.h: s/u_int/unsigned int/, u_int is a BSD type, defining
216 __USE_BSD on Linux pulls in further things from netinet/ip.h
217 which dont preprocess for some reason. There is no C99
218 shorthand type directly equivalent to u_int afaict, so don't
219 use it.
paul6e0f1b92005-11-24 12:47:17 +0000220
paul190880d2005-11-14 12:07:47 +00002212005-11-14 Paul Jakma <paul.jakma@sun.com>
222
paul889e9312005-11-14 14:46:35 +0000223 * (general) pass struct work-queue to callback functions.
224 * workqueue.h: (struct work_queue) move the state flag
225 variables to end.
226 Add an opaque pointer to spec, for user-data global to the
227 queue.
228 Pass reference to work_queue to all callbacks.
229 * workqueue.c: (work_queue_item_remove) pass ref to workqueue
230 to user callbacks.
231 (work_queue_run) ditto.
232
2332005-11-14 Paul Jakma <paul.jakma@sun.com>
234
paul190880d2005-11-14 12:07:47 +0000235 * (general) Add state to detect queue floods. There's no sense
236 trying to be sparing of CPU resources, if the queue is
237 flooding and using ever more memory resources. we should just
238 get on with clearing the queue.
239 The sense of delay and hold were wrong way around, fix.
240 * workqueue.h: (struct work_queue) Add status bitfield. Add
241 'flood' integer to workqueue spec. Add runs_since_clear
242 counter to workqueue.
243 * workqueue.c: (work_queue_new) set defaults for delay, hold
244 and flood.
245 (work_queue_add) initial schedule should use delay, not hold.
246 (show_work_queues) Print flood field, conserve whitespace.
247 (work_queue_unplug) use delay, not hold.
248 (work_queue_run) consecutive runs should be seperated by hold
249 time, not delay.
250 Keep track of number of consecutive runs, go into 'overdrive'
251 if queue is being flooded, we can't avoid making heavy use of
252 resources, better to use CPU than ever more RAM.
paul76367ea2005-11-14 14:05:35 +0000253 * zebra.h: [bug #231] include stdint, if its there.
paul190880d2005-11-14 12:07:47 +0000254
2552005-11-05 Paul Jakma <paul.jakma@sun.com>
pauldb29ae52005-11-12 22:36:41 +0000256
257 * routemap.c: (vty_show_route_map_entry) call action is
258 seperate from exit action, latter should still be printed
259 regardless of whether a call is specified.
260
paul34204aa2005-11-03 09:00:23 +00002612005-11-03 Paul Jakma <paul.jakma@sun.com>
262
263 * zebra.h: BSD BYTE_ORDER define isn't available everywhere,
264 define if needs be.
265 * checksum.h: new file. checksum.c exports in_cksum, provide
266 a header for it.
267 * checksum.c: (in_cksum) callers shouldn't have to know it uses
268 a u_short internally, change to void *.
269 * Makefile.am: Add checksum.h
270 * command.h: remove bogus trailling slash.
271 * md5.c: (general) Update it for the twentieth century. ANSI
272 declarations are widely supported now.. Don't include system
273 headers, only include zebra.h. Use POSIX types (the
274 alternative is to define u_int64_t in a portable way - rest
275 of Quagga needs same cleanup).
276 Make endian-conditional code be compiler conditional rather
277 than preprocessor conditional, so that breakage gets noticed
278 quicker.
279 * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable
280 compiler compatibility hack.
paul9c4f1c62005-11-03 11:04:07 +0000281 * if.c: (connected_free) use MTYPE for connected label.
paula49ad232005-11-03 13:00:54 +0000282 * memtypes.c: Add MTYPE_CONNECTED_LABEL
283 * memtypes.h: Update auto-built file.
paul34204aa2005-11-03 09:00:23 +0000284
paul02416842005-10-26 05:05:16 +00002852005-10-26 Paul Jakma <paul.jakma@sun.com>
286
287 * (general) Cleanup a some calls to XFREE,strdup, etc. to use
288 the memory.h macros.
289 * memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE,
290 MTYPE_PQUEUE_DATA and MTYPE_HOST.
291 * memtypes.h: update auto-built file.
292 * if_rmap.c: Use MTYPE_IF_RMAP_NAME.
293 * pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations.
paul05865c92005-10-26 05:49:54 +0000294 * command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups,
295 including fixing some likely leaks in config_write_file.
296 * vty.c: memory macro usage fixes.
297 (vty_read_config) fix leak where relative config file is
298 specified.
paul02416842005-10-26 05:05:16 +0000299
ajs24065a32005-10-20 22:28:14 +00003002005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
301
ajsc188c372005-10-21 02:57:41 +0000302 * sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP
303 fails with errno equal to EADDRINUSE, then issue an info
304 message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP.
305
3062005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
307
ajs24065a32005-10-20 22:28:14 +0000308 * memory.c: (show_memory_vty) Omit zero statistics. Print separators
309 only if some non-zero stats have been printed in between.
310 (show_separator) New function to print a separator.
311 (show_memory_all) Keep track of whether a separator is needed
312 between the different memory statistics groups.
313
ajs50123222005-10-18 20:19:13 +00003142005-10-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
315
316 * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c).
317
pauleb3da6d2005-10-18 04:20:33 +00003182005-10-18 Paul Jakma <paul.jakma@sun.com>
319
320 * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT.
321
ajsf52d13c2005-10-01 17:38:06 +00003222005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
323
324 * zebra.h: Declare new functions zebra_route_string() and
325 zebra_route_char().
326 * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New
327 functions to map zebra route numbers to strings.
328
vincent5e4914c2005-09-29 16:34:30 +00003292005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
330
331 * smux.[ch]: allow to retreive global OID (identified by <0
332 namelen).
333
paulceacedb2005-09-29 14:39:32 +00003342005-09-29 Paul Jakma <paul.jakma@sun.com>
335
336 * zebra.h: Solaris capabilities requires priv.h to be included.
337 * privs.{c,h}: Add support for Solaris Least-Privileges.
338 privs.h: Reduce some of the abstract capabilities, which do
339 not have rough equivalents on both systems. Rename the net
340 related caps to _NET, as they should have been in first
341 place.
342 (zprivs_terminate) should take the zebra_privs_t as argument so
343 that it can update change pointer.
344 Add an additional privilege state, ZPRIVS_UNKNOWN.
345 * privs.c: (various capability functions) Add
346 Solaris privileges variants.
347 (zprivs_state) Use privs.c specific generic types to
348 represent various capability/privilege related types, so that
349 each can be typedef'd as appropriate on each platform.
350 (zprivs_null_state) static added, to hold the state the null
351 method should report (should be raised by default, and
352 LOWERED if zprivs_terminate has been called)
353 (zprivs_state_null) Report back the zprivs_null_state.
354 (cap_map) Make it able to map abstract capability to multiple
355 system capabilities.
356 (zcaps2sys) Map to abstract capabilities to multiple system
357 privileges/capabilities.
358 (zprivs_init) move capability related init to seperate
359 function, zprivs_caps_init.
360 (zprivs_terminate) ditto, moved to zprivs_caps_terminate.
361 Set the change_state callback to the NULL state, so the
362 user can continue to run and use the callbacks.
363
vincentfbf5d032005-09-29 11:25:50 +00003642005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
365
366 * filer.c: show protocol name in filter_show()
367 * plist.c: show protocol name in vty_show_prefix_entry()
368 * routemap.c: show protocol name in vty_show_route_map_entry()
369 * vty.c: in vty_command(), show protocol name if command unknown
370
vincentc1a03d42005-09-28 15:47:44 +00003712005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
372
373 * md5-gnu.h: removed
374 * md5.h: replaces md5-gnu.h
375 * Makefile.am: use correct md5.h
376 * md5.c: import from WIDE
377
paul75b2dd02005-09-21 14:06:35 +00003782005-09-21 Paul Jakma <paul.jakma@sun.com>
379
380 * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA.
381
hassoe6a4feb2005-09-19 09:53:21 +00003822005-09-19 Hasso Tepper <hasso at quagga.net>
383
384 * str.[ch]: Add strndup() from glibc.
385
pauleb820af2005-09-05 11:54:13 +00003862005-09-05 Paul Jakma <paul.jakma@sun.com>
387
388 * command.c: (install_element) be more robust. Eg, cmd_init
389 need not have been called, some applications may use other
390 library subsystems, which call install_element, without the
391 application wanting commands and hence not calling cmd_init.
392
paul1e836592005-08-22 22:39:56 +00003932005-08-22 Hugo Santos <hsantos@av.it.pt>
394
395 * command.h: (enum node_type) Add BGP_IPV6M_NODE
396 * command.c: (node_parent) Handle BGP_IPV6M_NODE node
397 (config_exit, config_end) ditto
398 * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node
399
gdt0312f0c2005-08-10 13:20:03 +00004002005-08-10 Greg Troxel <gdt@fnord.ir.bbn.com>
401
402 * getopt.h: Don't declare getopt (rather than getopt_long), since
403 quagga doesn't need it.
404 * getopt.c (getopt): Don't define getopt.
405
ajs330009f2005-07-26 14:35:37 +00004062005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs7907c6c2005-07-26 19:55:31 +0000407 * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new
408 to allocate the memory to make sure that all struct prefix pointers
409 point to objects of the same length (avoids memory overruns
410 on struct prefix assignments).
411 (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free.
412 It is interesting to note that these functions are never actually
413 called anywhere in the code. Instead prefix_free was already
414 being called directly, despite the previous MTYPE incompatibility.
415
4162005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs330009f2005-07-26 14:35:37 +0000417
418 * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is
419 in range before dereferencing it.
420
paul510e2092005-06-24 01:20:25 +00004212005-06-24 Pawel Worach <pawel.worach@gmail.com>
422
423 * getopt.h: add further tests for full getopt declaration on
424 various systems.
425
paul354f3b62005-06-18 16:55:20 +00004262005-06-18 Paul Jakma <paul.jakma@sun.com>
427
428 * memtypes.h: update autobuilt file to match memtypes.c changes
429
paul200df112005-06-01 11:17:05 +00004302005-06-01 Paul Jakma <paul.jakma@sun.com>
431
432 * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and
433 MTYPE_BGP_CLEAR_NODE_QUEUE
434
paul8176c192005-05-24 09:33:52 +00004352005-05-24 Paul Jakma <paul@dishone.st>
436
437 * memtypes.h: update this auto-built file. (maybe we should just
438 remove it, is GNU awk a terrible dependency to have?)
439
pauld5c92532005-05-23 12:33:58 +00004402005-05-23 Paul Jakma <paul@dishone.st>
441
442 * memtypes.awk: use character classes, which work correctly in
443 all LC_COLLATE environments, unlike A-Z, which doesnt work in
444 eg estonian collate order. Reported by Hasso.
pauld4f09602005-05-23 12:43:34 +0000445 * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command
446 is used, which does not supply an argv[0].
447 this is a backport candidate /iff/ the trailing ; is removed
448 from VTY_GET_INTEGER_RANGE
449 * vty.h: fix the VTY_GET macros, do {..} while(0) so they have
450 correct function like syntax in usage.
paul269d74f2005-05-23 13:42:46 +0000451 * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code,
452 to allow a queue function to indicate the queue is not
453 ready/blocked - rather than any problem with the item at hand.
454 Add a notion of being able to 'plug' and 'unplug' a queue.
455 Add helpers to plug/unplug a queue.
456 Add a completion callback, to be called when a queue is emptied.
457 * workqueue.c: (work_queue_new) remove useless list_free.
458 (work_queue_schedule) new internal helper function to schedule
459 queue, if appropriate.
460 (work_queue_add) use work_queue_schedule
461 (show_work_queues) Print 'P' if queue is plugged.
462 (work_queue_plug) new API function, plug a queue - ie prevent it
463 from 'drained' / processed / scheduled.
464 (work_queue_unplug) unplug a queue, allowing it to be drained
465 / scheduled / processed again.
466 (work_queue_run) Add support for WQ_QUEUE_BLOCKED.
467 Add comment for RETRY_NOW case.
468 Make hysteris more aggresive in ramping up granularity, improves
469 performance significantly.
470 Add support for calling completion callback when queue is emptied,
471 possibly useful for knowing when to unplug a queue.
pauld5c92532005-05-23 12:33:58 +0000472
pauldc818072005-05-19 01:30:53 +00004732005-05-19 Paul Jakma <paul@dishone.st>
474
475 * thread.c: (thread_cancel_event) the number of pending events
476 cancelled is potentially useful information, dont throw it away,
477 pass it back to the caller.
paul2ba9a372005-05-19 01:37:50 +0000478 * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP
479 (sockunion_getpeername) ditto
paule387e662005-05-19 02:13:28 +0000480 * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST
pauldc818072005-05-19 01:30:53 +0000481
paul024a7f02005-05-15 14:25:08 +00004822005-05-15 Paul Jakma <paul@dishone.st>
483
484 * getopt.h: It's not just __GNU_LIBRARY__ which defines
485 getopt, eg __EXTENSIONS__ does too on SunOS. It still seems
486 awfully fragile though.
487 * getopt.c: include zebra.h after config.h, before including
488 getopt.h so that things at least are consistent..
489 * getopt1.c: ditto
490
paul42c98192005-05-07 02:22:51 +00004912005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
492
493 * sockopt.c: Add support for BSD style ifindex in ip_mreq.
494
paul8cc41982005-05-06 21:25:49 +00004952005-05-06 Paul Jakma <paul@dishone.st>
496
497 * (general) extern and static'ification of functions in code and
498 header.
499 Cleanup any definitions with unspecified arguments.
500 Add casts for callback assignments where the callback is defined,
501 typically, as passing void *, but the function being assigned has
502 some other pointer type defined as its argument, as gcc complains
503 about casts from void * to X* via function arguments.
504 Fix some old K&R style function argument definitions.
505 Add noreturn gcc attribute to some functions, as appropriate.
506 Add unused gcc attribute to some functions (eg ones meant to help
507 while debugging)
508 Add guard defines to headers which were missing them.
509 * command.c: (install_node) add const qualifier, still doesnt shut
510 up the warning though, because of the double pointer.
511 (cmp_node) ditto
512 * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived
513 fromn vty.h ones to fix some of the (long) < 0 warnings.
514 * thread.c: (various) use thread_empty
515 (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type
516 * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they
517 removed from ospfd/ospf_vty.h
518 * zebra.h: Move definition of ZEBRA_PORT to here, to remove
519 dependence of lib on zebra/zserv.h
520
hassoe7fe8c82005-05-06 19:33:35 +00005212005-05-06 Hasso Tepper <hasso at quagga.net>
522
523 * sockunion.c: Fix warning message.
524
paul0dab9302005-05-03 09:07:56 +00005252005-05-03 Paul Jakma <paul@dishone.st>
526
527 * stream.h: Add comment about the special zero-ing ability of
528 stream_put.
529 (stream_recvmsg, stream_write) should return ssize_t and size_t
530 respectively. Should both be extern linkage.
531 (stream_recvfrom) Stream aware wrapper around recvfrom, in style
532 of stream_read_try.
533 * stream.c: (stream_recvfrom) new function, wrapper around recvfrom.
534 (stream_recvmsg, stream_write) ssize_t and size_t return values
535
ajs3df53782005-04-27 16:29:54 +00005362005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
537
ajs8b70d0b2005-04-28 01:31:13 +0000538 Add wall-clock timing statistics to 'show thread cpu' output.
539 * thread.h: Define struct rusage_t to contain wall-clock time
540 and cpu time. Change GETRUSAGE macro to collect both pieces
541 of data. Make appropriate changes to struct cpu_thread_history
542 to track CPU time and real time. Change proto for
543 thread_consumed_time to return real and cpu time elapsed.
544 And declare a new global variable 'struct timeval recent_time'.
545 * thread.c (struct timeval recent_time): New global timestamp variable.
546 (timeval_adjust): If timeout is negative, set to 0 (not 10
547 microseconds). And remove upper bound of 1,000,000 seconds, since
548 this does not seem to make any sense (and it breaks
549 funcname_thread_add_timer_timeval).
550 (timeval_cmp): Should return long, not int.
551 (vty_out_cpu_thread_history): Show CPU time and real time.
552 (cpu_record_hash_print): Calculate totals for CPU and real time.
553 (cpu_record_print): Change 'show thread cpu' title to show CPU and
554 real time.
555 (thread_timer_remain_second): Put current time in global recent_time.
556 (funcname_thread_add_timer_timeval): Fix assert. Replace 2-case
557 switch assignment with a ternary expression. Use global recent_time
558 variable. Fix use of timeval_adjust (previously, the value was not
559 actually being adjusted).
560 (thread_cancel): Add missing "break" statement in case
561 THREAD_BACKGROUND.
562 (thread_timer_wait): Use global recent_time value instead of calling
563 gettimeofday. And there's no need to check for negative timeouts,
564 since timeval_subtract already sets these to zero.
565 (thread_timer_process): Timers are sorted, so bail out once we
566 encounter a timer that has not yet popped. And remove some
567 extraneous asserts.
568 (thread_fetch): Do not process foreground timers before calling
569 select. Instead, add them to the ready list just after the select.
570 Also, no need to maintain a count of the number of ready threads,
571 since we don't care how many there are, just whether there's
572 one at the head of the ready list (which is easily checked).
573 Stick current time in global variable recent_time to reduce
574 the number of calls to gettimeofday. Tighten logic for
575 calculating the select timeout.
576 (thread_consumed_time): Now returns real time and puts the elapsed
577 cpu time in an additional argument.
578 (thread_should_yield): Use real (wall-clock) time to decide whether
579 to yield.
580 (thread_call): Maintain CPU and real time statistics.
581 * vty.c (vty_command): For slow commands, show real and cpu time.
582
5832005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
584
ajs3df53782005-04-27 16:29:54 +0000585 * workqueue.c (show_work_queues): Remove unused gettimeofday call.
586
paul84369682005-04-27 12:39:27 +00005872005-04-27 Paul Jakma <paul.jakma@sun.com>
588
589 * workqueue.h: (struct work_queue_item) change retry_count to ran,
590 its a count of number item has been run.
591 * workqueue.c: (show_work_queues) Fix formating of slightly
592 bugfix: fix SIGFPE if wq->runs is 0.
593 (work_queue_run) retry logic was slightly wrong.
594 cycles.best is 0 initialy, granularity is 1, so update best
595 if cycles >= granularity, not just >.
paula7bca0f2005-04-27 12:44:54 +0000596 * memory.h: memtypes is built source, default includes points to
597 top_builddir, so we should refer to lib/memtypes.h
598
ajs07334da2005-04-26 17:14:30 +00005992005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
600
601 * buffer.c (buffer_write): Comment out call to buffer_flush_available.
602 This should speed up buffering at the expense of a possible increase
603 in latency in flushing the data if inside a long-running thread.
604
paulab59ae32005-04-25 13:52:26 +00006052005-04-25 Paul Jakma <paul.jakma@sun.com>
606
paul147aff02005-04-25 16:29:10 +0000607 * workqueue.{c,h}: Helper API for setting up and running queues via
608 background threads.
609 * command.c: install the 'show workqueues' command
610 * memtypes.c: Add work queue mtypes, and a rib-queue type for
611 a zebra rib work queue.
612 * memtypes.h: Updated to match memtypes.c
paulab59ae32005-04-25 13:52:26 +0000613 * Makefile.am: Refer to source files via srcdir variable, fix
614 out-of-tree build breakage.
paul147aff02005-04-25 16:29:10 +0000615 Add new workqueue files to build.
paul2c1de2a2005-04-25 14:02:44 +0000616 * memory.c: Make the string field much wider
617 * memtypes.c: Correct the prefix list str/entry strings
paul907873a2005-04-25 14:53:46 +0000618 * thread.c: Kill unused TIMER_NO_SORT bits
paulab59ae32005-04-25 13:52:26 +0000619
ajsfb9e46b2005-04-22 14:23:34 +00006202005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
621
622 * thread.h: Fix type for struct thread_master add_type: should be
623 unsigned char. Also, add some documentation of thread_add_background
624 args. And remove extraneous declaration of
625 show_thread_work_queues_cmd.
626
paula48b4e62005-04-22 00:43:47 +00006272005-04-22 Paul Jakma <paul.jakma@sun.com>
628
paule1e53ed2005-04-22 13:44:17 +0000629 * memory.h: Move include of memtypes.h to after the definition of
630 struct memory_list, gcc 4.0 doesn't like arrays of incomplete
631 types.
paula48b4e62005-04-22 00:43:47 +0000632 * thread.h: Add background thread type and thread_add_background
633 macro and accompanying funcname_... function.
634 export thread_should_yield, background threads can use it.
635 Lower thread yield time to 10ms, 100ms is noticeable lag and
636 a thread would only be /starting/ to finish sometime afterward.
637 * thread.c: (general) Add background thread type and schedule
638 nearly all thread types through the ready list for fairness.
639 (timeval_adjust) static qualifier missing
640 (vty_out_cpu_thread_history) add support for printout of
641 background threads
642 (show_thread_cpu) ditto.
643 (thread_master_debug) add debug of background list
644 (thread_master_create) fixup long line
645 (thread_add_unuse) add asserts for required state.
646 (thread_master_free) free background thread list
647 (funcname_thread_add_timer_timeval) make generic, able to
648 support arbitrary timer-like thread types.
649 (funcname_thread_add_timer) pass thread type to .._add_timer_timeval
650 (funcname_thread_add_timer_msec) ditto
651 (funcname_thread_add_background) Add a background thread, with an
652 optional millisecond delay factor, using .._add_timer_timeval.
653 (thread_cancel) Add background thread type.
654 Move the thread_list_delete common to all cases to bottom of
655 function, after the switch statement..
656 (thread_cancel_event) indent
657 (thread_timer_wait) Static qualifier, and make it able to cope
658 with arbitrary timer-like thread lists, so its of use to
659 background threads too.
660 (thread_process_fd) static qualifier. Again, make it take a list
661 reference rather than thread_master. Fix indentation.
662 (thread_timer_process) Check for ready timer-like threads in the
663 given list and move them on to the ready list - code originally
664 embedded in thread_fetch.
665 (thread_fetch) Schedule all threads, other than events, through
666 the ready list, to ensure fairness. Timer readying code moved to
667 thread_timer_process so it can be reused for background threads.
668 Remove the unneeded quagga_sigevent_process, as pointed out by
669 John Lin <john.ch.lin@gmail.com>.
670 (thread_should_yield) make this available.
671
ajs924b9222005-04-16 17:11:24 +00006722005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
673
674 * thread.h (thread_consumed_time): Declare new function to calculate
675 elapsed microseconds.
676 * thread.c (thread_consumed_time): Must be global not static so we
677 can call it from lib/vty.c:vty_command.
678 (thread_should_yield): Surround with `#if 0' to make clear that this
679 function is not currently being used anywhere.
680 (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG
681 warning message if the thread takes more than CONSUMED_TIME_CHECK
682 microseconds.
683 * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU
684 HOG warning message if the command takes more than CONSUMED_TIME_CHECK
685 microseconds.
686
pauldc830cb2005-04-16 15:51:05 +00006872005-04-16 Paul Jakma <paul@dishone.st>
688
689 * memtypes.c: the comment about use of comments in the comments
690 headers was causing comment within comment warnings from compiler
691 * memtypes.awk: Add extensive comments on the file format for
692 memtypes.c.
693 tighten the pattern for the MTYPE matching action (suggestion from
694 Andrew) and tighten which field we try the match on.
695
paul2fd2fd52005-04-15 11:47:15 +00006962005-04-15 Paul Jakma <paul@dishone.st>
697
698 * memtypes.c: The new, unified location for memory type definitions.
699 The memtype enum and declarations for memory_lists are built from
700 this automatically and put into memtypes.h.
701 * memtypes.awk: New script to generate memtypes.h from memtypes.c
702 * memory.h: Finally, the enum can banished!
703 * memory.c: Finally, the seperate mtype memory_list definitions can
704 be banished!
705 (log_memstats) Increase width of fields
706 (show_memory_zebra_cmd) display zebra specific memory types.
707 Increase width of fields.
708 * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h
709 Add a rule to build memtypes.h using memtypes.awk.
710 Add memtypes.awk to EXTRA_DIST.
pauld45f1f12005-04-15 22:18:37 +0000711 memtypes.awk is gawk dependent, use the GAWK automake var.
712 * memtypes.h: New file, auto-generated, checked in for convenience.
paul2fd2fd52005-04-15 11:47:15 +0000713
ajs634f9ea2005-04-11 15:51:40 +00007142005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
715
716 * zclient.h (struct zclient): Add two fields to support non-blocking
717 I/O: struct buffer *wb, and struct thread *t_write.
718 (zclient_free): Remove function.
719 (zebra_redistribute_send): Change 2nd arg from socket fd to
720 struct zclient * (needed to support non-blocking I/O and buffering).
721 (zclient_send_message): New function to send an arbitrary
722 message with non-blocking I/O.
723 * zclient.c (zclient_new): Create write buffer.
724 (zclient_free): Remove unused function.
725 (zclient_stop): Must cancel new t_write thread. Also, reset
726 all buffers: ibuf, obuf, and wb.
727 (zclient_failed): New helper function for typical error handling.
728 (zclient_flush_data): New thread to flush queued data.
729 (zclient_send_message): New function to send the message in
730 zclient->obuf to zebra using non-blocking I/O and buffering.
731 (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use
732 new zclient_send_message function instead of calling writen.
733 (zclient_start): Set socket non-blocking. Also, change 2nd arg
734 to zebra_redistribute_send from zclient->sock to zclient.
735 (zebra_redistribute_send): Change 2nd arg to struct zclient *.
736 Can now use zclient->obuf to assemble the message instead of
737 allocating a temporary stream. And call zclient_send_message to
738 send the message instead of writen.
739 (zclient_read): Convert to support non-blocking I/O by using
740 stream_read_try instead of deprecated stream_read.
741 (zclient_redistribute): Change 2nd arg to zebra_redistribute_send
742 from zclient->sock to zclient.
743
hasso5bb4c192005-04-09 13:27:50 +00007442005-04-09 Jeroen Simonetti <jeroens@office.netland.nl>
745
746 * routemap.c: Show description in "show route-map" output.
747
ajsd66a7b52005-04-08 16:42:03 +00007482005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
749
ajs67bf16c2005-04-08 19:02:04 +0000750 * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.
751
7522005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
753
ajs926fe8f2005-04-08 18:50:40 +0000754 * vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate
755 compiler warnings when assigning a (const char *) value to
756 struct iovec iov_base.
757
7582005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
759
ajsd66a7b52005-04-08 16:42:03 +0000760 * zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This
761 fixes a problem where we were not getting the declaration of strnlen
762 in <string.h>.
763
hasso3a2ce6a2005-04-08 01:30:51 +00007642005-04-08 Hasso Tepper <hasso at quagga.net>
765
hasso4a8164e2005-04-08 14:20:18 +0000766 * routemap.[ch]: Added "description ..." command.
767
7682005-04-08 Hasso Tepper <hasso at quagga.net>
769
hasso3a2ce6a2005-04-08 01:30:51 +0000770 * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
771 inet_ntoa alike.
772
paul1eb8ef22005-04-07 07:30:20 +00007732005-04-07 Paul Jakma <paul.jakma@sun.com>
774
775 * linklist.h: Add usage comments.
776 Rename getdata macro to listgetdata.
777 Rename nextnode to listnextnode and fix its odd behaviour to be
778 less dangerous.
779 Make listgetdata macro assert node is not null, NULL list entries
780 should be bug condition.
781 ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use
782 with for loop, Suggested by Jim Carlson of Sun.
783 Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the
784 "safety" of previous macro.
785 LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to
786 distinguish from the similarly named functions, and reflect their
787 effect better.
788 Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section
789 with the old defines which were modified above,
790 for backwards compatibility - guarded to prevent Quagga using it..
791 * linklist.c: fix up for linklist.h changes.
792 * *.c: fix up for new list loop macro, try audit other loop
793 usage at same time, to some degree.
794
hasso59209902005-04-05 14:36:49 +00007952004-04-05 Hasso Tepper <hasso at quagga.net>
796
797 * lib/prefix.[hc]: inet6_ntoa utility function copied from
798 ripngd/ripngd.c (inet6_ntop).
799
paul3d1dc852005-04-05 00:45:23 +00008002004-04-05 Paul Jakma <paul@dishone.st>
801
802 * vty.c: Improve logging of failures to open vty socket(s).
803 See bugid #163.
804
ajs3cb98de2005-04-02 16:01:05 +00008052005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
806
ajs08dbfb62005-04-03 03:40:52 +0000807 * if.h: Fix comments to reflect that if_lookup_by_name and
808 if_get_by_name now require the argument strings to be NUL-terminated.
809 * if.c: (if_lookup_by_name) Compare using strcmp.
810 (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create.
811
8122005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
813
ajs018546e2005-04-02 23:05:56 +0000814 * if.c: (if_nametoindex) The man page is rather vague, but it seems
815 like the argument to if_nametoindex has an implicit maximum length
816 of IFNAMSIZ characters.
817
8182005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
819
ajsa3491982005-04-02 22:50:38 +0000820 * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
821 * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
822 (if_get_by_name) Tighten up code.
823 (interface) Use new function if_get_by_name_len.
824 * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
825 function.
826 (zebra_interface_state_read) Use new if_lookup_by_name_len function.
827
8282005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
829
ajs851adbd2005-04-02 18:48:39 +0000830 * str.c: Replace strlcpy and strlcat with actual working versions
831 copied from rsync-2.6.2/lib/compat.c.
832
8332005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
834
ajsd2fc8892005-04-02 18:38:43 +0000835 * if.h: Remove define for IFINDEX_INTERNBASE and add define
836 IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
837 interfaces should have ifindex set to 0.
838 (if_new) Remove function.
839 (if_delete_retain) New function to delete an interface without
840 removing from iflist and freeing the structure.
841 (ifname2ifindex) New function.
842 * if.c: (if_new) Remove function (absorb into if_create).
843 (if_create) Replace function if_new with call to calloc.
844 Set ifp->ifindex to IFINDEX_INTERNAL. Fix off-by-one error
845 in assert to check length of interface name. Add error message
846 if interface with this name already exists.
847 (if_delete_retain) New function to delete an interface without
848 removing from iflist and freeing the structure.
849 (if_delete) Implement with help of if_delete_retain.
850 (ifindex2ifname) Reimplement using if_lookup_by_index.
851 (ifname2ifindex) New function to complement ifindex2ifname.
852 (interface) The interface command should check the name length
853 and fail with a warning message if it is too long.
854 (no_interface) Fix spelling in warning message.
855 (if_nametoindex) Reimplement using if_lookup_by_name.
856 (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
857 if_lookup_by_index.
858
8592005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
860
ajs3cb98de2005-04-02 16:01:05 +0000861 * zebra.h: Should include str.h to pick up missing functions.
862 * str.h: Declare strnlen if needed.
863 * str.c: Do not include str.h since zebra.h now includes it.
864 (strnlen) New function.
865
ajsdb8eaac2005-03-16 16:13:06 +00008662005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
867
868 * zebra.h: Must check whether __attribute__ should be defined before
869 including zassert.h.
870
paulb8961472005-03-14 17:35:52 +00008712005-03-14 Paul Jakma <paul.jakma@sun.com>
872
873 * command.c: (sort_node) use vector_max instead of referencing
874 (struct vector *)->max directly. Test that vector_max is > 0
875 before using it to calculate an index.
876 Fixup vector loop to make main body conditional on vector slot
877 not being empty.
878 (cmd_cmdsize) Fixup vector loop to make main body conditional on
879 vector slot not being empty.
880 (cmd_filter_by_completion) ditto
881 (cmd_filter_by_string) ditto
882 (is_cmd_ambiguous) ditto
883 (cmd_describe_command_real) Change index integers to unsigned.
884 Test that vector_max is > 0 before using it to calculate an index.
885 Return immediately with CMD_ERR_NO_MATCH if vline has no
886 active slots.
887 Fixup vector loop to make main body conditional on vector slot
888 not being empty.
889 (cmd_complete_command_real) ditto.
890 (cmd_execute_command_strict) Fixup vector loop to be conditional
891 on non-null slot.
paul909a2152005-03-14 17:41:45 +0000892 (various) Fix indentation and other whitespace.
paul55468c82005-03-14 20:19:01 +0000893 vector.h: Rename to (struct vector).max to slightly less confusing
894 active, for the number of active slots, distinct from allocated
895 or active-and-not-empty. Rename vector_max to vector_active
896 for same reason.
paulb8961472005-03-14 17:35:52 +0000897
paul9e92eea2005-03-09 13:39:26 +00008982005-03-09 Paul Jakma <paul.jakma@sun.com>
899
900 * command.c: Undo commit of sign warning fix and hidden command
901 in list_cmd. Sign warning is more subtle. list_cmd on its own
902 will be committed after.
paul4275b1d2005-03-09 13:42:23 +0000903 * command.c: (config_list_cmd) Don't list hidden or deprecated
904 commands, hiding these from tab completion is still to be done.
paul9e92eea2005-03-09 13:39:26 +0000905
paulb45da6f2005-03-08 15:16:57 +00009062005-03-08 Paul Jakma <paul.jakma@sun.com>
907
paul9c5d8562005-03-08 15:56:42 +0000908 * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
paul22085182005-03-08 16:00:12 +0000909 (no_banner_motd_cmd) use XFREE.
paul9c5d8562005-03-08 15:56:42 +0000910 (cmd_describe_command_real) sign compile warning fix
911 (cmd_complete_command_real) ditto.
912 (config_list_cmd) Don't list hidden or deprecated commands,
913 hiding these from tab completion is still to be done.
914 * command.h: cmd attr enum should start at 1.
paulb45da6f2005-03-08 15:16:57 +0000915 * vty.c: (vty_hello) suggestions from Andrew, read by line and
916 stub out trailling non-printable characters on each line thus
917 allowing us to specify VTY_NEWLINE to vty_out.
918
paul3b0c5d92005-03-08 10:43:43 +00009192005-03-08 Jeroen Massar <jeroen@unfix.org>
920
921 * vty.c: (vty_hello) display motd file, if set
922 * command.h: add char *motdfile to struct host
923 * command.c: (config_write_host) write out motdfile config
924 (banner_motd_file_cmd) new command, allow motd to be read from
925 file.
926 (no_banner_motd_cmd) free motdfile string, if needs be.
927 (cmd_init) init (struct host).motdfile. Add new motd file
928 commands.
929
hasso12f6ea22005-03-07 08:35:39 +00009302005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
931
932 * command.c: host.name might be NULL.
933 * vty.c: Fix fd leak.
934
ajs81fb3242005-02-24 16:02:53 +00009352005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
936
937 * stream.c: (stream_read_try) Log a warning message if a fatal
938 I/O error occurs.
939 (stream_fifo_new) Fix prototype.
940 * stream.h: Fix prototype for stream_fifo_new (need void arg).
941
ajs9fc7ebf2005-02-23 15:12:34 +00009422005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
943
ajscdb6ee92005-02-23 15:48:32 +0000944 * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
945
9462005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
947
ajs9fc7ebf2005-02-23 15:12:34 +0000948 * buffer.h: Make the struct buffer and struct buffer_data structures
949 private by moving them inside buffer.c. Add comments for all
950 functions. Rename buffer_write as buffer_put (to be more consistent
951 with the buffer_putc and buffer_putstr functions). Declare a new
952 buffer_write function that is used to write data to a file descriptor
953 and/or add it to the buffer queue. Remove unused function
954 buffer_flush_vty_all. Create a new enum typedef buffer_status_t
955 to be used as the return code for all buffer_flush* functions
956 and buffer_write.
957 * buffer.c: The struct buffer and struct buffer_data declarations
958 are now private to this file. In conjunction with that, remove
959 some unnecessary fields: struct buffer (alloc, unused_head,
960 unused_tail, length), struct buffer_data (prev).
961 (buffer_data_new) Removed: functionality incorporated into buffer_add.
962 (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
963 (buffer_new) Use calloc instead of malloc + memset(zero).
964 Supply an appropriate default size if the specified size is 0.
965 (buffer_free) Eliminate code duplication by calling buffer_reset to
966 free the contents of the buffer (and remove unused code related
967 to unused_head).
968 (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
969 compact).
970 (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set
971 alloc and length to 0 (these fields have been removed).
972 (buffer_add) Fix scope to be static. Call XMALLOC directly instead
973 of calling removed buffer_data_new function. Simplify the logic
974 (since it's now a singly-linked list instead of doubly-linked).
975 (buffer_write) Renamed to buffer_put. Change to void, since return
976 code of 1 was meaningless. No need to adjust length field, since
977 it has been removed.
978 (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
979 Remove unused functions.
980 (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
981 a possible failure mode if IOV_MAX is less than the number of buffers
982 on the queue.
983 (buffer_flush_window) Incorporate logic from buffer_flush_vty.
984 Log an error message if there is a writev error.
985 (buffer_flush_available) Be more paranoid: check for case where
986 buffer is already empty. Use new ERRNO_IO_RETRY macro, and use
987 new enum for return codes. Simplify deletion logic (since it's
988 now a singly-linked list).
989 (buffer_write) New function for use with non-blocking I/O.
990 * vty.h: Replace the struct vty sb_buffer field with a fixed-size
991 (5-character) sb_buf field and an sb_len field, since using
992 a struct buffer was inappropriate for this task. Add some useful
993 comments about telnet window size negotiation.
994 * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
995 Remove VTY_OBUF_SIZE (instead use buffer_new default size).
996 Make telnet_backward_char and telnet_space_char static const.
997 (vty_out) Replace buffer_write with buffer_put.
998 (vty_log_out) Check for I/O errors. If fatal, close the vty session.
999 Consolidate 3 separate writes into a single write call.
1000 (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
1001 vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
1002 vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
1003 vty_config_write,vty_save_cwd) Fix scope to static.
1004 (vty_new) Let buffer_new use its default buffer size.
1005 (vty_write) Fix signature: 2nd arg should be const char *.
1006 Replaced buffer_write with buffer_put.
1007 (vty_telnet_option) Fix minor bug (window height or width greater than
1008 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer
1009 (which was being used improperly).
1010 (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
1011 If the error is fatal, call buffer_reset so vty_close does not attempt
1012 to flush the data. Use new sb_buf and sb_len instead of sb_buffer
1013 to store the SB negotiation string.
1014 (vty_flush) When vty->lines is 0, call buffer_flush_available instead
1015 of buffer_flush_window. Look at the return code from buffer_flush
1016 to detect I/O errors (and in that case, log an error message and
1017 close the vty).
1018 (vty_create) Fix scope to static. Initialize sb_len to 0 instead
1019 of creating sb_buffer.
1020 (vty_accept) Set socket nonblocking.
1021 (vtysh_accept) Use new set_nonblocking function instead of calling
1022 fcntl directly.
1023 (vtysh_flush) New function called from vtysh_read (after command
1024 execution) and from vtysh_write. This flushes the buffer
1025 and reacts appropriately to the return code (by closing the vty
1026 or scheduling further flushes).
1027 (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
1028 If not, just try again later. Otherwise, call buffer_reset before
1029 calling vty_close (to avoid trying to flush the buffer in vty_close).
1030 Fix logic to allow case where a command does not arrive atomically
1031 in a single read call by checking for the terminating NUL char.
1032 (vtysh_write) Use new vtysh_flush helper function.
1033 (vty_close) No need to call buffer_empty, just call buffer_flush_all
1034 in any case (it will check whether the buffer is empty).
1035 Do not free sb_buffer (since it has been removed).
1036 (vty_log_fixed) Use writev instead of write.
1037 * zebra.h: Do not include <arpa/telnet.h>, since this is used only
1038 by lib/vty.c.
1039
hassoc3c07f22005-02-21 18:17:52 +000010402005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
1041
1042 * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
1043 will allow to update node when:
1044 i) a node is inserted into the priority queue;
1045 ii) a node position is modified in the priority queue;
1046 * pqueue.h: Export trickle_down() function.
1047
paul109ac962005-02-19 01:17:07 +000010482005-02-19 Paul Jakma <paul.jakma@sun.com>
1049
1050 * stream.c: (stream_new) fix dumb mistake.
1051
ajsd7e2a812005-02-17 20:02:49 +000010522005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1053
ajs53270112005-02-17 20:07:22 +00001054 * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.
1055
10562005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1057
ajsd7e2a812005-02-17 20:02:49 +00001058 * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
1059 operation should be retried. This eliminates the need to duplicate
1060 the same logic testing for EAGAIN or EINTR in multiple places.
1061
ajs42218e72005-02-16 16:25:39 +000010622005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1063
ajs262feb12005-02-16 20:35:47 +00001064 * stream.h: Declare new function stream_read_try suitable for use
1065 with non-blocking file descriptors. Indicate that stream_read
1066 and stream_read_unblock are deprecated.
1067 * stream.c: (stream_read_try) New function for use with non-blocking
1068 I/O.
1069 (stream_recvmsg) Should return -1 if the stream is too small to
1070 contain the data.
1071
10722005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1073
ajs42218e72005-02-16 16:25:39 +00001074 * network.c: (set_nonblocking) Should check return code from
1075 fcntl(F_GETFL).
1076
ajsa269d612005-02-16 00:45:37 +000010772005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1078
1079 * network.h: Declare new function set_nonblocking. Indicate that
1080 readn and writen are deprecated.
1081 * network.c: (set_nonblocking) New function to make a file descriptor
1082 non-blocking, since it seems silly to have fcntl calls sprinkled
1083 throughout the code.
1084
paul1dd13d42005-02-14 23:49:09 +000010852005-02-14 Paul Jakma <paul.jakma@sun.com>
paulf2e6c422005-02-12 14:35:49 +00001086
1087 * stream.h: Unsigned long updated to size_t
1088 * stream.c: ditto
paul050c0132005-02-14 23:47:47 +00001089 * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
1090 Add comment describing struct stream abstraction, and various
1091 other comments.
1092 Deprecate several unsafe/ambigious macros.
1093 Add STREAM_WRITEABLE and STREAM_READABLE.
1094 Add (stream_getl_from) for symmetry.
1095 Update stream_forward_{endp,getp} to use size_t offset.
1096 Make stream data a 0 length array, rather than a seperate malloc.
1097 * stream.c: Add consistency checks. Update to follow stream.h
1098 changes.
1099 (stream_new) Alloc stream+data in one go.
1100 (stream_copy) new function, copy a stream.
1101 (stream_dup) new function, dup a stream.
1102 (stream_recvmsg) new function, recvmsg data into a stream.
1103 (stream_empty) no need to check getp == 0.
paulf2e6c422005-02-12 14:35:49 +00001104
paul9985f832005-02-09 15:51:56 +000011052005-02-09 Paul Jakma <paul.jakma@sun.com>
1106
1107 * stream.h: Remove putp. Update reference to putp with endp.
1108 Add stream_forward_endp, which daemons were doing manually.
1109 Rename stream_forward to stream_forward_getp.
1110 stream.c: Remove/update references to putp.
1111 introduce stream_forward_endp.
1112
ajs548e6f72005-02-08 15:57:25 +000011132005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1114
1115 * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
1116 to use compound assignment operators (aesthetic change).
1117
ajs1e221352005-02-03 16:42:40 +000011182005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1119
ajsc4c7d0c2005-02-03 19:22:05 +00001120 * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
1121 since it is not async-signal-safe.
1122 (_zlog_assert_failed) Rewrite crashlog logic more compactly.
1123 (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
1124 for use in signal handler.
1125
11262005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1127
ajs1e221352005-02-03 16:42:40 +00001128 * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
1129 inside this function only.
1130 (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
1131 with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
1132 (zlog_signal,_zlog_assert_failed) Increase logging priority from
1133 LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
1134 open_crashlog to create a crash logfile.
1135 (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
1136 dump a backtrace to that file.
1137
ajs847947f2005-02-02 18:38:48 +000011382005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1139
1140 * if.h: Declare if_flag_dump.
1141
ajs6a52d0d2005-01-30 18:49:28 +000011422005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1143
1144 * daemon.c: (daemon) Replace perror with zlog_err.
1145 * vty.c: (vty_serv_un) Replace perror with zlog_err.
1146
ajs3b8b1852005-01-29 18:19:13 +000011472005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1148
1149 * buffer.h: Fix comment on buffer_getstr to reflect that it now
1150 uses XMALLOC.
1151 * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
1152 * filter.c: (access_list_remark,ipv6_access_list_remark) Use
1153 argv_concat instead of buffer_getstr.
1154 * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
1155 * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
1156 Use argv_concat instead of buffer_getstr.
1157
ajsf6834d42005-01-28 20:28:35 +000011582005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1159
ajsafb8b602005-01-28 20:41:07 +00001160 * lib/buffer.h: Document behavior of buffer_getstr function.
1161 * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
1162 the string extends beyond the head struct buffer_data.
1163
11642005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1165
ajsf6834d42005-01-28 20:28:35 +00001166 * lib/command.h: Document behavior of argv_concat function.
1167 * lib/command.c: (argv_concat) Calculate total string length first so
1168 we can call malloc just once (instead of realloc'ing to add each
1169 string element).
1170 (do_echo,config_logmsg) Allow for possible NULL return value from
1171 argv_concat.
1172
hasso13bfca72005-01-23 21:42:25 +000011732005-01-23 Hasso Tepper <hasso at quagga.net>
1174
1175 * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
1176 use it as well.
1177
ajs31364272005-01-18 22:18:59 +000011782005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1179
1180 * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
1181 two args (siginfo and program_counter).
1182 * log.c: (hex_append) Include this function only if SA_SIGINFO or
1183 HAVE_GLIBC_BACKTRACE is defined.
1184 (zlog_signal) Final two args (siginfo and program_counter) now
1185 depend on whether SA_SIGINFO is defined on this platform.
1186 * sigevent.c: (program_counter) Do not include this function if
1187 SA_SIGINFO is not defined on this platform.
1188 (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
1189 2nd & 3rd arguments are present and to decide how to invoke
1190 zlog_signal.
1191 (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
1192 appropriately.
1193
ajs239c26f2005-01-17 15:22:28 +000011942005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1195
1196 * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
1197 program_counter argument.
1198 * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
1199 argument. If it is non-NULL, use backtrace_symbols_fd to resolve
1200 the address.
1201 (zlog_signal) Call zlog_backtrace_sigsafe with additional
1202 program_counter argument.
1203
hasso87d683b2005-01-16 23:31:54 +000012042005-01-17 Hasso Tepper <hasso at quagga.net>
1205
1206 * command.[ch], vty.c: cmd_execute_command() function must not attempt
1207 to walk up in the node tree if called from vtysh. Different daemons
1208 might have commands with same syntax in different nodes (for example
1209 "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
1210
ajscb585b62005-01-14 17:09:38 +000012112005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1212
1213 * command.c (print_version): Do not bother even to examine host.name,
1214 since it is always NULL when this function is called from main.
1215
gdtf867d322005-01-14 15:47:33 +000012162005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com>
1217
1218 * command.c (print_version): Don't print host.name if it is NULL.
1219 Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
1220
ajse22f5512005-01-12 16:18:17 +000012212005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1222
ajs40abf232005-01-12 17:27:27 +00001223 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
1224 pass additional siginfo_t and ucontext_t arguments to core_handler
1225 and exit_handler.
1226 (core_handler,exit_handler) Now invoked with 3 arguments (using
1227 SA_SIGINFO). Pass additional info to zlog_signal.
1228 (program_counter) New function to find program counter in ucontext_t,
1229 needs to be enhanced to support more platforms (currently works only
1230 on Linux/x86).
1231 * log.h: Change the zlog_signal prototype to add new arguments
1232 siginfo_t * and program_counter.
1233 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
1234 Include si_addr and program counter (if non-NULL) in message.
1235 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
1236 that is now used to render the si_addr and PC pointers.
1237
12382005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1239
ajse22f5512005-01-12 16:18:17 +00001240 * zebra.h: If not C99 and no va_copy macro available, fall back to
1241 memcpy (solves a build problem on FreeBSD 4.x).
1242
ajsb99760a2005-01-04 16:24:43 +000012432005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1244
1245 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
1246 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
1247 by the configure test program).
1248 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
1249 of CMSG_FIRSTHDR.
1250
hassocba8a602005-01-02 18:51:01 +000012512005-01-02 Hasso Tepper <hasso at quagga.net>
1252
1253 * command.c: Revert int -> unsigned int fixes in
1254 cmd_describe_command_real() and cmd_complete_command_real(). index can
1255 be actually negative and it caused crash with "do<TAB>" in vty.
1256
gdt1d69fdf2004-12-29 18:53:30 +000012572004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
1258
gdtd44debe2004-12-29 20:06:23 +00001259 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
1260 convention. Beef up comments. Handle the case where the cmsghdr
1261 has a zero controllen, or more specifically when the wanted option
1262 is not present. This is needed for Solaris 8, and in general for
1263 any platform for which configure finds a method and it can fail.
1264 Mark some changes with XXX to be cleaned up post 0.98.
1265
ajsaf04bd72004-12-28 17:00:12 +000012662004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1267
ajs1d75c8c2004-12-28 21:43:17 +00001268 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
1269 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
1270 deterministic (-1).
1271
12722004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1273
ajsaf04bd72004-12-28 17:00:12 +00001274 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
1275
paul4ba9b922004-12-21 22:34:58 +000012762004-12-21 Paul Jakma <paul.jakma@sun.com>
1277
1278 * if.h: Add more 'non-generic' IFF_ flags.
1279 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +00001280 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +00001281
ajs202d08c2004-12-17 20:50:00 +000012822004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +00001283
1284 * command.c: (do_echo) Added new "echo" command, useful for
1285 watchdog pinging to make sure the daemon is responsive.
1286
12872004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +00001288
1289 * pid_output.c: (pid_output_lock) Eliminate static function, and just
1290 use the #ifdef to decide which version of the function to include.
1291 This eliminates a compilation problem with gcc4. And fix the
1292 non-fcntl version so that it actually compiles. Exit with
1293 status 1 instead of -1 on error.
1294
ajs81fc57c2004-12-15 17:41:14 +000012952004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1296
1297 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
1298
ajs3378d202004-12-10 22:43:17 +000012992004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1300
1301 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
1302 LOG_ERR instead of LOG_EMERG.
1303
ajsc3324c62004-12-09 17:26:31 +000013042004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1305
1306 * log.c: (hex_append) No need to include this function if
1307 HAVE_GLIBC_BACKTRACE is not defined.
1308
ajsb9e70282004-12-08 17:14:45 +000013092004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1310
1311 * prefix.c: (prefix_copy) Error message before abort should
1312 have severity LOG_ERR, not LOG_INFO.
1313 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
1314
ajs274a4a42004-12-07 15:39:31 +000013152004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1316
ajs8ddca702004-12-07 18:53:52 +00001317 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
1318
13192004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1320
ajs82146b82004-12-07 17:15:55 +00001321 * command.c: (config_write_host) Note that "log trap" is deprecated
1322 when writing out the config.
1323
13242004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1325
ajs274a4a42004-12-07 15:39:31 +00001326 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
1327 array to support individual logging levels for each destination.
1328 Remove the 2nd argument to openzlog since the default logging config
1329 should be standardized inside the library. Replaced the
1330 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
1331 And zlog_set_file now requires an additional log_level argument.
1332 Declare zlog_proto_names for use inside command.c in the
1333 "show logging" command. Added defines useful for command
1334 construction.
1335 * log.c: (vzlog) Decide where to send the message based on the
1336 individual logging levels configured for each destination.
1337 Remove support for ZLOG_STDERR since it was never actually used.
1338 Support record-priority for terminal monitors.
1339 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
1340 logging levels. Remove stderr support (was never used). Added
1341 support for terminal monitor logging.
1342 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
1343 (openzlog) Remove 2nd argument since default config should be
1344 standardized in library. By default, terminal monitoring
1345 is set to debug, and all other logging is disabled.
1346 (zlog_set_flag,zlog_reset_flag) Removed.
1347 (zlog_set_level) New function to replace zlog_set_flag and
1348 zlog_reset_flag. Supports destination-specific logging levels.
1349 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
1350 (zlog_rotate) Log an error message if fopen fails, and support
1351 new file-specific logging level.
1352 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
1353 command functions will be static instead of global. Remove
1354 declarations for config_exit and config_help. Define new macros
1355 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
1356 have deprecated commands in vtysh. Similarly, for completeness,
1357 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
1358 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
1359 was never used).
1360 * command.c: Make many functions static instead of global.
1361 (facility_name,facility_match,level_match) New functions
1362 to support enhanced destination-specific logging levels.
1363 (config_write_host) Support new destination-specific logging levels.
1364 (config_logmsg) Added new "logmsg" command to help test logging
1365 system.
1366 (show_logging) Added "show logging" command to show the current
1367 configuration of the logging system.
1368 (config_log_stdout_level) Support explicit stdout logging level.
1369 (no_config_log_stdout) Now takes optional LEVEL arg.
1370 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
1371 New commands creating new "log monitor" commands to set terminal
1372 monitoring log level.
1373 (config_log_file_level) Support explicit file logging level.
1374 (config_log_syslog_level) Support explicit syslog logging level.
1375 (config_log_facility,no_config_log_facility) Implement new
1376 "log facility" command.
1377 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
1378 "log stdout <level>", "log monitor", "log monitor <level>",
1379 "no log monitor", "log file <filename> <level>",
1380 "no log file <filename> <level>", "log syslog <level>",
1381 "log facility", and "no log facility".
1382 * vty.h: Added a "level" argument to vty_log so it can support
1383 "log record-priority". Declare new function vty_log_fixed for
1384 use in signal handlers.
1385 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
1386 "log record-priority" for vty terminal monitors.
1387 (vty_down_level) Use config_exit_cmd.func instead of calling
1388 config_exit directly (since command functions will now be static
1389 instead of global).
1390 (vty_log_fixed) New function to send terminal monitor messages
1391 from inside a signal handler.
1392
ajs887c44a2004-12-03 16:36:46 +000013932004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1394
ajs5e764772004-12-03 19:03:33 +00001395 * log.h: Document appropriate use of syslog logging priorities
1396 inside quagga.
1397
13982004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1399
ajs56f20692004-12-03 17:40:31 +00001400 * command.h: Remove fields log_stdout and log_syslog from struct host,
1401 since they are just trying to duplicate information in the
1402 zlog_default structure. Note that this fixes a bug since those
1403 fields were not registering any logging that was established
1404 in the initial call to openzlog (this affects only the zebra and
1405 ospf6d daemons). It is probably a bug to turn on any logging by
1406 default in the call to openzlog.
1407 * command.c: (config_write_host) Get logging info from zlog_default
1408 instead of now-removed fields host.log_stdout and host.log_syslog.
1409 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
1410 host.log_stdout, since this info is recorded in zlog_default.
1411 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
1412 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
1413 Do not set now-removed field host.log_syslog, since this info is
1414 recorded in zlog_default.
1415
14162004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1417
ajs887c44a2004-12-03 16:36:46 +00001418 * version.h.in: Remove declaration for pid_output_lock, this function
1419 is now static, not global.
1420 * pid_output.c: (pid_output_lock) This function should be static, not
1421 global. And remove "old umask" error message, since it was really
1422 an unimportant debug message, not an error.
1423 (pid_output) Need to declare static function pid_output_lock.
1424
ajs7d149b82004-11-28 23:00:01 +000014252004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1426
1427 * log.h: Remove several unused fields from struct zlog. Add comments
1428 for other fields, and add one new field syslog_options that is
1429 used in the new syslog_sigsafe implementation.
1430 * log.c: (syslog_sigsafe) New function to send syslog messages in
1431 an async-signal safe way that can be used inside a signal handler.
1432 (syslog_connect) New function to connect to syslog daemon inside a
1433 signal handler. This function supports only systems where /dev/log
1434 is a unix datagram socket (e.g. not Solaris).
1435 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
1436 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
1437 enabled.
1438 (openzlog) Save syslog_options for use in syslog_sigsafe.
1439 (num_append) Fix bug: handle 0 properly.
1440 (hex_append) New function to print a u_long in hex format.
1441
hasso2557aed2004-11-28 21:16:20 +000014422004-11-28 Hasso Tepper <hasso at quagga.net>
1443
1444 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
1445
ajsd1c51d72004-11-26 14:14:30 +000014462004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1447
ajs48d6c692004-11-26 20:52:59 +00001448 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
1449 to the more self-explanatory zlog_backtrace_sigsafe.
1450
14512004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1452
ajs5b85fac2004-11-26 19:36:42 +00001453 * debug.[ch]: Remove unused files.
1454 * Makefile.am: Remove references to debug.c and debug.h
1455
14562004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1457
ajs063ee522004-11-26 18:11:14 +00001458 * log.c: (zlog_backtrace) New function to log a backtrace.
1459 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
1460 Unfortunately, this function does not support syslog logging yet.
1461 (zlog_signal) Move backtrace code into separate function
1462 zlog_backtrace_safe.
1463 (_zlog_assert_failed) Call zlog_backtrace before aborting.
1464 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
1465 * memory.c: (zerror) Call zlog_backtrace before aborting.
1466
14672004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1468
ajsd1c51d72004-11-26 14:14:30 +00001469 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
1470
ajse5879ca2004-11-25 16:07:53 +000014712004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1472
ajs4cf0d0d2004-11-25 17:14:34 +00001473 * zebra.h: If not C99 and there's no va_copy macro and there is
1474 a __va_copy macro, define va_copy as __va_copy.
1475
14762004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1477
ajse5879ca2004-11-25 16:07:53 +00001478 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
1479 set l_whence to SEEK_SET, not SEEK_END. And after writing new
1480 pid to file, must ftruncate to eliminate any extraneous bytes left
1481 over from the last time a pid was written.
1482
ajscee3df12004-11-24 17:14:49 +000014832004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1484
1485 * zassert.h: New header file to declare a quagga-specific assert macro.
1486 * log.c: (_zlog_assert_failed) New function called when assert fails
1487 to log the error and abort.
1488 * zebra.h: Include "zassert.h" instead of <assert.h>.
1489 * regex.c: Include "zassert.h" instead of <assert.h>.
1490
ajsd246bd92004-11-23 17:35:08 +000014912004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1492
ajs59a06a92004-11-23 18:19:14 +00001493 * sigevent.c: (signal_init) Set up some default signal handlers
1494 so that processes will issue an error message before terminating
1495 or dumping core.
1496 (trap_default_signals) New function to set up signal handlers
1497 for various signals that may kill the process.
1498 (exit_handler) Call zlog_signal, then _exit.
1499 (core_handler) Call zlog_signal, then abort.
1500 * log.h: Declare new function zlog_signal.
1501 * log.c: (zlog_signal) New function to log information about
1502 a received signal before the process dies. Try to log a
1503 backtrace also.
1504 (quagga_signal_handler,signal_set) Should be static.
1505
15062004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1507
ajsd246bd92004-11-23 17:35:08 +00001508 * log.c: (vzlog) Take a single va_list argument and use va_copy
1509 as necessary for multiple traversals.
1510 (zlog) Pass only one va_list to vzlog.
1511 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
1512 va_list to vzlog.
1513 (zlog_set_file) Remove unused 2nd argument (flags).
1514 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
1515 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
1516 Remove unused 2nd argument from zlog_set_file prototype.
1517 Fix prototype for zlog_rotate.
1518 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
1519 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
1520 properly.
1521 (vty_log) Must use va_copy for multiple traversals of va_list arg.
1522
ajsca359762004-11-19 23:40:16 +000015232004-11-19 David Young <dyoung@pobox.com>
1524
1525 * log.c: (safe_strerror) New function: safe wrapper for strerror.
1526
ajsff29bb32004-11-19 18:29:22 +000015272004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1528
1529 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
1530 printed every time.
1531
ajsf858e492004-11-16 14:25:30 +000015322004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1533
1534 * memory.h: Fix prototype for memory_init().
1535 * memory.c: Declare many functions and data structures static instead
1536 of global. Fix prototype for memory_init().
1537
gdt69e13252004-11-15 18:51:15 +000015382004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1539
1540 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
1541 alignment (users should use CMSG_SPACE).
1542
1543 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
1544 asumming 4-byte alignment, since this isn't safe.
1545
ajs7fa25ff2004-11-15 16:12:32 +000015462004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1547
1548 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
1549 Instead of exiting, log currenty memory usage and then abort.
1550 (log_memstats) New function to log memory statistics, called by
1551 zerror.
1552 (show_memory_all) Loop over new mlists array instead of calling
1553 show_memory_vty separately for each memory_list.
1554
paulb86718e2004-11-08 17:34:07 +000015552004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +00001556
paul2265d202004-11-08 15:43:21 +00001557 * buffer.c: Add missing include of log.h.
1558 (buffer_flush_available) written is compared against
1559 mostly against unsigned types, only for the writev do we need
1560 signed compare, so declare it as size_t and cast it to ssize_t
1561 just for the error compare when we've called writev.
1562 * buffer.h: Add comment that buffer data sizes really should be
1563 size_t.
1564
15652004-11-07 Paul Jakma <paul@dishone.st>
1566
1567 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +00001568
ajs49ff6d92004-11-04 19:26:16 +000015692004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1570
ajs5a646652004-11-05 01:25:55 +00001571 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
1572 capabilities (that were used only in bgpd/bgp_route.c and are now
1573 removed). Also remove some other fields that were not being
1574 used at all.
1575 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
1576 and VTY_CONTINUE.
1577 (vty_read) Remove calls to vty->output_func since that was part
1578 of the VTY_CONTINUE infrastructure that has been removed.
1579 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
1580 (vty_close) Remove code to cancel vty->t_output thread, since that
1581 thread was never actually used.
1582
15832004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1584
ajs49ff6d92004-11-04 19:26:16 +00001585 * vty.c: Vtysh connections to daemons should use buffering.
1586 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
1587 (vty_new) Increase output buffer size to 4096 rounded up to a
1588 multiple of pagesize.
1589 (vtysh_read) After command has been executed and all output buffered,
1590 call buffer_flush_available and schedule further writes if the
1591 buffers are not yet empty.
1592 (vtysh_write) New function to flush output to vtysh when the socket
1593 is writeable.
1594 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
1595 clients. Also, should save read thread in vty->t_read so the
1596 thread can be cancelled in vty_close.
1597 * buffer.h: In struct buffer_data, remove unused "parent" field.
1598 Convert "unsigned char *data" to "unsigned char data[0]" to save
1599 a malloc. Declare new function buffer_flush_available that works
1600 with non-blocking sockets.
1601 * buffer.c: (buffer_data_new) Use a single malloc now that data is
1602 a variable-size array at end of structure.
1603 (buffer_data_free) Just a single free now that data is part of the
1604 structure.
1605 (buffer_write) Simplify the logic to make behavior more transparent.
1606 (buffer_flush) Decrease b->length as data is written out.
1607 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
1608 (buffer_flush_vty) Decrease b->length as data is written out.
1609 (buffer_flush_available) New function to flush non-blocking sockets.
1610
paule064d6d2004-11-01 08:59:21 +000016112004-11-01 Paul Jakma <paul@dishone.st>
1612
1613 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
1614
paul75e15fe2004-10-31 02:13:09 +000016152004-10-31 Paul Jakma <paul@dishone.st>
1616
1617 * vty.c: As per Andrew's suggestions..
1618 (vty_serv_un) remove flags.
1619 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +00001620 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +00001621 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
1622 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +00001623 specific memory type defines. Use XCALLOC and sizeof the type,
1624 not the pointer.
paul70e149e2004-10-31 16:29:50 +00001625 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +00001626
pauldccfb192004-10-29 08:29:36 +000016272004-10-29 Paul Jakma <paul@dishone.st>
1628
1629 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
1630 to vtysh_accept, where sock is the actual fd we wanted to set to
1631 O_NONBLOCK, ie the /connected/ vtysh unix socket.
1632
hasso508ec912004-10-23 14:26:49 +000016332004-10-23 Hasso Tepper <hasso at quagga.net>
1634
1635 * zclient.c: Unbreak reading interface update message. Might fix
1636 blocker bugzilla #109.
1637
paul23b9c612004-10-22 11:51:57 +000016382004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +00001639
1640 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +00001641 -1.
1642 (setsockopt_pktinfo) unexported
1643 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
1644 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +00001645 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
1646 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +00001647 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +00001648 * command.h: Cleanup the defines a bit, add helper defines and
1649 collapse all defines to use those. Add an attribute field to
1650 cmd_element to support, eg hidden or deprecated commands, add
1651 defun defines for such. All that's left to do is add logic
1652 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +00001653 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +00001654
hasso6590f2c2004-10-19 20:40:08 +000016552004-10-19 Hasso Tepper <hasso at quagga.net>
1656
1657 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
1658 * print_version.c: Remove. print_version () function moved to
1659 command.[c|h].
1660 * command.c: Use QUAGGA_COPYRIGHT.
1661 * Makefile.am: Remove useless version.c and print_version.c files.
1662
hasso3fb9cd62004-10-19 19:44:43 +000016632004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1664
1665 * zclient.c: (zebra_interface_address_read) If the destination address
1666 is encoded as all zeroes, load it as a NULL pointer.
1667 * if.h: Add comment describing struct connected destination field
1668 and indicating that it may be NULL. Define macros
1669 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
1670 with PtP logic (distinguish between host and subnet addressing).
1671 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
1672 properly,
1673 (connected_lookup_address) ditto.
1674 (connected_add_by_prefix) Handle case where destination is NULL,
1675 * prefix.[c|h]: New functions ipv4_network_addr and
1676 ipv4_broadcast_addr.
1677
hassoddd85ed2004-10-13 08:18:07 +000016782004-10-13 Hasso Tepper <hasso at quagga.net>
1679
1680 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
1681 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +00001682 * smux.c, smux.h: Remove all defaults to initialize smux connection to
1683 snmpd by default even if not configured to do so. "smux peer OID
1684 <password>" initializes now connection and "no smux peer" terminates
1685 it.
hassoddd85ed2004-10-13 08:18:07 +00001686
paul42d49862004-10-13 05:22:18 +000016872004-10-13 Paul Jakma <paul@dishone.st>
1688
1689 * (global) more const'ification.
1690 * sockunion.c: (sockunion_su2str) buffer should be sized
1691 SU_ADDRSTRLEN.
1692 (sockunion_log) do not return stack variables, strdup buf before
1693 return.
1694 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
1695 values against ULONG_MAX is daft, when caller probably has passed
1696 a type that can not hold ULONG_MAX. use a temporary long instead.
1697 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
1698 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
1699
hassoa1494112004-10-11 12:53:17 +000017002004-10-11 Hasso Tepper <hasso at quagga.net>
1701
1702 * command.h: Sync DEFUNSH with other macros.
1703 * sockunion.c, sockunion.h: More const strings.
1704
paul9076fbd2004-10-11 09:40:58 +000017052004-10-11 Paul Jakma <paul@dishone.st>
1706
1707 * thread.c: (funcname_thread_add_timer)
1708 (funcname_thread_add_timer_msec) Fix mistakes from last change.
1709 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +00001710 * if.h: mtu's should be unsigned.
1711 * routemap.{c,h}: const char updates
1712 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +00001713
paul9035efa2004-10-10 11:56:56 +000017142004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +00001715
1716 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +00001717 * command.h: Change DEFUN func to take const char *[] rather
1718 than char **, to begin process of fixing compile warnings in lib/.
1719 Nearly all other changes in this commit follow from this change.
1720 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
1721 const void * and cast an automatic const char *p to it.
1722 (buffer_putstr) add const
1723 * command.c: (zencrypt) const qualifier
1724 (cmd_execute_command_real) ditto
1725 (cmd_execute_command_strict) ditto
1726 (config_log_file) ditto.
1727 Fix leak of getcwd() returned string.
1728 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
1729 * distribute.{c,h}: Update with const qualifier.
1730 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
1731 (distribute_lookup) Cast to char *, note that it's ok.
1732 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
1733 (distribute_get) Cast to char *, note that it's ok.
1734 * filter.c: Update with const qualifier.
1735 * if.{c,h}: ditto.
1736 * if_rmap.{c,h}: ditto.
1737 (if_rmap_lookup) Cast to char *, note that it's ok.
1738 (if_rmap_get) ditto.
1739 * log.{c,h}: Update with const qualifier.
1740 * plist.{c,h}: ditto.
1741 * routemap.{c,h}: ditto.
1742 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
1743 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
1744 * vty.c: Update with const qualifier.
1745
hasso27a43a82004-10-08 06:29:12 +000017462004-10-08 Hasso Tepper <hasso at quagga.net>
1747
1748 * routemap.c, routemap.h: Make some string arguments const.
1749
paul5973ee72004-10-08 01:36:54 +000017502004-10-05 Paul Jakma <paul@dishone.st>
1751
1752 * version.h.in: print_version declaration is here, not in automake
1753 generated version.h.
1754
hassoea8e9d92004-10-07 21:32:14 +000017552004-10-08 Hasso Tepper <hasso at quagga.net>
1756
1757 * command.c, command.h: Make argument of cmd_make_strvec function
1758 const.
1759 * command.c: Make hostname commands usable in vtysh again.
1760
hasso6ad96ea2004-10-07 19:33:46 +000017612004-10-07 Hasso Tepper <hasso at quagga.net>
1762
1763 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
1764 strings const.
1765
hasso8c328f12004-10-05 21:01:23 +000017662004-10-05 Hasso Tepper <hasso at quagga.net>
1767
1768 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
1769 changes to fix warnings.
1770
paul96e27c92004-10-05 14:33:43 +000017712004-10-05 Paul Jakma <paul@dishone.st>
1772
1773 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
1774 functions to change byte order between system IP_HDRINCL order
1775 and host order.
paul98c91ac2004-10-05 14:57:50 +00001776 * thread.c: (funcname_thread_add_timer_timeval) new function, add
1777 timer at specified timeval.
1778 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
1779 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +00001780
hassob04c6992004-10-04 19:10:31 +000017812004-10-04 Hasso Tepper <hasso at quagga.net>
1782
1783 * memory.c, memory.h: Make char * argument of strdup functions const.
1784 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
1785 header.
1786 * log.h: Make log message const in struct message.
1787 * log.c: Fix some indenting.
1788 * network.c, network.h: Make second argument of writen() const.
1789
hassoe7168df2004-10-03 20:11:32 +000017902004-10-03 Hasso Tepper <hasso at quagga.net>
1791
1792 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
1793 * command.c: Don't initialize commands that don't make sense if vtysh
1794 is used.
1795 * vty.c: Make VTY_NODE appear in vtysh.
1796
hasso18a6dce2004-10-03 18:18:34 +000017972004-10-03 James R. Leu <jleu at mindspring.com>
1798
1799 * zclient.c, zclient.h: zclient functions for router id handling.
1800 * zebra.h: New message types for router id handling.
1801
paul9172ee02004-09-27 12:46:37 +000018022004-09-27 Paul Jakma <paul@dishone.st>
1803
1804 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
1805 to try to fragment oversized packets. Enabled only for Linux.
1806 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
1807 to consolidate various ad-hoc platform defines for same thing.
1808
hassoe473b032004-09-26 16:08:11 +000018092004-09-26 Hasso Tepper <hasso at quagga.net>
1810
1811 * vty.c, sockopt.c: Fix compiler warnings.
1812
hasso52dc7ee2004-09-23 19:18:23 +000018132004-09-23 Hasso Tepper <hasso at quagga.net>
1814
1815 * linklist.h: Remove list and listnode typedefs.
1816 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1817
paul0b3acf42004-09-17 08:39:08 +000018182004-09-17 Paul Jakma <paul@dishone.st>
1819
paulb89e60c2004-09-21 15:43:13 +00001820 * sockopt.c: Add missing bracket
1821
18222004-09-17 Paul Jakma <paul@dishone.st>
1823
paul0b3acf42004-09-17 08:39:08 +00001824 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
1825
paul33394762004-09-13 11:27:57 +000018262004-09-13 Paul Jakma <paul@dishone.st>
1827
1828 * command.c: Update the copyright string in the default motd.
1829
gdt630e4802004-08-31 17:28:41 +000018302004-08-31 David Wiggins <dwiggins@bbn.com>
1831
1832 * hash.c (hash_iterate): Save next pointer before calling
1833 procedure, so that iteration works even if the called procedure
1834 deletes the hash backet.
1835
1836 * linklist.h (listtail): new macro, not yet used.
1837
hasso34553cc2004-08-27 13:56:39 +000018382004-08-27 Hasso Tepper <hasso at quagga.net>
1839
1840 * command.c: Install "terminal length" commands only if vty is used.
1841 Vtysh will handle it itself.
1842
gdtafa43b22004-08-26 13:12:41 +000018432004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1844
1845 * sockopt.h: Define method-independent macro for callers of
1846 get_ifindex to use for cmsg length.
1847
paule6822762004-08-19 04:13:29 +000018482004-08-19 Paul Jakma <paul@dishone.st>
1849
paulefba6ce2004-08-25 13:47:16 +00001850 * zebra.h: add MAX and MIN defines (eg for ospf6d)
1851
18522004-08-19 Paul Jakma <paul@dishone.st>
1853
paule6822762004-08-19 04:13:29 +00001854 * sockopt.c: include sockopt.h
1855 rename some of the _pktinfo_ functions to _ifindex, where that is
1856 their purpose.
1857 (getsockopt_ipv6_pktinfo_ifindex) renamed to
1858 getsockopt_ipv6_ifindex.
1859 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
1860 (setsockopt_pktinfo) update with previous and add comment re
1861 AF_INET portability.
1862 (setsockopt_ifindex) generic ifindex function ala
1863 setsockopt_pktinfo.
1864 (getsockopt_ipv4_pktinfo_ifindex) renamed to
1865 getsockopt_ipv4_ifindex.
1866 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
1867 ifdef/elses. pktinfo case forgot to set ifindex.
1868 (getsockopt_pktinfo_ifindex) renamed to
1869 getsockopt_ifindex. update some calls to renamed functions.
1870 * sockopt.h: Update renamed exported functions
1871 Rename the CMSG_SIZE macros to IFINDEX.
1872 Guard IPv4 PKTINFO in a conditional define.
1873
paulc0618de2004-08-18 21:52:58 +000018742004-08-18 Paul Jakma <paul@dishone.st>
1875
1876 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
1877 to prevent inadvertent blocking of daemons by use of
1878 vtysh. TODO: disentangle manual paging from the buffer_write
1879 path so that unix vty can use this path too and be reliable.
1880
gdt33f92322004-07-23 16:14:32 +000018812004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
1882
1883 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
1884 on NetBSD, and add comments to make it less confusing. Change the
1885 sense of the SUNOS_5 test to make parallel structure between the
1886 variables and the code.
1887
paul4f7baa02004-07-23 15:11:07 +000018882004-07-23 Paul Jakma <paul@dishone.st>
1889
1890 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
1891 sizeof pktinfo as appropriate, to be used when allocating msg
1892 buffers. export setsockopt_pktinfo() and
1893 getsockopt_pktinfo_ifindex()
1894 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
1895 set received ifindex sock option.
1896 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
1897 (getsockopt_cmsg_data) retrieve indicated control info from
1898 message header.
1899 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
1900 (setsockopt_ipv4_pktinfo) v4 version
1901 (setsockopt_pktinfo) the exported version
1902 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
1903 (getsockopt_pktinfo_ifindex) the exported version
1904
paul05c447d2004-07-22 19:14:27 +000019052004-07-14 Paul Jakma <paul@dishone.st>
1906
1907 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
1908 the flags to a constant rather increment to be kinder.
1909 (quagga_sigevent_process) new function, to do core of what
1910 quagga_signal_timer did. dont block signals at all as sig->caught
1911 is volatile sig_atomic_t and should be safe to access from signal
1912 and normal contexts. The signal blocking is unneeded paranoia, but
1913 is left intact under an ifdef, should some platform require it.
1914 Check global caught flag before iterating through array.
1915 (quagga_signal_timer) nearly everything moved to
1916 quagga_sigevent_process. Left in under ifdef, in case some
1917 platform could use a regular timer check for signals.
1918 * sigevent.h: quagga_sigevent_process declaration.
1919 * thread.c: (thread_fetch) check for signals at beginning of
1920 scheduler loop, check for signals if select returns EINTR.
1921
gdtb7797132004-07-13 13:47:25 +000019222004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
1923
1924 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
1925 confuses gdb, at least on NetBSD 2.0_BETA, where the block
1926 succeeds.
1927
paul5510e832004-07-09 14:00:01 +000019282004-07-09 Paul Jakma <paul@dishone.st>
1929
1930 * Merge Kunihiro's 'show route-map' change and add
1931 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +00001932 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
1933 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +00001934
paulb06c14f2004-07-09 12:24:42 +000019352004-07-09 Juris Kalnins <juris@mt.lv>
1936
1937 * if.c: (if_cmp_func) fix for interface names where name is same,
1938 but one has no number, eg "devtyp" and "devtyp0".
1939
gdt87efd642004-06-30 17:36:11 +000019402004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1941
1942 * Makefile.am: Make libzebra shared.
1943
paul138ce752004-06-21 10:35:59 +000019442004-06-21 Paul Jakma <paul@dishone.st>
1945
1946 * ChangeLog: fix my last update config.h -> zebra.h ;)
1947 * zebra.h: Fix gcc check.
1948
paul02ff83c2004-06-11 11:27:03 +000019492004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
1950
1951 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
1952 to u_char. (ipv6_access_list_remark_cmd) ditto.
1953 if.c: ditto
1954 * network.c: (readn/writen) pointer arg should be type u_char.
1955 * plist.c: needs to include stream.h, not declare stream functions
1956 internally.
1957 (various) Add static qualifier to internal functions.
1958 (prefix_list_type_str) extraneous breaks in switch statement.
1959 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
1960 * stream.h: depends on plist.h and export stream_put_prefix
1961 * vty.c: (vty_<telnet option build functions>) should use
1962 unsigned char, telnet options are 0 -> 255.
1963 * zclient.c: various u_char<->char type cleanups.
1964 * zebra.h: Having to define CMSG_* can apply to more than just
1965 BSDI_NRL.
1966
paul51a87982004-06-09 10:36:05 +000019672004-06-09 Paul Jakma <paul@dishone.st>
1968
paul138ce752004-06-21 10:35:59 +00001969 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +00001970
paul5228ad22004-06-04 17:58:18 +000019712004-06-04 Paul Jakma <paul@dishone.st>
1972
1973 * type mismatch fixes
1974
hasso6708fa32004-05-18 18:46:54 +000019752004-05-18 Hasso Tepper <hasso@estpak.ee>
1976
1977 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
1978
paul0a589352004-05-08 11:48:26 +000019792004-05-08 Paul Jakma <paul@dishone.st>
1980
1981 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
1982 message format.
1983
19842004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
1985
1986 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
1987 (zapi_ipv4_delete) ditto.
1988 (zapi_ipv4_route) add/delete a route by way of cmd arg.
1989 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
1990 (zapi_ipv6_delete) ditto.
1991 (zapi_ipv6_route) add/delete a route by way of cmd arg.
1992 (zebra_interface_address_delete_read) collapsed into
1993 zebra_interface_address_read.
1994 (zebra_interface_address_delete_read) ditto.
1995 (zebra_interface_address_read) read address add/delete messages
1996 by way of type argument. Describe command message format.
1997 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
1998 Describe command message format.
1999 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
2000 (zclient_redistribute_set) Collapsed into zclient_redistribute
2001 (zclient_redistribute_unset) ditto
2002 (zclient_redistribute) set/unset redistribution.
2003 (zclient_redistribute_default_set) Collapsed into
2004 zclient_redistribute_default.
2005 (zclient_redistribute_default_unset) ditto.
2006 (zclient_redistribute_default) Redistribute default set/unset.
2007 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
2008 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
2009 zclient_redistribute. Ditto for
2010 zclient_redistribute_default_{set/unset}.
2011
paul4a7aac12004-05-08 05:00:31 +000020122004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
2013
2014 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
2015 from IPv4, and Solaris treats the MTU's differently.
2016 Add connected_add_by_prefix, for use by later patch.
2017 * if.c: (connected_add_by_prefix) Add prefix to connected list.
2018 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
2019 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +00002020 * command.c: (sockunion_getsockname) use socklen_t for len.
2021 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +00002022
paul31fcdd32004-04-21 11:00:43 +000020232004-04-21 Boris Kovalenko <boris@tagnet.ru>
2024
2025 * daemon.c: (daemon) fix check for error return from setsid
2026
paulc49b3062004-01-19 21:23:37 +000020272004-01-19 Paul Jakma <paul@dishone.st>
2028
2029 * sigevent.{c,h}: New files, implement event handled signals.
2030 see signal_init() in sigevent.h.
2031
jardinc32e1b52003-12-23 09:06:51 +000020322003-12-23 Vincent Jardin <jardin@6wind.com>
2033
2034 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
2035
gdt3dbf9962003-12-22 20:18:18 +000020362003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
2037
2038 * vty.c (vty_use_backup_config): Don't free filenames before using
2039 them for unlink.
2040
paul54aba542003-08-21 20:28:24 +000020412003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2042
2043 * command.c: Fix <cr> display problem for command line
2044 description
2045
paule9af5c72003-05-24 11:54:31 +000020462003-05-24 Anil Madhavapeddy
2047
2048 * (sockunion.c): Incorrect bounds specified in sockunion_log()
2049
paul445f1432003-05-16 19:00:31 +000020502003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
2051
2052 * vty.c: -A option
2053
20542003-04-19 Hasso Tepper <hasso@estpak.ee>
2055
2056 * rip_routemap.c: sync daemon's route-map commands to have same
2057 syntax
2058
paul718e3742002-12-13 20:15:29 +000020592002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2060
2061 * vty.c (vty_flush): One line more on vty.
2062
20632002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2064
2065 * vector.c (vector_lookup): Add new function.
2066
20672002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2068
2069 * thread.c (timeval_adjust): Fix unconditional crush due to
2070 FreeBSD's select() system call timeval value check.
2071
20722002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2073
2074 * zebra-0.93 released.
2075
20762002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2077
2078 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
2079 van Maarseveen's suggestion.
2080
20812002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2082
2083 * command.c: Change bcopy() to memcpy().
2084
20852001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2086
2087 * command.c (config_password): Fix host.password clear bug.
2088 Reported by Wang Jian <lark@linux.net.cn>.
2089
20902001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2091
2092 * thread.c (thread_should_yield): New function to check thread
2093 should yeild it's execution to other thread. Suggested by: Rick
2094 Payne <rickp@ayrnetworks.com>
2095
20962001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2097
2098 * thread.c (thread_timer_cmp): Rewrite function.
2099
2100 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
2101
21022001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2103
2104 * zebra-0.92a released.
2105
21062001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2107
2108 * zebra-0.92 released.
2109
21102001-08-12 Akihiro Mizutani <mizutani@dml.com>
2111
2112 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
2113 string to "1.1.0.0/16".
2114
21152001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2116
2117 * filter.c (access_list_lookup): access_list_lookup's first
2118 argument is changed from address family to AFI.
2119
2120 * plist.c: (prefix_list_lookup): Likewise.
2121
21222001-07-27 Akihiro Mizutani <mizutani@dml.com>
2123
2124 * plist.c: ge and le display order is changed. Old compatible
2125 rule (len <= ge-value <= le-value) is removed.
2126
21272001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2128
2129 * prefix.h: Temporary fix for alignment of prefix problem.
2130
21312001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2132
2133 * prefix.h (struct prefix): Remove safi and padding field.
2134 (struct prefix_ipv4): Likewise.
2135 (struct prefix_ipv6): Likewise.
2136 (struct prefix_ls): Likewise.
2137 (struct prefix_rd): Likewise.
2138
2139 * command.h (enum node_type): Preparation for BGP new config.
2140
2141 * vty.c (vty_end_config): Likewise.
2142
21432001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2144
2145 * routemap.c (route_map_rule_delete): Call func_free when
2146 route-map rule is deleted.
2147
21482001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
2149
2150 * routemap.c (route_map_index_lookup): Prevent to use deny and
2151 permit for same route-map sequence.
2152
21532001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2154
2155 * vty.c (vty_read_config): Fix warning.
2156
21572001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2158
2159 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
2160 strings.
2161
21622001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2163
2164 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
2165 CMSG_FIRSTHDR.
2166
21672001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2168
2169 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
2170
21712001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2172
2173 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
2174 lib" member.
2175
21762001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
2177
2178 * vty.c (vty_read_config): Revert check of integrate_default when
2179 VTYSH is defined.
2180
21812001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2182
2183 * vty.c (vty_read_config): Do not check integrate_default. That
2184 should be used only by vtysh.
2185
21862001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
2187
2188 * vty.c (vty_serv_un): Set umask 0077.
2189 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
2190 wait for boot configuration.
2191
2192 * if.c (if_lookup_address): Make it smart implementation.
2193
2194 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
2195 options for IPv4 This is here so that people only have to do their
2196 OS multicast mess in one place rather than all through zebra,
2197 ospfd, and ripd .
2198
21992001-02-04 Akihiro Mizutani <mizutani@dml.com>
2200
2201 * plist.c (vty_prefix_list_install): Even when argument is
2202 invalid, new memory is allocated. Now memory allocation is done
2203 after argument check.
2204
22052001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2206
2207 * zebra-0.91 is released.
2208
22092001-01-31 Akihiro Mizutani <mizutani@dml.com>
2210
2211 * vty.c (vty_login): Add vty login command.
2212
22132001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2214
2215 * vty.c (vty_reset): Close accept socket.
2216
22172001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2218
2219 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
2220 attribute.
2221
22222001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2223
2224 * zclient.c (zebra_interface_address_add_read): Fetch interface
2225 address flag.
2226 (zebra_interface_address_delete_read): Likewise.
2227
22282001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2229
2230 * table.c (route_node_match_ipv4): Utility function for IPv4
2231 address lookup.
2232 (route_node_match_ipv6): Utility function for IPv4 address lookup.
2233
22342001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2235
2236 * if.c: Delete RIP_API part until new implementation comes out.
2237
22382001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2239
2240 * hash.h (struct Hash): Rename alloc to count. Change type to
2241 unsigned long.
2242
2243 * stream.c (stream_getc_from): New function.
2244 (stream_getw_from): Likewise.
2245
2246 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
2247
22482001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2249
2250 * flap.c: File is removed.
2251
2252 * flap.c: Likewise.
2253
2254 * roken.h: Likewise.
2255
2256 * buffer.c (buffer_new): Remove type option to buffer_new().
2257
22582001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2259
2260 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
2261
22622001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2263
2264 * zebra-0.90 is released.
2265
2266 * command.c: Update Copyright year.
2267
22682001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
2269
2270 * if.c (if_create): Register connected_free() function for
2271 deletion.
2272 (if_delete): Free connected information when the interface is
2273 deleted.
2274 (if_lookup_by_index): Fix argument type from int to unsigned int.
2275 (connected_add): Keep list in order if old info found, essential
2276 for repeatable operation in some daemons.
2277
22782001-01-09 endo@suri.co.jp (Masahiko Endo)
2279
2280 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
2281 read thread.
2282
22832001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2284
2285 * filter.c (access_list_delete): Access-list name is not freed.
2286
2287 * plist.c (prefix_list_delete): Prefix-list name is not freed.
2288
22892000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2290
2291 * zclient.c (zclient_start): Change to use UNIX domain
2292 socket for zebra communication.
2293
2294 * vector.c (vector_init): vector_alloc and vector_data_alloc is
2295 removed. All memory allocation count should be maintained by
2296 XMALLOC and XFREE macros.
2297
22982000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2299
2300 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
2301
23022000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2303
2304 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
2305 value.
2306
23072000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
2308
2309 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
2310 allocated in vty_new ().
2311
23122000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2313
2314 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
2315
2316 * command.c (config_write_terminal): Display "end" at the end of
2317 configuration.
2318
2319 * plist.c (vty_prefix_list_install): Use AF_INET to determine
2320 lenum length.
2321
23222000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
2323
2324 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
2325 then all lines write by IOV_MAX.
2326
23272000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2328
2329 * command.c (config_write_file): Robust method for writing
2330 configuration file and recover from backing up config file.
2331
23322000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2333
2334 * smux.c (smux_connect): More fail check.
2335 (smux_trap): When SMUX connection is not established, do nothing.
2336
23372000-11-28 Gleb Natapov <gleb@nbase.co.il>
2338
2339 * thread.c (thread_fetch): Execut event list first. Old event
2340 list is renamed to ready list. With this change, event thread is
2341 executed before any other thread.
2342
2343 * thread.h (struct thread_master): Add ready list.
2344
23452000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2346
2347 * linklist.c (listnode_add_after): Add node right after the
2348 listnode pointer.
2349
23502000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2351
2352 * smux.h: Pass struct variable to WriteMethod.
2353
23542000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
2355
2356 * if.c (if_lookup_address): When looking up interface with IP
2357 address, Sometimes multiple interfaces will match. Now PtP
2358 interfaces prevail in such a case which seem the right thing to
2359 do: There will probably also be host routes which usually prevail
2360 over network routes.
2361
23622000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2363
2364 * smux.c (smux_trap): SMUX trap implementation.
2365
23662000-11-19 Akihiro Mizutani <mizutani@dml.com>
2367
2368 * plist.c: Add automatic conversion function of an old rule.
2369 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
2370
23712000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
2372
2373 * zclient.c (zebra_interface_add_read): Read hardware address when
2374 hw_addr_len is greater than 0.
2375
23762000-11-15 Akihiro Mizutani <mizutani@dml.com>
2377
2378 * plist.c: The rule of "len <= ge-value <= le-value"
2379 was changed to "len < ge-value <= le-value".
2380
23812000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2382
2383 * memory.[ch]: Added #define and functions for ospf6d.
2384
2385 * log.[ch]: some platform says that the data of used va_list
2386 is undefined. Changed to hold list of va_list for each
2387 vsnprintf.
2388
23892000-11-07 Rick Payne <rickp@rossfell.co.uk>
2390
2391 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
2392
23932000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2394
2395 * command.c (config_exit): Fix bug of missing break after case
2396 BGP_VPNV4_NODE.
2397
23982000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2399
2400 * vector.c (vector_unset): Check i is not nevative.
2401
24022000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
2403
2404 * smux.c (smux_sock): Set terminating '\0'. Check address family.
2405
2406 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
2407 gai_strerror. Check address family.
2408
24092000-10-23 Jochen Friedrich <jochen@scram.de>
2410
2411 * smux.c: Use linklist rather than vector.
2412 (smux_getnext): A SMUX subagent has to behave as if it manages the
2413 whole SNMP MIB tree itself. It's the duty of the master agent to
2414 collect the best answer and return it to the manager. See RFC 1227
2415 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
2416 bad here as it actually might ask multiple times for the same
2417 GETNEXT request as it throws away the answer when it expects it in
2418 a different subtree and might come back later with the very same
2419 request.
2420
24212000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2422
2423 * command.c (cmd_init): Log related command are only installed for
2424 terminal mode.
2425
24262000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2427
2428 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
2429
2430 * zebra.h: Remove #warn directive.
2431
24322000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2433
2434 * keychain.c (keychain_init): Register "key chain" command to
2435 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
2436
2437 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
2438 CONFIG_NODE.
2439
2440 * command.c (config_end): Likewise.
2441
2442 * keychain.c (keychain_get): Key is sorted by it's identifier
2443 value.
2444
24452000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2446
2447 * linklist.c (list_delete_all_node): Call delete function if it is
2448 defined.
2449
2450 * command.c (cmd_execute_command_strict): Add modification for
2451 vtysh.
2452 (cmd_execute_command_strict): Remove first argument cmdvec because
2453 it is global varibale in command.c.
2454
24552000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2456
2457 * command.c (cmd_init): Install
2458 copy_runningconfig_startupconfig_cmd only in terminal mode.
2459
2460 * linklist.c (list_delete_node): Simplify the function.
2461 (listnode_lookup): Renamed from list_lookup_node.
2462
24632000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2464
2465 * stream.h: Undef stream_read and stream_write without
2466 parenthesis.
2467
2468 * newlist.c: File removed.
2469
2470 * newlist.h: Likewise.
2471
2472 * linklist.c (list_new): Remove list_init(). To allocate new
2473 linked list, please use list_new().
2474 (listnode_add): Remove list_add_node(). To add new node to linked
2475 list, please use listnode_add().
2476 (list_delete_by_val): Revemove fucntion.
2477
24782000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
2479
2480 * table.c (route_table_free): Reimplement route_table_free().
2481
24822000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2483
2484 * keychain.c (keychain_get): Register key_delete_func to key
2485 list's delete function. Use linklist.c instead of newlist.c.
2486
24872000-10-04 Akihiro Mizutani <mizutani@dml.com>
2488
2489 * filter.c (access_list_remark): Add access-list's remark command.
2490 (no_access_list): "no access-list 100 permit any" error message
2491 bug is fixed.
2492
24932000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2494
2495 * memory.h (enum): Add MTYPE_SOCKUNION.
2496
24972000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2498
2499 * zebra-0.89 is released.
2500
25012000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2502
2503 * linklist.c (list_add_node_head): Delete unused function.
2504 (list_add_node_tail): Likewise.
2505
25062000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2507
2508 * stream.c (stream_read_unblock): Add new function for unblocking
2509 read.
2510
25112000-09-26 Jochen Friedrich <jochen@nwe.de>
2512
2513 * smux.c (smux_register): Fix bug of can't register more than one
2514 MIB with SMUX.
2515
25162000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
2517
2518 * vty.c (vty_close): Fix memory leak of sb_buffer.
2519 (vty_new): Likewise.
2520
25212000-09-21 steve@Watt.COM (Steve Watt)
2522
2523 * log.h: Do not declare zlog_priority[0] variable.
2524
25252000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2526
2527 * linklist.h (struct _list ): Add member cmp for compare function.
2528 (struct _list ): Member up is deleted
2529
25302000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
2531
2532 * if.c: Include RIP_API header when RIP API is enabled.
2533
25342000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2535
2536 * prefix.c (prefix_free): Siplify prefix_free().
2537
2538 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
2539
25402000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2541
2542 * zebra.h: Merge roken.h into zebra.h.
2543
25442000-09-05 Akihiro Mizutani <mizutani@dml.com>
2545
2546 * routemap.c (route_map_init_vty): Install route-map command to
2547 RMAP_NODE.
2548
25492000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2550
2551 * thread.c (thread_get_id): Remove pthread related garbage.
2552
2553 * command.h (struct host): Likewise.
2554
2555 * zebra.h: Likewise.
2556
25572000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2558
2559 * command.h (node_type ): Add AAA node for authentication.
2560
2561 * vty.c (vty_close): Do not close stdout.
2562
25632000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2564
2565 * vty.c (vty_init_vtysh): Added for vtysh.
2566
2567 * distribute.c (districute_list_prefix_all): Interface independent
2568 filter can be set.
2569 (distribute_list_all): Likewise.
2570 (config_show_distribute): Display current distribute-list status
2571 for "show ip protocols".
2572
25732000-08-18 Akihiro Mizutani <mizutani@dml.com>
2574
2575 * command.c (config_terminal_no_length): no terminal monitor ->
2576 terminal no monitor
2577 (cmd_init): Do not install service_terminal_length_cmd into
2578 ENABLE_NODE.
2579
2580 * vty.c (terminal_no_monitor): no terminal length -> terminal no
2581 length.
2582
25832000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2584
2585 * zebra-0.88 is released.
2586
25872000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
2588
2589 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
2590 better IAC handling.
2591
2592 * vty.c (vty_telnet_option): Change telnet option handling.
2593
25942000-08-15 Gleb Natapov <gleb@nbase.co.il>
2595
2596 * zclient.c (zclient_redistribute_unset): New function added.
2597
25982000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2599
2600 * zclient.c (zebra_interface_add_read): Change ifindex restore
2601 size from two octet to four.
2602 (zebra_interface_state_read): Likewise.
2603 (zebra_interface_address_add_read): Likewise.
2604
26052000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2606
2607 * vty.c (vty_event): Use vector_set_index() instead of
2608 vector_set().
2609
26102000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2611
2612 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
2613 Administrative Distance of each protocol.
2614
26152000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
2616
2617 * if.h (struct interface ): Add new member bandwidth to struct
2618 interface.
2619
2620 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
2621 (zebra_interface_state_read): Likewise.
2622
26232000-08-07 Gleb Natapov <gleb@nbase.co.il>
2624
2625 * routemap.c (route_map_event_hook): New hook route_map_event_hook
2626 is added. This hook is called when route-map is changed. The
2627 parameters passed to the hook are 'event' and 'route-map name'
2628
2629 * routemap.h: Add prototype for route_map_event_hook().
2630
26312000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2632
2633 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
2634 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
2635
2636 * routemap.c (route_map_empty): Add new function.
2637 (route_map_delete): Use route_map_index_delete() instead of
2638 route_map_index_free().
2639 (route_map_index_free): Function removed.
2640
26412000-08-06 Gleb Natapov <gleb@nbase.co.il>
2642
2643 * routemap.c (route_map_index_delete): Add check for route-map is
2644 empty or not.
2645
26462000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2647
2648 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
2649 zclient.
2650
26512000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2652
2653 * zclient.h (struct zebra): Add obuf for output buffer.
2654
2655 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
2656 if_indextoname().
2657
26582000-08-02 David Lipovkov <davidl@nbase.co.il>
2659
2660 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
2661 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
2662
2663 * if.c (interface_pseudo): Add "pseudo" command to interface node.
2664 (no_interface_pseudo): Add "no pseudo" command to interface node.
2665
2666 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
2667 send from zebra.
2668
26692000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2670
2671 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
2672 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
2673
2674 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
2675
26762000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2677
2678 * vty.c: Use vector for VTY server thread listing instead of
2679 single value.
2680
26812000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2682
2683 * keychain.c (no_key_chain): "no key chain WORD" command is added.
2684
26852000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2686
2687 * command.c (config_from_file): If command fail in
2688 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
2689
2690 * vty.h (struct vty ): Add index_sub member.
2691
26922000-07-27 Akihiro Mizutani <mizutani@dml.com>
2693
2694 * if.c: Help strings updates.
2695
26962000-07-11 Akihiro Mizutani <mizutani@dml.com>
2697
2698 * command.c (no_config_enable_password): Add "no enable password"
2699 command.
2700 (config_write_host): Display password string.
2701
2702 * routemap.c (route_map_delete_match): Add support for delete
2703 match without argument.
2704 (route_map_delete_set): Likewise.
2705
27062000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2707
2708 * command.h (node_type ): Change KEYCHAIN_NODE and
2709 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
2710
27112000-07-09 Jochen Friedrich <jochen@scram.de>
2712
2713 * smux.c (config_write_smux): Fixes the option to override OID and
2714 password for SMUX.
2715
27162000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2717
2718 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
2719
27202000-07-09 Toshiaki Takada <takada@zebra.org>
2721
2722 * command.c: Sort descvec command's help.
2723
2724 * vty.c (vty_describe_command): Display '<cr>' at the end of
2725 descriptions.
2726
27272000-07-05 Toshiaki Takada <takada@zebra.org>
2728
2729 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
2730 treatment of double colon.
2731
27322000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2733
2734 * zclient.h: Add zclient_redistribute_default_{set,unset}().
2735
2736 * keychain.c: New file for authentication key management.
2737 * keychain.h: Likewise.
2738
2739 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
2740 ipchains.
2741 * tcpfilter.h: Likewise.
2742
2743 * flap.h: New file for route flap dampening.
2744 * flap.c: Likewise.
2745
27462000-07-04 Toshiaki Takada <takada@zebra.org>
2747
2748 * filter.c (struct filter): Add exact flag.
2749 (access_list): Add exact-match command.
2750 (ipv6_access_list): Add exact-match command.
2751
27522000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2753
2754 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
2755 request default route.
2756
27572000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
2758
2759 * smux.c: Add IPv6 smux connection code.
2760
27612000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2762
2763 * vty.c (vty_complete_command): To cooperate readline library,
2764 returned string is newly allocated. So some match function case
2765 need, free of memory.
2766
27672000-06-12 Akihiro Mizutani <mizutani@dml.com>
2768
2769 * distribute.c: Fix help strings.
2770
27712000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2772
2773 * command.c (cmd_complete_command): Add check for vector_slot
2774 (vline, index) is not NULL when calculating lcd.
2775 (cmd_entry_function): First check variable arguemnt to prevent it
2776 from completion.
2777
27782000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2779
2780 * vty.h (struct vty ): Add output_count member for displaying
2781 output route count. Remove arugment arg from output_func because
2782 the value is passed by vty argument. Change output to output_rn.
2783 Add output_clean function pointer member. Add output_type member.
2784
27852000-06-10 Toshiaki Takada <takada@zebra.org>
2786
2787 * command.c (show_startup_config): Add "show startup-config"
2788 command.
2789
27902000-06-06 Akihiro Mizutani <mizutani@dml.com>
2791
2792 * filter.c: Fix help strings.
2793
27942000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2795
2796 * prefix.h (struct prefix_rd): New prefix structure for routing
2797 distinguisher.
2798 (struct prefix): Add padding to every prefix structure.
2799
2800
2801 * routemap.c (route_map_add_match): When completely same match
2802 statement exists, don't duplicate it.
2803
28042000-06-05 Akihiro Mizutani <mizutani@dml.com>
2805
2806 * routemap.c: Change NAME to WORD.
2807
2808 * plist.c: Fix help strings.
2809
28102000-06-02 Akihiro Mizutani <mizutani@dml.com>
2811
2812 * routemap.c: Fix route-map help strings.
2813
28142000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2815
2816 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
2817 to filter other non vararg commands.
2818
2819 * routemap.c (route_map_init_vty): Use install_default() for
2820 install common commands into route-map node..
2821
28222000-06-01 Akihiro Mizutani <mizutani@dml.com>
2823
2824 * command.h (OSPF_STR): Macro added.
2825
28262000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2827
2828 * command.c (cmd_complete_command): LCD completion must not modify
2829 installed command string.
2830
2831 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
2832 X:X::X:X to X:X::X:X/M.
2833
28342000-05-31 Toshiaki Takada <takada@zebra.org>
2835
2836 * vty.c (show_history): New defun added.
2837
28382000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2839
2840 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
2841 list. CMD_COMPLETE_MATCH is used for LCD completion.
2842
2843 * vty.c (vty_complete_command): Matched string's LCD is completed.
2844
2845 * command.c (cmd_lcd): New function for calculate LCD of matched
2846 strings.
2847
28482000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2849
2850 * command.c (install_default): config_write_terminal_cmd,
2851 config_write_file_cmd, config_write_memory_cmd are added to
2852 default node.
2853
2854 * memory.c (memory_init): Divide show memory command into each
2855 sort.
2856
2857 * command.c (cmd_init): config_write_terminal_cmd,
2858 config_write_file_cmd, config_write_memory_cmd are added to
2859 CONFIG_NODE.
2860
2861 * routemap.c (route_map_index_free): New function.
2862 (no_route_map_all): New DEFUN for "no route-map NAME".
2863
2864 * filter.c (no_access_list_all): New DEFUN for delete access-list
2865 with NAME.
2866 (no_ipv6_access_list_all): Likewise.
2867
28682000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2869
2870 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
2871 specified, user can not use "ge" and "le" statement.
2872
28732000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
2874
2875 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
2876
2877 * table.c (route_table_free): Like wise.
2878
28792000-05-22 Toshiaki Takada <takada@zebra.org>
2880
2881 * vty.c (vty_stop_input): Set history pointer to the latest one.
2882
2883 * vty.c (vty_hist_add): Do not add command line history when input
2884 is as same as previous one.
2885
28862000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2887
2888 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
2889
28902000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2891
2892 * command.h (node_type ): Add BGP_VPNV4_NODE.
2893
28942000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2895
2896 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
2897 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
2898
2899 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
2900 IPv4 example. Reported by: Love <lha@s3.kth.se>.
2901
2902 * command.c (cmd_complete_command): Make it sure last element of
2903 matchvec is NULL. This fix problem which cause crush in
2904 vty_complete_command(). Reported by: JINMEI Tatuya
2905 <jinmei@isl.rdc.toshiba.co.jp>.
2906
29072000-04-28 Love <lha@s3.kth.se>
2908
2909 * prefix.h (struct prefix): Add padding.
2910
29112000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2912
2913 * command.c (show_version): Update copyright year.
2914
29152000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2916
2917 * routemap.c (route_map_apply): When map is NULL, return deny.
2918
29192000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2920
2921 * filter.c (access_list_apply): When access is NULL, return deny.
2922
2923 * plist.c (prefix_list_apply): When plist is NULL, return deny.
2924
29252000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2926
2927 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
2928
29292000-04-18 Toshiaki Takada <takada@zebra.org>
2930
2931 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
2932 Add argument for hook function to give struct access_list *.
2933
29342000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2935
2936 * plist.c (prefix_list_entry_match): In case of le nor ge is
2937 specified, exact match is performed.
2938 (prefix_list_entry_match): Add any entry matching check.
2939
29402000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2941
2942 * vty.c (exec_timeout): Separate timeout setting to minutes and
2943 seconds.
2944 (no_exec_timeout): Add "no exec-timeout" command.
2945
2946 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
2947 600.
2948
29492000-03-31 Jochen Friedrich <jochen@scram.de>
2950
2951 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
2952 it is a primitive encoding and not constructed.
2953
29542000-03-28 Toshiaki Takada <takada@zebra.org>
2955
2956 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
2957
29582000-03-26 Love <lha@s3.kth.se>
2959
2960 * zclient.c (zclient_read): Add nbytes size check for
2961 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
2962
29632000-03-26 Rick Payne <rickp@rossfell.co.uk>
2964
2965 * routemap.c: Add flexible route-map commands such as on-match
2966 next, on-match goto N.
2967
2968 * routemap.h: Likewise
2969
29702000-03-23 Adrian Bool <aid@u.net.uk>
2971
2972 * command.c (config_log_trap): Add new command "log trap
2973 PRIORITY".
2974
29752000-03-14 Toshiaki Takada <takada@zebra.org>
2976
2977 * memory.c (struct memory_list): Add Link List and Link Node
2978 to view.
2979
2980 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
2981
29822000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
2983
2984 * str.c (snprintf): Fix bug of calling sprintf instead of
2985 vsprintf.
2986
29872000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2988
2989 * memory.h (enum): Add MTYPE_RIP_PEER.
2990
29912000-01-15 Toshiaki Takada <takada@zebra.org>
2992
2993 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
2994
29952000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2996
2997 * command.h (node_type ): Add MASC_NODE for masc.
2998
29992000-01-09 Wang Jianliang <wangjl@soim.net>
3000
3001 * routemap.c (route_map_index_add): When route_map_index is not
3002 empty and insert new item at the head, it can cause core dump.
3003 Fix "if (index == map->head)" to "if (point == map->head).
3004 (route_map_add_set): If there is an old set command, override old
3005 set command with new one.
3006 (route_map_index_delete): Use while() instead of for for() for
3007 logical correctness.
3008
30091999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3010
3011 * memory.h (enum): Add MTYPE_BGP_STATIC.
3012
30131999-12-23 Alex Zinin <zinin@amt.ru>
3014 * zebra.h, zclient.*: dynamic int up/down message
3015 support
3016
30171999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3018
3019 * thread.c (thread_cancel_event): Add a function for clean up
3020 events.
3021
30221999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3023
3024 * dropline.c: Delete file.
3025 dropline.h: Linewise.
3026
30271999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3028
3029 * filter.c (access_list_filter_delete): Wrong pointer
3030 access->master was pointed out after access is freed. I store
3031 master value at the beginning of the function.
3032
30331999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3034
3035 * vty.c (exec_timeout): Change of VTY timeout affect to current
3036 VTY connection.
3037 (vty_accept): Instead of immediate exit() return -1.
3038
30391999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3040
3041 * vty.c (vty_configure_lock): Configuration lock function added.
3042 Only one VTY can use CONFI_NODE at the same time.
3043
3044 * log.c: Delete zvlog_* functions. Now zlog_* does the same
3045 thing.
3046
3047 * log.c (log_init): Function removed.
3048 (log_close): Likewise.
3049 (log_flush): Likewise.
3050 (log_open): Likewise.
3051
3052 * vty.c (terminal_monitor): Add new command.
3053 (no_terminal_monitor): Likewise.
3054
3055 * log.c (old_log): Function removed.
3056 (old_log2): Likewise.
3057 (old_log_warn): Likewise.
3058
30591999-12-04 Toshiaki Takada <takada@zebra.org>
3060
3061 * command.c (cmd_ipv6_match): New function added.
3062 (cmd_ipv6_prefix_match): Likewise.
3063
30641999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3065
3066 * command.c (cmd_ipv6_match):
3067
3068 * table.c: Delete #ifdef HAVE_MBGPV4.
3069
3070 * prefix.h (struct prefix): Add safi member.
3071 (struct prefix_ipv4): Likewise.
3072 (struct prefix_ipv6): Likewise.
3073
30741999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
3075
3076 * memory.c (struct mstat): Revert to support MEMORY_LOG.
3077
30781999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3079
3080 * version.h: Bump up to 0.81c for testing new kernel codes.
3081
30821999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3083
3084 * thread.h (struct thread): Pthread support is disabled all
3085 platform.
3086
30871999-11-21 Michael Handler <handler@sub-rosa.com>
3088
3089 * Include <limits.h> and <strings.h> under SUNOS_5.
3090
30911999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3092
3093 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
30941999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3095
3096 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
3097
30981999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3099
3100 * command.c (disable): Add `disable' command.
3101
31021999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3103
3104 * plist.c (vty_prefix_list_install): Add any check.
3105
31061999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3107
3108 * command.h (node_type ): Add DUMP_NODE.
3109
31101999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3111
3112 * smux.c: Change default SMUX oid to compatible with gated.
3113
31141999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3115
3116 * if_rmap.c: New file added.
3117
3118 * if_rmap.h: New file added.
3119
31201999-10-29 Alex Zinin <zinin@amt.ru>
3121
3122 * hash.c: add hash_free() function
3123
31241999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3125
3126 * hash.c (hash_clean): Add clean function.
3127
3128 * plist.c (prefix_list_reset): Add reset function.
3129
3130 * filter.c (access_list_reset): Add reset function.
3131
31321999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3133
3134 * client.c: Merged with zclient.c.
3135 * client.h: Merged with zclient.h.
3136
31371999-10-15 Jordan Mendelson <jordy@wserv.com>
3138
3139 * md5.c: Imported from GNU C Library.
3140 * md5-gnu.h: Likewise.
3141
31421999-10-15 Jochen Friedrich <jochen@scram.de>
3143
3144 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
3145
31461999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3147
3148 * smux.h: New file added.
3149
3150 * snmp.c: Rename to smux.c.
3151
31521999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3153
3154 * command.c (cmd_execute_command_strict): Filter ambious commands.
3155 (cmd_filter_by_string): Change to return enum match_type.
3156
31571999-10-01 Toshiaki Takada <takada@zebra.org>
3158
3159 * vty.c (vty_describe_fold): New function which does VTY
3160 description line fold.
3161 * vty.c (vty_describe_command): Set description column.
3162
31631999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3164
3165 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
3166
31671999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3168
3169 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
3170 CMD_IPV4_PREFIX check. Both return type must be exact_match.
3171
31721999-09-24 Toshiaki Takada <takada@zebra.org>
3173
3174 * command.c (cmd_filter_by_completion),
3175 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
3176 parameter matches range.
3177
31781999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3179
3180 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
3181 is performed.
3182
31831999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3184
3185 * vty.c (vty_read): Control-C stop VTY_MORE mode.
3186
31871999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
3188
3189 * command.h (node_type ): Add ACCESS_IPV6_NODE and
3190 PREFIX_IPV6_NODE.
3191
3192 * distribute.h: New file added.
3193
3194 * command.h (node_type ): Delete DISTRIBUTE_NODE.
3195
31961999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3197
3198 * vty.c (vty_terminate_all): New function added for reload
3199 support.
3200
32011999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3202
3203 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
3204
32051999-08-31 Janos Farkas <chexum@shadow.banki.hu>
3206
3207 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
3208 esc-ctrl-h (delete word backwards).
3209
32101999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3211
3212 * if.h: Add if_nametoindex for NRL.
3213
32141999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3215
3216 * if.c (if_create): New function.
3217
32181999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3219
3220 * snmp.c: New file.
3221
32221999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3223
3224 * stream.c (stream_put): stream_memcpy () is changed to stream_put
3225 (). stream_get () is added.
3226
32271999-08-18 Toshiaki Takada <takada@zebra.org>
3228
3229 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
3230
32311999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3232
3233 * table.c (route_table_finish): add function frees table.
3234
32351999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3236
3237 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
3238
32391999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3240
3241 * if.h (struct interface ): hw_address, hw_address_len added.
3242
32431999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3244
3245 * if.h (struct interface ): Change structure member if_data to
3246 info, index to ifindex.
3247
32481999-08-08 Rick Payne <rickp@rossfell.co.uk>
3249
3250 * routemap.c: Multi protocol route-map modification.
3251
3252 * routemap.c (route_map_apply): Route match process bug is fixed.
3253
32541999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3255
3256 * thread.c (thread_fetch): When signal comes, goto retry point.
3257
32581999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3259
3260 * Makefile.am: Add sockopt.c and sockopt.h
3261 * sockopt.c: New file.
3262 * sockopt.h: New file.
3263
32641999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3265
3266 * version.h (ZEBRA_VERSION): Release zebra-0.75
3267
32681999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3269
3270 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
3271
32721999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3273
3274 * sockunion.h: Add sockunion_getpeername ().
3275
32761999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3277
3278 * version.h: Release zebra-0.74
3279
32801999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3281
3282 * command.h (struct host): Delete lines from struct host. Add
3283 lines to struct vty.
3284
3285 * command.c: Delete `lines LINES'. Terminal display line settings
3286 should be done by `terminal length' command.
3287
32881999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3289
3290 * memory.h (enum): MTYPE_OSPF_PATH are added.
3291
32921999-07-22 Toshiaki Takada <takada@zebra.org>
3293
3294 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
3295
32961999-07-21 Toshiaki Takada <takada@zebra.org>
3297
3298 * linklist.c (list_add_node_prev), (list_add_node_next),
3299 (list_add_list): New function added.
3300
3301 * table.c (route_table_free): New function added.
3302
33031999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3304
3305 * plist.c (config_write_prefix): Set write flag when configuration
3306 is written.
3307
33081999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3309
3310 * prefix.c : prefix_cmp() added. change apply_mask() to
3311 apply_mask_ipv4(), and new apply_mask() added.
3312
33131999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3314
3315 * prefix.c (prefix2str): append prefixlen.
3316
33171999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3318
3319 * command.c (config_terminal): Change "config terminal" to
3320 "configure terminal". Reported by Georg Hitsch
3321 <georg@atnet.at>.
3322 (config_terminal_length): `terminal length <0-512>' is added. At
3323 this moment this command is only usef for vty interface.
3324 Suggested by Georg Hitsch <georg@atnet.at>.
3325
33261999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3327
3328 * routemap.c (rulecmp): Add wrapper function of strcmp.
3329
33301999-07-08 Rick Payne <rickp@rossfell.co.uk>
3331
3332 * sockunion.c (inet_aton): Fix bug of inet_aton.
3333
33341999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3335
3336 * version.h (ZEBRA_VERSION): Start zebra-0.73
3337
33381999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3339
3340 * version.h: Bump up to 0.72.
3341
33421999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3343
3344 * command.c (install_default): New function for install default
3345 commands to the node.
3346
3347 * memory.h (enum): MTYPE_NEXTHOP is added.
3348
33491999-07-01 <kunihiro@zebra.org>
3350
3351 * command.c (no_banner_motd): `no banner motd' command added.
3352
33531999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3354
3355 * regex.c: Update to glibc-2.1.1's posix/regex.c
3356
3357 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
3358
3359 * prefix.h (IPV4_ADDR_SAME): Macro added.
3360 (IPV6_ADDR_SAME): Likewise.
3361
33621999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3363
3364 * memory.h (enum): Add MTYPE_OSPF_VERTEX
3365
3366 * version.h: Bump up to 0.71.
3367
3368 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
3369 VTY socket when IPv6 is enabled.
3370
33711999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
3372
3373 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
3374 address family to bind.
3375
3376 * command.c: Add quit command.
3377
33781999-06-26 NOGUCHI kay <kay@dti.ad.jp>
3379
3380 * vty.c (vty_read_config): Fix bug of configuration file path
3381 detection.
3382
33831999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3384
3385 * version.h: Bump up to 0.70.
3386
33871999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3388
3389 * buffer.h (GETL): Remove GETL macro.
3390
3391 * version.h: Bump up to 0.69.
3392
33931999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3394
3395 * if.c (connected_add): Commented out connected_log.
3396
33971999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3398
3399 * command.h (struct cmd_element ): strvec and descvec is combined
3400 into newstrvec.
3401
3402 * command.c (desc_make): Function removed.
3403 (desc_next): Function removed.
3404
3405 * command.h (struct cmd_element ): docvec is removed from struct
3406 cmd_element.
3407
34081999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3409
3410 * command.c (cmd_execute_command): Remove command NULL check.
3411
3412 * command.h (struct cmd_element ): Add newstrvec entry to struct
3413 cmd_element.
3414 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
3415 (a|b|c) statement.
3416 (DESC): DESC macro is removed.
3417
3418 * vty.c (vty_complete_command): When return value is
3419 CMD_ERR_NO_MATCH, don't display error message.
3420
34211999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3422
3423 * table.c (route_next_until): New function.
3424
3425 * version.h: Bump up to 0.68.
3426
34271999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3428
3429 * vty.c (vty_close): Free vty->buf when vty is closed.
3430
3431 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
3432 MTYPE_COMMUNITY_LIST.
3433
3434 * vty.h (struct vty ): Change buf from static length buffer to
3435 variable length buffer.
3436
3437 * vty.c (vty_ensure): New function added.
3438
34391999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3440
3441 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
3442
3443 * command.c (config_enable_password): Freeing host.enable bug is
3444 fixed.
3445 (config_enable_password): Add argc count check.
3446
34471999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3448
3449 * version.h: Bump up to 0.67.
3450
34511999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3452
3453 * command.c (zencrypt): New function for encrypt password.
3454
3455 * command.h (struct host): Add password_encrypt and
3456 enable_encrypt.
3457
34581999-05-30 Jochen Friedrich <jochen@scram.de>
3459
3460 * command.h (struct host): New member encrypt is added for
3461 encrypted password.
3462
34631999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3464
3465 * vty.c: Remove all_digit_check function. Instead use all_digit.
3466
3467 * prefix.c (all_digit): New function for checking string is made
3468 from digit character.
3469
34701999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3471
3472 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
3473 (noinst_HEADERS): Add zclient.h
3474
3475 * zclient.[ch]: New file for zebra client routine.
3476
3477 * memory.h (enum): Add MTYPE_ZEBRA.
3478
34791999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3480
3481 * version.h (ZEBRA_VERSION): Update to 0.66.
3482
34831999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3484
3485 * buffer.h (GETC,GETW): Macro deleted.
3486
34871999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3488
3489 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
3490
34911999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3492
3493 * vty.c (service_advanced_vty): New command added.
3494 (no_service_advanced_vty): Likewise.
3495
34961999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3497
3498 * vty.c (vty_auth): If advanced flag is set and enable password is
3499 not set, directly login to the ENABLE_NODE. This feature is
3500 originally designed and implemented by Stephen R. van den Berg
3501 <srb@cuci.nl>.
3502
3503 * command.h (host): Add advanced flag to struct host for advanced
3504 vty terminal interface.
3505
3506 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
3507
35081999-05-14 Stephen R. van den Berg <srb@cuci.nl>
3509
3510 * command.h (node_type ): Add TABLE_NODE.
3511
3512 * vty.c (vty_telnet_option): Check host.lines value.
3513
3514 * command.c (config_lines): DEFUN for 'lines LINES' command.
3515
3516 * zebra.h: Include <sys/utsname.h> for uname().
3517 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
3518 routing table.
3519
3520 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
3521 password is not set.
3522 (vty_prompt): Get machine's hostname when hostname is not set.
3523
35241999-05-11 James Willard <james@whispering.org>
3525
3526 * command.c (config_exit): Close connection when `exit' command is
3527 executed at ENABLE_NODE.
3528
35291999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3530
3531 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
3532
3533 * command.c (cmd_execute_command_strict): Matched command size
3534 check added.
3535 (cmd_make_desc_line): New function for DEFUN2.
3536
3537 * command.h (struct cmd_element ): Add descsize.
3538
35391999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3540
3541 * command.h (struct cmd_element ): Remame descvec to docvec.
3542 (struct cmd_element ): Add descvec for new description system.
3543
3544 * command.c (desc_make): Check cmd->descvec.
3545
35461999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3547
3548 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
3549
35501999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3551
3552 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
3553 release.
3554
35551999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3556
3557 * linklist.c (list_delete_all_node): bug fix.
3558 previous code loses current position when node
3559 is deleted.
3560
35611999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3562
3563 * command.h (DESC): Macro added.
3564 (struct cmd_element2): Delete struct cmd_element2.
3565
3566 * plist.c (prefix_list): Sequential number option check is added.
3567
35681999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3569
3570 * log.c (zvlog_{debug,info,notice,warn,err}): have been
3571 added. now we can log both console and file, but still
3572 need some fix about config write.
3573
35741999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3575
3576 * log.c (zvlog_debug): Fix yasu's change.
3577
35781999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3579
3580 * plist.c (prefix_list): Fix typo.
3581
35821999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3583
3584 * Set version to 0.63 for first beta package.
3585
35861999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3587
3588 * prefix.c (str2prefix_ipv4): Fix prefix length check.
3589 (str2prefix_ipv6): Likewise.
3590
35911999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3592
3593 * memory.h (enum): Add MTPYE_PREFIX_LIST and
3594 MTYPE_PREFIX_LIST_ENTRY.
3595
3596 * command.h (node_type ): Add PREFIX_NODE.
3597
35981999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3599
3600 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
3601 (copy_runningconfig_startupconfig_cmd) is added.
3602
3603 * table.c (route_node_lookup): Unused match variable deletion.
3604
36051999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3606
3607 * Makefile.am (libzebra_a_SOURCES): plist.c added.
3608 (noinst_HEADERS): plist.h added.
3609
3610 * plist.c, plist.h: New file added.
3611
3612 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
3613 * memory.c: Likewise.
3614
36151999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3616
3617 * command.c (show_version): `show version' command added.
3618
36191999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3620
3621 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
3622
36231999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3624
3625 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
3626
36271999-04-19 Alex Bligh <amb@gxn.net>
3628
3629 * prefix.c (sockunion2hostprefix): Function added.
3630 (sockunion2prefix): Address family was not set. Now it is set.
3631
3632 * vty.c: VTY access-class command is added.
3633
36341999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3635
3636 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
3637 xstrdup are likewise.
3638
36391999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3640
3641 * thread.c: Add thread_execute for other routing daemon.
3642 OSPF tasks need to be generated by "sheduled" and "executed".
3643
36441999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3645
3646 * buffer.c: Rewrite buffer_write and buffer_flush related
3647 functions for fixing bugs. Reason of the problem and fix is
3648 suggested by Alex Bligh <amb@gxn.net>.
3649
36501999-04-12 Alex Bligh <amb@gxn.net>
3651
3652 * command.c (cmd_entry_function_descr): Added for variable
3653 argument help display.
3654
36551999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3656
3657 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
3658
36591999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3660
3661 * stream.c: stream_fifo_free bug is fixed.
3662
36631999-03-19 Toshiaki Takada <takada@zebra.org>
3664
3665 * stream.c (stream_strncpy): Added for getting any length bytes
3666 from stream.
3667
36681999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3669
3670 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
3671
36721999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3673
3674 * buffer.c (buffer_flush_window): If ep is same as buffer's size
3675 length and lp is overrun one octet.
3676
36771999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3678
3679 * vty.h: add VTY's timeout function.
3680
36811999-03-05 <kunihiro@zebra.org>
3682
3683 * command.h (node_type ): Add OSPF6_node.
3684
36851999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3686
3687 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
3688
36891999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
3690
3691 * zebra.h: Include <net/if_var.h> if it exists.
3692
36931999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3694
3695 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
3696
3697 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
3698
3699 * command.h: Include vector.h and vty.h
3700
37011999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3702
3703 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
3704
3705 * routemap.c (route_map_apply_index): Add prefix argument.
3706 (route_map_apply): Likewise.
3707
3708 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
3709
3710 * stream.c: Add stream_fifo related functions.
3711
37121999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3713
3714 * daemon.c: Return integer value. File descriptor close is added.
3715
3716 * memory.h (enum): add MTYPE_OSPF_LSA.
3717
37181999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3719
3720 * rsh.c: Remove empty file.
3721
37221999-02-22 <kunihiro@zebra.org>
3723
3724 * routemap.c: Add add/delete hook to route_map_master.
3725
37261999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
3727
3728 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
3729 strlcpy on system without these.
3730
37311999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
3732
3733 * syslog support added
3734
37351999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3736
3737 * filter.c (access_list_add_hook): added for hook function management.
3738 * filter.c (access_list_delete_hook): Likewise.
3739
37401999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3741
3742 * stream.c: New file.
3743 * stream.h: New file.
3744 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
3745
37461999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3747
3748 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
3749
3750 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
3751
37521998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3753
3754 * routemap.c: route_map_index_delete() added.
3755
37561998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3757
3758 * buffer.c (buffer_empty): check cp instead of sp.
3759
37601998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3761
3762 * radix.[ch]: Deleted.
3763
37641998-12-15 Magnus Ahltorp <map@stacken.kth.se>
3765
3766 * buffer.c: Prototype fixes.
3767 * prefix.c: Likewise.
3768 * sockunion.c: Likewise.
3769 * sockunion.h: Likewise.
3770
37711998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3772
3773 * vty.c (vty_read): DELETE key works as vty_delete_char.
3774
37751998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3776
3777 * log.c (time_print): chane %y to %Y.
3778
37791998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3780
3781 * distribute.c: new file.
3782
37831998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3784
3785 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
3786 complete support of IPv6 access list.
3787
3788 * command.c (config_write_element): function delete.
3789 (config_write_host): function add. password and enable password
3790 isn't printed to vty interface.
3791
37921998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3793
3794 * filter.c: Change prefix_ipv4 to prefix and add support of
3795 prefix_ipv6 filtering.
3796
37971998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3798
3799 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
3800 header includes.
3801
38021998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3803
3804 * log.c (log_flush): fix function name typo.
3805
38061998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3807
3808 * memory.h: OSPF memory type is added.
3809
38101998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3811
3812 * command.c (sort_node): add sort_node() for pretty printing of
3813 command on vty interface.
3814 (config_password): delete the restriction of charaster of password
3815 string.
3816
38171998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
3818
3819 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
3820
38211998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3822
3823 * network.h: New file.
3824
38251998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3826
3827 * vty.c (vty_will_echo): function name change from vty_off_echo.
3828
38291998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3830
3831 * buffer.h: add PUTC,PUTW,PUTL macros.
3832
38331998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3834
3835 * route.[ch]: renamed to prefix.[ch]
3836
38371998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3838
3839 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
3840
3841 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
3842
38431998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3844
3845 * host.[ch]: merged with command.[ch]
3846
38471998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3848
3849 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
3850
38511998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3852
3853 * route.c (str2prefix): str2prefix () is gone.
3854
38551998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3856
3857 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
3858
3859 * .cvsignore: add file.
3860
3861 * memory.c (xerror): add arguent `type' and `size'.
3862
3863 * socket.c: deleted.
3864
38651998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3866
3867 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
3868 * linklist.c: same as above.
3869
38701998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3871
3872 * filter.[ch]: added.
3873
38741998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3875
3876 * vty.c (config_who): return CMD_SUCCESS
3877
38781998-04-01 Jochen Friedrich <jochen@scram.de>
3879
3880 * table.c (route_dump_node): route_dump_node is IPv6 specific
3881 function so move #ifdef to the end of route_dump_node ().
3882
38831998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
3884
3885 * if.c: DEFUN(interface_desc) added.
3886
38871998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3888
3889 * if.c: separated from ripd/rip_interface.c
3890
38911998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3892
3893 * thread.[ch] : added.
3894
38951998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3896
3897 * vty.c (vty_delete_char): fix size bug.
3898 (vty_backward_pure_word): function added.
3899 (vty_read): ESC + 'f' perform vty_forward_word.
3900 (vty_read): ESC + 'b' perform vty_backward_word.
3901
39021998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3903
3904 * radix.c (radix_lookup_rt): add mask check.
3905 (radix_delete_duproute): add mask check.
3906
39071998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3908
3909 * command.c (config_write_file): fix vty -> file_vty.
3910
39111998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3912
3913 * command.c (cmd_filter_ambiguous): add complex type treatment.
3914
39151998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3916
3917 * vty.c (vty_time_print): function added.
3918 (vty_complete_command): now [...] element isn't shown by completion.
3919
39201998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3921
3922 * command.c : change from cmd_install_node() to install_node().
3923
39241998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3925
3926 * route.[ch]: struct rt{} is replaced by struct prefix{}.
3927
39281998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3929
3930 * command.c (cmd_execute_command): check command length.
3931
3932 * timer.c (zebra_timer_set): add zebra_timer_set.
3933
39341998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3935
3936 * command.h (node_type ): add ZEBRA_NODE.
3937
3938 * command.c (config_exit): add RIP_NODE.
3939 (config_write_file): add RIP_NODE.
3940
39411998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3942
3943 * print_version.c (print_version): Now Copyright is 1996-1998.
3944
3945 * sockunion.c (sockunion_log): moved from ../zebra/route.c
3946
39471997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3948
3949 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
3950
3951 * sockunion.c (sockunion_sameprefix): add same prefix for
3952 sockunion.
3953
39541997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3955
3956 * radix.[ch] : are moved from ../zebra directroy.
3957
3958 * command.c (config_from_file): if command execution failed down
3959 level to CONFIG_NODE.
3960
3961 * host.c: config_log function which enable 'log FILENAME' command.
3962
39631997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3964
3965 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
3966 transpose character.
3967
3968 * command.c: cmd_cmdsize add, this is useful to check incomplete
3969 command.
3970
39711997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3972
3973 * fd.h: add family for address family
3974
39751997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3976
3977 * command.o
3978 * vty.o
3979 * host.o is moved from ../zebra
3980
39811997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3982
3983 * make library directory.
3984