blob: 681bdebcafb806ce72292bf3954ec8a59a313626 [file] [log] [blame]
Paul Jakma3d52bb82008-06-07 20:42:07 +000012008-06-07 Paul Jakma <paul@jakma.org>
2
3 * stream.{c,h}: (stream_{put,write}) add const qualifier to source
4 argument. Change u_char to void *.
5
Denis Ovsienkoe96f9202008-06-02 12:03:22 +000062008-06-02 Denis Ovsienko
7
8 * workqueue.[ch]: completely drop WQ_AIM_HEAD flag and
9 work_queue_aim_head() function, they aren't needed any more
10 with the new meta queue structure; (work_queue_run) don't
11 increment the counter on work item requeueing
12
Paul Jakma5f568082008-02-28 00:09:04 +0000132008-02-28 Paul Jakma <paul.jakma@sun.com>
14
Paul Jakma11486b52008-02-28 23:26:02 +000015 * log.c: (mes_lookup) Sowmini Varadhan diagnosed a problem where
16 this function can cause a NULL dereference, on lookups for unknown
17 indices, or messages with NULL strings. Can occur, e.g., debug
18 logging code when processing received messages. Fixed to accept a
19 pointer to a default string to be used if there is no match.
20 * log.h: LOOKUP adjusted to match
21
222008-02-28 Paul Jakma <paul.jakma@sun.com>
23
Paul Jakma5f568082008-02-28 00:09:04 +000024 * linklist.c: This implementation expects that the data pointer not
25 be null, e.g. listgetdata() asserts this. The list add methods
26 don't apply the same sanity check.
27
28 Noted by Jim Carlson in bug #437.
29
Andrew J. Schorr55edb0d2008-01-11 15:57:13 +0000302008-01-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
31
32 * zebra.h: Revert previous change, no need to include <net/if_media.h>
33 here.
34
Andrew J. Schorrc543a172008-01-10 15:24:32 +0000352008-01-10 Ingo Flaschberger <if@xip.at>
36
37 * zebra.h: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h>.
38
Paul Jakma912df1e2008-01-08 13:50:11 +0000392008-01-08 Pavol Rusnak <prusnak@suse.cz>
40
41 * memory.c: (mtype_memstr) Fix accidental shift past width of type,
42 constant should have been forced to UL, rather than being left to
43 default to int.
44
Denis Ovsienko6ce80bd2007-11-12 14:55:01 +0000452007-11-12 Denis Ovsienko
46
47 * linklist.c: (listnode_add_after) Don't forget to increment list
48 items counter.
49 * workqueue.h: Changed working queue flags from enum into integer
50 and introduced WQ_AIM_HEAD flag to indicate our will to insert
51 new data before the list head.
52 * workqueue.[ch]: (work_queue_schedule, show_work_queues,
53 work_queue_plug, work_queue_unplug) Adjust to the new flags style.
54 * workqueue.[ch]: (work_queue_aim_head) new function to control the
55 WQ_AIM_HEAD flag
56 * workqueue.[ch]: (work_queue_new) Explicitly set both WQ flags
57 during new WQ initialization.
58 * workqueue.[ch]: (work_queue_add) If WQ_AIM_HEAD indicates a need
59 to place the new data into list head, do it.
60
Paul Jakmaa56ef882007-10-22 15:53:17 +0000612007-10-22 Lorenzo Colitti <lorenzo@colitti.com>
62
63 * smux.c: (smux_stop) Avoid cancelling a defunct thread pointer
64 (smux_start) Stop smux before trying to start it, possibly again.
65
Denis Ovsienko7593fdd2007-10-04 15:09:19 +0000662007-10-04 Denis Ovsienko
67
68 * pid_output.c: (pid_output) stop using LOGFILE_MASK
69 (0600 by default), introduce and use PIDFILE_MASK (0644)
70 instead.
71
Paul Jakma6b148fa2007-09-18 18:07:18 +0000722007-09-18 Paul Jakma <paul.jakma@sun.com>
73
74 * privs.c: definition of ZCAP_NET_ADMIN on Solaris should
75 be PRIV_SYS_IP_CONFIG, when that's available. Thus allowing
76 Quagga to work with in Solaris zones with exclusive IP
77 instances.
78
Denis Ovsienkob7fe4142007-08-21 16:32:56 +0000792007-08-21 Denis Ovsienko
80
81 * sockopt.[ch]: (setsockopt_so_sendbuf, getsockopt_so_sendbuf):
82 new functions to adjust ospfd working socket.
83
Denis Ovsienkodc958242007-08-13 16:03:06 +0000842007-08-13 Denis Ovsienko
85
86 * zebra.h: introduce ZEBRA_ERR_KERNEL and ZEBRA_ERR_NOERROR
87
Paul Jakma7591d8b2007-08-06 18:52:45 +0000882007-07-06 Atis Elsts <atis@mikrotik.com>
89
90 * pqueue.{c,h}: Export trickle_up
91
Paul Jakma6d582722007-08-06 15:21:45 +0000922007-07-26 Paul Jakma <paul.jakma@sun.com>
93
94 * log.c: (mes_lookup) warning about code not being in same-number
95 array slot should be debug, not warning. E.g. BGP has several
96 discontigious number spaces, allocating from different parts of a
97 space is not uncommon (e.g. IANA assigned versus vendor-assigned
98 code points in some number space).
99
Andrew J. Schorr97cabcf2007-07-06 17:00:24 +00001002007-07-06 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
101
102 * sockopt.{c,h}: (setsockopt_multicast_ipv4) Add some comments about
103 the arguments.
104
Andrew J. Schorr0dc0b702007-06-01 13:21:20 +00001052007-06-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
106
107 * zebra.h: On linux, we seem to need to include <linux/types.h> before
108 <sys/sysctl.h>, otherwise we get isisd compilation errors about
109 __be16 not being defined.
110
Paul Jakmad46d2a22007-05-10 16:53:04 +00001112007-05-10 Paul Jakma <paul.jakma@sun.com>
112
113 * zebra.h: Don't try define _GNU_SOURCE, autoconf should do it.
114
Paul Jakmafb982c22007-05-04 20:15:47 +00001152007-05-03 Paul Jakma <paul.jakma@sun.com>
116
117 * memtypes.c: Add MTYPE_ATTR_EXTRA and MTYPE_BGP_ROUTE_EXTRA
118
Paul Jakma7514fb72007-05-02 16:05:35 +00001192007-05-01 David L Stevens <dlstevens@us.ibm.com>
120
121 * (general) These changes collectively add route-map and
122 prefix-list support to zebra and fix a bug in "show
123 route-map" (with no argument).
124 * command.h: added PROTOCOL_NODE type
125 * log.c: (proto_name2num) new function, protocol name to
126 number translation.
127 * routemap.c: (vty_show_route_map) fixed "show route-map"
128 without route-map name
129 * routemap.h: added RMAP_ZEBRA type
130 * zebra.h: added proto_name2num() prototype
131
Andrew J. Schorrbcdda302007-04-29 15:48:22 +00001322007-04-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
133
134 * log.c: (quagga_timestamp) Optimize the subsecond timestamp generation.
135
Andrew J. Schorr1ed72e02007-04-28 22:14:10 +00001362007-04-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
137
138 * command.c: (config_write_host) Save "log timestamp precision"
139 if not default value.
140 (show_logging) Show configured timestamp precision.
141 (config_log_timestamp_precision) Enable configuration of timestamp
142 precision.
143 (no_config_log_timestamp_precision) Restore default timestamp
144 precision.
145 (cmd_init) Install new timestamp precision commands.
146 * log.h: (struct zlog) New timestamp_precision field.
147 (quagga_timestamp) New function to generate a timestamp with the
148 desired precision.
149 (struct timestamp_control) Declare a structure for use in avoiding
150 repeated duplicate calls to quagga_timestamp.
151 * log.c: (quagga_timestamp) New function to generate a timestamp
152 of the desired precision.
153 (time_print) Call quagga_timestamp if the time hasn't already been
154 calculated.
155 (vzlog) Initialize a timestamp_control structure and pass it to
156 time_print and vty_log.
157 (zlog_backtrace) Fix 64-bit problem: cannot print size_t with %u.
158 * vty.h: Must now include "log.h".
159 (vty_log) Takes an additional struct timestamp_control argument.
160 * vty.c: (vty_log_out) Use new struct timestamp_control and new
161 quagga_timestamp function to print timestamps of the desired
162 precision.
163 (vty_time_print) Use new quagga_timestamp function.
164 (vty_log) Accept new struct timestamp_control argument and pass it
165 down to vty_log_out.
166
Andrew J. Schorreda9ba72007-04-27 18:13:15 +00001672007-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
168
169 * smux.c: (smux_trap) Fix printf format to work with 64-bit size_t.
170
Paul Jakma6dc686a2007-04-10 19:24:45 +00001712007-04-07 Paul Jakma <paul.jakma@sun.com>
172
173 * prefix.h: Add define to match IPv4 Link-Local addresses
174
Andrew J. Schorrafb88a62007-03-20 20:48:27 +00001752007-03-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
176
177 * log.c: (mes_lookup) Make the function more robust: check for
178 cases where the index does not match the key value at that position.
179 If so, give a warning and fall back to a linear search.
180 And improve the error message in cases where even that fails.
181
Andrew J. Schorre4529632006-12-12 19:18:21 +00001822006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
183
184 * if.h: (struct connected) Add new ZEBRA_IFA_PEER flag indicating
185 whether a peer address has been configured. Comment now shows
186 the new interpretation of the destination addr: if ZEBRA_IFA_PEER
187 is set, then it must contain the destination address, otherwise
188 it may contain the broadcast address or be NULL.
189 (CONNECTED_DEST_HOST,CONNECTED_POINTOPOINT_HOST) Remove obsolete
190 macros that were specific to IPv4 and not fully general.
191 (CONNECTED_PEER) New macro to check ZEBRA_IFA_PEER flag.
192 (CONNECTED_PREFIX) New macro giving the prefix to insert into
193 the RIB: if CONNECTED_PEER, then use the destination (peer) address,
194 else use the address field.
195 (CONNECTED_ID) New macro to come up with an identifying address
196 for the struct connected.
197 * if.c: (if_lookup_address, connected_lookup_address) Streamline
198 logic with new CONNECTED_PREFIX macro.
199 * prefix.h: (PREFIX_COPY_IPV4, PREFIX_COPY_IPV6) New macros
200 for better performance than the general prefix_copy function.
201 * zclient.c: (zebra_interface_address_read) For non-null destination
202 addresses, set prefixlen to equal the address prefixlen. This
203 is needed to get the new CONNECTED_PREFIX macro to work properly.
204
Paul Jakma98954842006-10-15 23:33:50 +00002052006-10-14 Paul Jakma <paul.jakma@sun.com>
206
207 * if.c: (general) Handle upgrades from SUNWzebra, which tried
208 to track each logical interface as a seperate struct
209 interface, to Quagga, which assigns only one struct interface
210 per ifindex.
211 (if_sunwzebra_get) Try decompose a logical interface name
212 (fooX:Y) to the 'primary' name (fooX), for Solaris.
213 (interface_cmd) Use if_sunwzebra_get on Solaris.
214
Andrew J. Schorr965b83f2006-09-26 15:30:43 +00002152006-09-26 Pierre-Yves Ritschard <pierre-yves@spootnik.org>
216
217 * smux.c: (smux_open,smux_trap,smux_register) Fix various
218 asn_build_* calls to pass the proper length in the final
219 argument: use sizeof(<variable>) instead of sizeof(<type>),
220 since there were several inconsistencies between the actual
221 variable type and the size that was passed. This should
222 fix some problems on 64-bit architectures where sizeof(int)
223 != sizeof(long).
224
Paul Jakmadb9c0df2006-08-27 06:44:02 +00002252006-08-25 Paul Jakma <paul.jakma@sun.com>
226
227 * thread.c: (general) Add support for monotonic clock, it may still
228 jump forward by huge amounts, but should be immune to going
229 backwards. Fixes bug #134.
230 (quagga_gettimeofday_relative_adjust) helper, does what name
231 says - adjusts gettimeofday based relative timer.
232 (quagga_gettimeofday) helper to keep recent_time up to date.
233 (quagga_get_relative) helper, update and getch the relative
234 timer using gettimeofday(). POSIX CLOCK_MONOTONIC is also
235 supported, but the code is not enabled yet nor tested.
236 (quagga_real_stabilised) helper, retrieve absolute time but
237 stabilised so as to never decrease.
238 (quagga_gettime) Exported interface, analogous to POSIX
239 clock_gettime() in interface, supporting several clocks.
240 (quagga_time) Exported interface, analogous to traditional
241 time(), will never decrease.
242 (recent_relative_time) Convenience function to retrieve
243 relative_time timeval, similar to existing recent_time absolute
244 timeval, for when an approximately recent value will do.
245 (remainder) Update to use above helpers.
246 (thread_getrusage) Previously was a macro, but needs to be
247 a function to twiddle with thread.c private stuff.
248 * thread.c: Point the GETRUSAGE macro at previous function.
249 Export quagga_gettime, quagga_time and recent_relative_time for
250 general use.
251
Paul Jakmacc8b13a2006-07-25 20:40:40 +00002522006-07-25 Paul Jakma <paul.jakma@sun.com>
253
254 * thread.h: (struct thread) Add a cache pointer to the struct
255 cpu_thread_history, if it is known - saving hash lookup on
256 each thread_call.
257 * thread.c: (thread_call) Cache the pointer to the
258 cpu_thread_history, so that future thread_calls of same
259 thread can avoid the hash_lookup.
260
Andrew J. Schorr74542d72006-07-10 18:09:42 +00002612006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
262
Andrew J. Schorr9d0a3262006-07-11 00:06:49 +0000263 * vty.c: (vty_log_out) Do not call vty_close, because this could
264 result in a parent function's accessing the freed memory.
265 Instead, set status VTY_CLOSE and call shutdown(vty->fd, SHUT_RDWR).
266 And add a comment on vty_close.
267
2682006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
269
Andrew J. Schorr74542d72006-07-10 18:09:42 +0000270 * vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read)
271 After an I/O error, must set vty->monitor to 0 before calling
272 zlog_warn, otherwise an infinite recursion could occur
273 (since zlog_warn triggers a message to be written to the vty,
274 and that in turn triggers another error message when it fails, etc.).
275
Andrew J. Schorr08942da2006-07-03 20:58:29 +00002762006-07-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
277
278 * vty.c: (vty_log_out) Debug messages to terminal vty sessions
279 should include timestamps.
280
Paul Jakma74176d22006-06-30 16:49:02 +00002812006-06-28 Paul Jakma <paul.jakma@sun.com>
282
283 * memory.c: Fix typo in cpp conditional around malloc.h, from
284 comment in bug #269.
285
Paul Jakma95509e62006-06-27 08:26:07 +00002862006-06-27 Paul Jakma <paul.jakma@sun.com>
287
288 * route_types.awk: Remove setting the 'bare' numeric route type
289 in redist strings.
290
Paul Jakmae5cd7062006-06-15 12:25:55 +00002912006-06-15 Paul Jakma <paul.jakma@sun.com>
292
293 * command.c: (cmd_describe_command_real) Fix leak, CID #38.
Paul Jakma8ce5cfd2006-06-15 12:41:02 +0000294 * memory.h: Experimental, have XFREE macro NULL out the freed
295 pointer.
Paul Jakmac024fd02006-06-15 12:43:09 +0000296 * linklist.c: (list_delete) call list_delete_all_node, don't
297 duplicate it.
Paul Jakma630c97c2006-06-15 12:48:17 +0000298 * if.c: (if_flag_dump) remove the whitespace indentation, callers
299 should provide.
Paul Jakmae5cd7062006-06-15 12:25:55 +0000300
Paul Jakma35cfc902006-05-28 08:08:24 +00003012006-05-28 Paul Jakma <paul.jakma@sun.com>
302
303 * zebra.h: Include inttypes.h rather than stdint.h, best practice
304 according to the autoconf manual.
305 Add UINT*_MAX defines for older platforms lacking these (FBSD 4)
Paul Jakmad09552d2006-05-28 08:15:46 +0000306 * memory.c: malloc.h is deprecated in favour of stdlib.h, however
307 we still need it on GNU Libc for mallinfo().
Paul Jakmaa4b30302006-05-28 08:18:38 +0000308 * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty
309 hasn't been initiliased.
Paul Jakmafb66b292006-05-28 08:26:15 +0000310 * log.c: (general) Add support for Sun libc printstack().
311 (hex_append) make the cpp conditional on general HAVE_STACK_TRACE
312 define.
313 (zlog_backtrace_sigsafe) Ditto. Add printstack() version of the
314 the DUMP macro in this function.
Paul Jakma35cfc902006-05-28 08:08:24 +0000315
Paul Jakma9c42a6e2006-06-27 07:52:03 +00003162006-05-23 Paul Jakma <paul.jakma@sun.com>
317
318 * route_types.txt: New file, table of ZEBRA_ROUTE definitions.
319 * route_types.awk: New script, to parse previous and generate
320 (for now) redistribute string defines.
321 * Makefile.am: build route_types.h using previous two, ala
322 memtypes.h, include the script and table file in EXTRA_DIST.
323 * command.h: pull in route_types.h, add a REDIST_STR define.
324
Paul Jakmaadf62212006-06-30 16:55:41 +00003252006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
326
327 * if.h: (struct connected) Document the meaning of the
328 ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags.
329
Paul Jakmad6d672a2006-05-15 16:56:51 +00003302006-05-15 Paul Jakma <paul.jakma@sun.com>
331
332 * log.c: (general) Generalise struct zebra_route_desc into
333 struct zebra_desc_table and, similar to route_types, add a
334 command_types table to describe Zserv protocol commands.
335 (route_types[]) use a macro to use designated initialisers
336 while avoiding tedious duplication.
337 (zserv_command_string) lookup string from zebra_desc_table,
338 similar to zebra_route_string
339 * zebra.h: Add declaration for zserv_command_string, adjust the
340 comments to reflect zebra_desc_table.
341
Paul Jakmad16e0432006-05-15 10:56:46 +00003422006-05-13 Paul Jakma <paul.jakma@sun.com>
343
344 * vty.c: (vty_describe_command) CID #39 fix was too hasty, just
345 cause it /can/ leak doesn't mean it always will have, check
346 first.
347
Paul Jakma9376c342006-05-12 23:17:38 +00003482006-05-12 Paul Jakma <paul.jakma@sun.com>
349
350 * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref
351 of prefix and typestr strings, Coverity CID #3.
Paul Jakmad2519962006-05-12 23:19:37 +0000352 * command.c: (cmd_complete_command_real) Fix leak of cmd_vector
353 in error case, Coverity CID #37.
Paul Jakma5fc60512006-05-12 23:24:09 +0000354 (cmd_describe_command_real) Fix return of freed pointer when
355 no-match, CID #55.
Paul Jakma2fe8aba2006-05-12 23:22:01 +0000356 * vty.c: (vty_describe_command) fix leak of describe vector in
357 error path, CID #39.
Paul Jakma9376c342006-05-12 23:17:38 +0000358
Paul Jakma6cf0cf02006-03-30 14:43:17 +00003592006-03-30 Paul Jakma <paul.jakma@sun.com>
360
361 * command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as
362 potentially being unused.
Paul Jakma213d8da2006-03-30 14:45:47 +0000363 * workqueue.c: (work_queue_run) fix line length of comment
Paul Jakma6cf0cf02006-03-30 14:43:17 +0000364
Paul Jakmad4ce4f62006-03-30 14:30:19 +00003652006-03-27 Paul Jakma <paul.jakma@sun.com>
366
367 * memtypes.awk: Fix gensub call, g should be a string..
368
Paul Jakma68784532006-03-30 14:25:24 +00003692006-03-25 Paul Jakma <paul.jakma@sun.com>
370
371 * workqueue.h: (struct work_queue) Remove status field and
372 state flag, no longer used.
373
Paul Jakmab51f1262006-03-30 14:09:38 +00003742006-03-19 Paul Jakma <paul.jakma@sun.com>
375
376 * memtypes.c: Add MTYPE_BGP_SYNCHRONISE.
377
Paul Jakmacec0c4f2006-03-30 13:58:05 +00003782006-03-16 Paul Jakma <paul.jakma@sun.com>
379
380 * Makefile.am: Fix -version-info argument.
381
Paul Jakma41be32b2006-03-30 13:53:59 +00003822006-03-15 Paul Jakma <paul.jakma@sun.com>
383
384 * memory.c: (mtype_memstr) new helper function to
385 return human friendly string for a byte count.
386 (mtype_stats_alloc) new function, for users to retrieve
387 number of objects allocated.
388 (show_memory_mallinfo) New function, show mallinfo statistics
389 if available.
390 (show_memory_all_cmd) Call show_memory_mallinfo, if mallinfo
391 is available.
392 * memory.h: Export mtype_memstr and mtype_stats_alloc.
393 Provide a define for a reasonable buffer size for
394 mtype_memstr.
395
Paul Jakma924f9d32006-03-30 13:25:52 +00003962006-03-14 Paul Jakma <paul.jakma@sun.com>
397
398 * privs.c: (zprivs_caps_init) Change user IDs before lowering
399 privileges, while this seems to work on Linux, on Solaris
400 it rightfully refuses due to PRIV_PROC_SETID having been
401 dropped.
Paul Jakma86228fd2006-03-30 15:00:30 +0000402 * command.h: Add the struct host global exported from command.c
Paul Jakma924f9d32006-03-30 13:25:52 +0000403
Paul Jakma478ccfd2006-03-06 18:18:37 +00004042006-03-06 Paul Jakma <paul.jakma@sun.com>
405
406 * if.h: export show_address_cmd, for anyone who wishes to use
407 it.
408
Paul Jakma5a54df92006-02-21 01:37:14 +00004092006-02-21 Paul Jakma <paul.jakma@sun.com>
410
411 * sockunion.c: (sockunion_{su2str,log}) Use XSTRDUP.
412 Particularly with _su2str, as that string gets XFREEd,
413 which can be annoying if run debug code in memory.c.
414
paul306d8892006-02-02 17:50:19 +00004152006-02-02 Paul Jakma <paul.jakma@sun.com>
416
417 * workqueue.h: (struct work_queue) Remove the delay field.
418 It served no purpose and just introduced bad behaviour.
419 Should be excised before its allowed to escape into 1.0.
420 This removes need for the 'flood' and runs_since_clear
421 fields.
422 * workqueue.c: (general) excise delay factor between queue
423 runs, hence the 'flood' crap too.. See above.
424
paul581a02a2006-01-19 20:22:16 +00004252006-01-19 Paul Jakma <paul.jakma@sun.com>
426
427 * stream.c: (stream_getq_from) should use POSIX uint64_t
428 not u_int64_t. Latter is neither a traditional BSD type, nor
429 a POSIX type.
430
vincenteac314c2006-01-17 23:39:04 +00004312006-01-17 Vincent Jardin <vincent.jardin@6wind.com>
432
433 * md5.c: Don't forget to keep const.
434 * regex.c: Cleanup code and remove warnings.
435
paul7d0b0c42006-01-17 17:40:45 +00004362006-01-17 Paul Jakma <paul.jakma@sun.com>
437
438 * md5.{c,h}: (md5_loop) Is better off taking a void * and doing
439 cast to byte wise type internally, avoids needs for casts
440 in users.
paul789f78a2006-01-17 17:42:03 +0000441 * vty.c: (no_terminal_monitor_cmd) New ALIAS for
442 terminal_no_monitor, in the more normal negating format,
443 to be kind to my fingers.
444 (vty_init) install new ALIAS.
pauld2110862006-01-17 17:43:18 +0000445 * zclient.{c,h}: (zclient_create_header) export this, seems others
446 could use it (in lieu of more complete zserv helpers).
paul7d0b0c42006-01-17 17:40:45 +0000447
paulc1b98002006-01-16 01:54:02 +00004482006-01-16 Paul Jakma <paul.jakma@sun.com>
449
450 * zclient.h: Update the Zserv protocol header with a version
451 field. Define the old command field to be a 'marker', to
452 allow old Zserv and updated Zserv to be differentiated.
453 Future updates will bump the version field obviously. New
454 command field is made wider. Try to stop using the
455 'zebra_size_t' typedef in the callbacks.
456 * zclient.c: Update to read/write new format header.
457
paulc77d4542006-01-11 01:59:04 +00004582006-01-11 Paul Jakma <paul.jakma@sun.com>
459
460 * if.h: (struct interface) expand flags to 8 bytes.
461 * zclient.c: (zebra_interface_{add,state}_read) stream read of
462 interface flags now need to use stream_getq.
463 (zebra_interface_if_set_value) ditto
464
paul4b201d42006-01-10 14:35:19 +00004652006-01-10 Paul Jakma <paul.jakma@sun.com>
466
467 * stream.c: (stream_new) Allocate stream data as seperate object.
468 (stream_free) free the data.
469 (stream_resize) new function, resize stream to new size.
470 (stream_{get,put}q*) new functions to get/put quad word size
471 types.
472 * stream.h: (struct stream) make data seperate from the stream.
473 Export new stream_resize and quad-word get/put functions.
474
gdtf80a0162005-12-29 16:03:32 +00004752005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com>
476
477 * vty.c (vty_hello): add cast to quiet lint (from David Young)
478
paul00c290e2005-11-26 09:21:43 +00004792005-11-26 Paul Jakma <paul.jakma@sun.com>
480
481 * buffer.c: (struct buffer_data) change gcc zero array
482 declaration to C99 incomplete array.
483 * stream.h: (struct stream) same
484
paul6e0f1b92005-11-24 12:47:17 +00004852005-11-24 Paul Jakma <paul.jakma@sun.com>
486
487 * privs.c: (zcaps2sys/solaris) remove unused variable.
488 (zprivs_state_caps/solaris) Format string missing a
489 specifier.
paulb6026072005-11-24 12:51:24 +0000490 * zebra.h: s/u_int/unsigned int/, u_int is a BSD type, defining
491 __USE_BSD on Linux pulls in further things from netinet/ip.h
492 which dont preprocess for some reason. There is no C99
493 shorthand type directly equivalent to u_int afaict, so don't
494 use it.
paul6e0f1b92005-11-24 12:47:17 +0000495
paul190880d2005-11-14 12:07:47 +00004962005-11-14 Paul Jakma <paul.jakma@sun.com>
497
paul889e9312005-11-14 14:46:35 +0000498 * (general) pass struct work-queue to callback functions.
499 * workqueue.h: (struct work_queue) move the state flag
500 variables to end.
501 Add an opaque pointer to spec, for user-data global to the
502 queue.
503 Pass reference to work_queue to all callbacks.
504 * workqueue.c: (work_queue_item_remove) pass ref to workqueue
505 to user callbacks.
506 (work_queue_run) ditto.
507
5082005-11-14 Paul Jakma <paul.jakma@sun.com>
509
paul190880d2005-11-14 12:07:47 +0000510 * (general) Add state to detect queue floods. There's no sense
511 trying to be sparing of CPU resources, if the queue is
512 flooding and using ever more memory resources. we should just
513 get on with clearing the queue.
514 The sense of delay and hold were wrong way around, fix.
515 * workqueue.h: (struct work_queue) Add status bitfield. Add
516 'flood' integer to workqueue spec. Add runs_since_clear
517 counter to workqueue.
518 * workqueue.c: (work_queue_new) set defaults for delay, hold
519 and flood.
520 (work_queue_add) initial schedule should use delay, not hold.
521 (show_work_queues) Print flood field, conserve whitespace.
522 (work_queue_unplug) use delay, not hold.
523 (work_queue_run) consecutive runs should be seperated by hold
524 time, not delay.
525 Keep track of number of consecutive runs, go into 'overdrive'
526 if queue is being flooded, we can't avoid making heavy use of
527 resources, better to use CPU than ever more RAM.
paul76367ea2005-11-14 14:05:35 +0000528 * zebra.h: [bug #231] include stdint, if its there.
paul190880d2005-11-14 12:07:47 +0000529
5302005-11-05 Paul Jakma <paul.jakma@sun.com>
pauldb29ae52005-11-12 22:36:41 +0000531
532 * routemap.c: (vty_show_route_map_entry) call action is
533 seperate from exit action, latter should still be printed
534 regardless of whether a call is specified.
535
paul34204aa2005-11-03 09:00:23 +00005362005-11-03 Paul Jakma <paul.jakma@sun.com>
537
538 * zebra.h: BSD BYTE_ORDER define isn't available everywhere,
539 define if needs be.
540 * checksum.h: new file. checksum.c exports in_cksum, provide
541 a header for it.
542 * checksum.c: (in_cksum) callers shouldn't have to know it uses
543 a u_short internally, change to void *.
544 * Makefile.am: Add checksum.h
545 * command.h: remove bogus trailling slash.
546 * md5.c: (general) Update it for the twentieth century. ANSI
547 declarations are widely supported now.. Don't include system
548 headers, only include zebra.h. Use POSIX types (the
549 alternative is to define u_int64_t in a portable way - rest
550 of Quagga needs same cleanup).
551 Make endian-conditional code be compiler conditional rather
552 than preprocessor conditional, so that breakage gets noticed
553 quicker.
554 * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable
555 compiler compatibility hack.
paul9c4f1c62005-11-03 11:04:07 +0000556 * if.c: (connected_free) use MTYPE for connected label.
paula49ad232005-11-03 13:00:54 +0000557 * memtypes.c: Add MTYPE_CONNECTED_LABEL
558 * memtypes.h: Update auto-built file.
paul34204aa2005-11-03 09:00:23 +0000559
paul02416842005-10-26 05:05:16 +00005602005-10-26 Paul Jakma <paul.jakma@sun.com>
561
562 * (general) Cleanup a some calls to XFREE,strdup, etc. to use
563 the memory.h macros.
564 * memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE,
565 MTYPE_PQUEUE_DATA and MTYPE_HOST.
566 * memtypes.h: update auto-built file.
567 * if_rmap.c: Use MTYPE_IF_RMAP_NAME.
568 * pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations.
paul05865c92005-10-26 05:49:54 +0000569 * command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups,
570 including fixing some likely leaks in config_write_file.
571 * vty.c: memory macro usage fixes.
572 (vty_read_config) fix leak where relative config file is
573 specified.
paul02416842005-10-26 05:05:16 +0000574
ajs24065a32005-10-20 22:28:14 +00005752005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
576
ajsc188c372005-10-21 02:57:41 +0000577 * sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP
578 fails with errno equal to EADDRINUSE, then issue an info
579 message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP.
580
5812005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
582
ajs24065a32005-10-20 22:28:14 +0000583 * memory.c: (show_memory_vty) Omit zero statistics. Print separators
584 only if some non-zero stats have been printed in between.
585 (show_separator) New function to print a separator.
586 (show_memory_all) Keep track of whether a separator is needed
587 between the different memory statistics groups.
588
ajs50123222005-10-18 20:19:13 +00005892005-10-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
590
591 * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c).
592
pauleb3da6d2005-10-18 04:20:33 +00005932005-10-18 Paul Jakma <paul.jakma@sun.com>
594
595 * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT.
596
ajsf52d13c2005-10-01 17:38:06 +00005972005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
598
599 * zebra.h: Declare new functions zebra_route_string() and
600 zebra_route_char().
601 * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New
602 functions to map zebra route numbers to strings.
603
vincent5e4914c2005-09-29 16:34:30 +00006042005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
605
606 * smux.[ch]: allow to retreive global OID (identified by <0
607 namelen).
608
paulceacedb2005-09-29 14:39:32 +00006092005-09-29 Paul Jakma <paul.jakma@sun.com>
610
611 * zebra.h: Solaris capabilities requires priv.h to be included.
612 * privs.{c,h}: Add support for Solaris Least-Privileges.
613 privs.h: Reduce some of the abstract capabilities, which do
614 not have rough equivalents on both systems. Rename the net
615 related caps to _NET, as they should have been in first
616 place.
617 (zprivs_terminate) should take the zebra_privs_t as argument so
618 that it can update change pointer.
619 Add an additional privilege state, ZPRIVS_UNKNOWN.
620 * privs.c: (various capability functions) Add
621 Solaris privileges variants.
622 (zprivs_state) Use privs.c specific generic types to
623 represent various capability/privilege related types, so that
624 each can be typedef'd as appropriate on each platform.
625 (zprivs_null_state) static added, to hold the state the null
626 method should report (should be raised by default, and
627 LOWERED if zprivs_terminate has been called)
628 (zprivs_state_null) Report back the zprivs_null_state.
629 (cap_map) Make it able to map abstract capability to multiple
630 system capabilities.
631 (zcaps2sys) Map to abstract capabilities to multiple system
632 privileges/capabilities.
633 (zprivs_init) move capability related init to seperate
634 function, zprivs_caps_init.
635 (zprivs_terminate) ditto, moved to zprivs_caps_terminate.
636 Set the change_state callback to the NULL state, so the
637 user can continue to run and use the callbacks.
638
vincentfbf5d032005-09-29 11:25:50 +00006392005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
640
641 * filer.c: show protocol name in filter_show()
642 * plist.c: show protocol name in vty_show_prefix_entry()
643 * routemap.c: show protocol name in vty_show_route_map_entry()
644 * vty.c: in vty_command(), show protocol name if command unknown
645
vincentc1a03d42005-09-28 15:47:44 +00006462005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
647
648 * md5-gnu.h: removed
649 * md5.h: replaces md5-gnu.h
650 * Makefile.am: use correct md5.h
651 * md5.c: import from WIDE
652
paul75b2dd02005-09-21 14:06:35 +00006532005-09-21 Paul Jakma <paul.jakma@sun.com>
654
655 * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA.
656
hassoe6a4feb2005-09-19 09:53:21 +00006572005-09-19 Hasso Tepper <hasso at quagga.net>
658
659 * str.[ch]: Add strndup() from glibc.
660
pauleb820af2005-09-05 11:54:13 +00006612005-09-05 Paul Jakma <paul.jakma@sun.com>
662
663 * command.c: (install_element) be more robust. Eg, cmd_init
664 need not have been called, some applications may use other
665 library subsystems, which call install_element, without the
666 application wanting commands and hence not calling cmd_init.
667
paul1e836592005-08-22 22:39:56 +00006682005-08-22 Hugo Santos <hsantos@av.it.pt>
669
670 * command.h: (enum node_type) Add BGP_IPV6M_NODE
671 * command.c: (node_parent) Handle BGP_IPV6M_NODE node
672 (config_exit, config_end) ditto
673 * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node
674
gdt0312f0c2005-08-10 13:20:03 +00006752005-08-10 Greg Troxel <gdt@fnord.ir.bbn.com>
676
677 * getopt.h: Don't declare getopt (rather than getopt_long), since
678 quagga doesn't need it.
679 * getopt.c (getopt): Don't define getopt.
680
ajs330009f2005-07-26 14:35:37 +00006812005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs7907c6c2005-07-26 19:55:31 +0000682 * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new
683 to allocate the memory to make sure that all struct prefix pointers
684 point to objects of the same length (avoids memory overruns
685 on struct prefix assignments).
686 (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free.
687 It is interesting to note that these functions are never actually
688 called anywhere in the code. Instead prefix_free was already
689 being called directly, despite the previous MTYPE incompatibility.
690
6912005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs330009f2005-07-26 14:35:37 +0000692
693 * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is
694 in range before dereferencing it.
695
paul510e2092005-06-24 01:20:25 +00006962005-06-24 Pawel Worach <pawel.worach@gmail.com>
697
698 * getopt.h: add further tests for full getopt declaration on
699 various systems.
700
paul354f3b62005-06-18 16:55:20 +00007012005-06-18 Paul Jakma <paul.jakma@sun.com>
702
703 * memtypes.h: update autobuilt file to match memtypes.c changes
704
paul200df112005-06-01 11:17:05 +00007052005-06-01 Paul Jakma <paul.jakma@sun.com>
706
707 * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and
708 MTYPE_BGP_CLEAR_NODE_QUEUE
709
paul8176c192005-05-24 09:33:52 +00007102005-05-24 Paul Jakma <paul@dishone.st>
711
712 * memtypes.h: update this auto-built file. (maybe we should just
713 remove it, is GNU awk a terrible dependency to have?)
714
pauld5c92532005-05-23 12:33:58 +00007152005-05-23 Paul Jakma <paul@dishone.st>
716
717 * memtypes.awk: use character classes, which work correctly in
718 all LC_COLLATE environments, unlike A-Z, which doesnt work in
719 eg estonian collate order. Reported by Hasso.
pauld4f09602005-05-23 12:43:34 +0000720 * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command
721 is used, which does not supply an argv[0].
722 this is a backport candidate /iff/ the trailing ; is removed
723 from VTY_GET_INTEGER_RANGE
724 * vty.h: fix the VTY_GET macros, do {..} while(0) so they have
725 correct function like syntax in usage.
paul269d74f2005-05-23 13:42:46 +0000726 * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code,
727 to allow a queue function to indicate the queue is not
728 ready/blocked - rather than any problem with the item at hand.
729 Add a notion of being able to 'plug' and 'unplug' a queue.
730 Add helpers to plug/unplug a queue.
731 Add a completion callback, to be called when a queue is emptied.
732 * workqueue.c: (work_queue_new) remove useless list_free.
733 (work_queue_schedule) new internal helper function to schedule
734 queue, if appropriate.
735 (work_queue_add) use work_queue_schedule
736 (show_work_queues) Print 'P' if queue is plugged.
737 (work_queue_plug) new API function, plug a queue - ie prevent it
738 from 'drained' / processed / scheduled.
739 (work_queue_unplug) unplug a queue, allowing it to be drained
740 / scheduled / processed again.
741 (work_queue_run) Add support for WQ_QUEUE_BLOCKED.
742 Add comment for RETRY_NOW case.
743 Make hysteris more aggresive in ramping up granularity, improves
744 performance significantly.
745 Add support for calling completion callback when queue is emptied,
746 possibly useful for knowing when to unplug a queue.
pauld5c92532005-05-23 12:33:58 +0000747
pauldc818072005-05-19 01:30:53 +00007482005-05-19 Paul Jakma <paul@dishone.st>
749
750 * thread.c: (thread_cancel_event) the number of pending events
751 cancelled is potentially useful information, dont throw it away,
752 pass it back to the caller.
paul2ba9a372005-05-19 01:37:50 +0000753 * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP
754 (sockunion_getpeername) ditto
paule387e662005-05-19 02:13:28 +0000755 * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST
pauldc818072005-05-19 01:30:53 +0000756
paul024a7f02005-05-15 14:25:08 +00007572005-05-15 Paul Jakma <paul@dishone.st>
758
759 * getopt.h: It's not just __GNU_LIBRARY__ which defines
760 getopt, eg __EXTENSIONS__ does too on SunOS. It still seems
761 awfully fragile though.
762 * getopt.c: include zebra.h after config.h, before including
763 getopt.h so that things at least are consistent..
764 * getopt1.c: ditto
765
paul42c98192005-05-07 02:22:51 +00007662005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
767
768 * sockopt.c: Add support for BSD style ifindex in ip_mreq.
769
paul8cc41982005-05-06 21:25:49 +00007702005-05-06 Paul Jakma <paul@dishone.st>
771
772 * (general) extern and static'ification of functions in code and
773 header.
774 Cleanup any definitions with unspecified arguments.
775 Add casts for callback assignments where the callback is defined,
776 typically, as passing void *, but the function being assigned has
777 some other pointer type defined as its argument, as gcc complains
778 about casts from void * to X* via function arguments.
779 Fix some old K&R style function argument definitions.
780 Add noreturn gcc attribute to some functions, as appropriate.
781 Add unused gcc attribute to some functions (eg ones meant to help
782 while debugging)
783 Add guard defines to headers which were missing them.
784 * command.c: (install_node) add const qualifier, still doesnt shut
785 up the warning though, because of the double pointer.
786 (cmp_node) ditto
787 * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived
788 fromn vty.h ones to fix some of the (long) < 0 warnings.
789 * thread.c: (various) use thread_empty
790 (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type
791 * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they
792 removed from ospfd/ospf_vty.h
793 * zebra.h: Move definition of ZEBRA_PORT to here, to remove
794 dependence of lib on zebra/zserv.h
795
hassoe7fe8c82005-05-06 19:33:35 +00007962005-05-06 Hasso Tepper <hasso at quagga.net>
797
798 * sockunion.c: Fix warning message.
799
paul0dab9302005-05-03 09:07:56 +00008002005-05-03 Paul Jakma <paul@dishone.st>
801
802 * stream.h: Add comment about the special zero-ing ability of
803 stream_put.
804 (stream_recvmsg, stream_write) should return ssize_t and size_t
805 respectively. Should both be extern linkage.
806 (stream_recvfrom) Stream aware wrapper around recvfrom, in style
807 of stream_read_try.
808 * stream.c: (stream_recvfrom) new function, wrapper around recvfrom.
809 (stream_recvmsg, stream_write) ssize_t and size_t return values
810
ajs3df53782005-04-27 16:29:54 +00008112005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
812
ajs8b70d0b2005-04-28 01:31:13 +0000813 Add wall-clock timing statistics to 'show thread cpu' output.
814 * thread.h: Define struct rusage_t to contain wall-clock time
815 and cpu time. Change GETRUSAGE macro to collect both pieces
816 of data. Make appropriate changes to struct cpu_thread_history
817 to track CPU time and real time. Change proto for
818 thread_consumed_time to return real and cpu time elapsed.
819 And declare a new global variable 'struct timeval recent_time'.
820 * thread.c (struct timeval recent_time): New global timestamp variable.
821 (timeval_adjust): If timeout is negative, set to 0 (not 10
822 microseconds). And remove upper bound of 1,000,000 seconds, since
823 this does not seem to make any sense (and it breaks
824 funcname_thread_add_timer_timeval).
825 (timeval_cmp): Should return long, not int.
826 (vty_out_cpu_thread_history): Show CPU time and real time.
827 (cpu_record_hash_print): Calculate totals for CPU and real time.
828 (cpu_record_print): Change 'show thread cpu' title to show CPU and
829 real time.
830 (thread_timer_remain_second): Put current time in global recent_time.
831 (funcname_thread_add_timer_timeval): Fix assert. Replace 2-case
832 switch assignment with a ternary expression. Use global recent_time
833 variable. Fix use of timeval_adjust (previously, the value was not
834 actually being adjusted).
835 (thread_cancel): Add missing "break" statement in case
836 THREAD_BACKGROUND.
837 (thread_timer_wait): Use global recent_time value instead of calling
838 gettimeofday. And there's no need to check for negative timeouts,
839 since timeval_subtract already sets these to zero.
840 (thread_timer_process): Timers are sorted, so bail out once we
841 encounter a timer that has not yet popped. And remove some
842 extraneous asserts.
843 (thread_fetch): Do not process foreground timers before calling
844 select. Instead, add them to the ready list just after the select.
845 Also, no need to maintain a count of the number of ready threads,
846 since we don't care how many there are, just whether there's
847 one at the head of the ready list (which is easily checked).
848 Stick current time in global variable recent_time to reduce
849 the number of calls to gettimeofday. Tighten logic for
850 calculating the select timeout.
851 (thread_consumed_time): Now returns real time and puts the elapsed
852 cpu time in an additional argument.
853 (thread_should_yield): Use real (wall-clock) time to decide whether
854 to yield.
855 (thread_call): Maintain CPU and real time statistics.
856 * vty.c (vty_command): For slow commands, show real and cpu time.
857
8582005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
859
ajs3df53782005-04-27 16:29:54 +0000860 * workqueue.c (show_work_queues): Remove unused gettimeofday call.
861
paul84369682005-04-27 12:39:27 +00008622005-04-27 Paul Jakma <paul.jakma@sun.com>
863
864 * workqueue.h: (struct work_queue_item) change retry_count to ran,
865 its a count of number item has been run.
866 * workqueue.c: (show_work_queues) Fix formating of slightly
867 bugfix: fix SIGFPE if wq->runs is 0.
868 (work_queue_run) retry logic was slightly wrong.
869 cycles.best is 0 initialy, granularity is 1, so update best
870 if cycles >= granularity, not just >.
paula7bca0f2005-04-27 12:44:54 +0000871 * memory.h: memtypes is built source, default includes points to
872 top_builddir, so we should refer to lib/memtypes.h
873
ajs07334da2005-04-26 17:14:30 +00008742005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
875
876 * buffer.c (buffer_write): Comment out call to buffer_flush_available.
877 This should speed up buffering at the expense of a possible increase
878 in latency in flushing the data if inside a long-running thread.
879
paulab59ae32005-04-25 13:52:26 +00008802005-04-25 Paul Jakma <paul.jakma@sun.com>
881
paul147aff02005-04-25 16:29:10 +0000882 * workqueue.{c,h}: Helper API for setting up and running queues via
883 background threads.
884 * command.c: install the 'show workqueues' command
885 * memtypes.c: Add work queue mtypes, and a rib-queue type for
886 a zebra rib work queue.
887 * memtypes.h: Updated to match memtypes.c
paulab59ae32005-04-25 13:52:26 +0000888 * Makefile.am: Refer to source files via srcdir variable, fix
889 out-of-tree build breakage.
paul147aff02005-04-25 16:29:10 +0000890 Add new workqueue files to build.
paul2c1de2a2005-04-25 14:02:44 +0000891 * memory.c: Make the string field much wider
892 * memtypes.c: Correct the prefix list str/entry strings
paul907873a2005-04-25 14:53:46 +0000893 * thread.c: Kill unused TIMER_NO_SORT bits
paulab59ae32005-04-25 13:52:26 +0000894
ajsfb9e46b2005-04-22 14:23:34 +00008952005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
896
897 * thread.h: Fix type for struct thread_master add_type: should be
898 unsigned char. Also, add some documentation of thread_add_background
899 args. And remove extraneous declaration of
900 show_thread_work_queues_cmd.
901
paula48b4e62005-04-22 00:43:47 +00009022005-04-22 Paul Jakma <paul.jakma@sun.com>
903
paule1e53ed2005-04-22 13:44:17 +0000904 * memory.h: Move include of memtypes.h to after the definition of
905 struct memory_list, gcc 4.0 doesn't like arrays of incomplete
906 types.
paula48b4e62005-04-22 00:43:47 +0000907 * thread.h: Add background thread type and thread_add_background
908 macro and accompanying funcname_... function.
909 export thread_should_yield, background threads can use it.
910 Lower thread yield time to 10ms, 100ms is noticeable lag and
911 a thread would only be /starting/ to finish sometime afterward.
912 * thread.c: (general) Add background thread type and schedule
913 nearly all thread types through the ready list for fairness.
914 (timeval_adjust) static qualifier missing
915 (vty_out_cpu_thread_history) add support for printout of
916 background threads
917 (show_thread_cpu) ditto.
918 (thread_master_debug) add debug of background list
919 (thread_master_create) fixup long line
920 (thread_add_unuse) add asserts for required state.
921 (thread_master_free) free background thread list
922 (funcname_thread_add_timer_timeval) make generic, able to
923 support arbitrary timer-like thread types.
924 (funcname_thread_add_timer) pass thread type to .._add_timer_timeval
925 (funcname_thread_add_timer_msec) ditto
926 (funcname_thread_add_background) Add a background thread, with an
927 optional millisecond delay factor, using .._add_timer_timeval.
928 (thread_cancel) Add background thread type.
929 Move the thread_list_delete common to all cases to bottom of
930 function, after the switch statement..
931 (thread_cancel_event) indent
932 (thread_timer_wait) Static qualifier, and make it able to cope
933 with arbitrary timer-like thread lists, so its of use to
934 background threads too.
935 (thread_process_fd) static qualifier. Again, make it take a list
936 reference rather than thread_master. Fix indentation.
937 (thread_timer_process) Check for ready timer-like threads in the
938 given list and move them on to the ready list - code originally
939 embedded in thread_fetch.
940 (thread_fetch) Schedule all threads, other than events, through
941 the ready list, to ensure fairness. Timer readying code moved to
942 thread_timer_process so it can be reused for background threads.
943 Remove the unneeded quagga_sigevent_process, as pointed out by
944 John Lin <john.ch.lin@gmail.com>.
945 (thread_should_yield) make this available.
946
ajs924b9222005-04-16 17:11:24 +00009472005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
948
949 * thread.h (thread_consumed_time): Declare new function to calculate
950 elapsed microseconds.
951 * thread.c (thread_consumed_time): Must be global not static so we
952 can call it from lib/vty.c:vty_command.
953 (thread_should_yield): Surround with `#if 0' to make clear that this
954 function is not currently being used anywhere.
955 (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG
956 warning message if the thread takes more than CONSUMED_TIME_CHECK
957 microseconds.
958 * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU
959 HOG warning message if the command takes more than CONSUMED_TIME_CHECK
960 microseconds.
961
pauldc830cb2005-04-16 15:51:05 +00009622005-04-16 Paul Jakma <paul@dishone.st>
963
964 * memtypes.c: the comment about use of comments in the comments
965 headers was causing comment within comment warnings from compiler
966 * memtypes.awk: Add extensive comments on the file format for
967 memtypes.c.
968 tighten the pattern for the MTYPE matching action (suggestion from
969 Andrew) and tighten which field we try the match on.
970
paul2fd2fd52005-04-15 11:47:15 +00009712005-04-15 Paul Jakma <paul@dishone.st>
972
973 * memtypes.c: The new, unified location for memory type definitions.
974 The memtype enum and declarations for memory_lists are built from
975 this automatically and put into memtypes.h.
976 * memtypes.awk: New script to generate memtypes.h from memtypes.c
977 * memory.h: Finally, the enum can banished!
978 * memory.c: Finally, the seperate mtype memory_list definitions can
979 be banished!
980 (log_memstats) Increase width of fields
981 (show_memory_zebra_cmd) display zebra specific memory types.
982 Increase width of fields.
983 * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h
984 Add a rule to build memtypes.h using memtypes.awk.
985 Add memtypes.awk to EXTRA_DIST.
pauld45f1f12005-04-15 22:18:37 +0000986 memtypes.awk is gawk dependent, use the GAWK automake var.
987 * memtypes.h: New file, auto-generated, checked in for convenience.
paul2fd2fd52005-04-15 11:47:15 +0000988
ajs634f9ea2005-04-11 15:51:40 +00009892005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
990
991 * zclient.h (struct zclient): Add two fields to support non-blocking
992 I/O: struct buffer *wb, and struct thread *t_write.
993 (zclient_free): Remove function.
994 (zebra_redistribute_send): Change 2nd arg from socket fd to
995 struct zclient * (needed to support non-blocking I/O and buffering).
996 (zclient_send_message): New function to send an arbitrary
997 message with non-blocking I/O.
998 * zclient.c (zclient_new): Create write buffer.
999 (zclient_free): Remove unused function.
1000 (zclient_stop): Must cancel new t_write thread. Also, reset
1001 all buffers: ibuf, obuf, and wb.
1002 (zclient_failed): New helper function for typical error handling.
1003 (zclient_flush_data): New thread to flush queued data.
1004 (zclient_send_message): New function to send the message in
1005 zclient->obuf to zebra using non-blocking I/O and buffering.
1006 (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use
1007 new zclient_send_message function instead of calling writen.
1008 (zclient_start): Set socket non-blocking. Also, change 2nd arg
1009 to zebra_redistribute_send from zclient->sock to zclient.
1010 (zebra_redistribute_send): Change 2nd arg to struct zclient *.
1011 Can now use zclient->obuf to assemble the message instead of
1012 allocating a temporary stream. And call zclient_send_message to
1013 send the message instead of writen.
1014 (zclient_read): Convert to support non-blocking I/O by using
1015 stream_read_try instead of deprecated stream_read.
1016 (zclient_redistribute): Change 2nd arg to zebra_redistribute_send
1017 from zclient->sock to zclient.
1018
hasso5bb4c192005-04-09 13:27:50 +000010192005-04-09 Jeroen Simonetti <jeroens@office.netland.nl>
1020
1021 * routemap.c: Show description in "show route-map" output.
1022
ajsd66a7b52005-04-08 16:42:03 +000010232005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1024
ajs67bf16c2005-04-08 19:02:04 +00001025 * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.
1026
10272005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1028
ajs926fe8f2005-04-08 18:50:40 +00001029 * vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate
1030 compiler warnings when assigning a (const char *) value to
1031 struct iovec iov_base.
1032
10332005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1034
ajsd66a7b52005-04-08 16:42:03 +00001035 * zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This
1036 fixes a problem where we were not getting the declaration of strnlen
1037 in <string.h>.
1038
hasso3a2ce6a2005-04-08 01:30:51 +000010392005-04-08 Hasso Tepper <hasso at quagga.net>
1040
hasso4a8164e2005-04-08 14:20:18 +00001041 * routemap.[ch]: Added "description ..." command.
1042
10432005-04-08 Hasso Tepper <hasso at quagga.net>
1044
hasso3a2ce6a2005-04-08 01:30:51 +00001045 * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
1046 inet_ntoa alike.
1047
paul1eb8ef22005-04-07 07:30:20 +000010482005-04-07 Paul Jakma <paul.jakma@sun.com>
1049
1050 * linklist.h: Add usage comments.
1051 Rename getdata macro to listgetdata.
1052 Rename nextnode to listnextnode and fix its odd behaviour to be
1053 less dangerous.
1054 Make listgetdata macro assert node is not null, NULL list entries
1055 should be bug condition.
1056 ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use
1057 with for loop, Suggested by Jim Carlson of Sun.
1058 Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the
1059 "safety" of previous macro.
1060 LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to
1061 distinguish from the similarly named functions, and reflect their
1062 effect better.
1063 Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section
1064 with the old defines which were modified above,
1065 for backwards compatibility - guarded to prevent Quagga using it..
1066 * linklist.c: fix up for linklist.h changes.
1067 * *.c: fix up for new list loop macro, try audit other loop
1068 usage at same time, to some degree.
1069
hasso59209902005-04-05 14:36:49 +000010702004-04-05 Hasso Tepper <hasso at quagga.net>
1071
1072 * lib/prefix.[hc]: inet6_ntoa utility function copied from
1073 ripngd/ripngd.c (inet6_ntop).
1074
paul3d1dc852005-04-05 00:45:23 +000010752004-04-05 Paul Jakma <paul@dishone.st>
1076
1077 * vty.c: Improve logging of failures to open vty socket(s).
1078 See bugid #163.
1079
ajs3cb98de2005-04-02 16:01:05 +000010802005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1081
ajs08dbfb62005-04-03 03:40:52 +00001082 * if.h: Fix comments to reflect that if_lookup_by_name and
1083 if_get_by_name now require the argument strings to be NUL-terminated.
1084 * if.c: (if_lookup_by_name) Compare using strcmp.
1085 (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create.
1086
10872005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1088
ajs018546e2005-04-02 23:05:56 +00001089 * if.c: (if_nametoindex) The man page is rather vague, but it seems
1090 like the argument to if_nametoindex has an implicit maximum length
1091 of IFNAMSIZ characters.
1092
10932005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1094
ajsa3491982005-04-02 22:50:38 +00001095 * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
1096 * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
1097 (if_get_by_name) Tighten up code.
1098 (interface) Use new function if_get_by_name_len.
1099 * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
1100 function.
1101 (zebra_interface_state_read) Use new if_lookup_by_name_len function.
1102
11032005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1104
ajs851adbd2005-04-02 18:48:39 +00001105 * str.c: Replace strlcpy and strlcat with actual working versions
1106 copied from rsync-2.6.2/lib/compat.c.
1107
11082005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1109
ajsd2fc8892005-04-02 18:38:43 +00001110 * if.h: Remove define for IFINDEX_INTERNBASE and add define
1111 IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
1112 interfaces should have ifindex set to 0.
1113 (if_new) Remove function.
1114 (if_delete_retain) New function to delete an interface without
1115 removing from iflist and freeing the structure.
1116 (ifname2ifindex) New function.
1117 * if.c: (if_new) Remove function (absorb into if_create).
1118 (if_create) Replace function if_new with call to calloc.
1119 Set ifp->ifindex to IFINDEX_INTERNAL. Fix off-by-one error
1120 in assert to check length of interface name. Add error message
1121 if interface with this name already exists.
1122 (if_delete_retain) New function to delete an interface without
1123 removing from iflist and freeing the structure.
1124 (if_delete) Implement with help of if_delete_retain.
1125 (ifindex2ifname) Reimplement using if_lookup_by_index.
1126 (ifname2ifindex) New function to complement ifindex2ifname.
1127 (interface) The interface command should check the name length
1128 and fail with a warning message if it is too long.
1129 (no_interface) Fix spelling in warning message.
1130 (if_nametoindex) Reimplement using if_lookup_by_name.
1131 (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
1132 if_lookup_by_index.
1133
11342005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1135
ajs3cb98de2005-04-02 16:01:05 +00001136 * zebra.h: Should include str.h to pick up missing functions.
1137 * str.h: Declare strnlen if needed.
1138 * str.c: Do not include str.h since zebra.h now includes it.
1139 (strnlen) New function.
1140
ajsdb8eaac2005-03-16 16:13:06 +000011412005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1142
1143 * zebra.h: Must check whether __attribute__ should be defined before
1144 including zassert.h.
1145
paulb8961472005-03-14 17:35:52 +000011462005-03-14 Paul Jakma <paul.jakma@sun.com>
1147
1148 * command.c: (sort_node) use vector_max instead of referencing
1149 (struct vector *)->max directly. Test that vector_max is > 0
1150 before using it to calculate an index.
1151 Fixup vector loop to make main body conditional on vector slot
1152 not being empty.
1153 (cmd_cmdsize) Fixup vector loop to make main body conditional on
1154 vector slot not being empty.
1155 (cmd_filter_by_completion) ditto
1156 (cmd_filter_by_string) ditto
1157 (is_cmd_ambiguous) ditto
1158 (cmd_describe_command_real) Change index integers to unsigned.
1159 Test that vector_max is > 0 before using it to calculate an index.
1160 Return immediately with CMD_ERR_NO_MATCH if vline has no
1161 active slots.
1162 Fixup vector loop to make main body conditional on vector slot
1163 not being empty.
1164 (cmd_complete_command_real) ditto.
1165 (cmd_execute_command_strict) Fixup vector loop to be conditional
1166 on non-null slot.
paul909a2152005-03-14 17:41:45 +00001167 (various) Fix indentation and other whitespace.
paul55468c82005-03-14 20:19:01 +00001168 vector.h: Rename to (struct vector).max to slightly less confusing
1169 active, for the number of active slots, distinct from allocated
1170 or active-and-not-empty. Rename vector_max to vector_active
1171 for same reason.
paulb8961472005-03-14 17:35:52 +00001172
paul9e92eea2005-03-09 13:39:26 +000011732005-03-09 Paul Jakma <paul.jakma@sun.com>
1174
1175 * command.c: Undo commit of sign warning fix and hidden command
1176 in list_cmd. Sign warning is more subtle. list_cmd on its own
1177 will be committed after.
paul4275b1d2005-03-09 13:42:23 +00001178 * command.c: (config_list_cmd) Don't list hidden or deprecated
1179 commands, hiding these from tab completion is still to be done.
paul9e92eea2005-03-09 13:39:26 +00001180
paulb45da6f2005-03-08 15:16:57 +000011812005-03-08 Paul Jakma <paul.jakma@sun.com>
1182
paul9c5d8562005-03-08 15:56:42 +00001183 * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
paul22085182005-03-08 16:00:12 +00001184 (no_banner_motd_cmd) use XFREE.
paul9c5d8562005-03-08 15:56:42 +00001185 (cmd_describe_command_real) sign compile warning fix
1186 (cmd_complete_command_real) ditto.
1187 (config_list_cmd) Don't list hidden or deprecated commands,
1188 hiding these from tab completion is still to be done.
1189 * command.h: cmd attr enum should start at 1.
paulb45da6f2005-03-08 15:16:57 +00001190 * vty.c: (vty_hello) suggestions from Andrew, read by line and
1191 stub out trailling non-printable characters on each line thus
1192 allowing us to specify VTY_NEWLINE to vty_out.
1193
paul3b0c5d92005-03-08 10:43:43 +000011942005-03-08 Jeroen Massar <jeroen@unfix.org>
1195
1196 * vty.c: (vty_hello) display motd file, if set
1197 * command.h: add char *motdfile to struct host
1198 * command.c: (config_write_host) write out motdfile config
1199 (banner_motd_file_cmd) new command, allow motd to be read from
1200 file.
1201 (no_banner_motd_cmd) free motdfile string, if needs be.
1202 (cmd_init) init (struct host).motdfile. Add new motd file
1203 commands.
1204
hasso12f6ea22005-03-07 08:35:39 +000012052005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
1206
1207 * command.c: host.name might be NULL.
1208 * vty.c: Fix fd leak.
1209
ajs81fb3242005-02-24 16:02:53 +000012102005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1211
1212 * stream.c: (stream_read_try) Log a warning message if a fatal
1213 I/O error occurs.
1214 (stream_fifo_new) Fix prototype.
1215 * stream.h: Fix prototype for stream_fifo_new (need void arg).
1216
ajs9fc7ebf2005-02-23 15:12:34 +000012172005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1218
ajscdb6ee92005-02-23 15:48:32 +00001219 * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
1220
12212005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1222
ajs9fc7ebf2005-02-23 15:12:34 +00001223 * buffer.h: Make the struct buffer and struct buffer_data structures
1224 private by moving them inside buffer.c. Add comments for all
1225 functions. Rename buffer_write as buffer_put (to be more consistent
1226 with the buffer_putc and buffer_putstr functions). Declare a new
1227 buffer_write function that is used to write data to a file descriptor
1228 and/or add it to the buffer queue. Remove unused function
1229 buffer_flush_vty_all. Create a new enum typedef buffer_status_t
1230 to be used as the return code for all buffer_flush* functions
1231 and buffer_write.
1232 * buffer.c: The struct buffer and struct buffer_data declarations
1233 are now private to this file. In conjunction with that, remove
1234 some unnecessary fields: struct buffer (alloc, unused_head,
1235 unused_tail, length), struct buffer_data (prev).
1236 (buffer_data_new) Removed: functionality incorporated into buffer_add.
1237 (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
1238 (buffer_new) Use calloc instead of malloc + memset(zero).
1239 Supply an appropriate default size if the specified size is 0.
1240 (buffer_free) Eliminate code duplication by calling buffer_reset to
1241 free the contents of the buffer (and remove unused code related
1242 to unused_head).
1243 (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
1244 compact).
1245 (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set
1246 alloc and length to 0 (these fields have been removed).
1247 (buffer_add) Fix scope to be static. Call XMALLOC directly instead
1248 of calling removed buffer_data_new function. Simplify the logic
1249 (since it's now a singly-linked list instead of doubly-linked).
1250 (buffer_write) Renamed to buffer_put. Change to void, since return
1251 code of 1 was meaningless. No need to adjust length field, since
1252 it has been removed.
1253 (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
1254 Remove unused functions.
1255 (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
1256 a possible failure mode if IOV_MAX is less than the number of buffers
1257 on the queue.
1258 (buffer_flush_window) Incorporate logic from buffer_flush_vty.
1259 Log an error message if there is a writev error.
1260 (buffer_flush_available) Be more paranoid: check for case where
1261 buffer is already empty. Use new ERRNO_IO_RETRY macro, and use
1262 new enum for return codes. Simplify deletion logic (since it's
1263 now a singly-linked list).
1264 (buffer_write) New function for use with non-blocking I/O.
1265 * vty.h: Replace the struct vty sb_buffer field with a fixed-size
1266 (5-character) sb_buf field and an sb_len field, since using
1267 a struct buffer was inappropriate for this task. Add some useful
1268 comments about telnet window size negotiation.
1269 * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
1270 Remove VTY_OBUF_SIZE (instead use buffer_new default size).
1271 Make telnet_backward_char and telnet_space_char static const.
1272 (vty_out) Replace buffer_write with buffer_put.
1273 (vty_log_out) Check for I/O errors. If fatal, close the vty session.
1274 Consolidate 3 separate writes into a single write call.
1275 (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
1276 vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
1277 vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
1278 vty_config_write,vty_save_cwd) Fix scope to static.
1279 (vty_new) Let buffer_new use its default buffer size.
1280 (vty_write) Fix signature: 2nd arg should be const char *.
1281 Replaced buffer_write with buffer_put.
1282 (vty_telnet_option) Fix minor bug (window height or width greater than
1283 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer
1284 (which was being used improperly).
1285 (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
1286 If the error is fatal, call buffer_reset so vty_close does not attempt
1287 to flush the data. Use new sb_buf and sb_len instead of sb_buffer
1288 to store the SB negotiation string.
1289 (vty_flush) When vty->lines is 0, call buffer_flush_available instead
1290 of buffer_flush_window. Look at the return code from buffer_flush
1291 to detect I/O errors (and in that case, log an error message and
1292 close the vty).
1293 (vty_create) Fix scope to static. Initialize sb_len to 0 instead
1294 of creating sb_buffer.
1295 (vty_accept) Set socket nonblocking.
1296 (vtysh_accept) Use new set_nonblocking function instead of calling
1297 fcntl directly.
1298 (vtysh_flush) New function called from vtysh_read (after command
1299 execution) and from vtysh_write. This flushes the buffer
1300 and reacts appropriately to the return code (by closing the vty
1301 or scheduling further flushes).
1302 (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
1303 If not, just try again later. Otherwise, call buffer_reset before
1304 calling vty_close (to avoid trying to flush the buffer in vty_close).
1305 Fix logic to allow case where a command does not arrive atomically
1306 in a single read call by checking for the terminating NUL char.
1307 (vtysh_write) Use new vtysh_flush helper function.
1308 (vty_close) No need to call buffer_empty, just call buffer_flush_all
1309 in any case (it will check whether the buffer is empty).
1310 Do not free sb_buffer (since it has been removed).
1311 (vty_log_fixed) Use writev instead of write.
1312 * zebra.h: Do not include <arpa/telnet.h>, since this is used only
1313 by lib/vty.c.
1314
hassoc3c07f22005-02-21 18:17:52 +000013152005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
1316
1317 * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
1318 will allow to update node when:
1319 i) a node is inserted into the priority queue;
1320 ii) a node position is modified in the priority queue;
1321 * pqueue.h: Export trickle_down() function.
1322
paul109ac962005-02-19 01:17:07 +000013232005-02-19 Paul Jakma <paul.jakma@sun.com>
1324
1325 * stream.c: (stream_new) fix dumb mistake.
1326
ajsd7e2a812005-02-17 20:02:49 +000013272005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1328
ajs53270112005-02-17 20:07:22 +00001329 * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.
1330
13312005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1332
ajsd7e2a812005-02-17 20:02:49 +00001333 * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
1334 operation should be retried. This eliminates the need to duplicate
1335 the same logic testing for EAGAIN or EINTR in multiple places.
1336
ajs42218e72005-02-16 16:25:39 +000013372005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1338
ajs262feb12005-02-16 20:35:47 +00001339 * stream.h: Declare new function stream_read_try suitable for use
1340 with non-blocking file descriptors. Indicate that stream_read
1341 and stream_read_unblock are deprecated.
1342 * stream.c: (stream_read_try) New function for use with non-blocking
1343 I/O.
1344 (stream_recvmsg) Should return -1 if the stream is too small to
1345 contain the data.
1346
13472005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1348
ajs42218e72005-02-16 16:25:39 +00001349 * network.c: (set_nonblocking) Should check return code from
1350 fcntl(F_GETFL).
1351
ajsa269d612005-02-16 00:45:37 +000013522005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1353
1354 * network.h: Declare new function set_nonblocking. Indicate that
1355 readn and writen are deprecated.
1356 * network.c: (set_nonblocking) New function to make a file descriptor
1357 non-blocking, since it seems silly to have fcntl calls sprinkled
1358 throughout the code.
1359
paul1dd13d42005-02-14 23:49:09 +000013602005-02-14 Paul Jakma <paul.jakma@sun.com>
paulf2e6c422005-02-12 14:35:49 +00001361
1362 * stream.h: Unsigned long updated to size_t
1363 * stream.c: ditto
paul050c0132005-02-14 23:47:47 +00001364 * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
1365 Add comment describing struct stream abstraction, and various
1366 other comments.
1367 Deprecate several unsafe/ambigious macros.
1368 Add STREAM_WRITEABLE and STREAM_READABLE.
1369 Add (stream_getl_from) for symmetry.
1370 Update stream_forward_{endp,getp} to use size_t offset.
1371 Make stream data a 0 length array, rather than a seperate malloc.
1372 * stream.c: Add consistency checks. Update to follow stream.h
1373 changes.
1374 (stream_new) Alloc stream+data in one go.
1375 (stream_copy) new function, copy a stream.
1376 (stream_dup) new function, dup a stream.
1377 (stream_recvmsg) new function, recvmsg data into a stream.
1378 (stream_empty) no need to check getp == 0.
paulf2e6c422005-02-12 14:35:49 +00001379
paul9985f832005-02-09 15:51:56 +000013802005-02-09 Paul Jakma <paul.jakma@sun.com>
1381
1382 * stream.h: Remove putp. Update reference to putp with endp.
1383 Add stream_forward_endp, which daemons were doing manually.
1384 Rename stream_forward to stream_forward_getp.
1385 stream.c: Remove/update references to putp.
1386 introduce stream_forward_endp.
1387
ajs548e6f72005-02-08 15:57:25 +000013882005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1389
1390 * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
1391 to use compound assignment operators (aesthetic change).
1392
ajs1e221352005-02-03 16:42:40 +000013932005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1394
ajsc4c7d0c2005-02-03 19:22:05 +00001395 * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
1396 since it is not async-signal-safe.
1397 (_zlog_assert_failed) Rewrite crashlog logic more compactly.
1398 (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
1399 for use in signal handler.
1400
14012005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1402
ajs1e221352005-02-03 16:42:40 +00001403 * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
1404 inside this function only.
1405 (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
1406 with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
1407 (zlog_signal,_zlog_assert_failed) Increase logging priority from
1408 LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
1409 open_crashlog to create a crash logfile.
1410 (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
1411 dump a backtrace to that file.
1412
ajs847947f2005-02-02 18:38:48 +000014132005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1414
1415 * if.h: Declare if_flag_dump.
1416
ajs6a52d0d2005-01-30 18:49:28 +000014172005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1418
1419 * daemon.c: (daemon) Replace perror with zlog_err.
1420 * vty.c: (vty_serv_un) Replace perror with zlog_err.
1421
ajs3b8b1852005-01-29 18:19:13 +000014222005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1423
1424 * buffer.h: Fix comment on buffer_getstr to reflect that it now
1425 uses XMALLOC.
1426 * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
1427 * filter.c: (access_list_remark,ipv6_access_list_remark) Use
1428 argv_concat instead of buffer_getstr.
1429 * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
1430 * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
1431 Use argv_concat instead of buffer_getstr.
1432
ajsf6834d42005-01-28 20:28:35 +000014332005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1434
ajsafb8b602005-01-28 20:41:07 +00001435 * lib/buffer.h: Document behavior of buffer_getstr function.
1436 * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
1437 the string extends beyond the head struct buffer_data.
1438
14392005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1440
ajsf6834d42005-01-28 20:28:35 +00001441 * lib/command.h: Document behavior of argv_concat function.
1442 * lib/command.c: (argv_concat) Calculate total string length first so
1443 we can call malloc just once (instead of realloc'ing to add each
1444 string element).
1445 (do_echo,config_logmsg) Allow for possible NULL return value from
1446 argv_concat.
1447
hasso13bfca72005-01-23 21:42:25 +000014482005-01-23 Hasso Tepper <hasso at quagga.net>
1449
1450 * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
1451 use it as well.
1452
ajs31364272005-01-18 22:18:59 +000014532005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1454
1455 * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
1456 two args (siginfo and program_counter).
1457 * log.c: (hex_append) Include this function only if SA_SIGINFO or
1458 HAVE_GLIBC_BACKTRACE is defined.
1459 (zlog_signal) Final two args (siginfo and program_counter) now
1460 depend on whether SA_SIGINFO is defined on this platform.
1461 * sigevent.c: (program_counter) Do not include this function if
1462 SA_SIGINFO is not defined on this platform.
1463 (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
1464 2nd & 3rd arguments are present and to decide how to invoke
1465 zlog_signal.
1466 (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
1467 appropriately.
1468
ajs239c26f2005-01-17 15:22:28 +000014692005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1470
1471 * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
1472 program_counter argument.
1473 * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
1474 argument. If it is non-NULL, use backtrace_symbols_fd to resolve
1475 the address.
1476 (zlog_signal) Call zlog_backtrace_sigsafe with additional
1477 program_counter argument.
1478
hasso87d683b2005-01-16 23:31:54 +000014792005-01-17 Hasso Tepper <hasso at quagga.net>
1480
1481 * command.[ch], vty.c: cmd_execute_command() function must not attempt
1482 to walk up in the node tree if called from vtysh. Different daemons
1483 might have commands with same syntax in different nodes (for example
1484 "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
1485
ajscb585b62005-01-14 17:09:38 +000014862005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1487
1488 * command.c (print_version): Do not bother even to examine host.name,
1489 since it is always NULL when this function is called from main.
1490
gdtf867d322005-01-14 15:47:33 +000014912005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com>
1492
1493 * command.c (print_version): Don't print host.name if it is NULL.
1494 Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
1495
ajse22f5512005-01-12 16:18:17 +000014962005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1497
ajs40abf232005-01-12 17:27:27 +00001498 * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
1499 pass additional siginfo_t and ucontext_t arguments to core_handler
1500 and exit_handler.
1501 (core_handler,exit_handler) Now invoked with 3 arguments (using
1502 SA_SIGINFO). Pass additional info to zlog_signal.
1503 (program_counter) New function to find program counter in ucontext_t,
1504 needs to be enhanced to support more platforms (currently works only
1505 on Linux/x86).
1506 * log.h: Change the zlog_signal prototype to add new arguments
1507 siginfo_t * and program_counter.
1508 * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
1509 Include si_addr and program counter (if non-NULL) in message.
1510 And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
1511 that is now used to render the si_addr and PC pointers.
1512
15132005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1514
ajse22f5512005-01-12 16:18:17 +00001515 * zebra.h: If not C99 and no va_copy macro available, fall back to
1516 memcpy (solves a build problem on FreeBSD 4.x).
1517
ajsb99760a2005-01-04 16:24:43 +000015182005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1519
1520 * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether
1521 config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined
1522 by the configure test program).
1523 * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead
1524 of CMSG_FIRSTHDR.
1525
hassocba8a602005-01-02 18:51:01 +000015262005-01-02 Hasso Tepper <hasso at quagga.net>
1527
1528 * command.c: Revert int -> unsigned int fixes in
1529 cmd_describe_command_real() and cmd_complete_command_real(). index can
1530 be actually negative and it caused crash with "do<TAB>" in vty.
1531
gdt1d69fdf2004-12-29 18:53:30 +000015322004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com>
1533
gdtd44debe2004-12-29 20:06:23 +00001534 * sockopt.c (getsockopt_ipv4_ifindex): Document calling
1535 convention. Beef up comments. Handle the case where the cmsghdr
1536 has a zero controllen, or more specifically when the wanted option
1537 is not present. This is needed for Solaris 8, and in general for
1538 any platform for which configure finds a method and it can fail.
1539 Mark some changes with XXX to be cleaned up post 0.98.
1540
ajsaf04bd72004-12-28 17:00:12 +000015412004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1542
ajs1d75c8c2004-12-28 21:43:17 +00001543 * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message.
1544 When neither IP_PKTINFO nor IP_RECVIF is defined, make return value
1545 deterministic (-1).
1546
15472004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1548
ajsaf04bd72004-12-28 17:00:12 +00001549 * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk.
1550
paul4ba9b922004-12-21 22:34:58 +000015512004-12-21 Paul Jakma <paul.jakma@sun.com>
1552
1553 * if.h: Add more 'non-generic' IFF_ flags.
1554 * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like'
paul0e43a2b2004-12-22 00:15:34 +00001555 * stream.c: Dont allocate streams with 0 sized data buffers
paul4ba9b922004-12-21 22:34:58 +00001556
ajs202d08c2004-12-17 20:50:00 +000015572004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs2885f722004-12-17 23:16:33 +00001558
1559 * command.c: (do_echo) Added new "echo" command, useful for
1560 watchdog pinging to make sure the daemon is responsive.
1561
15622004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs202d08c2004-12-17 20:50:00 +00001563
1564 * pid_output.c: (pid_output_lock) Eliminate static function, and just
1565 use the #ifdef to decide which version of the function to include.
1566 This eliminates a compilation problem with gcc4. And fix the
1567 non-fcntl version so that it actually compiles. Exit with
1568 status 1 instead of -1 on error.
1569
ajs81fc57c2004-12-15 17:41:14 +000015702004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1571
1572 * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
1573
ajs3378d202004-12-10 22:43:17 +000015742004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1575
1576 * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
1577 LOG_ERR instead of LOG_EMERG.
1578
ajsc3324c62004-12-09 17:26:31 +000015792004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1580
1581 * log.c: (hex_append) No need to include this function if
1582 HAVE_GLIBC_BACKTRACE is not defined.
1583
ajsb9e70282004-12-08 17:14:45 +000015842004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1585
1586 * prefix.c: (prefix_copy) Error message before abort should
1587 have severity LOG_ERR, not LOG_INFO.
1588 * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
1589
ajs274a4a42004-12-07 15:39:31 +000015902004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1591
ajs8ddca702004-12-07 18:53:52 +00001592 * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG.
1593
15942004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1595
ajs82146b82004-12-07 17:15:55 +00001596 * command.c: (config_write_host) Note that "log trap" is deprecated
1597 when writing out the config.
1598
15992004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1600
ajs274a4a42004-12-07 15:39:31 +00001601 * log.h: Replace struct zlog flags and maskpri fields with maxlvl
1602 array to support individual logging levels for each destination.
1603 Remove the 2nd argument to openzlog since the default logging config
1604 should be standardized inside the library. Replaced the
1605 zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
1606 And zlog_set_file now requires an additional log_level argument.
1607 Declare zlog_proto_names for use inside command.c in the
1608 "show logging" command. Added defines useful for command
1609 construction.
1610 * log.c: (vzlog) Decide where to send the message based on the
1611 individual logging levels configured for each destination.
1612 Remove support for ZLOG_STDERR since it was never actually used.
1613 Support record-priority for terminal monitors.
1614 (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
1615 logging levels. Remove stderr support (was never used). Added
1616 support for terminal monitor logging.
1617 (_zlog_assert_failed) Increase message severity to LOG_EMERG.
1618 (openzlog) Remove 2nd argument since default config should be
1619 standardized in library. By default, terminal monitoring
1620 is set to debug, and all other logging is disabled.
1621 (zlog_set_flag,zlog_reset_flag) Removed.
1622 (zlog_set_level) New function to replace zlog_set_flag and
1623 zlog_reset_flag. Supports destination-specific logging levels.
1624 (zlog_set_file,zlog_reset_file) Support file-specific logging level.
1625 (zlog_rotate) Log an error message if fopen fails, and support
1626 new file-specific logging level.
1627 * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
1628 command functions will be static instead of global. Remove
1629 declarations for config_exit and config_help. Define new macros
1630 DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
1631 have deprecated commands in vtysh. Similarly, for completeness,
1632 define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
1633 Also, fix bug in ALIAS_ATTR macro (didn't matter because it
1634 was never used).
1635 * command.c: Make many functions static instead of global.
1636 (facility_name,facility_match,level_match) New functions
1637 to support enhanced destination-specific logging levels.
1638 (config_write_host) Support new destination-specific logging levels.
1639 (config_logmsg) Added new "logmsg" command to help test logging
1640 system.
1641 (show_logging) Added "show logging" command to show the current
1642 configuration of the logging system.
1643 (config_log_stdout_level) Support explicit stdout logging level.
1644 (no_config_log_stdout) Now takes optional LEVEL arg.
1645 (config_log_monitor,config_log_monitor_level,no_config_log_monitor)
1646 New commands creating new "log monitor" commands to set terminal
1647 monitoring log level.
1648 (config_log_file_level) Support explicit file logging level.
1649 (config_log_syslog_level) Support explicit syslog logging level.
1650 (config_log_facility,no_config_log_facility) Implement new
1651 "log facility" command.
1652 (cmd_init) Add hooks for new commands: "show logging", "logmsg",
1653 "log stdout <level>", "log monitor", "log monitor <level>",
1654 "no log monitor", "log file <filename> <level>",
1655 "no log file <filename> <level>", "log syslog <level>",
1656 "log facility", and "no log facility".
1657 * vty.h: Added a "level" argument to vty_log so it can support
1658 "log record-priority". Declare new function vty_log_fixed for
1659 use in signal handlers.
1660 * vty.c: (vty_log,vty_log_out) Added a "level" argument to support
1661 "log record-priority" for vty terminal monitors.
1662 (vty_down_level) Use config_exit_cmd.func instead of calling
1663 config_exit directly (since command functions will now be static
1664 instead of global).
1665 (vty_log_fixed) New function to send terminal monitor messages
1666 from inside a signal handler.
1667
ajs887c44a2004-12-03 16:36:46 +000016682004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1669
ajs5e764772004-12-03 19:03:33 +00001670 * log.h: Document appropriate use of syslog logging priorities
1671 inside quagga.
1672
16732004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1674
ajs56f20692004-12-03 17:40:31 +00001675 * command.h: Remove fields log_stdout and log_syslog from struct host,
1676 since they are just trying to duplicate information in the
1677 zlog_default structure. Note that this fixes a bug since those
1678 fields were not registering any logging that was established
1679 in the initial call to openzlog (this affects only the zebra and
1680 ospf6d daemons). It is probably a bug to turn on any logging by
1681 default in the call to openzlog.
1682 * command.c: (config_write_host) Get logging info from zlog_default
1683 instead of now-removed fields host.log_stdout and host.log_syslog.
1684 (config_log_stdout,no_config_log_stdout) Do not set now-removed field
1685 host.log_stdout, since this info is recorded in zlog_default.
1686 (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
1687 (config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
1688 Do not set now-removed field host.log_syslog, since this info is
1689 recorded in zlog_default.
1690
16912004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1692
ajs887c44a2004-12-03 16:36:46 +00001693 * version.h.in: Remove declaration for pid_output_lock, this function
1694 is now static, not global.
1695 * pid_output.c: (pid_output_lock) This function should be static, not
1696 global. And remove "old umask" error message, since it was really
1697 an unimportant debug message, not an error.
1698 (pid_output) Need to declare static function pid_output_lock.
1699
ajs7d149b82004-11-28 23:00:01 +000017002004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1701
1702 * log.h: Remove several unused fields from struct zlog. Add comments
1703 for other fields, and add one new field syslog_options that is
1704 used in the new syslog_sigsafe implementation.
1705 * log.c: (syslog_sigsafe) New function to send syslog messages in
1706 an async-signal safe way that can be used inside a signal handler.
1707 (syslog_connect) New function to connect to syslog daemon inside a
1708 signal handler. This function supports only systems where /dev/log
1709 is a unix datagram socket (e.g. not Solaris).
1710 (zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
1711 (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
1712 enabled.
1713 (openzlog) Save syslog_options for use in syslog_sigsafe.
1714 (num_append) Fix bug: handle 0 properly.
1715 (hex_append) New function to print a u_long in hex format.
1716
hasso2557aed2004-11-28 21:16:20 +000017172004-11-28 Hasso Tepper <hasso at quagga.net>
1718
1719 * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well.
1720
ajsd1c51d72004-11-26 14:14:30 +000017212004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1722
ajs48d6c692004-11-26 20:52:59 +00001723 * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe
1724 to the more self-explanatory zlog_backtrace_sigsafe.
1725
17262004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1727
ajs5b85fac2004-11-26 19:36:42 +00001728 * debug.[ch]: Remove unused files.
1729 * Makefile.am: Remove references to debug.c and debug.h
1730
17312004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1732
ajs063ee522004-11-26 18:11:14 +00001733 * log.c: (zlog_backtrace) New function to log a backtrace.
1734 (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
1735 Unfortunately, this function does not support syslog logging yet.
1736 (zlog_signal) Move backtrace code into separate function
1737 zlog_backtrace_safe.
1738 (_zlog_assert_failed) Call zlog_backtrace before aborting.
1739 * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
1740 * memory.c: (zerror) Call zlog_backtrace before aborting.
1741
17422004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1743
ajsd1c51d72004-11-26 14:14:30 +00001744 * Makefile.am: Need to add zassert.h to pkginclude_HEADERS.
1745
ajse5879ca2004-11-25 16:07:53 +000017462004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1747
ajs4cf0d0d2004-11-25 17:14:34 +00001748 * zebra.h: If not C99 and there's no va_copy macro and there is
1749 a __va_copy macro, define va_copy as __va_copy.
1750
17512004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1752
ajse5879ca2004-11-25 16:07:53 +00001753 * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should
1754 set l_whence to SEEK_SET, not SEEK_END. And after writing new
1755 pid to file, must ftruncate to eliminate any extraneous bytes left
1756 over from the last time a pid was written.
1757
ajscee3df12004-11-24 17:14:49 +000017582004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1759
1760 * zassert.h: New header file to declare a quagga-specific assert macro.
1761 * log.c: (_zlog_assert_failed) New function called when assert fails
1762 to log the error and abort.
1763 * zebra.h: Include "zassert.h" instead of <assert.h>.
1764 * regex.c: Include "zassert.h" instead of <assert.h>.
1765
ajsd246bd92004-11-23 17:35:08 +000017662004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1767
ajs59a06a92004-11-23 18:19:14 +00001768 * sigevent.c: (signal_init) Set up some default signal handlers
1769 so that processes will issue an error message before terminating
1770 or dumping core.
1771 (trap_default_signals) New function to set up signal handlers
1772 for various signals that may kill the process.
1773 (exit_handler) Call zlog_signal, then _exit.
1774 (core_handler) Call zlog_signal, then abort.
1775 * log.h: Declare new function zlog_signal.
1776 * log.c: (zlog_signal) New function to log information about
1777 a received signal before the process dies. Try to log a
1778 backtrace also.
1779 (quagga_signal_handler,signal_set) Should be static.
1780
17812004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1782
ajsd246bd92004-11-23 17:35:08 +00001783 * log.c: (vzlog) Take a single va_list argument and use va_copy
1784 as necessary for multiple traversals.
1785 (zlog) Pass only one va_list to vzlog.
1786 (zlog_*,plog_*) Use a macro for boilerplate code; pass only one
1787 va_list to vzlog.
1788 (zlog_set_file) Remove unused 2nd argument (flags).
1789 (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions.
1790 * log.h: Remove ZLOG_*_INDEX defines (no longer used).
1791 Remove unused 2nd argument from zlog_set_file prototype.
1792 Fix prototype for zlog_rotate.
1793 * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file.
1794 * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals
1795 properly.
1796 (vty_log) Must use va_copy for multiple traversals of va_list arg.
1797
ajsca359762004-11-19 23:40:16 +000017982004-11-19 David Young <dyoung@pobox.com>
1799
1800 * log.c: (safe_strerror) New function: safe wrapper for strerror.
1801
ajsff29bb32004-11-19 18:29:22 +000018022004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1803
1804 * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being
1805 printed every time.
1806
ajsf858e492004-11-16 14:25:30 +000018072004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1808
1809 * memory.h: Fix prototype for memory_init().
1810 * memory.c: Declare many functions and data structures static instead
1811 of global. Fix prototype for memory_init().
1812
gdt69e13252004-11-15 18:51:15 +000018132004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1814
1815 * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without
1816 alignment (users should use CMSG_SPACE).
1817
1818 * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if
1819 asumming 4-byte alignment, since this isn't safe.
1820
ajs7fa25ff2004-11-15 16:12:32 +000018212004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1822
1823 * memory.c: (zerror) Use zlog_err instead of fprintf to stderr.
1824 Instead of exiting, log currenty memory usage and then abort.
1825 (log_memstats) New function to log memory statistics, called by
1826 zerror.
1827 (show_memory_all) Loop over new mlists array instead of calling
1828 show_memory_vty separately for each memory_list.
1829
paulb86718e2004-11-08 17:34:07 +000018302004-11-08 Paul Jakma <paul@dishone.st>
paulb35e5b42004-11-07 22:27:27 +00001831
paul2265d202004-11-08 15:43:21 +00001832 * buffer.c: Add missing include of log.h.
1833 (buffer_flush_available) written is compared against
1834 mostly against unsigned types, only for the writev do we need
1835 signed compare, so declare it as size_t and cast it to ssize_t
1836 just for the error compare when we've called writev.
1837 * buffer.h: Add comment that buffer data sizes really should be
1838 size_t.
1839
18402004-11-07 Paul Jakma <paul@dishone.st>
1841
1842 * version.h.in: add autoconf configure_input output var
paulb35e5b42004-11-07 22:27:27 +00001843
ajs49ff6d92004-11-04 19:26:16 +000018442004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1845
ajs5a646652004-11-05 01:25:55 +00001846 * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
1847 capabilities (that were used only in bgpd/bgp_route.c and are now
1848 removed). Also remove some other fields that were not being
1849 used at all.
1850 * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
1851 and VTY_CONTINUE.
1852 (vty_read) Remove calls to vty->output_func since that was part
1853 of the VTY_CONTINUE infrastructure that has been removed.
1854 (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
1855 (vty_close) Remove code to cancel vty->t_output thread, since that
1856 thread was never actually used.
1857
18582004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1859
ajs49ff6d92004-11-04 19:26:16 +00001860 * vty.c: Vtysh connections to daemons should use buffering.
1861 (vty_out) Remove exception for vty_shell_serv, just use buffer_write.
1862 (vty_new) Increase output buffer size to 4096 rounded up to a
1863 multiple of pagesize.
1864 (vtysh_read) After command has been executed and all output buffered,
1865 call buffer_flush_available and schedule further writes if the
1866 buffers are not yet empty.
1867 (vtysh_write) New function to flush output to vtysh when the socket
1868 is writeable.
1869 (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh
1870 clients. Also, should save read thread in vty->t_read so the
1871 thread can be cancelled in vty_close.
1872 * buffer.h: In struct buffer_data, remove unused "parent" field.
1873 Convert "unsigned char *data" to "unsigned char data[0]" to save
1874 a malloc. Declare new function buffer_flush_available that works
1875 with non-blocking sockets.
1876 * buffer.c: (buffer_data_new) Use a single malloc now that data is
1877 a variable-size array at end of structure.
1878 (buffer_data_free) Just a single free now that data is part of the
1879 structure.
1880 (buffer_write) Simplify the logic to make behavior more transparent.
1881 (buffer_flush) Decrease b->length as data is written out.
1882 (buffer_flush_vty_all) Decrease b->length as buffers are freed.
1883 (buffer_flush_vty) Decrease b->length as data is written out.
1884 (buffer_flush_available) New function to flush non-blocking sockets.
1885
paule064d6d2004-11-01 08:59:21 +000018862004-11-01 Paul Jakma <paul@dishone.st>
1887
1888 * sockopt.c: (setsockopt_pktinfo) remove, its unused.
1889
paul75e15fe2004-10-31 02:13:09 +000018902004-10-31 Paul Jakma <paul@dishone.st>
1891
1892 * vty.c: As per Andrew's suggestions..
1893 (vty_serv_un) remove flags.
1894 (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
paul66cbbce2004-10-31 16:15:33 +00001895 * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
paul9d11a192004-10-31 16:19:24 +00001896 * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
1897 * thread.c: Update stats and funcname alloc/free to use previous
paul039b9572004-10-31 16:43:17 +00001898 specific memory type defines. Use XCALLOC and sizeof the type,
1899 not the pointer.
paul70e149e2004-10-31 16:29:50 +00001900 * smux.c: fix int to size_t compile warnings
paul75e15fe2004-10-31 02:13:09 +00001901
pauldccfb192004-10-29 08:29:36 +000019022004-10-29 Paul Jakma <paul@dishone.st>
1903
1904 * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
1905 to vtysh_accept, where sock is the actual fd we wanted to set to
1906 O_NONBLOCK, ie the /connected/ vtysh unix socket.
1907
hasso508ec912004-10-23 14:26:49 +000019082004-10-23 Hasso Tepper <hasso at quagga.net>
1909
1910 * zclient.c: Unbreak reading interface update message. Might fix
1911 blocker bugzilla #109.
1912
paul23b9c612004-10-22 11:51:57 +000019132004-10-22 Paul Jakma <paul@dishone.st>
paul7d9c6e52004-10-22 10:54:39 +00001914
1915 * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
paul23b9c612004-10-22 11:51:57 +00001916 -1.
1917 (setsockopt_pktinfo) unexported
1918 * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
1919 define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
paul4ccb2c42004-10-22 22:52:33 +00001920 neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo
1921 Nurges for highlighting problem and fix.
paul4927cf02004-10-22 16:55:10 +00001922 Fix elif that should be an else.
paul406d6712004-10-22 12:27:44 +00001923 * command.h: Cleanup the defines a bit, add helper defines and
1924 collapse all defines to use those. Add an attribute field to
1925 cmd_element to support, eg hidden or deprecated commands, add
1926 defun defines for such. All that's left to do is add logic
1927 to command.c to check these attributes... ;)
paulaf0d97e2004-10-22 23:24:43 +00001928 * zebra.h: reserve ZEBRA_ROUTE_HSLS
paul7d9c6e52004-10-22 10:54:39 +00001929
hasso6590f2c2004-10-19 20:40:08 +000019302004-10-19 Hasso Tepper <hasso at quagga.net>
1931
1932 * version.h.in: Define copyright string QUAGGA_COPYRIGHT.
1933 * print_version.c: Remove. print_version () function moved to
1934 command.[c|h].
1935 * command.c: Use QUAGGA_COPYRIGHT.
1936 * Makefile.am: Remove useless version.c and print_version.c files.
1937
hasso3fb9cd62004-10-19 19:44:43 +000019382004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1939
1940 * zclient.c: (zebra_interface_address_read) If the destination address
1941 is encoded as all zeroes, load it as a NULL pointer.
1942 * if.h: Add comment describing struct connected destination field
1943 and indicating that it may be NULL. Define macros
1944 CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help
1945 with PtP logic (distinguish between host and subnet addressing).
1946 * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing
1947 properly,
1948 (connected_lookup_address) ditto.
1949 (connected_add_by_prefix) Handle case where destination is NULL,
1950 * prefix.[c|h]: New functions ipv4_network_addr and
1951 ipv4_broadcast_addr.
1952
hassoddd85ed2004-10-13 08:18:07 +000019532004-10-13 Hasso Tepper <hasso at quagga.net>
1954
1955 * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading
1956 configuration from file. Fixes critical bugzilla #113.
hassoc75105a2004-10-13 10:33:26 +00001957 * smux.c, smux.h: Remove all defaults to initialize smux connection to
1958 snmpd by default even if not configured to do so. "smux peer OID
1959 <password>" initializes now connection and "no smux peer" terminates
1960 it.
hassoddd85ed2004-10-13 08:18:07 +00001961
paul42d49862004-10-13 05:22:18 +000019622004-10-13 Paul Jakma <paul@dishone.st>
1963
1964 * (global) more const'ification.
1965 * sockunion.c: (sockunion_su2str) buffer should be sized
1966 SU_ADDRSTRLEN.
1967 (sockunion_log) do not return stack variables, strdup buf before
1968 return.
1969 * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
1970 values against ULONG_MAX is daft, when caller probably has passed
1971 a type that can not hold ULONG_MAX. use a temporary long instead.
1972 Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
1973 VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
1974
hassoa1494112004-10-11 12:53:17 +000019752004-10-11 Hasso Tepper <hasso at quagga.net>
1976
1977 * command.h: Sync DEFUNSH with other macros.
1978 * sockunion.c, sockunion.h: More const strings.
1979
paul9076fbd2004-10-11 09:40:58 +000019802004-10-11 Paul Jakma <paul@dishone.st>
1981
1982 * thread.c: (funcname_thread_add_timer)
1983 (funcname_thread_add_timer_msec) Fix mistakes from last change.
1984 Pointed out by Liu Xin in [quagga-dev 1609].
paulc9eca012004-10-11 11:28:44 +00001985 * if.h: mtu's should be unsigned.
1986 * routemap.{c,h}: const char updates
1987 * smux.{c,h}: ditto
paul9076fbd2004-10-11 09:40:58 +00001988
paul9035efa2004-10-10 11:56:56 +000019892004-10-10 Paul Jakma <paul@dishone.st>
paul47ca2952004-10-10 08:03:18 +00001990
1991 * version.h.in: (pid_output*) add const qualifier.
paul9035efa2004-10-10 11:56:56 +00001992 * command.h: Change DEFUN func to take const char *[] rather
1993 than char **, to begin process of fixing compile warnings in lib/.
1994 Nearly all other changes in this commit follow from this change.
1995 * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
1996 const void * and cast an automatic const char *p to it.
1997 (buffer_putstr) add const
1998 * command.c: (zencrypt) const qualifier
1999 (cmd_execute_command_real) ditto
2000 (cmd_execute_command_strict) ditto
2001 (config_log_file) ditto.
2002 Fix leak of getcwd() returned string.
2003 * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
2004 * distribute.{c,h}: Update with const qualifier.
2005 (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
2006 (distribute_lookup) Cast to char *, note that it's ok.
2007 (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
2008 (distribute_get) Cast to char *, note that it's ok.
2009 * filter.c: Update with const qualifier.
2010 * if.{c,h}: ditto.
2011 * if_rmap.{c,h}: ditto.
2012 (if_rmap_lookup) Cast to char *, note that it's ok.
2013 (if_rmap_get) ditto.
2014 * log.{c,h}: Update with const qualifier.
2015 * plist.{c,h}: ditto.
2016 * routemap.{c,h}: ditto.
2017 * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
2018 * sockopt.c: (getsockopt_cmsg_data) add return for error case.
2019 * vty.c: Update with const qualifier.
2020
hasso27a43a82004-10-08 06:29:12 +000020212004-10-08 Hasso Tepper <hasso at quagga.net>
2022
2023 * routemap.c, routemap.h: Make some string arguments const.
2024
paul5973ee72004-10-08 01:36:54 +000020252004-10-05 Paul Jakma <paul@dishone.st>
2026
2027 * version.h.in: print_version declaration is here, not in automake
2028 generated version.h.
2029
hassoea8e9d92004-10-07 21:32:14 +000020302004-10-08 Hasso Tepper <hasso at quagga.net>
2031
2032 * command.c, command.h: Make argument of cmd_make_strvec function
2033 const.
2034 * command.c: Make hostname commands usable in vtysh again.
2035
hasso6ad96ea2004-10-07 19:33:46 +000020362004-10-07 Hasso Tepper <hasso at quagga.net>
2037
2038 * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
2039 strings const.
2040
hasso8c328f12004-10-05 21:01:23 +000020412004-10-05 Hasso Tepper <hasso at quagga.net>
2042
2043 * *.[c|h]: Make many strings cons and a lot of int -> unsigned int
2044 changes to fix warnings.
2045
paul96e27c92004-10-05 14:33:43 +000020462004-10-05 Paul Jakma <paul@dishone.st>
2047
2048 * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
2049 functions to change byte order between system IP_HDRINCL order
2050 and host order.
paul98c91ac2004-10-05 14:57:50 +00002051 * thread.c: (funcname_thread_add_timer_timeval) new function, add
2052 timer at specified timeval.
2053 (funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
2054 (funcname_thread_add_timer_msec) ditto
paul96e27c92004-10-05 14:33:43 +00002055
hassob04c6992004-10-04 19:10:31 +000020562004-10-04 Hasso Tepper <hasso at quagga.net>
2057
2058 * memory.c, memory.h: Make char * argument of strdup functions const.
2059 * prefix.c, prefix.h: Make many arguments const. Reorder stuff in
2060 header.
2061 * log.h: Make log message const in struct message.
2062 * log.c: Fix some indenting.
2063 * network.c, network.h: Make second argument of writen() const.
2064
hassoe7168df2004-10-03 20:11:32 +000020652004-10-03 Hasso Tepper <hasso at quagga.net>
2066
2067 * command.h: Introduce SERVICE_NODE for "service <...>" commands.
2068 * command.c: Don't initialize commands that don't make sense if vtysh
2069 is used.
2070 * vty.c: Make VTY_NODE appear in vtysh.
2071
hasso18a6dce2004-10-03 18:18:34 +000020722004-10-03 James R. Leu <jleu at mindspring.com>
2073
2074 * zclient.c, zclient.h: zclient functions for router id handling.
2075 * zebra.h: New message types for router id handling.
2076
paul9172ee02004-09-27 12:46:37 +000020772004-09-27 Paul Jakma <paul@dishone.st>
2078
2079 * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
2080 to try to fragment oversized packets. Enabled only for Linux.
2081 Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
2082 to consolidate various ad-hoc platform defines for same thing.
2083
hassoe473b032004-09-26 16:08:11 +000020842004-09-26 Hasso Tepper <hasso at quagga.net>
2085
2086 * vty.c, sockopt.c: Fix compiler warnings.
2087
hasso52dc7ee2004-09-23 19:18:23 +000020882004-09-23 Hasso Tepper <hasso at quagga.net>
2089
2090 * linklist.h: Remove list and listnode typedefs.
2091 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
2092
paul0b3acf42004-09-17 08:39:08 +000020932004-09-17 Paul Jakma <paul@dishone.st>
2094
paulb89e60c2004-09-21 15:43:13 +00002095 * sockopt.c: Add missing bracket
2096
20972004-09-17 Paul Jakma <paul@dishone.st>
2098
paul0b3acf42004-09-17 08:39:08 +00002099 * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
2100
paul33394762004-09-13 11:27:57 +000021012004-09-13 Paul Jakma <paul@dishone.st>
2102
2103 * command.c: Update the copyright string in the default motd.
2104
gdt630e4802004-08-31 17:28:41 +000021052004-08-31 David Wiggins <dwiggins@bbn.com>
2106
2107 * hash.c (hash_iterate): Save next pointer before calling
2108 procedure, so that iteration works even if the called procedure
2109 deletes the hash backet.
2110
2111 * linklist.h (listtail): new macro, not yet used.
2112
hasso34553cc2004-08-27 13:56:39 +000021132004-08-27 Hasso Tepper <hasso at quagga.net>
2114
2115 * command.c: Install "terminal length" commands only if vty is used.
2116 Vtysh will handle it itself.
2117
gdtafa43b22004-08-26 13:12:41 +000021182004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
2119
2120 * sockopt.h: Define method-independent macro for callers of
2121 get_ifindex to use for cmsg length.
2122
paule6822762004-08-19 04:13:29 +000021232004-08-19 Paul Jakma <paul@dishone.st>
2124
paulefba6ce2004-08-25 13:47:16 +00002125 * zebra.h: add MAX and MIN defines (eg for ospf6d)
2126
21272004-08-19 Paul Jakma <paul@dishone.st>
2128
paule6822762004-08-19 04:13:29 +00002129 * sockopt.c: include sockopt.h
2130 rename some of the _pktinfo_ functions to _ifindex, where that is
2131 their purpose.
2132 (getsockopt_ipv6_pktinfo_ifindex) renamed to
2133 getsockopt_ipv6_ifindex.
2134 (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
2135 (setsockopt_pktinfo) update with previous and add comment re
2136 AF_INET portability.
2137 (setsockopt_ifindex) generic ifindex function ala
2138 setsockopt_pktinfo.
2139 (getsockopt_ipv4_pktinfo_ifindex) renamed to
2140 getsockopt_ipv4_ifindex.
2141 (getsockopt_ipv4_ifindex) rejiggling to reduce repeated
2142 ifdef/elses. pktinfo case forgot to set ifindex.
2143 (getsockopt_pktinfo_ifindex) renamed to
2144 getsockopt_ifindex. update some calls to renamed functions.
2145 * sockopt.h: Update renamed exported functions
2146 Rename the CMSG_SIZE macros to IFINDEX.
2147 Guard IPv4 PKTINFO in a conditional define.
2148
paulc0618de2004-08-18 21:52:58 +000021492004-08-18 Paul Jakma <paul@dishone.st>
2150
2151 * vty.c: (vty_serv_un) set unix vty socket to nonblocking
2152 to prevent inadvertent blocking of daemons by use of
2153 vtysh. TODO: disentangle manual paging from the buffer_write
2154 path so that unix vty can use this path too and be reliable.
2155
gdt33f92322004-07-23 16:14:32 +000021562004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com>
2157
2158 * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile
2159 on NetBSD, and add comments to make it less confusing. Change the
2160 sense of the SUNOS_5 test to make parallel structure between the
2161 variables and the code.
2162
paul4f7baa02004-07-23 15:11:07 +000021632004-07-23 Paul Jakma <paul@dishone.st>
2164
2165 * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for
2166 sizeof pktinfo as appropriate, to be used when allocating msg
2167 buffers. export setsockopt_pktinfo() and
2168 getsockopt_pktinfo_ifindex()
2169 * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably
2170 set received ifindex sock option.
2171 (getsockopt_pktinfo_ifindex) portably retrieve ifindex.
2172 (getsockopt_cmsg_data) retrieve indicated control info from
2173 message header.
2174 (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above.
2175 (setsockopt_ipv4_pktinfo) v4 version
2176 (setsockopt_pktinfo) the exported version
2177 (getsockopt_ipv4_pktinfo_ifindex) v4 specific version
2178 (getsockopt_pktinfo_ifindex) the exported version
2179
paul05c447d2004-07-22 19:14:27 +000021802004-07-14 Paul Jakma <paul@dishone.st>
2181
2182 * sigevent.c: (quagga_signal_handler) add a global caught flag, set
2183 the flags to a constant rather increment to be kinder.
2184 (quagga_sigevent_process) new function, to do core of what
2185 quagga_signal_timer did. dont block signals at all as sig->caught
2186 is volatile sig_atomic_t and should be safe to access from signal
2187 and normal contexts. The signal blocking is unneeded paranoia, but
2188 is left intact under an ifdef, should some platform require it.
2189 Check global caught flag before iterating through array.
2190 (quagga_signal_timer) nearly everything moved to
2191 quagga_sigevent_process. Left in under ifdef, in case some
2192 platform could use a regular timer check for signals.
2193 * sigevent.h: quagga_sigevent_process declaration.
2194 * thread.c: (thread_fetch) check for signals at beginning of
2195 scheduler loop, check for signals if select returns EINTR.
2196
gdtb7797132004-07-13 13:47:25 +000021972004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
2198
2199 * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP
2200 confuses gdb, at least on NetBSD 2.0_BETA, where the block
2201 succeeds.
2202
paul5510e832004-07-09 14:00:01 +000022032004-07-09 Paul Jakma <paul@dishone.st>
2204
2205 * Merge Kunihiro's 'show route-map' change and add
2206 compatibility aliases for route-map continue
paulb9790b32004-07-09 14:05:47 +00002207 * jhash.{c,h}: New files. Bob Jenkins' public domain hashing
2208 function, as implemented in linux kernel by David Miller.
paul5510e832004-07-09 14:00:01 +00002209
paulb06c14f2004-07-09 12:24:42 +000022102004-07-09 Juris Kalnins <juris@mt.lv>
2211
2212 * if.c: (if_cmp_func) fix for interface names where name is same,
2213 but one has no number, eg "devtyp" and "devtyp0".
2214
gdt87efd642004-06-30 17:36:11 +000022152004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
2216
2217 * Makefile.am: Make libzebra shared.
2218
paul138ce752004-06-21 10:35:59 +000022192004-06-21 Paul Jakma <paul@dishone.st>
2220
2221 * ChangeLog: fix my last update config.h -> zebra.h ;)
2222 * zebra.h: Fix gcc check.
2223
paul02ff83c2004-06-11 11:27:03 +000022242004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com>
2225
2226 * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast
2227 to u_char. (ipv6_access_list_remark_cmd) ditto.
2228 if.c: ditto
2229 * network.c: (readn/writen) pointer arg should be type u_char.
2230 * plist.c: needs to include stream.h, not declare stream functions
2231 internally.
2232 (various) Add static qualifier to internal functions.
2233 (prefix_list_type_str) extraneous breaks in switch statement.
2234 (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast
2235 * stream.h: depends on plist.h and export stream_put_prefix
2236 * vty.c: (vty_<telnet option build functions>) should use
2237 unsigned char, telnet options are 0 -> 255.
2238 * zclient.c: various u_char<->char type cleanups.
2239 * zebra.h: Having to define CMSG_* can apply to more than just
2240 BSDI_NRL.
2241
paul51a87982004-06-09 10:36:05 +000022422004-06-09 Paul Jakma <paul@dishone.st>
2243
paul138ce752004-06-21 10:35:59 +00002244 * zebra.h: __attribute__ is a gcc'ism
paul51a87982004-06-09 10:36:05 +00002245
paul5228ad22004-06-04 17:58:18 +000022462004-06-04 Paul Jakma <paul@dishone.st>
2247
2248 * type mismatch fixes
2249
hasso6708fa32004-05-18 18:46:54 +000022502004-05-18 Hasso Tepper <hasso@estpak.ee>
2251
2252 * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository.
2253
paul0a589352004-05-08 11:48:26 +000022542004-05-08 Paul Jakma <paul@dishone.st>
2255
2256 * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
2257 message format.
2258
22592004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
2260
2261 * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
2262 (zapi_ipv4_delete) ditto.
2263 (zapi_ipv4_route) add/delete a route by way of cmd arg.
2264 (zapi_ipv6_add) collapsed into zapi_ipv6_route.
2265 (zapi_ipv6_delete) ditto.
2266 (zapi_ipv6_route) add/delete a route by way of cmd arg.
2267 (zebra_interface_address_delete_read) collapsed into
2268 zebra_interface_address_read.
2269 (zebra_interface_address_delete_read) ditto.
2270 (zebra_interface_address_read) read address add/delete messages
2271 by way of type argument. Describe command message format.
2272 (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
2273 Describe command message format.
2274 (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
2275 (zclient_redistribute_set) Collapsed into zclient_redistribute
2276 (zclient_redistribute_unset) ditto
2277 (zclient_redistribute) set/unset redistribution.
2278 (zclient_redistribute_default_set) Collapsed into
2279 zclient_redistribute_default.
2280 (zclient_redistribute_default_unset) ditto.
2281 (zclient_redistribute_default) Redistribute default set/unset.
2282 * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
2283 zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
2284 zclient_redistribute. Ditto for
2285 zclient_redistribute_default_{set/unset}.
2286
paul4a7aac12004-05-08 05:00:31 +000022872004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
2288
2289 * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ
2290 from IPv4, and Solaris treats the MTU's differently.
2291 Add connected_add_by_prefix, for use by later patch.
2292 * if.c: (connected_add_by_prefix) Add prefix to connected list.
2293 (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag
2294 (if_dump) Dump mtu6 flag, for HAVE_IPV6.
paul22528292004-05-08 05:10:38 +00002295 * command.c: (sockunion_getsockname) use socklen_t for len.
2296 (sockunion_getpeername) ditto.
paul0a589352004-05-08 11:48:26 +00002297
paul31fcdd32004-04-21 11:00:43 +000022982004-04-21 Boris Kovalenko <boris@tagnet.ru>
2299
2300 * daemon.c: (daemon) fix check for error return from setsid
2301
paulc49b3062004-01-19 21:23:37 +000023022004-01-19 Paul Jakma <paul@dishone.st>
2303
2304 * sigevent.{c,h}: New files, implement event handled signals.
2305 see signal_init() in sigevent.h.
2306
jardinc32e1b52003-12-23 09:06:51 +000023072003-12-23 Vincent Jardin <jardin@6wind.com>
2308
2309 * {command.c, memory.c, vty.c, zebra.h}: Add isisd support
2310
gdt3dbf9962003-12-22 20:18:18 +000023112003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com>
2312
2313 * vty.c (vty_use_backup_config): Don't free filenames before using
2314 them for unlink.
2315
paul54aba542003-08-21 20:28:24 +000023162003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2317
2318 * command.c: Fix <cr> display problem for command line
2319 description
2320
paule9af5c72003-05-24 11:54:31 +000023212003-05-24 Anil Madhavapeddy
2322
2323 * (sockunion.c): Incorrect bounds specified in sockunion_log()
2324
paul445f1432003-05-16 19:00:31 +000023252003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net>
2326
2327 * vty.c: -A option
2328
23292003-04-19 Hasso Tepper <hasso@estpak.ee>
2330
2331 * rip_routemap.c: sync daemon's route-map commands to have same
2332 syntax
2333
paul718e3742002-12-13 20:15:29 +000023342002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2335
2336 * vty.c (vty_flush): One line more on vty.
2337
23382002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2339
2340 * vector.c (vector_lookup): Add new function.
2341
23422002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2343
2344 * thread.c (timeval_adjust): Fix unconditional crush due to
2345 FreeBSD's select() system call timeval value check.
2346
23472002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2348
2349 * zebra-0.93 released.
2350
23512002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2352
2353 * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank
2354 van Maarseveen's suggestion.
2355
23562002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2357
2358 * command.c: Change bcopy() to memcpy().
2359
23602001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2361
2362 * command.c (config_password): Fix host.password clear bug.
2363 Reported by Wang Jian <lark@linux.net.cn>.
2364
23652001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2366
2367 * thread.c (thread_should_yield): New function to check thread
2368 should yeild it's execution to other thread. Suggested by: Rick
2369 Payne <rickp@ayrnetworks.com>
2370
23712001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2372
2373 * thread.c (thread_timer_cmp): Rewrite function.
2374
2375 * hash.c: Add hash_get(). Change hash_pull() to hash_release().
2376
23772001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2378
2379 * zebra-0.92a released.
2380
23812001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
2382
2383 * zebra-0.92 released.
2384
23852001-08-12 Akihiro Mizutani <mizutani@dml.com>
2386
2387 * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0"
2388 string to "1.1.0.0/16".
2389
23902001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2391
2392 * filter.c (access_list_lookup): access_list_lookup's first
2393 argument is changed from address family to AFI.
2394
2395 * plist.c: (prefix_list_lookup): Likewise.
2396
23972001-07-27 Akihiro Mizutani <mizutani@dml.com>
2398
2399 * plist.c: ge and le display order is changed. Old compatible
2400 rule (len <= ge-value <= le-value) is removed.
2401
24022001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2403
2404 * prefix.h: Temporary fix for alignment of prefix problem.
2405
24062001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2407
2408 * prefix.h (struct prefix): Remove safi and padding field.
2409 (struct prefix_ipv4): Likewise.
2410 (struct prefix_ipv6): Likewise.
2411 (struct prefix_ls): Likewise.
2412 (struct prefix_rd): Likewise.
2413
2414 * command.h (enum node_type): Preparation for BGP new config.
2415
2416 * vty.c (vty_end_config): Likewise.
2417
24182001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2419
2420 * routemap.c (route_map_rule_delete): Call func_free when
2421 route-map rule is deleted.
2422
24232001-06-14 "Akihiro Mizutani" <mizutani@dml.com>
2424
2425 * routemap.c (route_map_index_lookup): Prevent to use deny and
2426 permit for same route-map sequence.
2427
24282001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2429
2430 * vty.c (vty_read_config): Fix warning.
2431
24322001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2433
2434 * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address
2435 strings.
2436
24372001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2438
2439 * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for
2440 CMSG_FIRSTHDR.
2441
24422001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2443
2444 * zebra.h (struct in_pktinfo): structure in_pktinfo declaration.
2445
24462001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2447
2448 * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory
2449 lib" member.
2450
24512001-02-13 Matthew Grant <grantma@anathoth.gen.nz>
2452
2453 * vty.c (vty_read_config): Revert check of integrate_default when
2454 VTYSH is defined.
2455
24562001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2457
2458 * vty.c (vty_read_config): Do not check integrate_default. That
2459 should be used only by vtysh.
2460
24612001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
2462
2463 * vty.c (vty_serv_un): Set umask 0077.
2464 (vty_read_config): Stat for vtysh Zebra.conf, if found startup and
2465 wait for boot configuration.
2466
2467 * if.c (if_lookup_address): Make it smart implementation.
2468
2469 * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket
2470 options for IPv4 This is here so that people only have to do their
2471 OS multicast mess in one place rather than all through zebra,
2472 ospfd, and ripd .
2473
24742001-02-04 Akihiro Mizutani <mizutani@dml.com>
2475
2476 * plist.c (vty_prefix_list_install): Even when argument is
2477 invalid, new memory is allocated. Now memory allocation is done
2478 after argument check.
2479
24802001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2481
2482 * zebra-0.91 is released.
2483
24842001-01-31 Akihiro Mizutani <mizutani@dml.com>
2485
2486 * vty.c (vty_login): Add vty login command.
2487
24882001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2489
2490 * vty.c (vty_reset): Close accept socket.
2491
24922001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2493
2494 * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit
2495 attribute.
2496
24972001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2498
2499 * zclient.c (zebra_interface_address_add_read): Fetch interface
2500 address flag.
2501 (zebra_interface_address_delete_read): Likewise.
2502
25032001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2504
2505 * table.c (route_node_match_ipv4): Utility function for IPv4
2506 address lookup.
2507 (route_node_match_ipv6): Utility function for IPv4 address lookup.
2508
25092001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
2510
2511 * if.c: Delete RIP_API part until new implementation comes out.
2512
25132001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2514
2515 * hash.h (struct Hash): Rename alloc to count. Change type to
2516 unsigned long.
2517
2518 * stream.c (stream_getc_from): New function.
2519 (stream_getw_from): Likewise.
2520
2521 * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route.
2522
25232001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2524
2525 * flap.c: File is removed.
2526
2527 * flap.c: Likewise.
2528
2529 * roken.h: Likewise.
2530
2531 * buffer.c (buffer_new): Remove type option to buffer_new().
2532
25332001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2534
2535 * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part.
2536
25372001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2538
2539 * zebra-0.90 is released.
2540
2541 * command.c: Update Copyright year.
2542
25432001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
2544
2545 * if.c (if_create): Register connected_free() function for
2546 deletion.
2547 (if_delete): Free connected information when the interface is
2548 deleted.
2549 (if_lookup_by_index): Fix argument type from int to unsigned int.
2550 (connected_add): Keep list in order if old info found, essential
2551 for repeatable operation in some daemons.
2552
25532001-01-09 endo@suri.co.jp (Masahiko Endo)
2554
2555 * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty
2556 read thread.
2557
25582001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2559
2560 * filter.c (access_list_delete): Access-list name is not freed.
2561
2562 * plist.c (prefix_list_delete): Prefix-list name is not freed.
2563
25642000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2565
2566 * zclient.c (zclient_start): Change to use UNIX domain
2567 socket for zebra communication.
2568
2569 * vector.c (vector_init): vector_alloc and vector_data_alloc is
2570 removed. All memory allocation count should be maintained by
2571 XMALLOC and XFREE macros.
2572
25732000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2574
2575 * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values.
2576
25772000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2578
2579 * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative
2580 value.
2581
25822000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp>
2583
2584 * vty.c (vtysh_read): Don't allocate new buffer because buffer is
2585 allocated in vty_new ().
2586
25872000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2588
2589 * memory.h (enum): Add MTYPE_AS_FILTER_STR.
2590
2591 * command.c (config_write_terminal): Display "end" at the end of
2592 configuration.
2593
2594 * plist.c (vty_prefix_list_install): Use AF_INET to determine
2595 lenum length.
2596
25972000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp>
2598
2599 * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System,
2600 then all lines write by IOV_MAX.
2601
26022000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2603
2604 * command.c (config_write_file): Robust method for writing
2605 configuration file and recover from backing up config file.
2606
26072000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2608
2609 * smux.c (smux_connect): More fail check.
2610 (smux_trap): When SMUX connection is not established, do nothing.
2611
26122000-11-28 Gleb Natapov <gleb@nbase.co.il>
2613
2614 * thread.c (thread_fetch): Execut event list first. Old event
2615 list is renamed to ready list. With this change, event thread is
2616 executed before any other thread.
2617
2618 * thread.h (struct thread_master): Add ready list.
2619
26202000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2621
2622 * linklist.c (listnode_add_after): Add node right after the
2623 listnode pointer.
2624
26252000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2626
2627 * smux.h: Pass struct variable to WriteMethod.
2628
26292000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
2630
2631 * if.c (if_lookup_address): When looking up interface with IP
2632 address, Sometimes multiple interfaces will match. Now PtP
2633 interfaces prevail in such a case which seem the right thing to
2634 do: There will probably also be host routes which usually prevail
2635 over network routes.
2636
26372000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2638
2639 * smux.c (smux_trap): SMUX trap implementation.
2640
26412000-11-19 Akihiro Mizutani <mizutani@dml.com>
2642
2643 * plist.c: Add automatic conversion function of an old rule.
2644 ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32
2645
26462000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
2647
2648 * zclient.c (zebra_interface_add_read): Read hardware address when
2649 hw_addr_len is greater than 0.
2650
26512000-11-15 Akihiro Mizutani <mizutani@dml.com>
2652
2653 * plist.c: The rule of "len <= ge-value <= le-value"
2654 was changed to "len < ge-value <= le-value".
2655
26562000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2657
2658 * memory.[ch]: Added #define and functions for ospf6d.
2659
2660 * log.[ch]: some platform says that the data of used va_list
2661 is undefined. Changed to hold list of va_list for each
2662 vsnprintf.
2663
26642000-11-07 Rick Payne <rickp@rossfell.co.uk>
2665
2666 * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP.
2667
26682000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2669
2670 * command.c (config_exit): Fix bug of missing break after case
2671 BGP_VPNV4_NODE.
2672
26732000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2674
2675 * vector.c (vector_unset): Check i is not nevative.
2676
26772000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl>
2678
2679 * smux.c (smux_sock): Set terminating '\0'. Check address family.
2680
2681 * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use
2682 gai_strerror. Check address family.
2683
26842000-10-23 Jochen Friedrich <jochen@scram.de>
2685
2686 * smux.c: Use linklist rather than vector.
2687 (smux_getnext): A SMUX subagent has to behave as if it manages the
2688 whole SNMP MIB tree itself. It's the duty of the master agent to
2689 collect the best answer and return it to the manager. See RFC 1227
2690 chapter 3.1.6 for the glory details :-). ucd-snmp really behaves
2691 bad here as it actually might ask multiple times for the same
2692 GETNEXT request as it throws away the answer when it expects it in
2693 a different subtree and might come back later with the very same
2694 request.
2695
26962000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org>
2697
2698 * command.c (cmd_init): Log related command are only installed for
2699 terminal mode.
2700
27012000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2702
2703 * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c.
2704
2705 * zebra.h: Remove #warn directive.
2706
27072000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2708
2709 * keychain.c (keychain_init): Register "key chain" command to
2710 KEYCHAIN_NODE and KEYCHAIN_KEY_NODE.
2711
2712 * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other
2713 CONFIG_NODE.
2714
2715 * command.c (config_end): Likewise.
2716
2717 * keychain.c (keychain_get): Key is sorted by it's identifier
2718 value.
2719
27202000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org>
2721
2722 * linklist.c (list_delete_all_node): Call delete function if it is
2723 defined.
2724
2725 * command.c (cmd_execute_command_strict): Add modification for
2726 vtysh.
2727 (cmd_execute_command_strict): Remove first argument cmdvec because
2728 it is global varibale in command.c.
2729
27302000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2731
2732 * command.c (cmd_init): Install
2733 copy_runningconfig_startupconfig_cmd only in terminal mode.
2734
2735 * linklist.c (list_delete_node): Simplify the function.
2736 (listnode_lookup): Renamed from list_lookup_node.
2737
27382000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2739
2740 * stream.h: Undef stream_read and stream_write without
2741 parenthesis.
2742
2743 * newlist.c: File removed.
2744
2745 * newlist.h: Likewise.
2746
2747 * linklist.c (list_new): Remove list_init(). To allocate new
2748 linked list, please use list_new().
2749 (listnode_add): Remove list_add_node(). To add new node to linked
2750 list, please use listnode_add().
2751 (list_delete_by_val): Revemove fucntion.
2752
27532000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp>
2754
2755 * table.c (route_table_free): Reimplement route_table_free().
2756
27572000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2758
2759 * keychain.c (keychain_get): Register key_delete_func to key
2760 list's delete function. Use linklist.c instead of newlist.c.
2761
27622000-10-04 Akihiro Mizutani <mizutani@dml.com>
2763
2764 * filter.c (access_list_remark): Add access-list's remark command.
2765 (no_access_list): "no access-list 100 permit any" error message
2766 bug is fixed.
2767
27682000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2769
2770 * memory.h (enum): Add MTYPE_SOCKUNION.
2771
27722000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2773
2774 * zebra-0.89 is released.
2775
27762000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2777
2778 * linklist.c (list_add_node_head): Delete unused function.
2779 (list_add_node_tail): Likewise.
2780
27812000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2782
2783 * stream.c (stream_read_unblock): Add new function for unblocking
2784 read.
2785
27862000-09-26 Jochen Friedrich <jochen@nwe.de>
2787
2788 * smux.c (smux_register): Fix bug of can't register more than one
2789 MIB with SMUX.
2790
27912000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp>
2792
2793 * vty.c (vty_close): Fix memory leak of sb_buffer.
2794 (vty_new): Likewise.
2795
27962000-09-21 steve@Watt.COM (Steve Watt)
2797
2798 * log.h: Do not declare zlog_priority[0] variable.
2799
28002000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2801
2802 * linklist.h (struct _list ): Add member cmp for compare function.
2803 (struct _list ): Member up is deleted
2804
28052000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com>
2806
2807 * if.c: Include RIP_API header when RIP API is enabled.
2808
28092000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2810
2811 * prefix.c (prefix_free): Siplify prefix_free().
2812
2813 * keychain.c (key_match_for_accept): strncmp check bug is fixed.
2814
28152000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2816
2817 * zebra.h: Merge roken.h into zebra.h.
2818
28192000-09-05 Akihiro Mizutani <mizutani@dml.com>
2820
2821 * routemap.c (route_map_init_vty): Install route-map command to
2822 RMAP_NODE.
2823
28242000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2825
2826 * thread.c (thread_get_id): Remove pthread related garbage.
2827
2828 * command.h (struct host): Likewise.
2829
2830 * zebra.h: Likewise.
2831
28322000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2833
2834 * command.h (node_type ): Add AAA node for authentication.
2835
2836 * vty.c (vty_close): Do not close stdout.
2837
28382000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2839
2840 * vty.c (vty_init_vtysh): Added for vtysh.
2841
2842 * distribute.c (districute_list_prefix_all): Interface independent
2843 filter can be set.
2844 (distribute_list_all): Likewise.
2845 (config_show_distribute): Display current distribute-list status
2846 for "show ip protocols".
2847
28482000-08-18 Akihiro Mizutani <mizutani@dml.com>
2849
2850 * command.c (config_terminal_no_length): no terminal monitor ->
2851 terminal no monitor
2852 (cmd_init): Do not install service_terminal_length_cmd into
2853 ENABLE_NODE.
2854
2855 * vty.c (terminal_no_monitor): no terminal length -> terminal no
2856 length.
2857
28582000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2859
2860 * zebra-0.88 is released.
2861
28622000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se>
2863
2864 * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for
2865 better IAC handling.
2866
2867 * vty.c (vty_telnet_option): Change telnet option handling.
2868
28692000-08-15 Gleb Natapov <gleb@nbase.co.il>
2870
2871 * zclient.c (zclient_redistribute_unset): New function added.
2872
28732000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2874
2875 * zclient.c (zebra_interface_add_read): Change ifindex restore
2876 size from two octet to four.
2877 (zebra_interface_state_read): Likewise.
2878 (zebra_interface_address_add_read): Likewise.
2879
28802000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2881
2882 * vty.c (vty_event): Use vector_set_index() instead of
2883 vector_set().
2884
28852000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2886
2887 * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default
2888 Administrative Distance of each protocol.
2889
28902000-08-07 Matthew Grant <grantma@anathoth.gen.nz>
2891
2892 * if.h (struct interface ): Add new member bandwidth to struct
2893 interface.
2894
2895 * zclient.c (zebra_interface_add_read): Fetch bandwidth value.
2896 (zebra_interface_state_read): Likewise.
2897
28982000-08-07 Gleb Natapov <gleb@nbase.co.il>
2899
2900 * routemap.c (route_map_event_hook): New hook route_map_event_hook
2901 is added. This hook is called when route-map is changed. The
2902 parameters passed to the hook are 'event' and 'route-map name'
2903
2904 * routemap.h: Add prototype for route_map_event_hook().
2905
29062000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2907
2908 * zclient.c (zebra_ipv4_route): zebra_ipv4_route(),
2909 zebra_ipv4_add(), zebra_ipv4_delete() are removed.
2910
2911 * routemap.c (route_map_empty): Add new function.
2912 (route_map_delete): Use route_map_index_delete() instead of
2913 route_map_index_free().
2914 (route_map_index_free): Function removed.
2915
29162000-08-06 Gleb Natapov <gleb@nbase.co.il>
2917
2918 * routemap.c (route_map_index_delete): Add check for route-map is
2919 empty or not.
2920
29212000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2922
2923 * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct
2924 zclient.
2925
29262000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2927
2928 * zclient.h (struct zebra): Add obuf for output buffer.
2929
2930 * if.c: Remove #ifdef NRL enclosing if_nametoindex() and
2931 if_indextoname().
2932
29332000-08-02 David Lipovkov <davidl@nbase.co.il>
2934
2935 * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added.
2936 (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted.
2937
2938 * if.c (interface_pseudo): Add "pseudo" command to interface node.
2939 (no_interface_pseudo): Add "no pseudo" command to interface node.
2940
2941 * zclient.c (zebra_interface_add_read): Set pseudo flag when it is
2942 send from zebra.
2943
29442000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2945
2946 * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message.
2947 (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise.
2948
2949 * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility.
2950
29512000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
2952
2953 * vty.c: Use vector for VTY server thread listing instead of
2954 single value.
2955
29562000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2957
2958 * keychain.c (no_key_chain): "no key chain WORD" command is added.
2959
29602000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2961
2962 * command.c (config_from_file): If command fail in
2963 KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE.
2964
2965 * vty.h (struct vty ): Add index_sub member.
2966
29672000-07-27 Akihiro Mizutani <mizutani@dml.com>
2968
2969 * if.c: Help strings updates.
2970
29712000-07-11 Akihiro Mizutani <mizutani@dml.com>
2972
2973 * command.c (no_config_enable_password): Add "no enable password"
2974 command.
2975 (config_write_host): Display password string.
2976
2977 * routemap.c (route_map_delete_match): Add support for delete
2978 match without argument.
2979 (route_map_delete_set): Likewise.
2980
29812000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2982
2983 * command.h (node_type ): Change KEYCHAIN_NODE and
2984 KEYCHAIN_KEY_NODE place just before INTERFACE_NODE.
2985
29862000-07-09 Jochen Friedrich <jochen@scram.de>
2987
2988 * smux.c (config_write_smux): Fixes the option to override OID and
2989 password for SMUX.
2990
29912000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2992
2993 * command.h (node_type ): Add SMUX_NODE for SMUX configuration.
2994
29952000-07-09 Toshiaki Takada <takada@zebra.org>
2996
2997 * command.c: Sort descvec command's help.
2998
2999 * vty.c (vty_describe_command): Display '<cr>' at the end of
3000 descriptions.
3001
30022000-07-05 Toshiaki Takada <takada@zebra.org>
3003
3004 * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug
3005 treatment of double colon.
3006
30072000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3008
3009 * zclient.h: Add zclient_redistribute_default_{set,unset}().
3010
3011 * keychain.c: New file for authentication key management.
3012 * keychain.h: Likewise.
3013
3014 * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or
3015 ipchains.
3016 * tcpfilter.h: Likewise.
3017
3018 * flap.h: New file for route flap dampening.
3019 * flap.c: Likewise.
3020
30212000-07-04 Toshiaki Takada <takada@zebra.org>
3022
3023 * filter.c (struct filter): Add exact flag.
3024 (access_list): Add exact-match command.
3025 (ipv6_access_list): Add exact-match command.
3026
30272000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3028
3029 * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for
3030 request default route.
3031
30322000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp>
3033
3034 * smux.c: Add IPv6 smux connection code.
3035
30362000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3037
3038 * vty.c (vty_complete_command): To cooperate readline library,
3039 returned string is newly allocated. So some match function case
3040 need, free of memory.
3041
30422000-06-12 Akihiro Mizutani <mizutani@dml.com>
3043
3044 * distribute.c: Fix help strings.
3045
30462000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3047
3048 * command.c (cmd_complete_command): Add check for vector_slot
3049 (vline, index) is not NULL when calculating lcd.
3050 (cmd_entry_function): First check variable arguemnt to prevent it
3051 from completion.
3052
30532000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3054
3055 * vty.h (struct vty ): Add output_count member for displaying
3056 output route count. Remove arugment arg from output_func because
3057 the value is passed by vty argument. Change output to output_rn.
3058 Add output_clean function pointer member. Add output_type member.
3059
30602000-06-10 Toshiaki Takada <takada@zebra.org>
3061
3062 * command.c (show_startup_config): Add "show startup-config"
3063 command.
3064
30652000-06-06 Akihiro Mizutani <mizutani@dml.com>
3066
3067 * filter.c: Fix help strings.
3068
30692000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3070
3071 * prefix.h (struct prefix_rd): New prefix structure for routing
3072 distinguisher.
3073 (struct prefix): Add padding to every prefix structure.
3074
3075
3076 * routemap.c (route_map_add_match): When completely same match
3077 statement exists, don't duplicate it.
3078
30792000-06-05 Akihiro Mizutani <mizutani@dml.com>
3080
3081 * routemap.c: Change NAME to WORD.
3082
3083 * plist.c: Fix help strings.
3084
30852000-06-02 Akihiro Mizutani <mizutani@dml.com>
3086
3087 * routemap.c: Fix route-map help strings.
3088
30892000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3090
3091 * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment
3092 to filter other non vararg commands.
3093
3094 * routemap.c (route_map_init_vty): Use install_default() for
3095 install common commands into route-map node..
3096
30972000-06-01 Akihiro Mizutani <mizutani@dml.com>
3098
3099 * command.h (OSPF_STR): Macro added.
3100
31012000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3102
3103 * command.c (cmd_complete_command): LCD completion must not modify
3104 installed command string.
3105
3106 * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change
3107 X:X::X:X to X:X::X:X/M.
3108
31092000-05-31 Toshiaki Takada <takada@zebra.org>
3110
3111 * vty.c (show_history): New defun added.
3112
31132000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3114
3115 * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion
3116 list. CMD_COMPLETE_MATCH is used for LCD completion.
3117
3118 * vty.c (vty_complete_command): Matched string's LCD is completed.
3119
3120 * command.c (cmd_lcd): New function for calculate LCD of matched
3121 strings.
3122
31232000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3124
3125 * command.c (install_default): config_write_terminal_cmd,
3126 config_write_file_cmd, config_write_memory_cmd are added to
3127 default node.
3128
3129 * memory.c (memory_init): Divide show memory command into each
3130 sort.
3131
3132 * command.c (cmd_init): config_write_terminal_cmd,
3133 config_write_file_cmd, config_write_memory_cmd are added to
3134 CONFIG_NODE.
3135
3136 * routemap.c (route_map_index_free): New function.
3137 (no_route_map_all): New DEFUN for "no route-map NAME".
3138
3139 * filter.c (no_access_list_all): New DEFUN for delete access-list
3140 with NAME.
3141 (no_ipv6_access_list_all): Likewise.
3142
31432000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3144
3145 * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is
3146 specified, user can not use "ge" and "le" statement.
3147
31482000-05-22 Thomas Molkenbur <tmo@datus.datus.com>
3149
3150 * routemap.c (route_map_add_set): Fix bug of next pointer missing.
3151
3152 * table.c (route_table_free): Like wise.
3153
31542000-05-22 Toshiaki Takada <takada@zebra.org>
3155
3156 * vty.c (vty_stop_input): Set history pointer to the latest one.
3157
3158 * vty.c (vty_hist_add): Do not add command line history when input
3159 is as same as previous one.
3160
31612000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3162
3163 * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL.
3164
31652000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3166
3167 * command.h (node_type ): Add BGP_VPNV4_NODE.
3168
31692000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3170
3171 * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind
3172 argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>.
3173
3174 * filter.c (ipv6_access_list): Add IPv6 prefix example instead of
3175 IPv4 example. Reported by: Love <lha@s3.kth.se>.
3176
3177 * command.c (cmd_complete_command): Make it sure last element of
3178 matchvec is NULL. This fix problem which cause crush in
3179 vty_complete_command(). Reported by: JINMEI Tatuya
3180 <jinmei@isl.rdc.toshiba.co.jp>.
3181
31822000-04-28 Love <lha@s3.kth.se>
3183
3184 * prefix.h (struct prefix): Add padding.
3185
31862000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
3187
3188 * command.c (show_version): Update copyright year.
3189
31902000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3191
3192 * routemap.c (route_map_apply): When map is NULL, return deny.
3193
31942000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3195
3196 * filter.c (access_list_apply): When access is NULL, return deny.
3197
3198 * plist.c (prefix_list_apply): When plist is NULL, return deny.
3199
32002000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3201
3202 * command.h (node_type ): Change RDISC_NODE to IRDP_NODE.
3203
32042000-04-18 Toshiaki Takada <takada@zebra.org>
3205
3206 * filter.[ch] (access_list_add_hook), (access_list_delete_hook):
3207 Add argument for hook function to give struct access_list *.
3208
32092000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3210
3211 * plist.c (prefix_list_entry_match): In case of le nor ge is
3212 specified, exact match is performed.
3213 (prefix_list_entry_match): Add any entry matching check.
3214
32152000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3216
3217 * vty.c (exec_timeout): Separate timeout setting to minutes and
3218 seconds.
3219 (no_exec_timeout): Add "no exec-timeout" command.
3220
3221 * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to
3222 600.
3223
32242000-03-31 Jochen Friedrich <jochen@scram.de>
3225
3226 * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so
3227 it is a primitive encoding and not constructed.
3228
32292000-03-28 Toshiaki Takada <takada@zebra.org>
3230
3231 * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO.
3232
32332000-03-26 Love <lha@s3.kth.se>
3234
3235 * zclient.c (zclient_read): Add nbytes size check for
3236 ZEBRA_HEADER_SIZE. Check return value of steam_read ().
3237
32382000-03-26 Rick Payne <rickp@rossfell.co.uk>
3239
3240 * routemap.c: Add flexible route-map commands such as on-match
3241 next, on-match goto N.
3242
3243 * routemap.h: Likewise
3244
32452000-03-23 Adrian Bool <aid@u.net.uk>
3246
3247 * command.c (config_log_trap): Add new command "log trap
3248 PRIORITY".
3249
32502000-03-14 Toshiaki Takada <takada@zebra.org>
3251
3252 * memory.c (struct memory_list): Add Link List and Link Node
3253 to view.
3254
3255 * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE.
3256
32572000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
3258
3259 * str.c (snprintf): Fix bug of calling sprintf instead of
3260 vsprintf.
3261
32622000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3263
3264 * memory.h (enum): Add MTYPE_RIP_PEER.
3265
32662000-01-15 Toshiaki Takada <takada@zebra.org>
3267
3268 * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY.
3269
32702000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3271
3272 * command.h (node_type ): Add MASC_NODE for masc.
3273
32742000-01-09 Wang Jianliang <wangjl@soim.net>
3275
3276 * routemap.c (route_map_index_add): When route_map_index is not
3277 empty and insert new item at the head, it can cause core dump.
3278 Fix "if (index == map->head)" to "if (point == map->head).
3279 (route_map_add_set): If there is an old set command, override old
3280 set command with new one.
3281 (route_map_index_delete): Use while() instead of for for() for
3282 logical correctness.
3283
32841999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3285
3286 * memory.h (enum): Add MTYPE_BGP_STATIC.
3287
32881999-12-23 Alex Zinin <zinin@amt.ru>
3289 * zebra.h, zclient.*: dynamic int up/down message
3290 support
3291
32921999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3293
3294 * thread.c (thread_cancel_event): Add a function for clean up
3295 events.
3296
32971999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3298
3299 * dropline.c: Delete file.
3300 dropline.h: Linewise.
3301
33021999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3303
3304 * filter.c (access_list_filter_delete): Wrong pointer
3305 access->master was pointed out after access is freed. I store
3306 master value at the beginning of the function.
3307
33081999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3309
3310 * vty.c (exec_timeout): Change of VTY timeout affect to current
3311 VTY connection.
3312 (vty_accept): Instead of immediate exit() return -1.
3313
33141999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3315
3316 * vty.c (vty_configure_lock): Configuration lock function added.
3317 Only one VTY can use CONFI_NODE at the same time.
3318
3319 * log.c: Delete zvlog_* functions. Now zlog_* does the same
3320 thing.
3321
3322 * log.c (log_init): Function removed.
3323 (log_close): Likewise.
3324 (log_flush): Likewise.
3325 (log_open): Likewise.
3326
3327 * vty.c (terminal_monitor): Add new command.
3328 (no_terminal_monitor): Likewise.
3329
3330 * log.c (old_log): Function removed.
3331 (old_log2): Likewise.
3332 (old_log_warn): Likewise.
3333
33341999-12-04 Toshiaki Takada <takada@zebra.org>
3335
3336 * command.c (cmd_ipv6_match): New function added.
3337 (cmd_ipv6_prefix_match): Likewise.
3338
33391999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3340
3341 * command.c (cmd_ipv6_match):
3342
3343 * table.c: Delete #ifdef HAVE_MBGPV4.
3344
3345 * prefix.h (struct prefix): Add safi member.
3346 (struct prefix_ipv4): Likewise.
3347 (struct prefix_ipv6): Likewise.
3348
33491999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg>
3350
3351 * memory.c (struct mstat): Revert to support MEMORY_LOG.
3352
33531999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3354
3355 * version.h: Bump up to 0.81c for testing new kernel codes.
3356
33571999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3358
3359 * thread.h (struct thread): Pthread support is disabled all
3360 platform.
3361
33621999-11-21 Michael Handler <handler@sub-rosa.com>
3363
3364 * Include <limits.h> and <strings.h> under SUNOS_5.
3365
33661999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3367
3368 * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6
33691999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3370
3371 * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE.
3372
33731999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3374
3375 * command.c (disable): Add `disable' command.
3376
33771999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3378
3379 * plist.c (vty_prefix_list_install): Add any check.
3380
33811999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3382
3383 * command.h (node_type ): Add DUMP_NODE.
3384
33851999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3386
3387 * smux.c: Change default SMUX oid to compatible with gated.
3388
33891999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3390
3391 * if_rmap.c: New file added.
3392
3393 * if_rmap.h: New file added.
3394
33951999-10-29 Alex Zinin <zinin@amt.ru>
3396
3397 * hash.c: add hash_free() function
3398
33991999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3400
3401 * hash.c (hash_clean): Add clean function.
3402
3403 * plist.c (prefix_list_reset): Add reset function.
3404
3405 * filter.c (access_list_reset): Add reset function.
3406
34071999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3408
3409 * client.c: Merged with zclient.c.
3410 * client.h: Merged with zclient.h.
3411
34121999-10-15 Jordan Mendelson <jordy@wserv.com>
3413
3414 * md5.c: Imported from GNU C Library.
3415 * md5-gnu.h: Likewise.
3416
34171999-10-15 Jochen Friedrich <jochen@scram.de>
3418
3419 * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement.
3420
34211999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3422
3423 * smux.h: New file added.
3424
3425 * snmp.c: Rename to smux.c.
3426
34271999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3428
3429 * command.c (cmd_execute_command_strict): Filter ambious commands.
3430 (cmd_filter_by_string): Change to return enum match_type.
3431
34321999-10-01 Toshiaki Takada <takada@zebra.org>
3433
3434 * vty.c (vty_describe_fold): New function which does VTY
3435 description line fold.
3436 * vty.c (vty_describe_command): Set description column.
3437
34381999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3439
3440 * plist.c (prefix_list_init_ipv4): VTY user interface is improved.
3441
34421999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3443
3444 * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and
3445 CMD_IPV4_PREFIX check. Both return type must be exact_match.
3446
34471999-09-24 Toshiaki Takada <takada@zebra.org>
3448
3449 * command.c (cmd_filter_by_completion),
3450 (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range
3451 parameter matches range.
3452
34531999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3454
3455 * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match
3456 is performed.
3457
34581999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3459
3460 * vty.c (vty_read): Control-C stop VTY_MORE mode.
3461
34621999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
3463
3464 * command.h (node_type ): Add ACCESS_IPV6_NODE and
3465 PREFIX_IPV6_NODE.
3466
3467 * distribute.h: New file added.
3468
3469 * command.h (node_type ): Delete DISTRIBUTE_NODE.
3470
34711999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3472
3473 * vty.c (vty_terminate_all): New function added for reload
3474 support.
3475
34761999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3477
3478 * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE.
3479
34801999-08-31 Janos Farkas <chexum@shadow.banki.hu>
3481
3482 * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like
3483 esc-ctrl-h (delete word backwards).
3484
34851999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3486
3487 * if.h: Add if_nametoindex for NRL.
3488
34891999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3490
3491 * if.c (if_create): New function.
3492
34931999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org>
3494
3495 * snmp.c: New file.
3496
34971999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3498
3499 * stream.c (stream_put): stream_memcpy () is changed to stream_put
3500 (). stream_get () is added.
3501
35021999-08-18 Toshiaki Takada <takada@zebra.org>
3503
3504 * memory.h (enum): Add MTYPE_OSPF_LSA_DATA.
3505
35061999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3507
3508 * table.c (route_table_finish): add function frees table.
3509
35101999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3511
3512 * memory.h (enum): Add MTYPE_RTADV_PREFIX.
3513
35141999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org>
3515
3516 * if.h (struct interface ): hw_address, hw_address_len added.
3517
35181999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3519
3520 * if.h (struct interface ): Change structure member if_data to
3521 info, index to ifindex.
3522
35231999-08-08 Rick Payne <rickp@rossfell.co.uk>
3524
3525 * routemap.c: Multi protocol route-map modification.
3526
3527 * routemap.c (route_map_apply): Route match process bug is fixed.
3528
35291999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3530
3531 * thread.c (thread_fetch): When signal comes, goto retry point.
3532
35331999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3534
3535 * Makefile.am: Add sockopt.c and sockopt.h
3536 * sockopt.c: New file.
3537 * sockopt.h: New file.
3538
35391999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3540
3541 * version.h (ZEBRA_VERSION): Release zebra-0.75
3542
35431999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3544
3545 * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE.
3546
35471999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3548
3549 * sockunion.h: Add sockunion_getpeername ().
3550
35511999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3552
3553 * version.h: Release zebra-0.74
3554
35551999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3556
3557 * command.h (struct host): Delete lines from struct host. Add
3558 lines to struct vty.
3559
3560 * command.c: Delete `lines LINES'. Terminal display line settings
3561 should be done by `terminal length' command.
3562
35631999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3564
3565 * memory.h (enum): MTYPE_OSPF_PATH are added.
3566
35671999-07-22 Toshiaki Takada <takada@zebra.org>
3568
3569 * memory.h (enum): MTYPE_OSPF_NEXTHOP is added.
3570
35711999-07-21 Toshiaki Takada <takada@zebra.org>
3572
3573 * linklist.c (list_add_node_prev), (list_add_node_next),
3574 (list_add_list): New function added.
3575
3576 * table.c (route_table_free): New function added.
3577
35781999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3579
3580 * plist.c (config_write_prefix): Set write flag when configuration
3581 is written.
3582
35831999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3584
3585 * prefix.c : prefix_cmp() added. change apply_mask() to
3586 apply_mask_ipv4(), and new apply_mask() added.
3587
35881999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3589
3590 * prefix.c (prefix2str): append prefixlen.
3591
35921999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3593
3594 * command.c (config_terminal): Change "config terminal" to
3595 "configure terminal". Reported by Georg Hitsch
3596 <georg@atnet.at>.
3597 (config_terminal_length): `terminal length <0-512>' is added. At
3598 this moment this command is only usef for vty interface.
3599 Suggested by Georg Hitsch <georg@atnet.at>.
3600
36011999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3602
3603 * routemap.c (rulecmp): Add wrapper function of strcmp.
3604
36051999-07-08 Rick Payne <rickp@rossfell.co.uk>
3606
3607 * sockunion.c (inet_aton): Fix bug of inet_aton.
3608
36091999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3610
3611 * version.h (ZEBRA_VERSION): Start zebra-0.73
3612
36131999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3614
3615 * version.h: Bump up to 0.72.
3616
36171999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3618
3619 * command.c (install_default): New function for install default
3620 commands to the node.
3621
3622 * memory.h (enum): MTYPE_NEXTHOP is added.
3623
36241999-07-01 <kunihiro@zebra.org>
3625
3626 * command.c (no_banner_motd): `no banner motd' command added.
3627
36281999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3629
3630 * regex.c: Update to glibc-2.1.1's posix/regex.c
3631
3632 * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h
3633
3634 * prefix.h (IPV4_ADDR_SAME): Macro added.
3635 (IPV6_ADDR_SAME): Likewise.
3636
36371999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3638
3639 * memory.h (enum): Add MTYPE_OSPF_VERTEX
3640
3641 * version.h: Bump up to 0.71.
3642
3643 * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind
3644 VTY socket when IPv6 is enabled.
3645
36461999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org>
3647
3648 * vty.c (vty_serv_sock): Change vty_serv_sock determine which
3649 address family to bind.
3650
3651 * command.c: Add quit command.
3652
36531999-06-26 NOGUCHI kay <kay@dti.ad.jp>
3654
3655 * vty.c (vty_read_config): Fix bug of configuration file path
3656 detection.
3657
36581999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3659
3660 * version.h: Bump up to 0.70.
3661
36621999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3663
3664 * buffer.h (GETL): Remove GETL macro.
3665
3666 * version.h: Bump up to 0.69.
3667
36681999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3669
3670 * if.c (connected_add): Commented out connected_log.
3671
36721999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3673
3674 * command.h (struct cmd_element ): strvec and descvec is combined
3675 into newstrvec.
3676
3677 * command.c (desc_make): Function removed.
3678 (desc_next): Function removed.
3679
3680 * command.h (struct cmd_element ): docvec is removed from struct
3681 cmd_element.
3682
36831999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3684
3685 * command.c (cmd_execute_command): Remove command NULL check.
3686
3687 * command.h (struct cmd_element ): Add newstrvec entry to struct
3688 cmd_element.
3689 (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support
3690 (a|b|c) statement.
3691 (DESC): DESC macro is removed.
3692
3693 * vty.c (vty_complete_command): When return value is
3694 CMD_ERR_NO_MATCH, don't display error message.
3695
36961999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org>
3697
3698 * table.c (route_next_until): New function.
3699
3700 * version.h: Bump up to 0.68.
3701
37021999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3703
3704 * vty.c (vty_close): Free vty->buf when vty is closed.
3705
3706 * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and
3707 MTYPE_COMMUNITY_LIST.
3708
3709 * vty.h (struct vty ): Change buf from static length buffer to
3710 variable length buffer.
3711
3712 * vty.c (vty_ensure): New function added.
3713
37141999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3715
3716 * command.h (node_type ): Add COMMUNITY_LIST_NODE.
3717
3718 * command.c (config_enable_password): Freeing host.enable bug is
3719 fixed.
3720 (config_enable_password): Add argc count check.
3721
37221999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3723
3724 * version.h: Bump up to 0.67.
3725
37261999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3727
3728 * command.c (zencrypt): New function for encrypt password.
3729
3730 * command.h (struct host): Add password_encrypt and
3731 enable_encrypt.
3732
37331999-05-30 Jochen Friedrich <jochen@scram.de>
3734
3735 * command.h (struct host): New member encrypt is added for
3736 encrypted password.
3737
37381999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3739
3740 * vty.c: Remove all_digit_check function. Instead use all_digit.
3741
3742 * prefix.c (all_digit): New function for checking string is made
3743 from digit character.
3744
37451999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3746
3747 * Makefile.am (libzebra_a_SOURCES): Add zclient.c.
3748 (noinst_HEADERS): Add zclient.h
3749
3750 * zclient.[ch]: New file for zebra client routine.
3751
3752 * memory.h (enum): Add MTYPE_ZEBRA.
3753
37541999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3755
3756 * version.h (ZEBRA_VERSION): Update to 0.66.
3757
37581999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3759
3760 * buffer.h (GETC,GETW): Macro deleted.
3761
37621999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3763
3764 * prefix.h (IPV4_NET0, IPV4_NET127): Macro added.
3765
37661999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org>
3767
3768 * vty.c (service_advanced_vty): New command added.
3769 (no_service_advanced_vty): Likewise.
3770
37711999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3772
3773 * vty.c (vty_auth): If advanced flag is set and enable password is
3774 not set, directly login to the ENABLE_NODE. This feature is
3775 originally designed and implemented by Stephen R. van den Berg
3776 <srb@cuci.nl>.
3777
3778 * command.h (host): Add advanced flag to struct host for advanced
3779 vty terminal interface.
3780
3781 * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release.
3782
37831999-05-14 Stephen R. van den Berg <srb@cuci.nl>
3784
3785 * command.h (node_type ): Add TABLE_NODE.
3786
3787 * vty.c (vty_telnet_option): Check host.lines value.
3788
3789 * command.c (config_lines): DEFUN for 'lines LINES' command.
3790
3791 * zebra.h: Include <sys/utsname.h> for uname().
3792 (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple
3793 routing table.
3794
3795 * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable
3796 password is not set.
3797 (vty_prompt): Get machine's hostname when hostname is not set.
3798
37991999-05-11 James Willard <james@whispering.org>
3800
3801 * command.c (config_exit): Close connection when `exit' command is
3802 executed at ENABLE_NODE.
3803
38041999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org>
3805
3806 * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE.
3807
3808 * command.c (cmd_execute_command_strict): Matched command size
3809 check added.
3810 (cmd_make_desc_line): New function for DEFUN2.
3811
3812 * command.h (struct cmd_element ): Add descsize.
3813
38141999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org>
3815
3816 * command.h (struct cmd_element ): Remame descvec to docvec.
3817 (struct cmd_element ): Add descvec for new description system.
3818
3819 * command.c (desc_make): Check cmd->descvec.
3820
38211999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3822
3823 * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL.
3824
38251999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3826
3827 * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta
3828 release.
3829
38301999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3831
3832 * linklist.c (list_delete_all_node): bug fix.
3833 previous code loses current position when node
3834 is deleted.
3835
38361999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3837
3838 * command.h (DESC): Macro added.
3839 (struct cmd_element2): Delete struct cmd_element2.
3840
3841 * plist.c (prefix_list): Sequential number option check is added.
3842
38431999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3844
3845 * log.c (zvlog_{debug,info,notice,warn,err}): have been
3846 added. now we can log both console and file, but still
3847 need some fix about config write.
3848
38491999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3850
3851 * log.c (zvlog_debug): Fix yasu's change.
3852
38531999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3854
3855 * plist.c (prefix_list): Fix typo.
3856
38571999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3858
3859 * Set version to 0.63 for first beta package.
3860
38611999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3862
3863 * prefix.c (str2prefix_ipv4): Fix prefix length check.
3864 (str2prefix_ipv6): Likewise.
3865
38661999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3867
3868 * memory.h (enum): Add MTPYE_PREFIX_LIST and
3869 MTYPE_PREFIX_LIST_ENTRY.
3870
3871 * command.h (node_type ): Add PREFIX_NODE.
3872
38731999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar>
3874
3875 * command.c: ALIAS (config_write_memory_cmd) and ALIAS
3876 (copy_runningconfig_startupconfig_cmd) is added.
3877
3878 * table.c (route_node_lookup): Unused match variable deletion.
3879
38801999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3881
3882 * Makefile.am (libzebra_a_SOURCES): plist.c added.
3883 (noinst_HEADERS): plist.h added.
3884
3885 * plist.c, plist.h: New file added.
3886
3887 * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR.
3888 * memory.c: Likewise.
3889
38901999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3891
3892 * command.c (show_version): `show version' command added.
3893
38941999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3895
3896 * prefix.c (str2prefix_ipv6): Prefix length overflow check.
3897
38981999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar>
3899
3900 * prefix.c (str2prefix_ipv4): Prefix length overflow check.
3901
39021999-04-19 Alex Bligh <amb@gxn.net>
3903
3904 * prefix.c (sockunion2hostprefix): Function added.
3905 (sockunion2prefix): Address family was not set. Now it is set.
3906
3907 * vty.c: VTY access-class command is added.
3908
39091999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org>
3910
3911 * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree,
3912 xstrdup are likewise.
3913
39141999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
3915
3916 * thread.c: Add thread_execute for other routing daemon.
3917 OSPF tasks need to be generated by "sheduled" and "executed".
3918
39191999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3920
3921 * buffer.c: Rewrite buffer_write and buffer_flush related
3922 functions for fixing bugs. Reason of the problem and fix is
3923 suggested by Alex Bligh <amb@gxn.net>.
3924
39251999-04-12 Alex Bligh <amb@gxn.net>
3926
3927 * command.c (cmd_entry_function_descr): Added for variable
3928 argument help display.
3929
39301999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3931
3932 * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution.
3933
39341999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3935
3936 * stream.c: stream_fifo_free bug is fixed.
3937
39381999-03-19 Toshiaki Takada <takada@zebra.org>
3939
3940 * stream.c (stream_strncpy): Added for getting any length bytes
3941 from stream.
3942
39431999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org>
3944
3945 * version.h (ZEBRA_BUG_ADDRESS): New macro added.
3946
39471999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3948
3949 * buffer.c (buffer_flush_window): If ep is same as buffer's size
3950 length and lp is overrun one octet.
3951
39521999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3953
3954 * vty.h: add VTY's timeout function.
3955
39561999-03-05 <kunihiro@zebra.org>
3957
3958 * command.h (node_type ): Add OSPF6_node.
3959
39601999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
3961
3962 * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h>
3963
39641999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
3965
3966 * zebra.h: Include <net/if_var.h> if it exists.
3967
39681999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3969
3970 * getopt.[ch],getopt1.c: Sync with glibc-2.1.
3971
3972 * log.c (zlog): Tempolary ZLOG_STDOUT feature added.
3973
3974 * command.h: Include vector.h and vty.h
3975
39761999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3977
3978 * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt.
3979
3980 * routemap.c (route_map_apply_index): Add prefix argument.
3981 (route_map_apply): Likewise.
3982
3983 * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED.
3984
3985 * stream.c: Add stream_fifo related functions.
3986
39871999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3988
3989 * daemon.c: Return integer value. File descriptor close is added.
3990
3991 * memory.h (enum): add MTYPE_OSPF_LSA.
3992
39931999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3994
3995 * rsh.c: Remove empty file.
3996
39971999-02-22 <kunihiro@zebra.org>
3998
3999 * routemap.c: Add add/delete hook to route_map_master.
4000
40011999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com>
4002
4003 * str.[ch] added to supply wrappers for snprintf(), strlcat() and
4004 strlcpy on system without these.
4005
40061999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4007
4008 * syslog support added
4009
40101999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org>
4011
4012 * filter.c (access_list_add_hook): added for hook function management.
4013 * filter.c (access_list_delete_hook): Likewise.
4014
40151999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4016
4017 * stream.c: New file.
4018 * stream.h: New file.
4019 * Divide stream related fucntions from buffer.[ch] into stream.[ch].
4020
40211999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org>
4022
4023 * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA
4024
4025 * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument.
4026
40271998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4028
4029 * routemap.c: route_map_index_delete() added.
4030
40311998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org>
4032
4033 * buffer.c (buffer_empty): check cp instead of sp.
4034
40351998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4036
4037 * radix.[ch]: Deleted.
4038
40391998-12-15 Magnus Ahltorp <map@stacken.kth.se>
4040
4041 * buffer.c: Prototype fixes.
4042 * prefix.c: Likewise.
4043 * sockunion.c: Likewise.
4044 * sockunion.h: Likewise.
4045
40461998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org>
4047
4048 * vty.c (vty_read): DELETE key works as vty_delete_char.
4049
40501998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
4051
4052 * log.c (time_print): chane %y to %Y.
4053
40541998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org>
4055
4056 * distribute.c: new file.
4057
40581998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org>
4059
4060 * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add
4061 complete support of IPv6 access list.
4062
4063 * command.c (config_write_element): function delete.
4064 (config_write_host): function add. password and enable password
4065 isn't printed to vty interface.
4066
40671998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org>
4068
4069 * filter.c: Change prefix_ipv4 to prefix and add support of
4070 prefix_ipv6 filtering.
4071
40721998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4073
4074 * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps
4075 header includes.
4076
40771998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4078
4079 * log.c (log_flush): fix function name typo.
4080
40811998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
4082
4083 * memory.h: OSPF memory type is added.
4084
40851998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4086
4087 * command.c (sort_node): add sort_node() for pretty printing of
4088 command on vty interface.
4089 (config_password): delete the restriction of charaster of password
4090 string.
4091
40921998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org>
4093
4094 * prefix.c (prefix_ipv4_any): add prefix_ipv4_any().
4095
40961998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4097
4098 * network.h: New file.
4099
41001998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4101
4102 * vty.c (vty_will_echo): function name change from vty_off_echo.
4103
41041998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org>
4105
4106 * buffer.h: add PUTC,PUTW,PUTL macros.
4107
41081998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org>
4109
4110 * route.[ch]: renamed to prefix.[ch]
4111
41121998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org>
4113
4114 * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6.
4115
4116 * Makefile.am: @INCLUDES@ is deleted from INCLUDES.
4117
41181998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4119
4120 * host.[ch]: merged with command.[ch]
4121
41221998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
4123
4124 * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES.
4125
41261998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4127
4128 * route.c (str2prefix): str2prefix () is gone.
4129
41301998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
4131
4132 * vty.c (vty_read_config): change CONDIR to SYSCONFDIR.
4133
4134 * .cvsignore: add file.
4135
4136 * memory.c (xerror): add arguent `type' and `size'.
4137
4138 * socket.c: deleted.
4139
41401998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org>
4141
4142 * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC.
4143 * linklist.c: same as above.
4144
41451998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4146
4147 * filter.[ch]: added.
4148
41491998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org>
4150
4151 * vty.c (config_who): return CMD_SUCCESS
4152
41531998-04-01 Jochen Friedrich <jochen@scram.de>
4154
4155 * table.c (route_dump_node): route_dump_node is IPv6 specific
4156 function so move #ifdef to the end of route_dump_node ().
4157
41581998-03-05 "Hannes R. Boehm" <hannes@boehm.org>
4159
4160 * if.c: DEFUN(interface_desc) added.
4161
41621998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4163
4164 * if.c: separated from ripd/rip_interface.c
4165
41661998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org>
4167
4168 * thread.[ch] : added.
4169
41701998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org>
4171
4172 * vty.c (vty_delete_char): fix size bug.
4173 (vty_backward_pure_word): function added.
4174 (vty_read): ESC + 'f' perform vty_forward_word.
4175 (vty_read): ESC + 'b' perform vty_backward_word.
4176
41771998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org>
4178
4179 * radix.c (radix_lookup_rt): add mask check.
4180 (radix_delete_duproute): add mask check.
4181
41821998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org>
4183
4184 * command.c (config_write_file): fix vty -> file_vty.
4185
41861998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org>
4187
4188 * command.c (cmd_filter_ambiguous): add complex type treatment.
4189
41901998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4191
4192 * vty.c (vty_time_print): function added.
4193 (vty_complete_command): now [...] element isn't shown by completion.
4194
41951998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
4196
4197 * command.c : change from cmd_install_node() to install_node().
4198
41991998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org>
4200
4201 * route.[ch]: struct rt{} is replaced by struct prefix{}.
4202
42031998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org>
4204
4205 * command.c (cmd_execute_command): check command length.
4206
4207 * timer.c (zebra_timer_set): add zebra_timer_set.
4208
42091998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4210
4211 * command.h (node_type ): add ZEBRA_NODE.
4212
4213 * command.c (config_exit): add RIP_NODE.
4214 (config_write_file): add RIP_NODE.
4215
42161998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org>
4217
4218 * print_version.c (print_version): Now Copyright is 1996-1998.
4219
4220 * sockunion.c (sockunion_log): moved from ../zebra/route.c
4221
42221997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4223
4224 * host.c (config_logfile): change 'log PATH' to 'logfile PATH'.
4225
4226 * sockunion.c (sockunion_sameprefix): add same prefix for
4227 sockunion.
4228
42291997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4230
4231 * radix.[ch] : are moved from ../zebra directroy.
4232
4233 * command.c (config_from_file): if command execution failed down
4234 level to CONFIG_NODE.
4235
4236 * host.c: config_log function which enable 'log FILENAME' command.
4237
42381997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4239
4240 * vty.c: add vty_transpose_chars (). Now you can use '^T' to
4241 transpose character.
4242
4243 * command.c: cmd_cmdsize add, this is useful to check incomplete
4244 command.
4245
42461997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4247
4248 * fd.h: add family for address family
4249
42501997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org>
4251
4252 * command.o
4253 * vty.o
4254 * host.o is moved from ../zebra
4255
42561997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
4257
4258 * make library directory.
4259