]>
Commit | Line | Data |
---|---|---|
1ed72e0b AS |
1 | 2007-04-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
2 | ||
3 | * command.c: (config_write_host) Save "log timestamp precision" | |
4 | if not default value. | |
5 | (show_logging) Show configured timestamp precision. | |
6 | (config_log_timestamp_precision) Enable configuration of timestamp | |
7 | precision. | |
8 | (no_config_log_timestamp_precision) Restore default timestamp | |
9 | precision. | |
10 | (cmd_init) Install new timestamp precision commands. | |
11 | * log.h: (struct zlog) New timestamp_precision field. | |
12 | (quagga_timestamp) New function to generate a timestamp with the | |
13 | desired precision. | |
14 | (struct timestamp_control) Declare a structure for use in avoiding | |
15 | repeated duplicate calls to quagga_timestamp. | |
16 | * log.c: (quagga_timestamp) New function to generate a timestamp | |
17 | of the desired precision. | |
18 | (time_print) Call quagga_timestamp if the time hasn't already been | |
19 | calculated. | |
20 | (vzlog) Initialize a timestamp_control structure and pass it to | |
21 | time_print and vty_log. | |
22 | (zlog_backtrace) Fix 64-bit problem: cannot print size_t with %u. | |
23 | * vty.h: Must now include "log.h". | |
24 | (vty_log) Takes an additional struct timestamp_control argument. | |
25 | * vty.c: (vty_log_out) Use new struct timestamp_control and new | |
26 | quagga_timestamp function to print timestamps of the desired | |
27 | precision. | |
28 | (vty_time_print) Use new quagga_timestamp function. | |
29 | (vty_log) Accept new struct timestamp_control argument and pass it | |
30 | down to vty_log_out. | |
31 | ||
eda9ba74 AS |
32 | 2007-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
33 | ||
34 | * smux.c: (smux_trap) Fix printf format to work with 64-bit size_t. | |
35 | ||
6dc686a2 PJ |
36 | 2007-04-07 Paul Jakma <paul.jakma@sun.com> |
37 | ||
38 | * prefix.h: Add define to match IPv4 Link-Local addresses | |
39 | ||
afb88a66 AS |
40 | 2007-03-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
41 | ||
42 | * log.c: (mes_lookup) Make the function more robust: check for | |
43 | cases where the index does not match the key value at that position. | |
44 | If so, give a warning and fall back to a linear search. | |
45 | And improve the error message in cases where even that fails. | |
46 | ||
e4529636 AS |
47 | 2006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
48 | ||
49 | * if.h: (struct connected) Add new ZEBRA_IFA_PEER flag indicating | |
50 | whether a peer address has been configured. Comment now shows | |
51 | the new interpretation of the destination addr: if ZEBRA_IFA_PEER | |
52 | is set, then it must contain the destination address, otherwise | |
53 | it may contain the broadcast address or be NULL. | |
54 | (CONNECTED_DEST_HOST,CONNECTED_POINTOPOINT_HOST) Remove obsolete | |
55 | macros that were specific to IPv4 and not fully general. | |
56 | (CONNECTED_PEER) New macro to check ZEBRA_IFA_PEER flag. | |
57 | (CONNECTED_PREFIX) New macro giving the prefix to insert into | |
58 | the RIB: if CONNECTED_PEER, then use the destination (peer) address, | |
59 | else use the address field. | |
60 | (CONNECTED_ID) New macro to come up with an identifying address | |
61 | for the struct connected. | |
62 | * if.c: (if_lookup_address, connected_lookup_address) Streamline | |
63 | logic with new CONNECTED_PREFIX macro. | |
64 | * prefix.h: (PREFIX_COPY_IPV4, PREFIX_COPY_IPV6) New macros | |
65 | for better performance than the general prefix_copy function. | |
66 | * zclient.c: (zebra_interface_address_read) For non-null destination | |
67 | addresses, set prefixlen to equal the address prefixlen. This | |
68 | is needed to get the new CONNECTED_PREFIX macro to work properly. | |
69 | ||
98954844 PJ |
70 | 2006-10-14 Paul Jakma <paul.jakma@sun.com> |
71 | ||
72 | * if.c: (general) Handle upgrades from SUNWzebra, which tried | |
73 | to track each logical interface as a seperate struct | |
74 | interface, to Quagga, which assigns only one struct interface | |
75 | per ifindex. | |
76 | (if_sunwzebra_get) Try decompose a logical interface name | |
77 | (fooX:Y) to the 'primary' name (fooX), for Solaris. | |
78 | (interface_cmd) Use if_sunwzebra_get on Solaris. | |
79 | ||
965b83f9 AS |
80 | 2006-09-26 Pierre-Yves Ritschard <pierre-yves@spootnik.org> |
81 | ||
82 | * smux.c: (smux_open,smux_trap,smux_register) Fix various | |
83 | asn_build_* calls to pass the proper length in the final | |
84 | argument: use sizeof(<variable>) instead of sizeof(<type>), | |
85 | since there were several inconsistencies between the actual | |
86 | variable type and the size that was passed. This should | |
87 | fix some problems on 64-bit architectures where sizeof(int) | |
88 | != sizeof(long). | |
89 | ||
db9c0df9 PJ |
90 | 2006-08-25 Paul Jakma <paul.jakma@sun.com> |
91 | ||
92 | * thread.c: (general) Add support for monotonic clock, it may still | |
93 | jump forward by huge amounts, but should be immune to going | |
94 | backwards. Fixes bug #134. | |
95 | (quagga_gettimeofday_relative_adjust) helper, does what name | |
96 | says - adjusts gettimeofday based relative timer. | |
97 | (quagga_gettimeofday) helper to keep recent_time up to date. | |
98 | (quagga_get_relative) helper, update and getch the relative | |
99 | timer using gettimeofday(). POSIX CLOCK_MONOTONIC is also | |
100 | supported, but the code is not enabled yet nor tested. | |
101 | (quagga_real_stabilised) helper, retrieve absolute time but | |
102 | stabilised so as to never decrease. | |
103 | (quagga_gettime) Exported interface, analogous to POSIX | |
104 | clock_gettime() in interface, supporting several clocks. | |
105 | (quagga_time) Exported interface, analogous to traditional | |
106 | time(), will never decrease. | |
107 | (recent_relative_time) Convenience function to retrieve | |
108 | relative_time timeval, similar to existing recent_time absolute | |
109 | timeval, for when an approximately recent value will do. | |
110 | (remainder) Update to use above helpers. | |
111 | (thread_getrusage) Previously was a macro, but needs to be | |
112 | a function to twiddle with thread.c private stuff. | |
113 | * thread.c: Point the GETRUSAGE macro at previous function. | |
114 | Export quagga_gettime, quagga_time and recent_relative_time for | |
115 | general use. | |
116 | ||
cc8b13a0 PJ |
117 | 2006-07-25 Paul Jakma <paul.jakma@sun.com> |
118 | ||
119 | * thread.h: (struct thread) Add a cache pointer to the struct | |
120 | cpu_thread_history, if it is known - saving hash lookup on | |
121 | each thread_call. | |
122 | * thread.c: (thread_call) Cache the pointer to the | |
123 | cpu_thread_history, so that future thread_calls of same | |
124 | thread can avoid the hash_lookup. | |
125 | ||
9d0a3260 AS |
126 | 2006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
127 | ||
128 | * vty.c: (vty_log_out) Do not call vty_close, because this could | |
129 | result in a parent function's accessing the freed memory. | |
130 | Instead, set status VTY_CLOSE and call shutdown(vty->fd, SHUT_RDWR). | |
131 | And add a comment on vty_close. | |
132 | ||
74542d73 AS |
133 | 2006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
134 | ||
135 | * vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read) | |
136 | After an I/O error, must set vty->monitor to 0 before calling | |
137 | zlog_warn, otherwise an infinite recursion could occur | |
138 | (since zlog_warn triggers a message to be written to the vty, | |
139 | and that in turn triggers another error message when it fails, etc.). | |
140 | ||
08942da5 AS |
141 | 2006-07-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
142 | ||
143 | * vty.c: (vty_log_out) Debug messages to terminal vty sessions | |
144 | should include timestamps. | |
145 | ||
74176d22 PJ |
146 | 2006-06-28 Paul Jakma <paul.jakma@sun.com> |
147 | ||
148 | * memory.c: Fix typo in cpp conditional around malloc.h, from | |
149 | comment in bug #269. | |
150 | ||
95509e64 PJ |
151 | 2006-06-27 Paul Jakma <paul.jakma@sun.com> |
152 | ||
153 | * route_types.awk: Remove setting the 'bare' numeric route type | |
154 | in redist strings. | |
155 | ||
e5cd706c PJ |
156 | 2006-06-15 Paul Jakma <paul.jakma@sun.com> |
157 | ||
158 | * command.c: (cmd_describe_command_real) Fix leak, CID #38. | |
8ce5cfd1 PJ |
159 | * memory.h: Experimental, have XFREE macro NULL out the freed |
160 | pointer. | |
c024fd0c PJ |
161 | * linklist.c: (list_delete) call list_delete_all_node, don't |
162 | duplicate it. | |
630c97ce PJ |
163 | * if.c: (if_flag_dump) remove the whitespace indentation, callers |
164 | should provide. | |
e5cd706c | 165 | |
35cfc90c PJ |
166 | 2006-05-28 Paul Jakma <paul.jakma@sun.com> |
167 | ||
168 | * zebra.h: Include inttypes.h rather than stdint.h, best practice | |
169 | according to the autoconf manual. | |
170 | Add UINT*_MAX defines for older platforms lacking these (FBSD 4) | |
d09552d0 PJ |
171 | * memory.c: malloc.h is deprecated in favour of stdlib.h, however |
172 | we still need it on GNU Libc for mallinfo(). | |
a4b30303 PJ |
173 | * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty |
174 | hasn't been initiliased. | |
fb66b29c PJ |
175 | * log.c: (general) Add support for Sun libc printstack(). |
176 | (hex_append) make the cpp conditional on general HAVE_STACK_TRACE | |
177 | define. | |
178 | (zlog_backtrace_sigsafe) Ditto. Add printstack() version of the | |
179 | the DUMP macro in this function. | |
35cfc90c | 180 | |
9c42a6eb PJ |
181 | 2006-05-23 Paul Jakma <paul.jakma@sun.com> |
182 | ||
183 | * route_types.txt: New file, table of ZEBRA_ROUTE definitions. | |
184 | * route_types.awk: New script, to parse previous and generate | |
185 | (for now) redistribute string defines. | |
186 | * Makefile.am: build route_types.h using previous two, ala | |
187 | memtypes.h, include the script and table file in EXTRA_DIST. | |
188 | * command.h: pull in route_types.h, add a REDIST_STR define. | |
189 | ||
adf62214 PJ |
190 | 2006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
191 | ||
192 | * if.h: (struct connected) Document the meaning of the | |
193 | ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags. | |
194 | ||
d6d672aa PJ |
195 | 2006-05-15 Paul Jakma <paul.jakma@sun.com> |
196 | ||
197 | * log.c: (general) Generalise struct zebra_route_desc into | |
198 | struct zebra_desc_table and, similar to route_types, add a | |
199 | command_types table to describe Zserv protocol commands. | |
200 | (route_types[]) use a macro to use designated initialisers | |
201 | while avoiding tedious duplication. | |
202 | (zserv_command_string) lookup string from zebra_desc_table, | |
203 | similar to zebra_route_string | |
204 | * zebra.h: Add declaration for zserv_command_string, adjust the | |
205 | comments to reflect zebra_desc_table. | |
206 | ||
d16e0433 PJ |
207 | 2006-05-13 Paul Jakma <paul.jakma@sun.com> |
208 | ||
209 | * vty.c: (vty_describe_command) CID #39 fix was too hasty, just | |
210 | cause it /can/ leak doesn't mean it always will have, check | |
211 | first. | |
212 | ||
9376c342 PJ |
213 | 2006-05-12 Paul Jakma <paul.jakma@sun.com> |
214 | ||
215 | * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref | |
216 | of prefix and typestr strings, Coverity CID #3. | |
d2519962 PJ |
217 | * command.c: (cmd_complete_command_real) Fix leak of cmd_vector |
218 | in error case, Coverity CID #37. | |
5fc60519 PJ |
219 | (cmd_describe_command_real) Fix return of freed pointer when |
220 | no-match, CID #55. | |
2fe8aba3 PJ |
221 | * vty.c: (vty_describe_command) fix leak of describe vector in |
222 | error path, CID #39. | |
9376c342 | 223 | |
6cf0cf0c PJ |
224 | 2006-03-30 Paul Jakma <paul.jakma@sun.com> |
225 | ||
226 | * command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as | |
227 | potentially being unused. | |
213d8dad | 228 | * workqueue.c: (work_queue_run) fix line length of comment |
6cf0cf0c | 229 | |
d4ce4f68 PJ |
230 | 2006-03-27 Paul Jakma <paul.jakma@sun.com> |
231 | ||
232 | * memtypes.awk: Fix gensub call, g should be a string.. | |
233 | ||
68784535 PJ |
234 | 2006-03-25 Paul Jakma <paul.jakma@sun.com> |
235 | ||
236 | * workqueue.h: (struct work_queue) Remove status field and | |
237 | state flag, no longer used. | |
238 | ||
b51f126e PJ |
239 | 2006-03-19 Paul Jakma <paul.jakma@sun.com> |
240 | ||
241 | * memtypes.c: Add MTYPE_BGP_SYNCHRONISE. | |
242 | ||
cec0c4fb PJ |
243 | 2006-03-16 Paul Jakma <paul.jakma@sun.com> |
244 | ||
245 | * Makefile.am: Fix -version-info argument. | |
246 | ||
41be32bf PJ |
247 | 2006-03-15 Paul Jakma <paul.jakma@sun.com> |
248 | ||
249 | * memory.c: (mtype_memstr) new helper function to | |
250 | return human friendly string for a byte count. | |
251 | (mtype_stats_alloc) new function, for users to retrieve | |
252 | number of objects allocated. | |
253 | (show_memory_mallinfo) New function, show mallinfo statistics | |
254 | if available. | |
255 | (show_memory_all_cmd) Call show_memory_mallinfo, if mallinfo | |
256 | is available. | |
257 | * memory.h: Export mtype_memstr and mtype_stats_alloc. | |
258 | Provide a define for a reasonable buffer size for | |
259 | mtype_memstr. | |
260 | ||
924f9d32 PJ |
261 | 2006-03-14 Paul Jakma <paul.jakma@sun.com> |
262 | ||
263 | * privs.c: (zprivs_caps_init) Change user IDs before lowering | |
264 | privileges, while this seems to work on Linux, on Solaris | |
265 | it rightfully refuses due to PRIV_PROC_SETID having been | |
266 | dropped. | |
86228fde | 267 | * command.h: Add the struct host global exported from command.c |
924f9d32 | 268 | |
478ccfd6 PJ |
269 | 2006-03-06 Paul Jakma <paul.jakma@sun.com> |
270 | ||
271 | * if.h: export show_address_cmd, for anyone who wishes to use | |
272 | it. | |
273 | ||
5a54df97 PJ |
274 | 2006-02-21 Paul Jakma <paul.jakma@sun.com> |
275 | ||
276 | * sockunion.c: (sockunion_{su2str,log}) Use XSTRDUP. | |
277 | Particularly with _su2str, as that string gets XFREEd, | |
278 | which can be annoying if run debug code in memory.c. | |
279 | ||
306d8890 | 280 | 2006-02-02 Paul Jakma <paul.jakma@sun.com> |
281 | ||
282 | * workqueue.h: (struct work_queue) Remove the delay field. | |
283 | It served no purpose and just introduced bad behaviour. | |
284 | Should be excised before its allowed to escape into 1.0. | |
285 | This removes need for the 'flood' and runs_since_clear | |
286 | fields. | |
287 | * workqueue.c: (general) excise delay factor between queue | |
288 | runs, hence the 'flood' crap too.. See above. | |
289 | ||
581a02a9 | 290 | 2006-01-19 Paul Jakma <paul.jakma@sun.com> |
291 | ||
292 | * stream.c: (stream_getq_from) should use POSIX uint64_t | |
293 | not u_int64_t. Latter is neither a traditional BSD type, nor | |
294 | a POSIX type. | |
295 | ||
eac314c7 | 296 | 2006-01-17 Vincent Jardin <vincent.jardin@6wind.com> |
297 | ||
298 | * md5.c: Don't forget to keep const. | |
299 | * regex.c: Cleanup code and remove warnings. | |
300 | ||
7d0b0c4b | 301 | 2006-01-17 Paul Jakma <paul.jakma@sun.com> |
302 | ||
303 | * md5.{c,h}: (md5_loop) Is better off taking a void * and doing | |
304 | cast to byte wise type internally, avoids needs for casts | |
305 | in users. | |
789f78ac | 306 | * vty.c: (no_terminal_monitor_cmd) New ALIAS for |
307 | terminal_no_monitor, in the more normal negating format, | |
308 | to be kind to my fingers. | |
309 | (vty_init) install new ALIAS. | |
d211086a | 310 | * zclient.{c,h}: (zclient_create_header) export this, seems others |
311 | could use it (in lieu of more complete zserv helpers). | |
7d0b0c4b | 312 | |
c1b9800a | 313 | 2006-01-16 Paul Jakma <paul.jakma@sun.com> |
314 | ||
315 | * zclient.h: Update the Zserv protocol header with a version | |
316 | field. Define the old command field to be a 'marker', to | |
317 | allow old Zserv and updated Zserv to be differentiated. | |
318 | Future updates will bump the version field obviously. New | |
319 | command field is made wider. Try to stop using the | |
320 | 'zebra_size_t' typedef in the callbacks. | |
321 | * zclient.c: Update to read/write new format header. | |
322 | ||
c77d4546 | 323 | 2006-01-11 Paul Jakma <paul.jakma@sun.com> |
324 | ||
325 | * if.h: (struct interface) expand flags to 8 bytes. | |
326 | * zclient.c: (zebra_interface_{add,state}_read) stream read of | |
327 | interface flags now need to use stream_getq. | |
328 | (zebra_interface_if_set_value) ditto | |
329 | ||
4b201d46 | 330 | 2006-01-10 Paul Jakma <paul.jakma@sun.com> |
331 | ||
332 | * stream.c: (stream_new) Allocate stream data as seperate object. | |
333 | (stream_free) free the data. | |
334 | (stream_resize) new function, resize stream to new size. | |
335 | (stream_{get,put}q*) new functions to get/put quad word size | |
336 | types. | |
337 | * stream.h: (struct stream) make data seperate from the stream. | |
338 | Export new stream_resize and quad-word get/put functions. | |
339 | ||
f80a016f | 340 | 2005-12-29 Greg Troxel <gdt@fnord.ir.bbn.com> |
341 | ||
342 | * vty.c (vty_hello): add cast to quiet lint (from David Young) | |
343 | ||
00c290e0 | 344 | 2005-11-26 Paul Jakma <paul.jakma@sun.com> |
345 | ||
346 | * buffer.c: (struct buffer_data) change gcc zero array | |
347 | declaration to C99 incomplete array. | |
348 | * stream.h: (struct stream) same | |
349 | ||
6e0f1b94 | 350 | 2005-11-24 Paul Jakma <paul.jakma@sun.com> |
351 | ||
352 | * privs.c: (zcaps2sys/solaris) remove unused variable. | |
353 | (zprivs_state_caps/solaris) Format string missing a | |
354 | specifier. | |
b6026073 | 355 | * zebra.h: s/u_int/unsigned int/, u_int is a BSD type, defining |
356 | __USE_BSD on Linux pulls in further things from netinet/ip.h | |
357 | which dont preprocess for some reason. There is no C99 | |
358 | shorthand type directly equivalent to u_int afaict, so don't | |
359 | use it. | |
6e0f1b94 | 360 | |
889e9311 | 361 | 2005-11-14 Paul Jakma <paul.jakma@sun.com> |
362 | ||
363 | * (general) pass struct work-queue to callback functions. | |
364 | * workqueue.h: (struct work_queue) move the state flag | |
365 | variables to end. | |
366 | Add an opaque pointer to spec, for user-data global to the | |
367 | queue. | |
368 | Pass reference to work_queue to all callbacks. | |
369 | * workqueue.c: (work_queue_item_remove) pass ref to workqueue | |
370 | to user callbacks. | |
371 | (work_queue_run) ditto. | |
372 | ||
190880dc | 373 | 2005-11-14 Paul Jakma <paul.jakma@sun.com> |
374 | ||
375 | * (general) Add state to detect queue floods. There's no sense | |
376 | trying to be sparing of CPU resources, if the queue is | |
377 | flooding and using ever more memory resources. we should just | |
378 | get on with clearing the queue. | |
379 | The sense of delay and hold were wrong way around, fix. | |
380 | * workqueue.h: (struct work_queue) Add status bitfield. Add | |
381 | 'flood' integer to workqueue spec. Add runs_since_clear | |
382 | counter to workqueue. | |
383 | * workqueue.c: (work_queue_new) set defaults for delay, hold | |
384 | and flood. | |
385 | (work_queue_add) initial schedule should use delay, not hold. | |
386 | (show_work_queues) Print flood field, conserve whitespace. | |
387 | (work_queue_unplug) use delay, not hold. | |
388 | (work_queue_run) consecutive runs should be seperated by hold | |
389 | time, not delay. | |
390 | Keep track of number of consecutive runs, go into 'overdrive' | |
391 | if queue is being flooded, we can't avoid making heavy use of | |
392 | resources, better to use CPU than ever more RAM. | |
76367ea9 | 393 | * zebra.h: [bug #231] include stdint, if its there. |
190880dc | 394 | |
395 | 2005-11-05 Paul Jakma <paul.jakma@sun.com> | |
db29ae5f | 396 | |
397 | * routemap.c: (vty_show_route_map_entry) call action is | |
398 | seperate from exit action, latter should still be printed | |
399 | regardless of whether a call is specified. | |
400 | ||
34204aac | 401 | 2005-11-03 Paul Jakma <paul.jakma@sun.com> |
402 | ||
403 | * zebra.h: BSD BYTE_ORDER define isn't available everywhere, | |
404 | define if needs be. | |
405 | * checksum.h: new file. checksum.c exports in_cksum, provide | |
406 | a header for it. | |
407 | * checksum.c: (in_cksum) callers shouldn't have to know it uses | |
408 | a u_short internally, change to void *. | |
409 | * Makefile.am: Add checksum.h | |
410 | * command.h: remove bogus trailling slash. | |
411 | * md5.c: (general) Update it for the twentieth century. ANSI | |
412 | declarations are widely supported now.. Don't include system | |
413 | headers, only include zebra.h. Use POSIX types (the | |
414 | alternative is to define u_int64_t in a portable way - rest | |
415 | of Quagga needs same cleanup). | |
416 | Make endian-conditional code be compiler conditional rather | |
417 | than preprocessor conditional, so that breakage gets noticed | |
418 | quicker. | |
419 | * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable | |
420 | compiler compatibility hack. | |
9c4f1c6f | 421 | * if.c: (connected_free) use MTYPE for connected label. |
a49ad236 | 422 | * memtypes.c: Add MTYPE_CONNECTED_LABEL |
423 | * memtypes.h: Update auto-built file. | |
34204aac | 424 | |
0241684e | 425 | 2005-10-26 Paul Jakma <paul.jakma@sun.com> |
426 | ||
427 | * (general) Cleanup a some calls to XFREE,strdup, etc. to use | |
428 | the memory.h macros. | |
429 | * memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE, | |
430 | MTYPE_PQUEUE_DATA and MTYPE_HOST. | |
431 | * memtypes.h: update auto-built file. | |
432 | * if_rmap.c: Use MTYPE_IF_RMAP_NAME. | |
433 | * pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations. | |
05865c90 | 434 | * command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups, |
435 | including fixing some likely leaks in config_write_file. | |
436 | * vty.c: memory macro usage fixes. | |
437 | (vty_read_config) fix leak where relative config file is | |
438 | specified. | |
0241684e | 439 | |
c188c37c | 440 | 2005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
441 | ||
442 | * sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP | |
443 | fails with errno equal to EADDRINUSE, then issue an info | |
444 | message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP. | |
445 | ||
24065a3d | 446 | 2005-10-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
447 | ||
448 | * memory.c: (show_memory_vty) Omit zero statistics. Print separators | |
449 | only if some non-zero stats have been printed in between. | |
450 | (show_separator) New function to print a separator. | |
451 | (show_memory_all) Keep track of whether a separator is needed | |
452 | between the different memory statistics groups. | |
453 | ||
5012322d | 454 | 2005-10-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
455 | ||
456 | * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c). | |
457 | ||
eb3da6df | 458 | 2005-10-18 Paul Jakma <paul.jakma@sun.com> |
459 | ||
460 | * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT. | |
461 | ||
f52d13cb | 462 | 2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
463 | ||
464 | * zebra.h: Declare new functions zebra_route_string() and | |
465 | zebra_route_char(). | |
466 | * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New | |
467 | functions to map zebra route numbers to strings. | |
468 | ||
5e4914c3 | 469 | 2005-09-29 Alain Ritoux <alain.ritoux@6wind.com> |
470 | ||
471 | * smux.[ch]: allow to retreive global OID (identified by <0 | |
472 | namelen). | |
473 | ||
ceacedba | 474 | 2005-09-29 Paul Jakma <paul.jakma@sun.com> |
475 | ||
476 | * zebra.h: Solaris capabilities requires priv.h to be included. | |
477 | * privs.{c,h}: Add support for Solaris Least-Privileges. | |
478 | privs.h: Reduce some of the abstract capabilities, which do | |
479 | not have rough equivalents on both systems. Rename the net | |
480 | related caps to _NET, as they should have been in first | |
481 | place. | |
482 | (zprivs_terminate) should take the zebra_privs_t as argument so | |
483 | that it can update change pointer. | |
484 | Add an additional privilege state, ZPRIVS_UNKNOWN. | |
485 | * privs.c: (various capability functions) Add | |
486 | Solaris privileges variants. | |
487 | (zprivs_state) Use privs.c specific generic types to | |
488 | represent various capability/privilege related types, so that | |
489 | each can be typedef'd as appropriate on each platform. | |
490 | (zprivs_null_state) static added, to hold the state the null | |
491 | method should report (should be raised by default, and | |
492 | LOWERED if zprivs_terminate has been called) | |
493 | (zprivs_state_null) Report back the zprivs_null_state. | |
494 | (cap_map) Make it able to map abstract capability to multiple | |
495 | system capabilities. | |
496 | (zcaps2sys) Map to abstract capabilities to multiple system | |
497 | privileges/capabilities. | |
498 | (zprivs_init) move capability related init to seperate | |
499 | function, zprivs_caps_init. | |
500 | (zprivs_terminate) ditto, moved to zprivs_caps_terminate. | |
501 | Set the change_state callback to the NULL state, so the | |
502 | user can continue to run and use the callbacks. | |
503 | ||
fbf5d033 | 504 | 2005-09-29 Alain Ritoux <alain.ritoux@6wind.com> |
505 | ||
506 | * filer.c: show protocol name in filter_show() | |
507 | * plist.c: show protocol name in vty_show_prefix_entry() | |
508 | * routemap.c: show protocol name in vty_show_route_map_entry() | |
509 | * vty.c: in vty_command(), show protocol name if command unknown | |
510 | ||
c1a03d47 | 511 | 2005-09-28 Alain Ritoux <alain.ritoux@6wind.com> |
512 | ||
513 | * md5-gnu.h: removed | |
514 | * md5.h: replaces md5-gnu.h | |
515 | * Makefile.am: use correct md5.h | |
516 | * md5.c: import from WIDE | |
517 | ||
75b2dd02 | 518 | 2005-09-21 Paul Jakma <paul.jakma@sun.com> |
519 | ||
520 | * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA. | |
521 | ||
e6a4feb7 | 522 | 2005-09-19 Hasso Tepper <hasso at quagga.net> |
523 | ||
524 | * str.[ch]: Add strndup() from glibc. | |
525 | ||
eb820afe | 526 | 2005-09-05 Paul Jakma <paul.jakma@sun.com> |
527 | ||
528 | * command.c: (install_element) be more robust. Eg, cmd_init | |
529 | need not have been called, some applications may use other | |
530 | library subsystems, which call install_element, without the | |
531 | application wanting commands and hence not calling cmd_init. | |
532 | ||
1e836590 | 533 | 2005-08-22 Hugo Santos <hsantos@av.it.pt> |
534 | ||
535 | * command.h: (enum node_type) Add BGP_IPV6M_NODE | |
536 | * command.c: (node_parent) Handle BGP_IPV6M_NODE node | |
537 | (config_exit, config_end) ditto | |
538 | * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node | |
539 | ||
0312f0cd | 540 | 2005-08-10 Greg Troxel <gdt@fnord.ir.bbn.com> |
541 | ||
542 | * getopt.h: Don't declare getopt (rather than getopt_long), since | |
543 | quagga doesn't need it. | |
544 | * getopt.c (getopt): Don't define getopt. | |
545 | ||
7907c6c9 | 546 | 2005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
547 | * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new | |
548 | to allocate the memory to make sure that all struct prefix pointers | |
549 | point to objects of the same length (avoids memory overruns | |
550 | on struct prefix assignments). | |
551 | (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free. | |
552 | It is interesting to note that these functions are never actually | |
553 | called anywhere in the code. Instead prefix_free was already | |
554 | being called directly, despite the previous MTYPE incompatibility. | |
555 | ||
330009f7 | 556 | 2005-07-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
557 | ||
558 | * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is | |
559 | in range before dereferencing it. | |
560 | ||
510e209d | 561 | 2005-06-24 Pawel Worach <pawel.worach@gmail.com> |
562 | ||
563 | * getopt.h: add further tests for full getopt declaration on | |
564 | various systems. | |
565 | ||
354f3b66 | 566 | 2005-06-18 Paul Jakma <paul.jakma@sun.com> |
567 | ||
568 | * memtypes.h: update autobuilt file to match memtypes.c changes | |
569 | ||
200df115 | 570 | 2005-06-01 Paul Jakma <paul.jakma@sun.com> |
571 | ||
572 | * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and | |
573 | MTYPE_BGP_CLEAR_NODE_QUEUE | |
574 | ||
8176c19f | 575 | 2005-05-24 Paul Jakma <paul@dishone.st> |
576 | ||
577 | * memtypes.h: update this auto-built file. (maybe we should just | |
578 | remove it, is GNU awk a terrible dependency to have?) | |
579 | ||
d5c92539 | 580 | 2005-05-23 Paul Jakma <paul@dishone.st> |
581 | ||
582 | * memtypes.awk: use character classes, which work correctly in | |
583 | all LC_COLLATE environments, unlike A-Z, which doesnt work in | |
584 | eg estonian collate order. Reported by Hasso. | |
d4f0960c | 585 | * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command |
586 | is used, which does not supply an argv[0]. | |
587 | this is a backport candidate /iff/ the trailing ; is removed | |
588 | from VTY_GET_INTEGER_RANGE | |
589 | * vty.h: fix the VTY_GET macros, do {..} while(0) so they have | |
590 | correct function like syntax in usage. | |
269d74fd | 591 | * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code, |
592 | to allow a queue function to indicate the queue is not | |
593 | ready/blocked - rather than any problem with the item at hand. | |
594 | Add a notion of being able to 'plug' and 'unplug' a queue. | |
595 | Add helpers to plug/unplug a queue. | |
596 | Add a completion callback, to be called when a queue is emptied. | |
597 | * workqueue.c: (work_queue_new) remove useless list_free. | |
598 | (work_queue_schedule) new internal helper function to schedule | |
599 | queue, if appropriate. | |
600 | (work_queue_add) use work_queue_schedule | |
601 | (show_work_queues) Print 'P' if queue is plugged. | |
602 | (work_queue_plug) new API function, plug a queue - ie prevent it | |
603 | from 'drained' / processed / scheduled. | |
604 | (work_queue_unplug) unplug a queue, allowing it to be drained | |
605 | / scheduled / processed again. | |
606 | (work_queue_run) Add support for WQ_QUEUE_BLOCKED. | |
607 | Add comment for RETRY_NOW case. | |
608 | Make hysteris more aggresive in ramping up granularity, improves | |
609 | performance significantly. | |
610 | Add support for calling completion callback when queue is emptied, | |
611 | possibly useful for knowing when to unplug a queue. | |
d5c92539 | 612 | |
dc81807a | 613 | 2005-05-19 Paul Jakma <paul@dishone.st> |
614 | ||
615 | * thread.c: (thread_cancel_event) the number of pending events | |
616 | cancelled is potentially useful information, dont throw it away, | |
617 | pass it back to the caller. | |
2ba9a37a | 618 | * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP |
619 | (sockunion_getpeername) ditto | |
e387e665 | 620 | * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST |
dc81807a | 621 | |
024a7f06 | 622 | 2005-05-15 Paul Jakma <paul@dishone.st> |
623 | ||
624 | * getopt.h: It's not just __GNU_LIBRARY__ which defines | |
625 | getopt, eg __EXTENSIONS__ does too on SunOS. It still seems | |
626 | awfully fragile though. | |
627 | * getopt.c: include zebra.h after config.h, before including | |
628 | getopt.h so that things at least are consistent.. | |
629 | * getopt1.c: ditto | |
630 | ||
42c98199 | 631 | 2005-05-07 Yar Tikhiy <yar@comp.chem.msu.su> |
632 | ||
633 | * sockopt.c: Add support for BSD style ifindex in ip_mreq. | |
634 | ||
8cc4198f | 635 | 2005-05-06 Paul Jakma <paul@dishone.st> |
636 | ||
637 | * (general) extern and static'ification of functions in code and | |
638 | header. | |
639 | Cleanup any definitions with unspecified arguments. | |
640 | Add casts for callback assignments where the callback is defined, | |
641 | typically, as passing void *, but the function being assigned has | |
642 | some other pointer type defined as its argument, as gcc complains | |
643 | about casts from void * to X* via function arguments. | |
644 | Fix some old K&R style function argument definitions. | |
645 | Add noreturn gcc attribute to some functions, as appropriate. | |
646 | Add unused gcc attribute to some functions (eg ones meant to help | |
647 | while debugging) | |
648 | Add guard defines to headers which were missing them. | |
649 | * command.c: (install_node) add const qualifier, still doesnt shut | |
650 | up the warning though, because of the double pointer. | |
651 | (cmp_node) ditto | |
652 | * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived | |
653 | fromn vty.h ones to fix some of the (long) < 0 warnings. | |
654 | * thread.c: (various) use thread_empty | |
655 | (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type | |
656 | * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they | |
657 | removed from ospfd/ospf_vty.h | |
658 | * zebra.h: Move definition of ZEBRA_PORT to here, to remove | |
659 | dependence of lib on zebra/zserv.h | |
660 | ||
e7fe8c88 | 661 | 2005-05-06 Hasso Tepper <hasso at quagga.net> |
662 | ||
663 | * sockunion.c: Fix warning message. | |
664 | ||
0dab9303 | 665 | 2005-05-03 Paul Jakma <paul@dishone.st> |
666 | ||
667 | * stream.h: Add comment about the special zero-ing ability of | |
668 | stream_put. | |
669 | (stream_recvmsg, stream_write) should return ssize_t and size_t | |
670 | respectively. Should both be extern linkage. | |
671 | (stream_recvfrom) Stream aware wrapper around recvfrom, in style | |
672 | of stream_read_try. | |
673 | * stream.c: (stream_recvfrom) new function, wrapper around recvfrom. | |
674 | (stream_recvmsg, stream_write) ssize_t and size_t return values | |
675 | ||
8b70d0b0 | 676 | 2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
677 | ||
678 | Add wall-clock timing statistics to 'show thread cpu' output. | |
679 | * thread.h: Define struct rusage_t to contain wall-clock time | |
680 | and cpu time. Change GETRUSAGE macro to collect both pieces | |
681 | of data. Make appropriate changes to struct cpu_thread_history | |
682 | to track CPU time and real time. Change proto for | |
683 | thread_consumed_time to return real and cpu time elapsed. | |
684 | And declare a new global variable 'struct timeval recent_time'. | |
685 | * thread.c (struct timeval recent_time): New global timestamp variable. | |
686 | (timeval_adjust): If timeout is negative, set to 0 (not 10 | |
687 | microseconds). And remove upper bound of 1,000,000 seconds, since | |
688 | this does not seem to make any sense (and it breaks | |
689 | funcname_thread_add_timer_timeval). | |
690 | (timeval_cmp): Should return long, not int. | |
691 | (vty_out_cpu_thread_history): Show CPU time and real time. | |
692 | (cpu_record_hash_print): Calculate totals for CPU and real time. | |
693 | (cpu_record_print): Change 'show thread cpu' title to show CPU and | |
694 | real time. | |
695 | (thread_timer_remain_second): Put current time in global recent_time. | |
696 | (funcname_thread_add_timer_timeval): Fix assert. Replace 2-case | |
697 | switch assignment with a ternary expression. Use global recent_time | |
698 | variable. Fix use of timeval_adjust (previously, the value was not | |
699 | actually being adjusted). | |
700 | (thread_cancel): Add missing "break" statement in case | |
701 | THREAD_BACKGROUND. | |
702 | (thread_timer_wait): Use global recent_time value instead of calling | |
703 | gettimeofday. And there's no need to check for negative timeouts, | |
704 | since timeval_subtract already sets these to zero. | |
705 | (thread_timer_process): Timers are sorted, so bail out once we | |
706 | encounter a timer that has not yet popped. And remove some | |
707 | extraneous asserts. | |
708 | (thread_fetch): Do not process foreground timers before calling | |
709 | select. Instead, add them to the ready list just after the select. | |
710 | Also, no need to maintain a count of the number of ready threads, | |
711 | since we don't care how many there are, just whether there's | |
712 | one at the head of the ready list (which is easily checked). | |
713 | Stick current time in global variable recent_time to reduce | |
714 | the number of calls to gettimeofday. Tighten logic for | |
715 | calculating the select timeout. | |
716 | (thread_consumed_time): Now returns real time and puts the elapsed | |
717 | cpu time in an additional argument. | |
718 | (thread_should_yield): Use real (wall-clock) time to decide whether | |
719 | to yield. | |
720 | (thread_call): Maintain CPU and real time statistics. | |
721 | * vty.c (vty_command): For slow commands, show real and cpu time. | |
722 | ||
3df53782 | 723 | 2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
724 | ||
725 | * workqueue.c (show_work_queues): Remove unused gettimeofday call. | |
726 | ||
84369684 | 727 | 2005-04-27 Paul Jakma <paul.jakma@sun.com> |
728 | ||
729 | * workqueue.h: (struct work_queue_item) change retry_count to ran, | |
730 | its a count of number item has been run. | |
731 | * workqueue.c: (show_work_queues) Fix formating of slightly | |
732 | bugfix: fix SIGFPE if wq->runs is 0. | |
733 | (work_queue_run) retry logic was slightly wrong. | |
734 | cycles.best is 0 initialy, granularity is 1, so update best | |
735 | if cycles >= granularity, not just >. | |
a7bca0f5 | 736 | * memory.h: memtypes is built source, default includes points to |
737 | top_builddir, so we should refer to lib/memtypes.h | |
738 | ||
07334da0 | 739 | 2005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
740 | ||
741 | * buffer.c (buffer_write): Comment out call to buffer_flush_available. | |
742 | This should speed up buffering at the expense of a possible increase | |
743 | in latency in flushing the data if inside a long-running thread. | |
744 | ||
ab59ae35 | 745 | 2005-04-25 Paul Jakma <paul.jakma@sun.com> |
746 | ||
147aff0f | 747 | * workqueue.{c,h}: Helper API for setting up and running queues via |
748 | background threads. | |
749 | * command.c: install the 'show workqueues' command | |
750 | * memtypes.c: Add work queue mtypes, and a rib-queue type for | |
751 | a zebra rib work queue. | |
752 | * memtypes.h: Updated to match memtypes.c | |
ab59ae35 | 753 | * Makefile.am: Refer to source files via srcdir variable, fix |
754 | out-of-tree build breakage. | |
147aff0f | 755 | Add new workqueue files to build. |
2c1de2a8 | 756 | * memory.c: Make the string field much wider |
757 | * memtypes.c: Correct the prefix list str/entry strings | |
907873a0 | 758 | * thread.c: Kill unused TIMER_NO_SORT bits |
ab59ae35 | 759 | |
fb9e46bb | 760 | 2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
761 | ||
762 | * thread.h: Fix type for struct thread_master add_type: should be | |
763 | unsigned char. Also, add some documentation of thread_add_background | |
764 | args. And remove extraneous declaration of | |
765 | show_thread_work_queues_cmd. | |
766 | ||
a48b4e6d | 767 | 2005-04-22 Paul Jakma <paul.jakma@sun.com> |
768 | ||
e1e53ed5 | 769 | * memory.h: Move include of memtypes.h to after the definition of |
770 | struct memory_list, gcc 4.0 doesn't like arrays of incomplete | |
771 | types. | |
a48b4e6d | 772 | * thread.h: Add background thread type and thread_add_background |
773 | macro and accompanying funcname_... function. | |
774 | export thread_should_yield, background threads can use it. | |
775 | Lower thread yield time to 10ms, 100ms is noticeable lag and | |
776 | a thread would only be /starting/ to finish sometime afterward. | |
777 | * thread.c: (general) Add background thread type and schedule | |
778 | nearly all thread types through the ready list for fairness. | |
779 | (timeval_adjust) static qualifier missing | |
780 | (vty_out_cpu_thread_history) add support for printout of | |
781 | background threads | |
782 | (show_thread_cpu) ditto. | |
783 | (thread_master_debug) add debug of background list | |
784 | (thread_master_create) fixup long line | |
785 | (thread_add_unuse) add asserts for required state. | |
786 | (thread_master_free) free background thread list | |
787 | (funcname_thread_add_timer_timeval) make generic, able to | |
788 | support arbitrary timer-like thread types. | |
789 | (funcname_thread_add_timer) pass thread type to .._add_timer_timeval | |
790 | (funcname_thread_add_timer_msec) ditto | |
791 | (funcname_thread_add_background) Add a background thread, with an | |
792 | optional millisecond delay factor, using .._add_timer_timeval. | |
793 | (thread_cancel) Add background thread type. | |
794 | Move the thread_list_delete common to all cases to bottom of | |
795 | function, after the switch statement.. | |
796 | (thread_cancel_event) indent | |
797 | (thread_timer_wait) Static qualifier, and make it able to cope | |
798 | with arbitrary timer-like thread lists, so its of use to | |
799 | background threads too. | |
800 | (thread_process_fd) static qualifier. Again, make it take a list | |
801 | reference rather than thread_master. Fix indentation. | |
802 | (thread_timer_process) Check for ready timer-like threads in the | |
803 | given list and move them on to the ready list - code originally | |
804 | embedded in thread_fetch. | |
805 | (thread_fetch) Schedule all threads, other than events, through | |
806 | the ready list, to ensure fairness. Timer readying code moved to | |
807 | thread_timer_process so it can be reused for background threads. | |
808 | Remove the unneeded quagga_sigevent_process, as pointed out by | |
809 | John Lin <john.ch.lin@gmail.com>. | |
810 | (thread_should_yield) make this available. | |
811 | ||
924b9229 | 812 | 2005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
813 | ||
814 | * thread.h (thread_consumed_time): Declare new function to calculate | |
815 | elapsed microseconds. | |
816 | * thread.c (thread_consumed_time): Must be global not static so we | |
817 | can call it from lib/vty.c:vty_command. | |
818 | (thread_should_yield): Surround with `#if 0' to make clear that this | |
819 | function is not currently being used anywhere. | |
820 | (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG | |
821 | warning message if the thread takes more than CONSUMED_TIME_CHECK | |
822 | microseconds. | |
823 | * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU | |
824 | HOG warning message if the command takes more than CONSUMED_TIME_CHECK | |
825 | microseconds. | |
826 | ||
dc830cbf | 827 | 2005-04-16 Paul Jakma <paul@dishone.st> |
828 | ||
829 | * memtypes.c: the comment about use of comments in the comments | |
830 | headers was causing comment within comment warnings from compiler | |
831 | * memtypes.awk: Add extensive comments on the file format for | |
832 | memtypes.c. | |
833 | tighten the pattern for the MTYPE matching action (suggestion from | |
834 | Andrew) and tighten which field we try the match on. | |
835 | ||
2fd2fd5d | 836 | 2005-04-15 Paul Jakma <paul@dishone.st> |
837 | ||
838 | * memtypes.c: The new, unified location for memory type definitions. | |
839 | The memtype enum and declarations for memory_lists are built from | |
840 | this automatically and put into memtypes.h. | |
841 | * memtypes.awk: New script to generate memtypes.h from memtypes.c | |
842 | * memory.h: Finally, the enum can banished! | |
843 | * memory.c: Finally, the seperate mtype memory_list definitions can | |
844 | be banished! | |
845 | (log_memstats) Increase width of fields | |
846 | (show_memory_zebra_cmd) display zebra specific memory types. | |
847 | Increase width of fields. | |
848 | * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h | |
849 | Add a rule to build memtypes.h using memtypes.awk. | |
850 | Add memtypes.awk to EXTRA_DIST. | |
d45f1f1c | 851 | memtypes.awk is gawk dependent, use the GAWK automake var. |
852 | * memtypes.h: New file, auto-generated, checked in for convenience. | |
2fd2fd5d | 853 | |
634f9ea2 | 854 | 2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
855 | ||
856 | * zclient.h (struct zclient): Add two fields to support non-blocking | |
857 | I/O: struct buffer *wb, and struct thread *t_write. | |
858 | (zclient_free): Remove function. | |
859 | (zebra_redistribute_send): Change 2nd arg from socket fd to | |
860 | struct zclient * (needed to support non-blocking I/O and buffering). | |
861 | (zclient_send_message): New function to send an arbitrary | |
862 | message with non-blocking I/O. | |
863 | * zclient.c (zclient_new): Create write buffer. | |
864 | (zclient_free): Remove unused function. | |
865 | (zclient_stop): Must cancel new t_write thread. Also, reset | |
866 | all buffers: ibuf, obuf, and wb. | |
867 | (zclient_failed): New helper function for typical error handling. | |
868 | (zclient_flush_data): New thread to flush queued data. | |
869 | (zclient_send_message): New function to send the message in | |
870 | zclient->obuf to zebra using non-blocking I/O and buffering. | |
871 | (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use | |
872 | new zclient_send_message function instead of calling writen. | |
873 | (zclient_start): Set socket non-blocking. Also, change 2nd arg | |
874 | to zebra_redistribute_send from zclient->sock to zclient. | |
875 | (zebra_redistribute_send): Change 2nd arg to struct zclient *. | |
876 | Can now use zclient->obuf to assemble the message instead of | |
877 | allocating a temporary stream. And call zclient_send_message to | |
878 | send the message instead of writen. | |
879 | (zclient_read): Convert to support non-blocking I/O by using | |
880 | stream_read_try instead of deprecated stream_read. | |
881 | (zclient_redistribute): Change 2nd arg to zebra_redistribute_send | |
882 | from zclient->sock to zclient. | |
883 | ||
5bb4c198 | 884 | 2005-04-09 Jeroen Simonetti <jeroens@office.netland.nl> |
885 | ||
886 | * routemap.c: Show description in "show route-map" output. | |
887 | ||
67bf16c0 | 888 | 2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
889 | ||
890 | * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined. | |
891 | ||
926fe8f1 | 892 | 2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
893 | ||
894 | * vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate | |
895 | compiler warnings when assigning a (const char *) value to | |
896 | struct iovec iov_base. | |
897 | ||
d66a7b56 | 898 | 2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
899 | ||
900 | * zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This | |
901 | fixes a problem where we were not getting the declaration of strnlen | |
902 | in <string.h>. | |
903 | ||
4a8164e5 | 904 | 2005-04-08 Hasso Tepper <hasso at quagga.net> |
905 | ||
906 | * routemap.[ch]: Added "description ..." command. | |
907 | ||
3a2ce6a1 | 908 | 2005-04-08 Hasso Tepper <hasso at quagga.net> |
909 | ||
910 | * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more | |
911 | inet_ntoa alike. | |
912 | ||
1eb8ef25 | 913 | 2005-04-07 Paul Jakma <paul.jakma@sun.com> |
914 | ||
915 | * linklist.h: Add usage comments. | |
916 | Rename getdata macro to listgetdata. | |
917 | Rename nextnode to listnextnode and fix its odd behaviour to be | |
918 | less dangerous. | |
919 | Make listgetdata macro assert node is not null, NULL list entries | |
920 | should be bug condition. | |
921 | ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use | |
922 | with for loop, Suggested by Jim Carlson of Sun. | |
923 | Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the | |
924 | "safety" of previous macro. | |
925 | LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to | |
926 | distinguish from the similarly named functions, and reflect their | |
927 | effect better. | |
928 | Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section | |
929 | with the old defines which were modified above, | |
930 | for backwards compatibility - guarded to prevent Quagga using it.. | |
931 | * linklist.c: fix up for linklist.h changes. | |
932 | * *.c: fix up for new list loop macro, try audit other loop | |
933 | usage at same time, to some degree. | |
934 | ||
5920990f | 935 | 2004-04-05 Hasso Tepper <hasso at quagga.net> |
936 | ||
937 | * lib/prefix.[hc]: inet6_ntoa utility function copied from | |
938 | ripngd/ripngd.c (inet6_ntop). | |
939 | ||
3d1dc857 | 940 | 2004-04-05 Paul Jakma <paul@dishone.st> |
941 | ||
942 | * vty.c: Improve logging of failures to open vty socket(s). | |
943 | See bugid #163. | |
944 | ||
08dbfb69 | 945 | 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
946 | ||
947 | * if.h: Fix comments to reflect that if_lookup_by_name and | |
948 | if_get_by_name now require the argument strings to be NUL-terminated. | |
949 | * if.c: (if_lookup_by_name) Compare using strcmp. | |
950 | (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create. | |
951 | ||
018546e9 | 952 | 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
953 | ||
954 | * if.c: (if_nametoindex) The man page is rather vague, but it seems | |
955 | like the argument to if_nametoindex has an implicit maximum length | |
956 | of IFNAMSIZ characters. | |
957 | ||
a349198f | 958 | 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
959 | ||
960 | * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions. | |
961 | * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions. | |
962 | (if_get_by_name) Tighten up code. | |
963 | (interface) Use new function if_get_by_name_len. | |
964 | * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len | |
965 | function. | |
966 | (zebra_interface_state_read) Use new if_lookup_by_name_len function. | |
967 | ||
851adbd9 | 968 | 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
969 | ||
970 | * str.c: Replace strlcpy and strlcat with actual working versions | |
971 | copied from rsync-2.6.2/lib/compat.c. | |
972 | ||
d2fc8896 | 973 | 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
974 | ||
975 | * if.h: Remove define for IFINDEX_INTERNBASE and add define | |
976 | IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo- | |
977 | interfaces should have ifindex set to 0. | |
978 | (if_new) Remove function. | |
979 | (if_delete_retain) New function to delete an interface without | |
980 | removing from iflist and freeing the structure. | |
981 | (ifname2ifindex) New function. | |
982 | * if.c: (if_new) Remove function (absorb into if_create). | |
983 | (if_create) Replace function if_new with call to calloc. | |
984 | Set ifp->ifindex to IFINDEX_INTERNAL. Fix off-by-one error | |
985 | in assert to check length of interface name. Add error message | |
986 | if interface with this name already exists. | |
987 | (if_delete_retain) New function to delete an interface without | |
988 | removing from iflist and freeing the structure. | |
989 | (if_delete) Implement with help of if_delete_retain. | |
990 | (ifindex2ifname) Reimplement using if_lookup_by_index. | |
991 | (ifname2ifindex) New function to complement ifindex2ifname. | |
992 | (interface) The interface command should check the name length | |
993 | and fail with a warning message if it is too long. | |
994 | (no_interface) Fix spelling in warning message. | |
995 | (if_nametoindex) Reimplement using if_lookup_by_name. | |
996 | (if_indextoname, ifaddr_ipv4_lookup) Reimplement using | |
997 | if_lookup_by_index. | |
998 | ||
3cb98dee | 999 | 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1000 | ||
1001 | * zebra.h: Should include str.h to pick up missing functions. | |
1002 | * str.h: Declare strnlen if needed. | |
1003 | * str.c: Do not include str.h since zebra.h now includes it. | |
1004 | (strnlen) New function. | |
1005 | ||
db8eaac6 | 1006 | 2005-03-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1007 | ||
1008 | * zebra.h: Must check whether __attribute__ should be defined before | |
1009 | including zassert.h. | |
1010 | ||
b8961476 | 1011 | 2005-03-14 Paul Jakma <paul.jakma@sun.com> |
1012 | ||
1013 | * command.c: (sort_node) use vector_max instead of referencing | |
1014 | (struct vector *)->max directly. Test that vector_max is > 0 | |
1015 | before using it to calculate an index. | |
1016 | Fixup vector loop to make main body conditional on vector slot | |
1017 | not being empty. | |
1018 | (cmd_cmdsize) Fixup vector loop to make main body conditional on | |
1019 | vector slot not being empty. | |
1020 | (cmd_filter_by_completion) ditto | |
1021 | (cmd_filter_by_string) ditto | |
1022 | (is_cmd_ambiguous) ditto | |
1023 | (cmd_describe_command_real) Change index integers to unsigned. | |
1024 | Test that vector_max is > 0 before using it to calculate an index. | |
1025 | Return immediately with CMD_ERR_NO_MATCH if vline has no | |
1026 | active slots. | |
1027 | Fixup vector loop to make main body conditional on vector slot | |
1028 | not being empty. | |
1029 | (cmd_complete_command_real) ditto. | |
1030 | (cmd_execute_command_strict) Fixup vector loop to be conditional | |
1031 | on non-null slot. | |
909a2155 | 1032 | (various) Fix indentation and other whitespace. |
55468c86 | 1033 | vector.h: Rename to (struct vector).max to slightly less confusing |
1034 | active, for the number of active slots, distinct from allocated | |
1035 | or active-and-not-empty. Rename vector_max to vector_active | |
1036 | for same reason. | |
b8961476 | 1037 | |
9e92eeab | 1038 | 2005-03-09 Paul Jakma <paul.jakma@sun.com> |
1039 | ||
1040 | * command.c: Undo commit of sign warning fix and hidden command | |
1041 | in list_cmd. Sign warning is more subtle. list_cmd on its own | |
1042 | will be committed after. | |
4275b1de | 1043 | * command.c: (config_list_cmd) Don't list hidden or deprecated |
1044 | commands, hiding these from tab completion is still to be done. | |
9e92eeab | 1045 | |
b45da6f0 | 1046 | 2005-03-08 Paul Jakma <paul.jakma@sun.com> |
1047 | ||
9c5d8562 | 1048 | * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE. |
22085181 | 1049 | (no_banner_motd_cmd) use XFREE. |
9c5d8562 | 1050 | (cmd_describe_command_real) sign compile warning fix |
1051 | (cmd_complete_command_real) ditto. | |
1052 | (config_list_cmd) Don't list hidden or deprecated commands, | |
1053 | hiding these from tab completion is still to be done. | |
1054 | * command.h: cmd attr enum should start at 1. | |
b45da6f0 | 1055 | * vty.c: (vty_hello) suggestions from Andrew, read by line and |
1056 | stub out trailling non-printable characters on each line thus | |
1057 | allowing us to specify VTY_NEWLINE to vty_out. | |
1058 | ||
3b0c5d9a | 1059 | 2005-03-08 Jeroen Massar <jeroen@unfix.org> |
1060 | ||
1061 | * vty.c: (vty_hello) display motd file, if set | |
1062 | * command.h: add char *motdfile to struct host | |
1063 | * command.c: (config_write_host) write out motdfile config | |
1064 | (banner_motd_file_cmd) new command, allow motd to be read from | |
1065 | file. | |
1066 | (no_banner_motd_cmd) free motdfile string, if needs be. | |
1067 | (cmd_init) init (struct host).motdfile. Add new motd file | |
1068 | commands. | |
1069 | ||
12f6ea23 | 1070 | 2005-03-07 Michael Sandee <voidptr@voidptr.sboost.org> |
1071 | ||
1072 | * command.c: host.name might be NULL. | |
1073 | * vty.c: Fix fd leak. | |
1074 | ||
81fb3240 | 1075 | 2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1076 | ||
1077 | * stream.c: (stream_read_try) Log a warning message if a fatal | |
1078 | I/O error occurs. | |
1079 | (stream_fifo_new) Fix prototype. | |
1080 | * stream.h: Fix prototype for stream_fifo_new (need void arg). | |
1081 | ||
cdb6ee94 | 1082 | 2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1083 | ||
1084 | * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset). | |
1085 | ||
9fc7ebf1 | 1086 | 2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1087 | ||
1088 | * buffer.h: Make the struct buffer and struct buffer_data structures | |
1089 | private by moving them inside buffer.c. Add comments for all | |
1090 | functions. Rename buffer_write as buffer_put (to be more consistent | |
1091 | with the buffer_putc and buffer_putstr functions). Declare a new | |
1092 | buffer_write function that is used to write data to a file descriptor | |
1093 | and/or add it to the buffer queue. Remove unused function | |
1094 | buffer_flush_vty_all. Create a new enum typedef buffer_status_t | |
1095 | to be used as the return code for all buffer_flush* functions | |
1096 | and buffer_write. | |
1097 | * buffer.c: The struct buffer and struct buffer_data declarations | |
1098 | are now private to this file. In conjunction with that, remove | |
1099 | some unnecessary fields: struct buffer (alloc, unused_head, | |
1100 | unused_tail, length), struct buffer_data (prev). | |
1101 | (buffer_data_new) Removed: functionality incorporated into buffer_add. | |
1102 | (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead. | |
1103 | (buffer_new) Use calloc instead of malloc + memset(zero). | |
1104 | Supply an appropriate default size if the specified size is 0. | |
1105 | (buffer_free) Eliminate code duplication by calling buffer_reset to | |
1106 | free the contents of the buffer (and remove unused code related | |
1107 | to unused_head). | |
1108 | (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more | |
1109 | compact). | |
1110 | (buffer_reset) Use macro BUFFER_DATA_FREE. No need to set | |
1111 | alloc and length to 0 (these fields have been removed). | |
1112 | (buffer_add) Fix scope to be static. Call XMALLOC directly instead | |
1113 | of calling removed buffer_data_new function. Simplify the logic | |
1114 | (since it's now a singly-linked list instead of doubly-linked). | |
1115 | (buffer_write) Renamed to buffer_put. Change to void, since return | |
1116 | code of 1 was meaningless. No need to adjust length field, since | |
1117 | it has been removed. | |
1118 | (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty) | |
1119 | Remove unused functions. | |
1120 | (buffer_flush_all) Rewrite using buffer_flush_available to eliminate | |
1121 | a possible failure mode if IOV_MAX is less than the number of buffers | |
1122 | on the queue. | |
1123 | (buffer_flush_window) Incorporate logic from buffer_flush_vty. | |
1124 | Log an error message if there is a writev error. | |
1125 | (buffer_flush_available) Be more paranoid: check for case where | |
1126 | buffer is already empty. Use new ERRNO_IO_RETRY macro, and use | |
1127 | new enum for return codes. Simplify deletion logic (since it's | |
1128 | now a singly-linked list). | |
1129 | (buffer_write) New function for use with non-blocking I/O. | |
1130 | * vty.h: Replace the struct vty sb_buffer field with a fixed-size | |
1131 | (5-character) sb_buf field and an sb_len field, since using | |
1132 | a struct buffer was inappropriate for this task. Add some useful | |
1133 | comments about telnet window size negotiation. | |
1134 | * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h). | |
1135 | Remove VTY_OBUF_SIZE (instead use buffer_new default size). | |
1136 | Make telnet_backward_char and telnet_space_char static const. | |
1137 | (vty_out) Replace buffer_write with buffer_put. | |
1138 | (vty_log_out) Check for I/O errors. If fatal, close the vty session. | |
1139 | Consolidate 3 separate writes into a single write call. | |
1140 | (vty_will_echo,vty_command,vty_next_line,vty_previous_line, | |
1141 | vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo, | |
1142 | vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout, | |
1143 | vty_config_write,vty_save_cwd) Fix scope to static. | |
1144 | (vty_new) Let buffer_new use its default buffer size. | |
1145 | (vty_write) Fix signature: 2nd arg should be const char *. | |
1146 | Replaced buffer_write with buffer_put. | |
1147 | (vty_telnet_option) Fix minor bug (window height or width greater than | |
1148 | 255 was broken). Use sb_buf and sb_len instead of removed sb_buffer | |
1149 | (which was being used improperly). | |
1150 | (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal. | |
1151 | If the error is fatal, call buffer_reset so vty_close does not attempt | |
1152 | to flush the data. Use new sb_buf and sb_len instead of sb_buffer | |
1153 | to store the SB negotiation string. | |
1154 | (vty_flush) When vty->lines is 0, call buffer_flush_available instead | |
1155 | of buffer_flush_window. Look at the return code from buffer_flush | |
1156 | to detect I/O errors (and in that case, log an error message and | |
1157 | close the vty). | |
1158 | (vty_create) Fix scope to static. Initialize sb_len to 0 instead | |
1159 | of creating sb_buffer. | |
1160 | (vty_accept) Set socket nonblocking. | |
1161 | (vtysh_accept) Use new set_nonblocking function instead of calling | |
1162 | fcntl directly. | |
1163 | (vtysh_flush) New function called from vtysh_read (after command | |
1164 | execution) and from vtysh_write. This flushes the buffer | |
1165 | and reacts appropriately to the return code (by closing the vty | |
1166 | or scheduling further flushes). | |
1167 | (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY. | |
1168 | If not, just try again later. Otherwise, call buffer_reset before | |
1169 | calling vty_close (to avoid trying to flush the buffer in vty_close). | |
1170 | Fix logic to allow case where a command does not arrive atomically | |
1171 | in a single read call by checking for the terminating NUL char. | |
1172 | (vtysh_write) Use new vtysh_flush helper function. | |
1173 | (vty_close) No need to call buffer_empty, just call buffer_flush_all | |
1174 | in any case (it will check whether the buffer is empty). | |
1175 | Do not free sb_buffer (since it has been removed). | |
1176 | (vty_log_fixed) Use writev instead of write. | |
1177 | * zebra.h: Do not include <arpa/telnet.h>, since this is used only | |
1178 | by lib/vty.c. | |
1179 | ||
c3c07f28 | 1180 | 2005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it> |
1181 | ||
1182 | * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It | |
1183 | will allow to update node when: | |
1184 | i) a node is inserted into the priority queue; | |
1185 | ii) a node position is modified in the priority queue; | |
1186 | * pqueue.h: Export trickle_down() function. | |
1187 | ||
109ac96f | 1188 | 2005-02-19 Paul Jakma <paul.jakma@sun.com> |
1189 | ||
1190 | * stream.c: (stream_new) fix dumb mistake. | |
1191 | ||
53270116 | 1192 | 2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1193 | ||
1194 | * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro. | |
1195 | ||
d7e2a818 | 1196 | 2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1197 | ||
1198 | * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O | |
1199 | operation should be retried. This eliminates the need to duplicate | |
1200 | the same logic testing for EAGAIN or EINTR in multiple places. | |
1201 | ||
262feb1a | 1202 | 2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1203 | ||
1204 | * stream.h: Declare new function stream_read_try suitable for use | |
1205 | with non-blocking file descriptors. Indicate that stream_read | |
1206 | and stream_read_unblock are deprecated. | |
1207 | * stream.c: (stream_read_try) New function for use with non-blocking | |
1208 | I/O. | |
1209 | (stream_recvmsg) Should return -1 if the stream is too small to | |
1210 | contain the data. | |
1211 | ||
42218e71 | 1212 | 2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1213 | ||
1214 | * network.c: (set_nonblocking) Should check return code from | |
1215 | fcntl(F_GETFL). | |
1216 | ||
a269d613 | 1217 | 2005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1218 | ||
1219 | * network.h: Declare new function set_nonblocking. Indicate that | |
1220 | readn and writen are deprecated. | |
1221 | * network.c: (set_nonblocking) New function to make a file descriptor | |
1222 | non-blocking, since it seems silly to have fcntl calls sprinkled | |
1223 | throughout the code. | |
1224 | ||
1dd13d41 | 1225 | 2005-02-14 Paul Jakma <paul.jakma@sun.com> |
f2e6c429 | 1226 | |
1227 | * stream.h: Unsigned long updated to size_t | |
1228 | * stream.c: ditto | |
050c013a | 1229 | * stream.h: Add stream_copy, stream_dup, stream_recvmsg. |
1230 | Add comment describing struct stream abstraction, and various | |
1231 | other comments. | |
1232 | Deprecate several unsafe/ambigious macros. | |
1233 | Add STREAM_WRITEABLE and STREAM_READABLE. | |
1234 | Add (stream_getl_from) for symmetry. | |
1235 | Update stream_forward_{endp,getp} to use size_t offset. | |
1236 | Make stream data a 0 length array, rather than a seperate malloc. | |
1237 | * stream.c: Add consistency checks. Update to follow stream.h | |
1238 | changes. | |
1239 | (stream_new) Alloc stream+data in one go. | |
1240 | (stream_copy) new function, copy a stream. | |
1241 | (stream_dup) new function, dup a stream. | |
1242 | (stream_recvmsg) new function, recvmsg data into a stream. | |
1243 | (stream_empty) no need to check getp == 0. | |
f2e6c429 | 1244 | |
9985f83c | 1245 | 2005-02-09 Paul Jakma <paul.jakma@sun.com> |
1246 | ||
1247 | * stream.h: Remove putp. Update reference to putp with endp. | |
1248 | Add stream_forward_endp, which daemons were doing manually. | |
1249 | Rename stream_forward to stream_forward_getp. | |
1250 | stream.c: Remove/update references to putp. | |
1251 | introduce stream_forward_endp. | |
1252 | ||
548e6f7d | 1253 | 2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1254 | ||
1255 | * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG | |
1256 | to use compound assignment operators (aesthetic change). | |
1257 | ||
c4c7d0c4 | 1258 | 2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1259 | ||
1260 | * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno() | |
1261 | since it is not async-signal-safe. | |
1262 | (_zlog_assert_failed) Rewrite crashlog logic more compactly. | |
1263 | (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd | |
1264 | for use in signal handler. | |
1265 | ||
1e221354 | 1266 | 2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1267 | ||
1268 | * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed | |
1269 | inside this function only. | |
1270 | (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog | |
1271 | with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info. | |
1272 | (zlog_signal,_zlog_assert_failed) Increase logging priority from | |
1273 | LOG_ERR to LOG_CRIT. If no file logging is configured, try to use | |
1274 | open_crashlog to create a crash logfile. | |
1275 | (zlog_backtrace_sigsafe) If a crashlog file descriptor is open, | |
1276 | dump a backtrace to that file. | |
1277 | ||
847947f2 | 1278 | 2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1279 | ||
1280 | * if.h: Declare if_flag_dump. | |
1281 | ||
6a52d0d1 | 1282 | 2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1283 | ||
1284 | * daemon.c: (daemon) Replace perror with zlog_err. | |
1285 | * vty.c: (vty_serv_un) Replace perror with zlog_err. | |
1286 | ||
3b8b1855 | 1287 | 2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1288 | ||
1289 | * buffer.h: Fix comment on buffer_getstr to reflect that it now | |
1290 | uses XMALLOC. | |
1291 | * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc. | |
1292 | * filter.c: (access_list_remark,ipv6_access_list_remark) Use | |
1293 | argv_concat instead of buffer_getstr. | |
1294 | * if.c: (interface_desc) Use argv_concat instead of buffer_getstr. | |
1295 | * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description) | |
1296 | Use argv_concat instead of buffer_getstr. | |
1297 | ||
afb8b605 | 1298 | 2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1299 | ||
1300 | * lib/buffer.h: Document behavior of buffer_getstr function. | |
1301 | * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where | |
1302 | the string extends beyond the head struct buffer_data. | |
1303 | ||
f6834d4c | 1304 | 2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1305 | ||
1306 | * lib/command.h: Document behavior of argv_concat function. | |
1307 | * lib/command.c: (argv_concat) Calculate total string length first so | |
1308 | we can call malloc just once (instead of realloc'ing to add each | |
1309 | string element). | |
1310 | (do_echo,config_logmsg) Allow for possible NULL return value from | |
1311 | argv_concat. | |
1312 | ||
13bfca7a | 1313 | 2005-01-23 Hasso Tepper <hasso at quagga.net> |
1314 | ||
1315 | * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will | |
1316 | use it as well. | |
1317 | ||
31364274 | 1318 | 2005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1319 | ||
1320 | * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final | |
1321 | two args (siginfo and program_counter). | |
1322 | * log.c: (hex_append) Include this function only if SA_SIGINFO or | |
1323 | HAVE_GLIBC_BACKTRACE is defined. | |
1324 | (zlog_signal) Final two args (siginfo and program_counter) now | |
1325 | depend on whether SA_SIGINFO is defined on this platform. | |
1326 | * sigevent.c: (program_counter) Do not include this function if | |
1327 | SA_SIGINFO is not defined on this platform. | |
1328 | (exit_handler,core_handler) Test for SA_SIGINFO to decide whether | |
1329 | 2nd & 3rd arguments are present and to decide how to invoke | |
1330 | zlog_signal. | |
1331 | (trap_default_signals) Test for SA_SIGINFO and invoke sigaction | |
1332 | appropriately. | |
1333 | ||
239c26fd | 1334 | 2005-01-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1335 | ||
1336 | * log.h: Change prototype for zlog_backtrace_sigsafe to take additional | |
1337 | program_counter argument. | |
1338 | * log.c: (zlog_backtrace_sigsafe) Add additional program_counter | |
1339 | argument. If it is non-NULL, use backtrace_symbols_fd to resolve | |
1340 | the address. | |
1341 | (zlog_signal) Call zlog_backtrace_sigsafe with additional | |
1342 | program_counter argument. | |
1343 | ||
87d683b0 | 1344 | 2005-01-17 Hasso Tepper <hasso at quagga.net> |
1345 | ||
1346 | * command.[ch], vty.c: cmd_execute_command() function must not attempt | |
1347 | to walk up in the node tree if called from vtysh. Different daemons | |
1348 | might have commands with same syntax in different nodes (for example | |
1349 | "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons). | |
1350 | ||
cb585b65 | 1351 | 2005-01-14 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1352 | ||
1353 | * command.c (print_version): Do not bother even to examine host.name, | |
1354 | since it is always NULL when this function is called from main. | |
1355 | ||
f867d32c | 1356 | 2005-01-14 Greg Troxel <gdt@fnord.ir.bbn.com> |
1357 | ||
1358 | * command.c (print_version): Don't print host.name if it is NULL. | |
1359 | Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch> | |
1360 | ||
40abf239 | 1361 | 2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1362 | ||
1363 | * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to | |
1364 | pass additional siginfo_t and ucontext_t arguments to core_handler | |
1365 | and exit_handler. | |
1366 | (core_handler,exit_handler) Now invoked with 3 arguments (using | |
1367 | SA_SIGINFO). Pass additional info to zlog_signal. | |
1368 | (program_counter) New function to find program counter in ucontext_t, | |
1369 | needs to be enhanced to support more platforms (currently works only | |
1370 | on Linux/x86). | |
1371 | * log.h: Change the zlog_signal prototype to add new arguments | |
1372 | siginfo_t * and program_counter. | |
1373 | * log.c: (zlog_signal) Add new arguments siginfo and program_counter. | |
1374 | Include si_addr and program counter (if non-NULL) in message. | |
1375 | And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since | |
1376 | that is now used to render the si_addr and PC pointers. | |
1377 | ||
e22f5516 | 1378 | 2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1379 | ||
1380 | * zebra.h: If not C99 and no va_copy macro available, fall back to | |
1381 | memcpy (solves a build problem on FreeBSD 4.x). | |
1382 | ||
b99760ab | 1383 | 2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1384 | ||
1385 | * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether | |
1386 | config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined | |
1387 | by the configure test program). | |
1388 | * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead | |
1389 | of CMSG_FIRSTHDR. | |
1390 | ||
cba8a606 | 1391 | 2005-01-02 Hasso Tepper <hasso at quagga.net> |
1392 | ||
1393 | * command.c: Revert int -> unsigned int fixes in | |
1394 | cmd_describe_command_real() and cmd_complete_command_real(). index can | |
1395 | be actually negative and it caused crash with "do<TAB>" in vty. | |
1396 | ||
1d69fdf6 | 1397 | 2004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com> |
1398 | ||
d44debed | 1399 | * sockopt.c (getsockopt_ipv4_ifindex): Document calling |
1400 | convention. Beef up comments. Handle the case where the cmsghdr | |
1401 | has a zero controllen, or more specifically when the wanted option | |
1402 | is not present. This is needed for Solaris 8, and in general for | |
1403 | any platform for which configure finds a method and it can fail. | |
1404 | Mark some changes with XXX to be cleaned up post 0.98. | |
1405 | ||
1d75c8c3 | 1406 | 2004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1407 | ||
1408 | * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message. | |
1409 | When neither IP_PKTINFO nor IP_RECVIF is defined, make return value | |
1410 | deterministic (-1). | |
1411 | ||
af04bd7c | 1412 | 2004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1413 | ||
1414 | * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk. | |
1415 | ||
4ba9b924 | 1416 | 2004-12-21 Paul Jakma <paul.jakma@sun.com> |
1417 | ||
1418 | * if.h: Add more 'non-generic' IFF_ flags. | |
1419 | * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like' | |
0e43a2bc | 1420 | * stream.c: Dont allocate streams with 0 sized data buffers |
4ba9b924 | 1421 | |
2885f72d | 1422 | 2004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1423 | ||
1424 | * command.c: (do_echo) Added new "echo" command, useful for | |
1425 | watchdog pinging to make sure the daemon is responsive. | |
1426 | ||
202d08ca | 1427 | 2004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1428 | ||
1429 | * pid_output.c: (pid_output_lock) Eliminate static function, and just | |
1430 | use the #ifdef to decide which version of the function to include. | |
1431 | This eliminates a compilation problem with gcc4. And fix the | |
1432 | non-fcntl version so that it actually compiles. Exit with | |
1433 | status 1 instead of -1 on error. | |
1434 | ||
81fc57ca | 1435 | 2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1436 | ||
1437 | * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting. | |
1438 | ||
3378d209 | 1439 | 2004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1440 | ||
1441 | * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to | |
1442 | LOG_ERR instead of LOG_EMERG. | |
1443 | ||
c3324c63 | 1444 | 2004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1445 | ||
1446 | * log.c: (hex_append) No need to include this function if | |
1447 | HAVE_GLIBC_BACKTRACE is not defined. | |
1448 | ||
b9e7028f | 1449 | 2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1450 | ||
1451 | * prefix.c: (prefix_copy) Error message before abort should | |
1452 | have severity LOG_ERR, not LOG_INFO. | |
1453 | * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO. | |
1454 | ||
8ddca704 | 1455 | 2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1456 | ||
1457 | * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG. | |
1458 | ||
82146b88 | 1459 | 2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1460 | ||
1461 | * command.c: (config_write_host) Note that "log trap" is deprecated | |
1462 | when writing out the config. | |
1463 | ||
274a4a44 | 1464 | 2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1465 | ||
1466 | * log.h: Replace struct zlog flags and maskpri fields with maxlvl | |
1467 | array to support individual logging levels for each destination. | |
1468 | Remove the 2nd argument to openzlog since the default logging config | |
1469 | should be standardized inside the library. Replaced the | |
1470 | zlog_set_flag and zlog_reset_flag functions with zlog_set_level. | |
1471 | And zlog_set_file now requires an additional log_level argument. | |
1472 | Declare zlog_proto_names for use inside command.c in the | |
1473 | "show logging" command. Added defines useful for command | |
1474 | construction. | |
1475 | * log.c: (vzlog) Decide where to send the message based on the | |
1476 | individual logging levels configured for each destination. | |
1477 | Remove support for ZLOG_STDERR since it was never actually used. | |
1478 | Support record-priority for terminal monitors. | |
1479 | (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific | |
1480 | logging levels. Remove stderr support (was never used). Added | |
1481 | support for terminal monitor logging. | |
1482 | (_zlog_assert_failed) Increase message severity to LOG_EMERG. | |
1483 | (openzlog) Remove 2nd argument since default config should be | |
1484 | standardized in library. By default, terminal monitoring | |
1485 | is set to debug, and all other logging is disabled. | |
1486 | (zlog_set_flag,zlog_reset_flag) Removed. | |
1487 | (zlog_set_level) New function to replace zlog_set_flag and | |
1488 | zlog_reset_flag. Supports destination-specific logging levels. | |
1489 | (zlog_set_file,zlog_reset_file) Support file-specific logging level. | |
1490 | (zlog_rotate) Log an error message if fopen fails, and support | |
1491 | new file-specific logging level. | |
1492 | * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that | |
1493 | command functions will be static instead of global. Remove | |
1494 | declarations for config_exit and config_help. Define new macros | |
1495 | DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can | |
1496 | have deprecated commands in vtysh. Similarly, for completeness, | |
1497 | define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED. | |
1498 | Also, fix bug in ALIAS_ATTR macro (didn't matter because it | |
1499 | was never used). | |
1500 | * command.c: Make many functions static instead of global. | |
1501 | (facility_name,facility_match,level_match) New functions | |
1502 | to support enhanced destination-specific logging levels. | |
1503 | (config_write_host) Support new destination-specific logging levels. | |
1504 | (config_logmsg) Added new "logmsg" command to help test logging | |
1505 | system. | |
1506 | (show_logging) Added "show logging" command to show the current | |
1507 | configuration of the logging system. | |
1508 | (config_log_stdout_level) Support explicit stdout logging level. | |
1509 | (no_config_log_stdout) Now takes optional LEVEL arg. | |
1510 | (config_log_monitor,config_log_monitor_level,no_config_log_monitor) | |
1511 | New commands creating new "log monitor" commands to set terminal | |
1512 | monitoring log level. | |
1513 | (config_log_file_level) Support explicit file logging level. | |
1514 | (config_log_syslog_level) Support explicit syslog logging level. | |
1515 | (config_log_facility,no_config_log_facility) Implement new | |
1516 | "log facility" command. | |
1517 | (cmd_init) Add hooks for new commands: "show logging", "logmsg", | |
1518 | "log stdout <level>", "log monitor", "log monitor <level>", | |
1519 | "no log monitor", "log file <filename> <level>", | |
1520 | "no log file <filename> <level>", "log syslog <level>", | |
1521 | "log facility", and "no log facility". | |
1522 | * vty.h: Added a "level" argument to vty_log so it can support | |
1523 | "log record-priority". Declare new function vty_log_fixed for | |
1524 | use in signal handlers. | |
1525 | * vty.c: (vty_log,vty_log_out) Added a "level" argument to support | |
1526 | "log record-priority" for vty terminal monitors. | |
1527 | (vty_down_level) Use config_exit_cmd.func instead of calling | |
1528 | config_exit directly (since command functions will now be static | |
1529 | instead of global). | |
1530 | (vty_log_fixed) New function to send terminal monitor messages | |
1531 | from inside a signal handler. | |
1532 | ||
5e764774 | 1533 | 2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1534 | ||
1535 | * log.h: Document appropriate use of syslog logging priorities | |
1536 | inside quagga. | |
1537 | ||
56f2069a | 1538 | 2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1539 | ||
1540 | * command.h: Remove fields log_stdout and log_syslog from struct host, | |
1541 | since they are just trying to duplicate information in the | |
1542 | zlog_default structure. Note that this fixes a bug since those | |
1543 | fields were not registering any logging that was established | |
1544 | in the initial call to openzlog (this affects only the zebra and | |
1545 | ospf6d daemons). It is probably a bug to turn on any logging by | |
1546 | default in the call to openzlog. | |
1547 | * command.c: (config_write_host) Get logging info from zlog_default | |
1548 | instead of now-removed fields host.log_stdout and host.log_syslog. | |
1549 | (config_log_stdout,no_config_log_stdout) Do not set now-removed field | |
1550 | host.log_stdout, since this info is recorded in zlog_default. | |
1551 | (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile. | |
1552 | (config_log_syslog,config_log_syslog_facility,no_config_log_syslog) | |
1553 | Do not set now-removed field host.log_syslog, since this info is | |
1554 | recorded in zlog_default. | |
1555 | ||
887c44a4 | 1556 | 2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1557 | ||
1558 | * version.h.in: Remove declaration for pid_output_lock, this function | |
1559 | is now static, not global. | |
1560 | * pid_output.c: (pid_output_lock) This function should be static, not | |
1561 | global. And remove "old umask" error message, since it was really | |
1562 | an unimportant debug message, not an error. | |
1563 | (pid_output) Need to declare static function pid_output_lock. | |
1564 | ||
7d149b8e | 1565 | 2004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1566 | ||
1567 | * log.h: Remove several unused fields from struct zlog. Add comments | |
1568 | for other fields, and add one new field syslog_options that is | |
1569 | used in the new syslog_sigsafe implementation. | |
1570 | * log.c: (syslog_sigsafe) New function to send syslog messages in | |
1571 | an async-signal safe way that can be used inside a signal handler. | |
1572 | (syslog_connect) New function to connect to syslog daemon inside a | |
1573 | signal handler. This function supports only systems where /dev/log | |
1574 | is a unix datagram socket (e.g. not Solaris). | |
1575 | (zlog_signal) Call syslog_sigsafe if syslog logging is enabled. | |
1576 | (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is | |
1577 | enabled. | |
1578 | (openzlog) Save syslog_options for use in syslog_sigsafe. | |
1579 | (num_append) Fix bug: handle 0 properly. | |
1580 | (hex_append) New function to print a u_long in hex format. | |
1581 | ||
2557aed1 | 1582 | 2004-11-28 Hasso Tepper <hasso at quagga.net> |
1583 | ||
1584 | * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well. | |
1585 | ||
48d6c69b | 1586 | 2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1587 | ||
1588 | * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe | |
1589 | to the more self-explanatory zlog_backtrace_sigsafe. | |
1590 | ||
5b85facc | 1591 | 2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1592 | ||
1593 | * debug.[ch]: Remove unused files. | |
1594 | * Makefile.am: Remove references to debug.c and debug.h | |
1595 | ||
063ee52a | 1596 | 2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1597 | ||
1598 | * log.c: (zlog_backtrace) New function to log a backtrace. | |
1599 | (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way. | |
1600 | Unfortunately, this function does not support syslog logging yet. | |
1601 | (zlog_signal) Move backtrace code into separate function | |
1602 | zlog_backtrace_safe. | |
1603 | (_zlog_assert_failed) Call zlog_backtrace before aborting. | |
1604 | * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe. | |
1605 | * memory.c: (zerror) Call zlog_backtrace before aborting. | |
1606 | ||
d1c51d7c | 1607 | 2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1608 | ||
1609 | * Makefile.am: Need to add zassert.h to pkginclude_HEADERS. | |
1610 | ||
4cf0d0df | 1611 | 2004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1612 | ||
1613 | * zebra.h: If not C99 and there's no va_copy macro and there is | |
1614 | a __va_copy macro, define va_copy as __va_copy. | |
1615 | ||
e5879ca1 | 1616 | 2004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1617 | ||
1618 | * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should | |
1619 | set l_whence to SEEK_SET, not SEEK_END. And after writing new | |
1620 | pid to file, must ftruncate to eliminate any extraneous bytes left | |
1621 | over from the last time a pid was written. | |
1622 | ||
cee3df1e | 1623 | 2004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1624 | ||
1625 | * zassert.h: New header file to declare a quagga-specific assert macro. | |
1626 | * log.c: (_zlog_assert_failed) New function called when assert fails | |
1627 | to log the error and abort. | |
1628 | * zebra.h: Include "zassert.h" instead of <assert.h>. | |
1629 | * regex.c: Include "zassert.h" instead of <assert.h>. | |
1630 | ||
59a06a91 | 1631 | 2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1632 | ||
1633 | * sigevent.c: (signal_init) Set up some default signal handlers | |
1634 | so that processes will issue an error message before terminating | |
1635 | or dumping core. | |
1636 | (trap_default_signals) New function to set up signal handlers | |
1637 | for various signals that may kill the process. | |
1638 | (exit_handler) Call zlog_signal, then _exit. | |
1639 | (core_handler) Call zlog_signal, then abort. | |
1640 | * log.h: Declare new function zlog_signal. | |
1641 | * log.c: (zlog_signal) New function to log information about | |
1642 | a received signal before the process dies. Try to log a | |
1643 | backtrace also. | |
1644 | (quagga_signal_handler,signal_set) Should be static. | |
1645 | ||
d246bd96 | 1646 | 2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1647 | ||
1648 | * log.c: (vzlog) Take a single va_list argument and use va_copy | |
1649 | as necessary for multiple traversals. | |
1650 | (zlog) Pass only one va_list to vzlog. | |
1651 | (zlog_*,plog_*) Use a macro for boilerplate code; pass only one | |
1652 | va_list to vzlog. | |
1653 | (zlog_set_file) Remove unused 2nd argument (flags). | |
1654 | (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions. | |
1655 | * log.h: Remove ZLOG_*_INDEX defines (no longer used). | |
1656 | Remove unused 2nd argument from zlog_set_file prototype. | |
1657 | Fix prototype for zlog_rotate. | |
1658 | * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file. | |
1659 | * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals | |
1660 | properly. | |
1661 | (vty_log) Must use va_copy for multiple traversals of va_list arg. | |
1662 | ||
ca359769 | 1663 | 2004-11-19 David Young <dyoung@pobox.com> |
1664 | ||
1665 | * log.c: (safe_strerror) New function: safe wrapper for strerror. | |
1666 | ||
ff29bb31 | 1667 | 2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1668 | ||
1669 | * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being | |
1670 | printed every time. | |
1671 | ||
f858e49b | 1672 | 2004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1673 | ||
1674 | * memory.h: Fix prototype for memory_init(). | |
1675 | * memory.c: Declare many functions and data structures static instead | |
1676 | of global. Fix prototype for memory_init(). | |
1677 | ||
69e1325f | 1678 | 2004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com> |
1679 | ||
1680 | * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without | |
1681 | alignment (users should use CMSG_SPACE). | |
1682 | ||
1683 | * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if | |
1684 | asumming 4-byte alignment, since this isn't safe. | |
1685 | ||
7fa25ff6 | 1686 | 2004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1687 | ||
1688 | * memory.c: (zerror) Use zlog_err instead of fprintf to stderr. | |
1689 | Instead of exiting, log currenty memory usage and then abort. | |
1690 | (log_memstats) New function to log memory statistics, called by | |
1691 | zerror. | |
1692 | (show_memory_all) Loop over new mlists array instead of calling | |
1693 | show_memory_vty separately for each memory_list. | |
1694 | ||
b86718ea | 1695 | 2004-11-08 Paul Jakma <paul@dishone.st> |
b35e5b4e | 1696 | |
2265d20c | 1697 | * buffer.c: Add missing include of log.h. |
1698 | (buffer_flush_available) written is compared against | |
1699 | mostly against unsigned types, only for the writev do we need | |
1700 | signed compare, so declare it as size_t and cast it to ssize_t | |
1701 | just for the error compare when we've called writev. | |
1702 | * buffer.h: Add comment that buffer data sizes really should be | |
1703 | size_t. | |
1704 | ||
1705 | 2004-11-07 Paul Jakma <paul@dishone.st> | |
1706 | ||
1707 | * version.h.in: add autoconf configure_input output var | |
b35e5b4e | 1708 | |
5a646650 | 1709 | 2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1710 | ||
1711 | * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE | |
1712 | capabilities (that were used only in bgpd/bgp_route.c and are now | |
1713 | removed). Also remove some other fields that were not being | |
1714 | used at all. | |
1715 | * vty.c: (vty_execute) Do not test for obsolete status values VTY_START | |
1716 | and VTY_CONTINUE. | |
1717 | (vty_read) Remove calls to vty->output_func since that was part | |
1718 | of the VTY_CONTINUE infrastructure that has been removed. | |
1719 | (vty_flush) Remove code to support VTY_START and VTY_CONTINUE. | |
1720 | (vty_close) Remove code to cancel vty->t_output thread, since that | |
1721 | thread was never actually used. | |
1722 | ||
49ff6d9d | 1723 | 2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> |
1724 | ||
1725 | * vty.c: Vtysh connections to daemons should use buffering. | |
1726 | (vty_out) Remove exception for vty_shell_serv, just use buffer_write. | |
1727 | (vty_new) Increase output buffer size to 4096 rounded up to a | |
1728 | multiple of pagesize. | |
1729 | (vtysh_read) After command has been executed and all output buffered, | |
1730 | call buffer_flush_available and schedule further writes if the | |
1731 | buffers are not yet empty. | |
1732 | (vtysh_write) New function to flush output to vtysh when the socket | |
1733 | is writeable. | |
1734 | (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh | |
1735 | clients. Also, should save read thread in vty->t_read so the | |
1736 | thread can be cancelled in vty_close. | |
1737 | * buffer.h: In struct buffer_data, remove unused "parent" field. | |
1738 | Convert "unsigned char *data" to "unsigned char data[0]" to save | |
1739 | a malloc. Declare new function buffer_flush_available that works | |
1740 | with non-blocking sockets. | |
1741 | * buffer.c: (buffer_data_new) Use a single malloc now that data is | |
1742 | a variable-size array at end of structure. | |
1743 | (buffer_data_free) Just a single free now that data is part of the | |
1744 | structure. | |
1745 | (buffer_write) Simplify the logic to make behavior more transparent. | |
1746 | (buffer_flush) Decrease b->length as data is written out. | |
1747 | (buffer_flush_vty_all) Decrease b->length as buffers are freed. | |
1748 | (buffer_flush_vty) Decrease b->length as data is written out. | |
1749 | (buffer_flush_available) New function to flush non-blocking sockets. | |
1750 | ||
e064d6d9 | 1751 | 2004-11-01 Paul Jakma <paul@dishone.st> |
1752 | ||
1753 | * sockopt.c: (setsockopt_pktinfo) remove, its unused. | |
1754 | ||
75e15fe4 | 1755 | 2004-10-31 Paul Jakma <paul@dishone.st> |
1756 | ||
1757 | * vty.c: As per Andrew's suggestions.. | |
1758 | (vty_serv_un) remove flags. | |
1759 | (vtysh_accept) close socket if we cant set NONBLOCK. Add flags. | |
66cbbceb | 1760 | * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER. |
9d11a19e | 1761 | * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS |
1762 | * thread.c: Update stats and funcname alloc/free to use previous | |
039b9577 | 1763 | specific memory type defines. Use XCALLOC and sizeof the type, |
1764 | not the pointer. | |
70e149e0 | 1765 | * smux.c: fix int to size_t compile warnings |
75e15fe4 | 1766 | |
dccfb190 | 1767 | 2004-10-29 Paul Jakma <paul@dishone.st> |
1768 | ||
1769 | * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un | |
1770 | to vtysh_accept, where sock is the actual fd we wanted to set to | |
1771 | O_NONBLOCK, ie the /connected/ vtysh unix socket. | |
1772 | ||
508ec910 | 1773 | 2004-10-23 Hasso Tepper <hasso at quagga.net> |
1774 | ||
1775 | * zclient.c: Unbreak reading interface update message. Might fix | |
1776 | blocker bugzilla #109. | |
1777 | ||
23b9c61e | 1778 | 2004-10-22 Paul Jakma <paul@dishone.st> |
7d9c6e51 | 1779 | |
1780 | * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not | |
23b9c61e | 1781 | -1. |
1782 | (setsockopt_pktinfo) unexported | |
1783 | * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway | |
1784 | define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have | |
4ccb2c46 | 1785 | neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo |
1786 | Nurges for highlighting problem and fix. | |
4927cf0b | 1787 | Fix elif that should be an else. |
406d6716 | 1788 | * command.h: Cleanup the defines a bit, add helper defines and |
1789 | collapse all defines to use those. Add an attribute field to | |
1790 | cmd_element to support, eg hidden or deprecated commands, add | |
1791 | defun defines for such. All that's left to do is add logic | |
1792 | to command.c to check these attributes... ;) | |
af0d97eb | 1793 | * zebra.h: reserve ZEBRA_ROUTE_HSLS |
7d9c6e51 | 1794 | |
6590f2c3 | 1795 | 2004-10-19 Hasso Tepper <hasso at quagga.net> |
1796 | ||
1797 | * version.h.in: Define copyright string QUAGGA_COPYRIGHT. | |
1798 | * print_version.c: Remove. print_version () function moved to | |
1799 | command.[c|h]. | |
1800 | * command.c: Use QUAGGA_COPYRIGHT. | |
1801 | * Makefile.am: Remove useless version.c and print_version.c files. | |
1802 | ||
3fb9cd6e | 1803 | 2004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com> |
1804 | ||
1805 | * zclient.c: (zebra_interface_address_read) If the destination address | |
1806 | is encoded as all zeroes, load it as a NULL pointer. | |
1807 | * if.h: Add comment describing struct connected destination field | |
1808 | and indicating that it may be NULL. Define macros | |
1809 | CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help | |
1810 | with PtP logic (distinguish between host and subnet addressing). | |
1811 | * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing | |
1812 | properly, | |
1813 | (connected_lookup_address) ditto. | |
1814 | (connected_add_by_prefix) Handle case where destination is NULL, | |
1815 | * prefix.[c|h]: New functions ipv4_network_addr and | |
1816 | ipv4_broadcast_addr. | |
1817 | ||
ddd85ed1 | 1818 | 2004-10-13 Hasso Tepper <hasso at quagga.net> |
1819 | ||
1820 | * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading | |
1821 | configuration from file. Fixes critical bugzilla #113. | |
c75105ab | 1822 | * smux.c, smux.h: Remove all defaults to initialize smux connection to |
1823 | snmpd by default even if not configured to do so. "smux peer OID | |
1824 | <password>" initializes now connection and "no smux peer" terminates | |
1825 | it. | |
ddd85ed1 | 1826 | |
42d49865 | 1827 | 2004-10-13 Paul Jakma <paul@dishone.st> |
1828 | ||
1829 | * (global) more const'ification. | |
1830 | * sockunion.c: (sockunion_su2str) buffer should be sized | |
1831 | SU_ADDRSTRLEN. | |
1832 | (sockunion_log) do not return stack variables, strdup buf before | |
1833 | return. | |
1834 | * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied | |
1835 | values against ULONG_MAX is daft, when caller probably has passed | |
1836 | a type that can not hold ULONG_MAX. use a temporary long instead. | |
1837 | Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make | |
1838 | VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE. | |
1839 | ||
a149411b | 1840 | 2004-10-11 Hasso Tepper <hasso at quagga.net> |
1841 | ||
1842 | * command.h: Sync DEFUNSH with other macros. | |
1843 | * sockunion.c, sockunion.h: More const strings. | |
1844 | ||
9076fbd3 | 1845 | 2004-10-11 Paul Jakma <paul@dishone.st> |
1846 | ||
1847 | * thread.c: (funcname_thread_add_timer) | |
1848 | (funcname_thread_add_timer_msec) Fix mistakes from last change. | |
1849 | Pointed out by Liu Xin in [quagga-dev 1609]. | |
c9eca01b | 1850 | * if.h: mtu's should be unsigned. |
1851 | * routemap.{c,h}: const char updates | |
1852 | * smux.{c,h}: ditto | |
9076fbd3 | 1853 | |
9035efaa | 1854 | 2004-10-10 Paul Jakma <paul@dishone.st> |
47ca2953 | 1855 | |
1856 | * version.h.in: (pid_output*) add const qualifier. | |
9035efaa | 1857 | * command.h: Change DEFUN func to take const char *[] rather |
1858 | than char **, to begin process of fixing compile warnings in lib/. | |
1859 | Nearly all other changes in this commit follow from this change. | |
1860 | * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take | |
1861 | const void * and cast an automatic const char *p to it. | |
1862 | (buffer_putstr) add const | |
1863 | * command.c: (zencrypt) const qualifier | |
1864 | (cmd_execute_command_real) ditto | |
1865 | (cmd_execute_command_strict) ditto | |
1866 | (config_log_file) ditto. | |
1867 | Fix leak of getcwd() returned string. | |
1868 | * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname. | |
1869 | * distribute.{c,h}: Update with const qualifier. | |
1870 | (distribute_free) use MTYPE_DISTRIBUTE_IFNAME | |
1871 | (distribute_lookup) Cast to char *, note that it's ok. | |
1872 | (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME. | |
1873 | (distribute_get) Cast to char *, note that it's ok. | |
1874 | * filter.c: Update with const qualifier. | |
1875 | * if.{c,h}: ditto. | |
1876 | * if_rmap.{c,h}: ditto. | |
1877 | (if_rmap_lookup) Cast to char *, note that it's ok. | |
1878 | (if_rmap_get) ditto. | |
1879 | * log.{c,h}: Update with const qualifier. | |
1880 | * plist.{c,h}: ditto. | |
1881 | * routemap.{c,h}: ditto. | |
1882 | * smux.{c,h}: ditto. Fix some signed/unsigned comparisons. | |
1883 | * sockopt.c: (getsockopt_cmsg_data) add return for error case. | |
1884 | * vty.c: Update with const qualifier. | |
1885 | ||
27a43a81 | 1886 | 2004-10-08 Hasso Tepper <hasso at quagga.net> |
1887 | ||
1888 | * routemap.c, routemap.h: Make some string arguments const. | |
1889 | ||
5973ee73 | 1890 | 2004-10-05 Paul Jakma <paul@dishone.st> |
1891 | ||
1892 | * version.h.in: print_version declaration is here, not in automake | |
1893 | generated version.h. | |
1894 | ||
ea8e9d97 | 1895 | 2004-10-08 Hasso Tepper <hasso at quagga.net> |
1896 | ||
1897 | * command.c, command.h: Make argument of cmd_make_strvec function | |
1898 | const. | |
1899 | * command.c: Make hostname commands usable in vtysh again. | |
1900 | ||
6ad96ea1 | 1901 | 2004-10-07 Hasso Tepper <hasso at quagga.net> |
1902 | ||
1903 | * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more | |
1904 | strings const. | |
1905 | ||
8c328f11 | 1906 | 2004-10-05 Hasso Tepper <hasso at quagga.net> |
1907 | ||
1908 | * *.[c|h]: Make many strings cons and a lot of int -> unsigned int | |
1909 | changes to fix warnings. | |
1910 | ||
96e27c99 | 1911 | 2004-10-05 Paul Jakma <paul@dishone.st> |
1912 | ||
1913 | * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh}, | |
1914 | functions to change byte order between system IP_HDRINCL order | |
1915 | and host order. | |
98c91ac6 | 1916 | * thread.c: (funcname_thread_add_timer_timeval) new function, add |
1917 | timer at specified timeval. | |
1918 | (funcname_thread_add_timer) use funcname_thread_add_timer_timeval. | |
1919 | (funcname_thread_add_timer_msec) ditto | |
96e27c99 | 1920 | |
b04c699e | 1921 | 2004-10-04 Hasso Tepper <hasso at quagga.net> |
1922 | ||
1923 | * memory.c, memory.h: Make char * argument of strdup functions const. | |
1924 | * prefix.c, prefix.h: Make many arguments const. Reorder stuff in | |
1925 | header. | |
1926 | * log.h: Make log message const in struct message. | |
1927 | * log.c: Fix some indenting. | |
1928 | * network.c, network.h: Make second argument of writen() const. | |
1929 | ||
e7168df4 | 1930 | 2004-10-03 Hasso Tepper <hasso at quagga.net> |
1931 | ||
1932 | * command.h: Introduce SERVICE_NODE for "service <...>" commands. | |
1933 | * command.c: Don't initialize commands that don't make sense if vtysh | |
1934 | is used. | |
1935 | * vty.c: Make VTY_NODE appear in vtysh. | |
1936 | ||
18a6dce6 | 1937 | 2004-10-03 James R. Leu <jleu at mindspring.com> |
1938 | ||
1939 | * zclient.c, zclient.h: zclient functions for router id handling. | |
1940 | * zebra.h: New message types for router id handling. | |
1941 | ||
9172ee0e | 1942 | 2004-09-27 Paul Jakma <paul@dishone.st> |
1943 | ||
1944 | * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd | |
1945 | to try to fragment oversized packets. Enabled only for Linux. | |
1946 | Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order, | |
1947 | to consolidate various ad-hoc platform defines for same thing. | |
1948 | ||
e473b032 | 1949 | 2004-09-26 Hasso Tepper <hasso at quagga.net> |
1950 | ||
1951 | * vty.c, sockopt.c: Fix compiler warnings. | |
1952 | ||
52dc7ee6 | 1953 | 2004-09-23 Hasso Tepper <hasso at quagga.net> |
1954 | ||
1955 | * linklist.h: Remove list and listnode typedefs. | |
1956 | * *.[c|h]: list -> struct list *, listnode -> struct listnode *. | |
1957 | ||
b89e60c7 | 1958 | 2004-09-17 Paul Jakma <paul@dishone.st> |
1959 | ||
1960 | * sockopt.c: Add missing bracket | |
1961 | ||
0b3acf4f | 1962 | 2004-09-17 Paul Jakma <paul@dishone.st> |
1963 | ||
1964 | * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd. | |
1965 | ||
33394766 | 1966 | 2004-09-13 Paul Jakma <paul@dishone.st> |
1967 | ||
1968 | * command.c: Update the copyright string in the default motd. | |
1969 | ||
630e4807 | 1970 | 2004-08-31 David Wiggins <dwiggins@bbn.com> |
1971 | ||
1972 | * hash.c (hash_iterate): Save next pointer before calling | |
1973 | procedure, so that iteration works even if the called procedure | |
1974 | deletes the hash backet. | |
1975 | ||
1976 | * linklist.h (listtail): new macro, not yet used. | |
1977 | ||
34553cc3 | 1978 | 2004-08-27 Hasso Tepper <hasso at quagga.net> |
1979 | ||
1980 | * command.c: Install "terminal length" commands only if vty is used. | |
1981 | Vtysh will handle it itself. | |
1982 | ||
afa43b23 | 1983 | 2004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com> |
1984 | ||
1985 | * sockopt.h: Define method-independent macro for callers of | |
1986 | get_ifindex to use for cmsg length. | |
1987 | ||
efba6ce9 | 1988 | 2004-08-19 Paul Jakma <paul@dishone.st> |
1989 | ||
1990 | * zebra.h: add MAX and MIN defines (eg for ospf6d) | |
1991 | ||
e6822768 | 1992 | 2004-08-19 Paul Jakma <paul@dishone.st> |
1993 | ||
1994 | * sockopt.c: include sockopt.h | |
1995 | rename some of the _pktinfo_ functions to _ifindex, where that is | |
1996 | their purpose. | |
1997 | (getsockopt_ipv6_pktinfo_ifindex) renamed to | |
1998 | getsockopt_ipv6_ifindex. | |
1999 | (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex | |
2000 | (setsockopt_pktinfo) update with previous and add comment re | |
2001 | AF_INET portability. | |
2002 | (setsockopt_ifindex) generic ifindex function ala | |
2003 | setsockopt_pktinfo. | |
2004 | (getsockopt_ipv4_pktinfo_ifindex) renamed to | |
2005 | getsockopt_ipv4_ifindex. | |
2006 | (getsockopt_ipv4_ifindex) rejiggling to reduce repeated | |
2007 | ifdef/elses. pktinfo case forgot to set ifindex. | |
2008 | (getsockopt_pktinfo_ifindex) renamed to | |
2009 | getsockopt_ifindex. update some calls to renamed functions. | |
2010 | * sockopt.h: Update renamed exported functions | |
2011 | Rename the CMSG_SIZE macros to IFINDEX. | |
2012 | Guard IPv4 PKTINFO in a conditional define. | |
2013 | ||
c0618de6 | 2014 | 2004-08-18 Paul Jakma <paul@dishone.st> |
2015 | ||
2016 | * vty.c: (vty_serv_un) set unix vty socket to nonblocking | |
2017 | to prevent inadvertent blocking of daemons by use of | |
2018 | vtysh. TODO: disentangle manual paging from the buffer_write | |
2019 | path so that unix vty can use this path too and be reliable. | |
2020 | ||
33f92320 | 2021 | 2004-07-23 Greg Troxel <gdt@poblano.ir.bbn.com> |
2022 | ||
2023 | * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile | |
2024 | on NetBSD, and add comments to make it less confusing. Change the | |
2025 | sense of the SUNOS_5 test to make parallel structure between the | |
2026 | variables and the code. | |
2027 | ||
4f7baa0e | 2028 | 2004-07-23 Paul Jakma <paul@dishone.st> |
2029 | ||
2030 | * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for | |
2031 | sizeof pktinfo as appropriate, to be used when allocating msg | |
2032 | buffers. export setsockopt_pktinfo() and | |
2033 | getsockopt_pktinfo_ifindex() | |
2034 | * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably | |
2035 | set received ifindex sock option. | |
2036 | (getsockopt_pktinfo_ifindex) portably retrieve ifindex. | |
2037 | (getsockopt_cmsg_data) retrieve indicated control info from | |
2038 | message header. | |
2039 | (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above. | |
2040 | (setsockopt_ipv4_pktinfo) v4 version | |
2041 | (setsockopt_pktinfo) the exported version | |
2042 | (getsockopt_ipv4_pktinfo_ifindex) v4 specific version | |
2043 | (getsockopt_pktinfo_ifindex) the exported version | |
2044 | ||
05c447dd | 2045 | 2004-07-14 Paul Jakma <paul@dishone.st> |
2046 | ||
2047 | * sigevent.c: (quagga_signal_handler) add a global caught flag, set | |
2048 | the flags to a constant rather increment to be kinder. | |
2049 | (quagga_sigevent_process) new function, to do core of what | |
2050 | quagga_signal_timer did. dont block signals at all as sig->caught | |
2051 | is volatile sig_atomic_t and should be safe to access from signal | |
2052 | and normal contexts. The signal blocking is unneeded paranoia, but | |
2053 | is left intact under an ifdef, should some platform require it. | |
2054 | Check global caught flag before iterating through array. | |
2055 | (quagga_signal_timer) nearly everything moved to | |
2056 | quagga_sigevent_process. Left in under ifdef, in case some | |
2057 | platform could use a regular timer check for signals. | |
2058 | * sigevent.h: quagga_sigevent_process declaration. | |
2059 | * thread.c: (thread_fetch) check for signals at beginning of | |
2060 | scheduler loop, check for signals if select returns EINTR. | |
2061 | ||
b7797131 | 2062 | 2004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com> |
2063 | ||
2064 | * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP | |
2065 | confuses gdb, at least on NetBSD 2.0_BETA, where the block | |
2066 | succeeds. | |
2067 | ||
5510e83b | 2068 | 2004-07-09 Paul Jakma <paul@dishone.st> |
2069 | ||
2070 | * Merge Kunihiro's 'show route-map' change and add | |
2071 | compatibility aliases for route-map continue | |
b9790b34 | 2072 | * jhash.{c,h}: New files. Bob Jenkins' public domain hashing |
2073 | function, as implemented in linux kernel by David Miller. | |
5510e83b | 2074 | |
b06c14f2 | 2075 | 2004-07-09 Juris Kalnins <juris@mt.lv> |
2076 | ||
2077 | * if.c: (if_cmp_func) fix for interface names where name is same, | |
2078 | but one has no number, eg "devtyp" and "devtyp0". | |
2079 | ||
87efd646 | 2080 | 2004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com> |
2081 | ||
2082 | * Makefile.am: Make libzebra shared. | |
2083 | ||
138ce75f | 2084 | 2004-06-21 Paul Jakma <paul@dishone.st> |
2085 | ||
2086 | * ChangeLog: fix my last update config.h -> zebra.h ;) | |
2087 | * zebra.h: Fix gcc check. | |
2088 | ||
02ff83c5 | 2089 | 2004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com> |
2090 | ||
2091 | * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast | |
2092 | to u_char. (ipv6_access_list_remark_cmd) ditto. | |
2093 | if.c: ditto | |
2094 | * network.c: (readn/writen) pointer arg should be type u_char. | |
2095 | * plist.c: needs to include stream.h, not declare stream functions | |
2096 | internally. | |
2097 | (various) Add static qualifier to internal functions. | |
2098 | (prefix_list_type_str) extraneous breaks in switch statement. | |
2099 | (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast | |
2100 | * stream.h: depends on plist.h and export stream_put_prefix | |
2101 | * vty.c: (vty_<telnet option build functions>) should use | |
2102 | unsigned char, telnet options are 0 -> 255. | |
2103 | * zclient.c: various u_char<->char type cleanups. | |
2104 | * zebra.h: Having to define CMSG_* can apply to more than just | |
2105 | BSDI_NRL. | |
2106 | ||
51a8798e | 2107 | 2004-06-09 Paul Jakma <paul@dishone.st> |
2108 | ||
138ce75f | 2109 | * zebra.h: __attribute__ is a gcc'ism |
51a8798e | 2110 | |
5228ad27 | 2111 | 2004-06-04 Paul Jakma <paul@dishone.st> |
2112 | ||
2113 | * type mismatch fixes | |
2114 | ||
6708fa3c | 2115 | 2004-05-18 Hasso Tepper <hasso@estpak.ee> |
2116 | ||
2117 | * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository. | |
2118 | ||
0a589359 | 2119 | 2004-05-08 Paul Jakma <paul@dishone.st> |
2120 | ||
2121 | * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe | |
2122 | message format. | |
2123 | ||
2124 | 2004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com> | |
2125 | ||
2126 | * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route | |
2127 | (zapi_ipv4_delete) ditto. | |
2128 | (zapi_ipv4_route) add/delete a route by way of cmd arg. | |
2129 | (zapi_ipv6_add) collapsed into zapi_ipv6_route. | |
2130 | (zapi_ipv6_delete) ditto. | |
2131 | (zapi_ipv6_route) add/delete a route by way of cmd arg. | |
2132 | (zebra_interface_address_delete_read) collapsed into | |
2133 | zebra_interface_address_read. | |
2134 | (zebra_interface_address_delete_read) ditto. | |
2135 | (zebra_interface_address_read) read address add/delete messages | |
2136 | by way of type argument. Describe command message format. | |
2137 | (zebra_interface_add_read) Unconditionally read new ifmtu6 field. | |
2138 | Describe command message format. | |
2139 | (zebra_interface_state_read) Unconditionally read new ifmtu6 field. | |
2140 | (zclient_redistribute_set) Collapsed into zclient_redistribute | |
2141 | (zclient_redistribute_unset) ditto | |
2142 | (zclient_redistribute) set/unset redistribution. | |
2143 | (zclient_redistribute_default_set) Collapsed into | |
2144 | zclient_redistribute_default. | |
2145 | (zclient_redistribute_default_unset) ditto. | |
2146 | (zclient_redistribute_default) Redistribute default set/unset. | |
2147 | * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add | |
2148 | zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add | |
2149 | zclient_redistribute. Ditto for | |
2150 | zclient_redistribute_default_{set/unset}. | |
2151 | ||
4a7aac1b | 2152 | 2004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com> |
2153 | ||
2154 | * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ | |
2155 | from IPv4, and Solaris treats the MTU's differently. | |
2156 | Add connected_add_by_prefix, for use by later patch. | |
2157 | * if.c: (connected_add_by_prefix) Add prefix to connected list. | |
2158 | (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag | |
2159 | (if_dump) Dump mtu6 flag, for HAVE_IPV6. | |
22528299 | 2160 | * command.c: (sockunion_getsockname) use socklen_t for len. |
2161 | (sockunion_getpeername) ditto. | |
0a589359 | 2162 | |
31fcdd3f | 2163 | 2004-04-21 Boris Kovalenko <boris@tagnet.ru> |
2164 | ||
2165 | * daemon.c: (daemon) fix check for error return from setsid | |
2166 | ||
c49b3069 | 2167 | 2004-01-19 Paul Jakma <paul@dishone.st> |
2168 | ||
2169 | * sigevent.{c,h}: New files, implement event handled signals. | |
2170 | see signal_init() in sigevent.h. | |
2171 | ||
c32e1b57 | 2172 | 2003-12-23 Vincent Jardin <jardin@6wind.com> |
2173 | ||
2174 | * {command.c, memory.c, vty.c, zebra.h}: Add isisd support | |
2175 | ||
3dbf9969 | 2176 | 2003-12-22 Greg Troxel <gdt@fnord.ir.bbn.com> |
2177 | ||
2178 | * vty.c (vty_use_backup_config): Don't free filenames before using | |
2179 | them for unlink. | |
2180 | ||
54aba54c | 2181 | 2003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> |
2182 | ||
2183 | * command.c: Fix <cr> display problem for command line | |
2184 | description | |
2185 | ||
e9af5c78 | 2186 | 2003-05-24 Anil Madhavapeddy |
2187 | ||
2188 | * (sockunion.c): Incorrect bounds specified in sockunion_log() | |
2189 | ||
445f1435 | 2190 | 2003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net> |
2191 | ||
2192 | * vty.c: -A option | |
2193 | ||
2194 | 2003-04-19 Hasso Tepper <hasso@estpak.ee> | |
2195 | ||
2196 | * rip_routemap.c: sync daemon's route-map commands to have same | |
2197 | syntax | |
2198 | ||
718e3744 | 2199 | 2002-09-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> |
2200 | ||
2201 | * vty.c (vty_flush): One line more on vty. | |
2202 | ||
2203 | 2002-09-27 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2204 | ||
2205 | * vector.c (vector_lookup): Add new function. | |
2206 | ||
2207 | 2002-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2208 | ||
2209 | * thread.c (timeval_adjust): Fix unconditional crush due to | |
2210 | FreeBSD's select() system call timeval value check. | |
2211 | ||
2212 | 2002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2213 | ||
2214 | * zebra-0.93 released. | |
2215 | ||
2216 | 2002-06-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2217 | ||
2218 | * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank | |
2219 | van Maarseveen's suggestion. | |
2220 | ||
2221 | 2002-06-18 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2222 | ||
2223 | * command.c: Change bcopy() to memcpy(). | |
2224 | ||
2225 | 2001-12-12 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2226 | ||
2227 | * command.c (config_password): Fix host.password clear bug. | |
2228 | Reported by Wang Jian <lark@linux.net.cn>. | |
2229 | ||
2230 | 2001-08-29 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2231 | ||
2232 | * thread.c (thread_should_yield): New function to check thread | |
2233 | should yeild it's execution to other thread. Suggested by: Rick | |
2234 | Payne <rickp@ayrnetworks.com> | |
2235 | ||
2236 | 2001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2237 | ||
2238 | * thread.c (thread_timer_cmp): Rewrite function. | |
2239 | ||
2240 | * hash.c: Add hash_get(). Change hash_pull() to hash_release(). | |
2241 | ||
2242 | 2001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2243 | ||
2244 | * zebra-0.92a released. | |
2245 | ||
2246 | 2001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com> | |
2247 | ||
2248 | * zebra-0.92 released. | |
2249 | ||
2250 | 2001-08-12 Akihiro Mizutani <mizutani@dml.com> | |
2251 | ||
2252 | * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0" | |
2253 | string to "1.1.0.0/16". | |
2254 | ||
2255 | 2001-08-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2256 | ||
2257 | * filter.c (access_list_lookup): access_list_lookup's first | |
2258 | argument is changed from address family to AFI. | |
2259 | ||
2260 | * plist.c: (prefix_list_lookup): Likewise. | |
2261 | ||
2262 | 2001-07-27 Akihiro Mizutani <mizutani@dml.com> | |
2263 | ||
2264 | * plist.c: ge and le display order is changed. Old compatible | |
2265 | rule (len <= ge-value <= le-value) is removed. | |
2266 | ||
2267 | 2001-07-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2268 | ||
2269 | * prefix.h: Temporary fix for alignment of prefix problem. | |
2270 | ||
2271 | 2001-06-21 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2272 | ||
2273 | * prefix.h (struct prefix): Remove safi and padding field. | |
2274 | (struct prefix_ipv4): Likewise. | |
2275 | (struct prefix_ipv6): Likewise. | |
2276 | (struct prefix_ls): Likewise. | |
2277 | (struct prefix_rd): Likewise. | |
2278 | ||
2279 | * command.h (enum node_type): Preparation for BGP new config. | |
2280 | ||
2281 | * vty.c (vty_end_config): Likewise. | |
2282 | ||
2283 | 2001-06-17 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2284 | ||
2285 | * routemap.c (route_map_rule_delete): Call func_free when | |
2286 | route-map rule is deleted. | |
2287 | ||
2288 | 2001-06-14 "Akihiro Mizutani" <mizutani@dml.com> | |
2289 | ||
2290 | * routemap.c (route_map_index_lookup): Prevent to use deny and | |
2291 | permit for same route-map sequence. | |
2292 | ||
2293 | 2001-04-12 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2294 | ||
2295 | * vty.c (vty_read_config): Fix warning. | |
2296 | ||
2297 | 2001-03-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2298 | ||
2299 | * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address | |
2300 | strings. | |
2301 | ||
2302 | 2001-03-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2303 | ||
2304 | * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for | |
2305 | CMSG_FIRSTHDR. | |
2306 | ||
2307 | 2001-03-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com> | |
2308 | ||
2309 | * zebra.h (struct in_pktinfo): structure in_pktinfo declaration. | |
2310 | ||
2311 | 2001-02-19 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2312 | ||
2313 | * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory | |
2314 | lib" member. | |
2315 | ||
2316 | 2001-02-13 Matthew Grant <grantma@anathoth.gen.nz> | |
2317 | ||
2318 | * vty.c (vty_read_config): Revert check of integrate_default when | |
2319 | VTYSH is defined. | |
2320 | ||
2321 | 2001-02-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2322 | ||
2323 | * vty.c (vty_read_config): Do not check integrate_default. That | |
2324 | should be used only by vtysh. | |
2325 | ||
2326 | 2001-02-08 Matthew Grant <grantma@anathoth.gen.nz> | |
2327 | ||
2328 | * vty.c (vty_serv_un): Set umask 0077. | |
2329 | (vty_read_config): Stat for vtysh Zebra.conf, if found startup and | |
2330 | wait for boot configuration. | |
2331 | ||
2332 | * if.c (if_lookup_address): Make it smart implementation. | |
2333 | ||
2334 | * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket | |
2335 | options for IPv4 This is here so that people only have to do their | |
2336 | OS multicast mess in one place rather than all through zebra, | |
2337 | ospfd, and ripd . | |
2338 | ||
2339 | 2001-02-04 Akihiro Mizutani <mizutani@dml.com> | |
2340 | ||
2341 | * plist.c (vty_prefix_list_install): Even when argument is | |
2342 | invalid, new memory is allocated. Now memory allocation is done | |
2343 | after argument check. | |
2344 | ||
2345 | 2001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2346 | ||
2347 | * zebra-0.91 is released. | |
2348 | ||
2349 | 2001-01-31 Akihiro Mizutani <mizutani@dml.com> | |
2350 | ||
2351 | * vty.c (vty_login): Add vty login command. | |
2352 | ||
2353 | 2001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2354 | ||
2355 | * vty.c (vty_reset): Close accept socket. | |
2356 | ||
2357 | 2001-01-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2358 | ||
2359 | * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit | |
2360 | attribute. | |
2361 | ||
2362 | 2001-01-22 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2363 | ||
2364 | * zclient.c (zebra_interface_address_add_read): Fetch interface | |
2365 | address flag. | |
2366 | (zebra_interface_address_delete_read): Likewise. | |
2367 | ||
2368 | 2001-01-16 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2369 | ||
2370 | * table.c (route_node_match_ipv4): Utility function for IPv4 | |
2371 | address lookup. | |
2372 | (route_node_match_ipv6): Utility function for IPv4 address lookup. | |
2373 | ||
2374 | 2001-01-15 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2375 | ||
2376 | * if.c: Delete RIP_API part until new implementation comes out. | |
2377 | ||
2378 | 2001-01-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2379 | ||
2380 | * hash.h (struct Hash): Rename alloc to count. Change type to | |
2381 | unsigned long. | |
2382 | ||
2383 | * stream.c (stream_getc_from): New function. | |
2384 | (stream_getw_from): Likewise. | |
2385 | ||
2386 | * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route. | |
2387 | ||
2388 | 2001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2389 | ||
2390 | * flap.c: File is removed. | |
2391 | ||
2392 | * flap.c: Likewise. | |
2393 | ||
2394 | * roken.h: Likewise. | |
2395 | ||
2396 | * buffer.c (buffer_new): Remove type option to buffer_new(). | |
2397 | ||
2398 | 2001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2399 | ||
2400 | * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part. | |
2401 | ||
2402 | 2001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2403 | ||
2404 | * zebra-0.90 is released. | |
2405 | ||
2406 | * command.c: Update Copyright year. | |
2407 | ||
2408 | 2001-01-09 Matthew Grant <grantma@anathoth.gen.nz> | |
2409 | ||
2410 | * if.c (if_create): Register connected_free() function for | |
2411 | deletion. | |
2412 | (if_delete): Free connected information when the interface is | |
2413 | deleted. | |
2414 | (if_lookup_by_index): Fix argument type from int to unsigned int. | |
2415 | (connected_add): Keep list in order if old info found, essential | |
2416 | for repeatable operation in some daemons. | |
2417 | ||
2418 | 2001-01-09 endo@suri.co.jp (Masahiko Endo) | |
2419 | ||
2420 | * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty | |
2421 | read thread. | |
2422 | ||
2423 | 2001-01-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2424 | ||
2425 | * filter.c (access_list_delete): Access-list name is not freed. | |
2426 | ||
2427 | * plist.c (prefix_list_delete): Prefix-list name is not freed. | |
2428 | ||
2429 | 2000-12-29 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2430 | ||
2431 | * zclient.c (zclient_start): Change to use UNIX domain | |
2432 | socket for zebra communication. | |
2433 | ||
2434 | * vector.c (vector_init): vector_alloc and vector_data_alloc is | |
2435 | removed. All memory allocation count should be maintained by | |
2436 | XMALLOC and XFREE macros. | |
2437 | ||
2438 | 2000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2439 | ||
2440 | * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values. | |
2441 | ||
2442 | 2000-12-27 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2443 | ||
2444 | * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative | |
2445 | value. | |
2446 | ||
2447 | 2000-12-25 "Wataru Uno" <wataru@po.ntts.co.jp> | |
2448 | ||
2449 | * vty.c (vtysh_read): Don't allocate new buffer because buffer is | |
2450 | allocated in vty_new (). | |
2451 | ||
2452 | 2000-12-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2453 | ||
2454 | * memory.h (enum): Add MTYPE_AS_FILTER_STR. | |
2455 | ||
2456 | * command.c (config_write_terminal): Display "end" at the end of | |
2457 | configuration. | |
2458 | ||
2459 | * plist.c (vty_prefix_list_install): Use AF_INET to determine | |
2460 | lenum length. | |
2461 | ||
2462 | 2000-12-13 "Wataru Uno" <wataru@po.ntts.co.jp> | |
2463 | ||
2464 | * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System, | |
2465 | then all lines write by IOV_MAX. | |
2466 | ||
2467 | 2000-12-12 Michael Rozhavsky <mrozhavsky@opticalaccess.com> | |
2468 | ||
2469 | * command.c (config_write_file): Robust method for writing | |
2470 | configuration file and recover from backing up config file. | |
2471 | ||
2472 | 2000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2473 | ||
2474 | * smux.c (smux_connect): More fail check. | |
2475 | (smux_trap): When SMUX connection is not established, do nothing. | |
2476 | ||
2477 | 2000-11-28 Gleb Natapov <gleb@nbase.co.il> | |
2478 | ||
2479 | * thread.c (thread_fetch): Execut event list first. Old event | |
2480 | list is renamed to ready list. With this change, event thread is | |
2481 | executed before any other thread. | |
2482 | ||
2483 | * thread.h (struct thread_master): Add ready list. | |
2484 | ||
2485 | 2000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2486 | ||
2487 | * linklist.c (listnode_add_after): Add node right after the | |
2488 | listnode pointer. | |
2489 | ||
2490 | 2000-11-27 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2491 | ||
2492 | * smux.h: Pass struct variable to WriteMethod. | |
2493 | ||
2494 | 2000-11-25 Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> | |
2495 | ||
2496 | * if.c (if_lookup_address): When looking up interface with IP | |
2497 | address, Sometimes multiple interfaces will match. Now PtP | |
2498 | interfaces prevail in such a case which seem the right thing to | |
2499 | do: There will probably also be host routes which usually prevail | |
2500 | over network routes. | |
2501 | ||
2502 | 2000-11-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2503 | ||
2504 | * smux.c (smux_trap): SMUX trap implementation. | |
2505 | ||
2506 | 2000-11-19 Akihiro Mizutani <mizutani@dml.com> | |
2507 | ||
2508 | * plist.c: Add automatic conversion function of an old rule. | |
2509 | ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32 | |
2510 | ||
2511 | 2000-11-16 Yon Uriarte <ukl2@rz.uni-karlsruhe.de> | |
2512 | ||
2513 | * zclient.c (zebra_interface_add_read): Read hardware address when | |
2514 | hw_addr_len is greater than 0. | |
2515 | ||
2516 | 2000-11-15 Akihiro Mizutani <mizutani@dml.com> | |
2517 | ||
2518 | * plist.c: The rule of "len <= ge-value <= le-value" | |
2519 | was changed to "len < ge-value <= le-value". | |
2520 | ||
2521 | 2000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
2522 | ||
2523 | * memory.[ch]: Added #define and functions for ospf6d. | |
2524 | ||
2525 | * log.[ch]: some platform says that the data of used va_list | |
2526 | is undefined. Changed to hold list of va_list for each | |
2527 | vsnprintf. | |
2528 | ||
2529 | 2000-11-07 Rick Payne <rickp@rossfell.co.uk> | |
2530 | ||
2531 | * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP. | |
2532 | ||
2533 | 2000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2534 | ||
2535 | * command.c (config_exit): Fix bug of missing break after case | |
2536 | BGP_VPNV4_NODE. | |
2537 | ||
2538 | 2000-10-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2539 | ||
2540 | * vector.c (vector_unset): Check i is not nevative. | |
2541 | ||
2542 | 2000-10-24 Arkadiusz Miskiewicz <misiek@pld.org.pl> | |
2543 | ||
2544 | * smux.c (smux_sock): Set terminating '\0'. Check address family. | |
2545 | ||
2546 | * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use | |
2547 | gai_strerror. Check address family. | |
2548 | ||
2549 | 2000-10-23 Jochen Friedrich <jochen@scram.de> | |
2550 | ||
2551 | * smux.c: Use linklist rather than vector. | |
2552 | (smux_getnext): A SMUX subagent has to behave as if it manages the | |
2553 | whole SNMP MIB tree itself. It's the duty of the master agent to | |
2554 | collect the best answer and return it to the manager. See RFC 1227 | |
2555 | chapter 3.1.6 for the glory details :-). ucd-snmp really behaves | |
2556 | bad here as it actually might ask multiple times for the same | |
2557 | GETNEXT request as it throws away the answer when it expects it in | |
2558 | a different subtree and might come back later with the very same | |
2559 | request. | |
2560 | ||
2561 | 2000-10-23 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2562 | ||
2563 | * command.c (cmd_init): Log related command are only installed for | |
2564 | terminal mode. | |
2565 | ||
2566 | 2000-10-21 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2567 | ||
2568 | * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c. | |
2569 | ||
2570 | * zebra.h: Remove #warn directive. | |
2571 | ||
2572 | 2000-10-20 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2573 | ||
2574 | * keychain.c (keychain_init): Register "key chain" command to | |
2575 | KEYCHAIN_NODE and KEYCHAIN_KEY_NODE. | |
2576 | ||
2577 | * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other | |
2578 | CONFIG_NODE. | |
2579 | ||
2580 | * command.c (config_end): Likewise. | |
2581 | ||
2582 | * keychain.c (keychain_get): Key is sorted by it's identifier | |
2583 | value. | |
2584 | ||
2585 | 2000-10-19 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2586 | ||
2587 | * linklist.c (list_delete_all_node): Call delete function if it is | |
2588 | defined. | |
2589 | ||
2590 | * command.c (cmd_execute_command_strict): Add modification for | |
2591 | vtysh. | |
2592 | (cmd_execute_command_strict): Remove first argument cmdvec because | |
2593 | it is global varibale in command.c. | |
2594 | ||
2595 | 2000-10-18 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2596 | ||
2597 | * command.c (cmd_init): Install | |
2598 | copy_runningconfig_startupconfig_cmd only in terminal mode. | |
2599 | ||
2600 | * linklist.c (list_delete_node): Simplify the function. | |
2601 | (listnode_lookup): Renamed from list_lookup_node. | |
2602 | ||
2603 | 2000-10-17 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2604 | ||
2605 | * stream.h: Undef stream_read and stream_write without | |
2606 | parenthesis. | |
2607 | ||
2608 | * newlist.c: File removed. | |
2609 | ||
2610 | * newlist.h: Likewise. | |
2611 | ||
2612 | * linklist.c (list_new): Remove list_init(). To allocate new | |
2613 | linked list, please use list_new(). | |
2614 | (listnode_add): Remove list_add_node(). To add new node to linked | |
2615 | list, please use listnode_add(). | |
2616 | (list_delete_by_val): Revemove fucntion. | |
2617 | ||
2618 | 2000-10-16 Nobuaki Tanaka <nobby@po.ntts.co.jp> | |
2619 | ||
2620 | * table.c (route_table_free): Reimplement route_table_free(). | |
2621 | ||
2622 | 2000-10-11 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2623 | ||
2624 | * keychain.c (keychain_get): Register key_delete_func to key | |
2625 | list's delete function. Use linklist.c instead of newlist.c. | |
2626 | ||
2627 | 2000-10-04 Akihiro Mizutani <mizutani@dml.com> | |
2628 | ||
2629 | * filter.c (access_list_remark): Add access-list's remark command. | |
2630 | (no_access_list): "no access-list 100 permit any" error message | |
2631 | bug is fixed. | |
2632 | ||
2633 | 2000-10-03 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2634 | ||
2635 | * memory.h (enum): Add MTYPE_SOCKUNION. | |
2636 | ||
2637 | 2000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2638 | ||
2639 | * zebra-0.89 is released. | |
2640 | ||
2641 | 2000-10-01 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2642 | ||
2643 | * linklist.c (list_add_node_head): Delete unused function. | |
2644 | (list_add_node_tail): Likewise. | |
2645 | ||
2646 | 2000-09-26 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2647 | ||
2648 | * stream.c (stream_read_unblock): Add new function for unblocking | |
2649 | read. | |
2650 | ||
2651 | 2000-09-26 Jochen Friedrich <jochen@nwe.de> | |
2652 | ||
2653 | * smux.c (smux_register): Fix bug of can't register more than one | |
2654 | MIB with SMUX. | |
2655 | ||
2656 | 2000-09-26 Makoto Otsuka <otsuka@inl.ntts.co.jp> | |
2657 | ||
2658 | * vty.c (vty_close): Fix memory leak of sb_buffer. | |
2659 | (vty_new): Likewise. | |
2660 | ||
2661 | 2000-09-21 steve@Watt.COM (Steve Watt) | |
2662 | ||
2663 | * log.h: Do not declare zlog_priority[0] variable. | |
2664 | ||
2665 | 2000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2666 | ||
2667 | * linklist.h (struct _list ): Add member cmp for compare function. | |
2668 | (struct _list ): Member up is deleted | |
2669 | ||
2670 | 2000-09-12 David Lipovkov <dlipovkov@OpticalAccess.com> | |
2671 | ||
2672 | * if.c: Include RIP_API header when RIP API is enabled. | |
2673 | ||
2674 | 2000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2675 | ||
2676 | * prefix.c (prefix_free): Siplify prefix_free(). | |
2677 | ||
2678 | * keychain.c (key_match_for_accept): strncmp check bug is fixed. | |
2679 | ||
2680 | 2000-09-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2681 | ||
2682 | * zebra.h: Merge roken.h into zebra.h. | |
2683 | ||
2684 | 2000-09-05 Akihiro Mizutani <mizutani@dml.com> | |
2685 | ||
2686 | * routemap.c (route_map_init_vty): Install route-map command to | |
2687 | RMAP_NODE. | |
2688 | ||
2689 | 2000-08-22 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2690 | ||
2691 | * thread.c (thread_get_id): Remove pthread related garbage. | |
2692 | ||
2693 | * command.h (struct host): Likewise. | |
2694 | ||
2695 | * zebra.h: Likewise. | |
2696 | ||
2697 | 2000-08-20 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2698 | ||
2699 | * command.h (node_type ): Add AAA node for authentication. | |
2700 | ||
2701 | * vty.c (vty_close): Do not close stdout. | |
2702 | ||
2703 | 2000-08-18 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2704 | ||
2705 | * vty.c (vty_init_vtysh): Added for vtysh. | |
2706 | ||
2707 | * distribute.c (districute_list_prefix_all): Interface independent | |
2708 | filter can be set. | |
2709 | (distribute_list_all): Likewise. | |
2710 | (config_show_distribute): Display current distribute-list status | |
2711 | for "show ip protocols". | |
2712 | ||
2713 | 2000-08-18 Akihiro Mizutani <mizutani@dml.com> | |
2714 | ||
2715 | * command.c (config_terminal_no_length): no terminal monitor -> | |
2716 | terminal no monitor | |
2717 | (cmd_init): Do not install service_terminal_length_cmd into | |
2718 | ENABLE_NODE. | |
2719 | ||
2720 | * vty.c (terminal_no_monitor): no terminal length -> terminal no | |
2721 | length. | |
2722 | ||
2723 | 2000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2724 | ||
2725 | * zebra-0.88 is released. | |
2726 | ||
2727 | 2000-08-17 Magnus Ahltorp <ahltorp@nada.kth.se> | |
2728 | ||
2729 | * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for | |
2730 | better IAC handling. | |
2731 | ||
2732 | * vty.c (vty_telnet_option): Change telnet option handling. | |
2733 | ||
2734 | 2000-08-15 Gleb Natapov <gleb@nbase.co.il> | |
2735 | ||
2736 | * zclient.c (zclient_redistribute_unset): New function added. | |
2737 | ||
2738 | 2000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2739 | ||
2740 | * zclient.c (zebra_interface_add_read): Change ifindex restore | |
2741 | size from two octet to four. | |
2742 | (zebra_interface_state_read): Likewise. | |
2743 | (zebra_interface_address_add_read): Likewise. | |
2744 | ||
2745 | 2000-08-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2746 | ||
2747 | * vty.c (vty_event): Use vector_set_index() instead of | |
2748 | vector_set(). | |
2749 | ||
2750 | 2000-08-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2751 | ||
2752 | * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default | |
2753 | Administrative Distance of each protocol. | |
2754 | ||
2755 | 2000-08-07 Matthew Grant <grantma@anathoth.gen.nz> | |
2756 | ||
2757 | * if.h (struct interface ): Add new member bandwidth to struct | |
2758 | interface. | |
2759 | ||
2760 | * zclient.c (zebra_interface_add_read): Fetch bandwidth value. | |
2761 | (zebra_interface_state_read): Likewise. | |
2762 | ||
2763 | 2000-08-07 Gleb Natapov <gleb@nbase.co.il> | |
2764 | ||
2765 | * routemap.c (route_map_event_hook): New hook route_map_event_hook | |
2766 | is added. This hook is called when route-map is changed. The | |
2767 | parameters passed to the hook are 'event' and 'route-map name' | |
2768 | ||
2769 | * routemap.h: Add prototype for route_map_event_hook(). | |
2770 | ||
2771 | 2000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2772 | ||
2773 | * zclient.c (zebra_ipv4_route): zebra_ipv4_route(), | |
2774 | zebra_ipv4_add(), zebra_ipv4_delete() are removed. | |
2775 | ||
2776 | * routemap.c (route_map_empty): Add new function. | |
2777 | (route_map_delete): Use route_map_index_delete() instead of | |
2778 | route_map_index_free(). | |
2779 | (route_map_index_free): Function removed. | |
2780 | ||
2781 | 2000-08-06 Gleb Natapov <gleb@nbase.co.il> | |
2782 | ||
2783 | * routemap.c (route_map_index_delete): Add check for route-map is | |
2784 | empty or not. | |
2785 | ||
2786 | 2000-08-03 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2787 | ||
2788 | * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct | |
2789 | zclient. | |
2790 | ||
2791 | 2000-08-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2792 | ||
2793 | * zclient.h (struct zebra): Add obuf for output buffer. | |
2794 | ||
2795 | * if.c: Remove #ifdef NRL enclosing if_nametoindex() and | |
2796 | if_indextoname(). | |
2797 | ||
2798 | 2000-08-02 David Lipovkov <davidl@nbase.co.il> | |
2799 | ||
2800 | * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added. | |
2801 | (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted. | |
2802 | ||
2803 | * if.c (interface_pseudo): Add "pseudo" command to interface node. | |
2804 | (no_interface_pseudo): Add "no pseudo" command to interface node. | |
2805 | ||
2806 | * zclient.c (zebra_interface_add_read): Set pseudo flag when it is | |
2807 | send from zebra. | |
2808 | ||
2809 | 2000-08-01 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2810 | ||
2811 | * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message. | |
2812 | (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise. | |
2813 | ||
2814 | * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility. | |
2815 | ||
2816 | 2000-07-31 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2817 | ||
2818 | * vty.c: Use vector for VTY server thread listing instead of | |
2819 | single value. | |
2820 | ||
2821 | 2000-07-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2822 | ||
2823 | * keychain.c (no_key_chain): "no key chain WORD" command is added. | |
2824 | ||
2825 | 2000-07-29 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2826 | ||
2827 | * command.c (config_from_file): If command fail in | |
2828 | KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE. | |
2829 | ||
2830 | * vty.h (struct vty ): Add index_sub member. | |
2831 | ||
2832 | 2000-07-27 Akihiro Mizutani <mizutani@dml.com> | |
2833 | ||
2834 | * if.c: Help strings updates. | |
2835 | ||
2836 | 2000-07-11 Akihiro Mizutani <mizutani@dml.com> | |
2837 | ||
2838 | * command.c (no_config_enable_password): Add "no enable password" | |
2839 | command. | |
2840 | (config_write_host): Display password string. | |
2841 | ||
2842 | * routemap.c (route_map_delete_match): Add support for delete | |
2843 | match without argument. | |
2844 | (route_map_delete_set): Likewise. | |
2845 | ||
2846 | 2000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2847 | ||
2848 | * command.h (node_type ): Change KEYCHAIN_NODE and | |
2849 | KEYCHAIN_KEY_NODE place just before INTERFACE_NODE. | |
2850 | ||
2851 | 2000-07-09 Jochen Friedrich <jochen@scram.de> | |
2852 | ||
2853 | * smux.c (config_write_smux): Fixes the option to override OID and | |
2854 | password for SMUX. | |
2855 | ||
2856 | 2000-07-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2857 | ||
2858 | * command.h (node_type ): Add SMUX_NODE for SMUX configuration. | |
2859 | ||
2860 | 2000-07-09 Toshiaki Takada <takada@zebra.org> | |
2861 | ||
2862 | * command.c: Sort descvec command's help. | |
2863 | ||
2864 | * vty.c (vty_describe_command): Display '<cr>' at the end of | |
2865 | descriptions. | |
2866 | ||
2867 | 2000-07-05 Toshiaki Takada <takada@zebra.org> | |
2868 | ||
2869 | * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug | |
2870 | treatment of double colon. | |
2871 | ||
2872 | 2000-07-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2873 | ||
2874 | * zclient.h: Add zclient_redistribute_default_{set,unset}(). | |
2875 | ||
2876 | * keychain.c: New file for authentication key management. | |
2877 | * keychain.h: Likewise. | |
2878 | ||
2879 | * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or | |
2880 | ipchains. | |
2881 | * tcpfilter.h: Likewise. | |
2882 | ||
2883 | * flap.h: New file for route flap dampening. | |
2884 | * flap.c: Likewise. | |
2885 | ||
2886 | 2000-07-04 Toshiaki Takada <takada@zebra.org> | |
2887 | ||
2888 | * filter.c (struct filter): Add exact flag. | |
2889 | (access_list): Add exact-match command. | |
2890 | (ipv6_access_list): Add exact-match command. | |
2891 | ||
2892 | 2000-07-03 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2893 | ||
2894 | * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for | |
2895 | request default route. | |
2896 | ||
2897 | 2000-07-01 Hideaki YOSHIFUJI (\e$B5HF#1QL@\e(B) <yoshfuji@ecei.tohoku.ac.jp> | |
2898 | ||
2899 | * smux.c: Add IPv6 smux connection code. | |
2900 | ||
2901 | 2000-06-15 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2902 | ||
2903 | * vty.c (vty_complete_command): To cooperate readline library, | |
2904 | returned string is newly allocated. So some match function case | |
2905 | need, free of memory. | |
2906 | ||
2907 | 2000-06-12 Akihiro Mizutani <mizutani@dml.com> | |
2908 | ||
2909 | * distribute.c: Fix help strings. | |
2910 | ||
2911 | 2000-06-11 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2912 | ||
2913 | * command.c (cmd_complete_command): Add check for vector_slot | |
2914 | (vline, index) is not NULL when calculating lcd. | |
2915 | (cmd_entry_function): First check variable arguemnt to prevent it | |
2916 | from completion. | |
2917 | ||
2918 | 2000-06-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2919 | ||
2920 | * vty.h (struct vty ): Add output_count member for displaying | |
2921 | output route count. Remove arugment arg from output_func because | |
2922 | the value is passed by vty argument. Change output to output_rn. | |
2923 | Add output_clean function pointer member. Add output_type member. | |
2924 | ||
2925 | 2000-06-10 Toshiaki Takada <takada@zebra.org> | |
2926 | ||
2927 | * command.c (show_startup_config): Add "show startup-config" | |
2928 | command. | |
2929 | ||
2930 | 2000-06-06 Akihiro Mizutani <mizutani@dml.com> | |
2931 | ||
2932 | * filter.c: Fix help strings. | |
2933 | ||
2934 | 2000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2935 | ||
2936 | * prefix.h (struct prefix_rd): New prefix structure for routing | |
2937 | distinguisher. | |
2938 | (struct prefix): Add padding to every prefix structure. | |
2939 | ||
2940 | ||
2941 | * routemap.c (route_map_add_match): When completely same match | |
2942 | statement exists, don't duplicate it. | |
2943 | ||
2944 | 2000-06-05 Akihiro Mizutani <mizutani@dml.com> | |
2945 | ||
2946 | * routemap.c: Change NAME to WORD. | |
2947 | ||
2948 | * plist.c: Fix help strings. | |
2949 | ||
2950 | 2000-06-02 Akihiro Mizutani <mizutani@dml.com> | |
2951 | ||
2952 | * routemap.c: Fix route-map help strings. | |
2953 | ||
2954 | 2000-06-01 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2955 | ||
2956 | * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment | |
2957 | to filter other non vararg commands. | |
2958 | ||
2959 | * routemap.c (route_map_init_vty): Use install_default() for | |
2960 | install common commands into route-map node.. | |
2961 | ||
2962 | 2000-06-01 Akihiro Mizutani <mizutani@dml.com> | |
2963 | ||
2964 | * command.h (OSPF_STR): Macro added. | |
2965 | ||
2966 | 2000-05-31 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2967 | ||
2968 | * command.c (cmd_complete_command): LCD completion must not modify | |
2969 | installed command string. | |
2970 | ||
2971 | * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change | |
2972 | X:X::X:X to X:X::X:X/M. | |
2973 | ||
2974 | 2000-05-31 Toshiaki Takada <takada@zebra.org> | |
2975 | ||
2976 | * vty.c (show_history): New defun added. | |
2977 | ||
2978 | 2000-05-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2979 | ||
2980 | * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion | |
2981 | list. CMD_COMPLETE_MATCH is used for LCD completion. | |
2982 | ||
2983 | * vty.c (vty_complete_command): Matched string's LCD is completed. | |
2984 | ||
2985 | * command.c (cmd_lcd): New function for calculate LCD of matched | |
2986 | strings. | |
2987 | ||
2988 | 2000-05-26 Kunihiro Ishiguro <kunihiro@zebra.org> | |
2989 | ||
2990 | * command.c (install_default): config_write_terminal_cmd, | |
2991 | config_write_file_cmd, config_write_memory_cmd are added to | |
2992 | default node. | |
2993 | ||
2994 | * memory.c (memory_init): Divide show memory command into each | |
2995 | sort. | |
2996 | ||
2997 | * command.c (cmd_init): config_write_terminal_cmd, | |
2998 | config_write_file_cmd, config_write_memory_cmd are added to | |
2999 | CONFIG_NODE. | |
3000 | ||
3001 | * routemap.c (route_map_index_free): New function. | |
3002 | (no_route_map_all): New DEFUN for "no route-map NAME". | |
3003 | ||
3004 | * filter.c (no_access_list_all): New DEFUN for delete access-list | |
3005 | with NAME. | |
3006 | (no_ipv6_access_list_all): Likewise. | |
3007 | ||
3008 | 2000-05-23 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3009 | ||
3010 | * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is | |
3011 | specified, user can not use "ge" and "le" statement. | |
3012 | ||
3013 | 2000-05-22 Thomas Molkenbur <tmo@datus.datus.com> | |
3014 | ||
3015 | * routemap.c (route_map_add_set): Fix bug of next pointer missing. | |
3016 | ||
3017 | * table.c (route_table_free): Like wise. | |
3018 | ||
3019 | 2000-05-22 Toshiaki Takada <takada@zebra.org> | |
3020 | ||
3021 | * vty.c (vty_stop_input): Set history pointer to the latest one. | |
3022 | ||
3023 | * vty.c (vty_hist_add): Do not add command line history when input | |
3024 | is as same as previous one. | |
3025 | ||
3026 | 2000-05-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3027 | ||
3028 | * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL. | |
3029 | ||
3030 | 2000-05-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3031 | ||
3032 | * command.h (node_type ): Add BGP_VPNV4_NODE. | |
3033 | ||
3034 | 2000-05-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3035 | ||
3036 | * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind | |
3037 | argument. Reported by: Vesselin Mladenov <mladenov@netbg.com>. | |
3038 | ||
3039 | * filter.c (ipv6_access_list): Add IPv6 prefix example instead of | |
3040 | IPv4 example. Reported by: Love <lha@s3.kth.se>. | |
3041 | ||
3042 | * command.c (cmd_complete_command): Make it sure last element of | |
3043 | matchvec is NULL. This fix problem which cause crush in | |
3044 | vty_complete_command(). Reported by: JINMEI Tatuya | |
3045 | <jinmei@isl.rdc.toshiba.co.jp>. | |
3046 | ||
3047 | 2000-04-28 Love <lha@s3.kth.se> | |
3048 | ||
3049 | * prefix.h (struct prefix): Add padding. | |
3050 | ||
3051 | 2000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3052 | ||
3053 | * command.c (show_version): Update copyright year. | |
3054 | ||
3055 | 2000-04-27 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3056 | ||
3057 | * routemap.c (route_map_apply): When map is NULL, return deny. | |
3058 | ||
3059 | 2000-04-26 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3060 | ||
3061 | * filter.c (access_list_apply): When access is NULL, return deny. | |
3062 | ||
3063 | * plist.c (prefix_list_apply): When plist is NULL, return deny. | |
3064 | ||
3065 | 2000-04-23 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3066 | ||
3067 | * command.h (node_type ): Change RDISC_NODE to IRDP_NODE. | |
3068 | ||
3069 | 2000-04-18 Toshiaki Takada <takada@zebra.org> | |
3070 | ||
3071 | * filter.[ch] (access_list_add_hook), (access_list_delete_hook): | |
3072 | Add argument for hook function to give struct access_list *. | |
3073 | ||
3074 | 2000-04-17 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3075 | ||
3076 | * plist.c (prefix_list_entry_match): In case of le nor ge is | |
3077 | specified, exact match is performed. | |
3078 | (prefix_list_entry_match): Add any entry matching check. | |
3079 | ||
3080 | 2000-04-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3081 | ||
3082 | * vty.c (exec_timeout): Separate timeout setting to minutes and | |
3083 | seconds. | |
3084 | (no_exec_timeout): Add "no exec-timeout" command. | |
3085 | ||
3086 | * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to | |
3087 | 600. | |
3088 | ||
3089 | 2000-03-31 Jochen Friedrich <jochen@scram.de> | |
3090 | ||
3091 | * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so | |
3092 | it is a primitive encoding and not constructed. | |
3093 | ||
3094 | 2000-03-28 Toshiaki Takada <takada@zebra.org> | |
3095 | ||
3096 | * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO. | |
3097 | ||
3098 | 2000-03-26 Love <lha@s3.kth.se> | |
3099 | ||
3100 | * zclient.c (zclient_read): Add nbytes size check for | |
3101 | ZEBRA_HEADER_SIZE. Check return value of steam_read (). | |
3102 | ||
3103 | 2000-03-26 Rick Payne <rickp@rossfell.co.uk> | |
3104 | ||
3105 | * routemap.c: Add flexible route-map commands such as on-match | |
3106 | next, on-match goto N. | |
3107 | ||
3108 | * routemap.h: Likewise | |
3109 | ||
3110 | 2000-03-23 Adrian Bool <aid@u.net.uk> | |
3111 | ||
3112 | * command.c (config_log_trap): Add new command "log trap | |
3113 | PRIORITY". | |
3114 | ||
3115 | 2000-03-14 Toshiaki Takada <takada@zebra.org> | |
3116 | ||
3117 | * memory.c (struct memory_list): Add Link List and Link Node | |
3118 | to view. | |
3119 | ||
3120 | * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE. | |
3121 | ||
3122 | 2000-01-20 Hideto Yamakawa <hideto.yamakawa@soliton.co.jp> | |
3123 | ||
3124 | * str.c (snprintf): Fix bug of calling sprintf instead of | |
3125 | vsprintf. | |
3126 | ||
3127 | 2000-01-16 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3128 | ||
3129 | * memory.h (enum): Add MTYPE_RIP_PEER. | |
3130 | ||
3131 | 2000-01-15 Toshiaki Takada <takada@zebra.org> | |
3132 | ||
3133 | * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY. | |
3134 | ||
3135 | 2000-01-15 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3136 | ||
3137 | * command.h (node_type ): Add MASC_NODE for masc. | |
3138 | ||
3139 | 2000-01-09 Wang Jianliang <wangjl@soim.net> | |
3140 | ||
3141 | * routemap.c (route_map_index_add): When route_map_index is not | |
3142 | empty and insert new item at the head, it can cause core dump. | |
3143 | Fix "if (index == map->head)" to "if (point == map->head). | |
3144 | (route_map_add_set): If there is an old set command, override old | |
3145 | set command with new one. | |
3146 | (route_map_index_delete): Use while() instead of for for() for | |
3147 | logical correctness. | |
3148 | ||
3149 | 1999-12-26 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3150 | ||
3151 | * memory.h (enum): Add MTYPE_BGP_STATIC. | |
3152 | ||
3153 | 1999-12-23 Alex Zinin <zinin@amt.ru> | |
3154 | * zebra.h, zclient.*: dynamic int up/down message | |
3155 | support | |
3156 | ||
3157 | 1999-12-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3158 | ||
3159 | * thread.c (thread_cancel_event): Add a function for clean up | |
3160 | events. | |
3161 | ||
3162 | 1999-12-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3163 | ||
3164 | * dropline.c: Delete file. | |
3165 | dropline.h: Linewise. | |
3166 | ||
3167 | 1999-12-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3168 | ||
3169 | * filter.c (access_list_filter_delete): Wrong pointer | |
3170 | access->master was pointed out after access is freed. I store | |
3171 | master value at the beginning of the function. | |
3172 | ||
3173 | 1999-12-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3174 | ||
3175 | * vty.c (exec_timeout): Change of VTY timeout affect to current | |
3176 | VTY connection. | |
3177 | (vty_accept): Instead of immediate exit() return -1. | |
3178 | ||
3179 | 1999-12-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3180 | ||
3181 | * vty.c (vty_configure_lock): Configuration lock function added. | |
3182 | Only one VTY can use CONFI_NODE at the same time. | |
3183 | ||
3184 | * log.c: Delete zvlog_* functions. Now zlog_* does the same | |
3185 | thing. | |
3186 | ||
3187 | * log.c (log_init): Function removed. | |
3188 | (log_close): Likewise. | |
3189 | (log_flush): Likewise. | |
3190 | (log_open): Likewise. | |
3191 | ||
3192 | * vty.c (terminal_monitor): Add new command. | |
3193 | (no_terminal_monitor): Likewise. | |
3194 | ||
3195 | * log.c (old_log): Function removed. | |
3196 | (old_log2): Likewise. | |
3197 | (old_log_warn): Likewise. | |
3198 | ||
3199 | 1999-12-04 Toshiaki Takada <takada@zebra.org> | |
3200 | ||
3201 | * command.c (cmd_ipv6_match): New function added. | |
3202 | (cmd_ipv6_prefix_match): Likewise. | |
3203 | ||
3204 | 1999-12-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3205 | ||
3206 | * command.c (cmd_ipv6_match): | |
3207 | ||
3208 | * table.c: Delete #ifdef HAVE_MBGPV4. | |
3209 | ||
3210 | * prefix.h (struct prefix): Add safi member. | |
3211 | (struct prefix_ipv4): Likewise. | |
3212 | (struct prefix_ipv6): Likewise. | |
3213 | ||
3214 | 1999-12-04 Rumen Svobodnikov <rumen@linux.tu-varna.acad.bg> | |
3215 | ||
3216 | * memory.c (struct mstat): Revert to support MEMORY_LOG. | |
3217 | ||
3218 | 1999-11-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3219 | ||
3220 | * version.h: Bump up to 0.81c for testing new kernel codes. | |
3221 | ||
3222 | 1999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3223 | ||
3224 | * thread.h (struct thread): Pthread support is disabled all | |
3225 | platform. | |
3226 | ||
3227 | 1999-11-21 Michael Handler <handler@sub-rosa.com> | |
3228 | ||
3229 | * Include <limits.h> and <strings.h> under SUNOS_5. | |
3230 | ||
3231 | 1999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3232 | ||
3233 | * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6 | |
3234 | 1999-11-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3235 | ||
3236 | * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE. | |
3237 | ||
3238 | 1999-11-12 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3239 | ||
3240 | * command.c (disable): Add `disable' command. | |
3241 | ||
3242 | 1999-11-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3243 | ||
3244 | * plist.c (vty_prefix_list_install): Add any check. | |
3245 | ||
3246 | 1999-11-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3247 | ||
3248 | * command.h (node_type ): Add DUMP_NODE. | |
3249 | ||
3250 | 1999-11-03 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3251 | ||
3252 | * smux.c: Change default SMUX oid to compatible with gated. | |
3253 | ||
3254 | 1999-10-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3255 | ||
3256 | * if_rmap.c: New file added. | |
3257 | ||
3258 | * if_rmap.h: New file added. | |
3259 | ||
3260 | 1999-10-29 Alex Zinin <zinin@amt.ru> | |
3261 | ||
3262 | * hash.c: add hash_free() function | |
3263 | ||
3264 | 1999-10-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3265 | ||
3266 | * hash.c (hash_clean): Add clean function. | |
3267 | ||
3268 | * plist.c (prefix_list_reset): Add reset function. | |
3269 | ||
3270 | * filter.c (access_list_reset): Add reset function. | |
3271 | ||
3272 | 1999-10-17 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3273 | ||
3274 | * client.c: Merged with zclient.c. | |
3275 | * client.h: Merged with zclient.h. | |
3276 | ||
3277 | 1999-10-15 Jordan Mendelson <jordy@wserv.com> | |
3278 | ||
3279 | * md5.c: Imported from GNU C Library. | |
3280 | * md5-gnu.h: Likewise. | |
3281 | ||
3282 | 1999-10-15 Jochen Friedrich <jochen@scram.de> | |
3283 | ||
3284 | * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement. | |
3285 | ||
3286 | 1999-10-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3287 | ||
3288 | * smux.h: New file added. | |
3289 | ||
3290 | * snmp.c: Rename to smux.c. | |
3291 | ||
3292 | 1999-10-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3293 | ||
3294 | * command.c (cmd_execute_command_strict): Filter ambious commands. | |
3295 | (cmd_filter_by_string): Change to return enum match_type. | |
3296 | ||
3297 | 1999-10-01 Toshiaki Takada <takada@zebra.org> | |
3298 | ||
3299 | * vty.c (vty_describe_fold): New function which does VTY | |
3300 | description line fold. | |
3301 | * vty.c (vty_describe_command): Set description column. | |
3302 | ||
3303 | 1999-09-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3304 | ||
3305 | * plist.c (prefix_list_init_ipv4): VTY user interface is improved. | |
3306 | ||
3307 | 1999-09-26 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3308 | ||
3309 | * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and | |
3310 | CMD_IPV4_PREFIX check. Both return type must be exact_match. | |
3311 | ||
3312 | 1999-09-24 Toshiaki Takada <takada@zebra.org> | |
3313 | ||
3314 | * command.c (cmd_filter_by_completion), | |
3315 | (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range | |
3316 | parameter matches range. | |
3317 | ||
3318 | 1999-09-22 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3319 | ||
3320 | * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match | |
3321 | is performed. | |
3322 | ||
3323 | 1999-09-21 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3324 | ||
3325 | * vty.c (vty_read): Control-C stop VTY_MORE mode. | |
3326 | ||
3327 | 1999-09-20 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3328 | ||
3329 | * command.h (node_type ): Add ACCESS_IPV6_NODE and | |
3330 | PREFIX_IPV6_NODE. | |
3331 | ||
3332 | * distribute.h: New file added. | |
3333 | ||
3334 | * command.h (node_type ): Delete DISTRIBUTE_NODE. | |
3335 | ||
3336 | 1999-09-18 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3337 | ||
3338 | * vty.c (vty_terminate_all): New function added for reload | |
3339 | support. | |
3340 | ||
3341 | 1999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3342 | ||
3343 | * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE. | |
3344 | ||
3345 | 1999-08-31 Janos Farkas <chexum@shadow.banki.hu> | |
3346 | ||
3347 | * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like | |
3348 | esc-ctrl-h (delete word backwards). | |
3349 | ||
3350 | 1999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3351 | ||
3352 | * if.h: Add if_nametoindex for NRL. | |
3353 | ||
3354 | 1999-08-23 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3355 | ||
3356 | * if.c (if_create): New function. | |
3357 | ||
3358 | 1999-08-22 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3359 | ||
3360 | * snmp.c: New file. | |
3361 | ||
3362 | 1999-08-21 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3363 | ||
3364 | * stream.c (stream_put): stream_memcpy () is changed to stream_put | |
3365 | (). stream_get () is added. | |
3366 | ||
3367 | 1999-08-18 Toshiaki Takada <takada@zebra.org> | |
3368 | ||
3369 | * memory.h (enum): Add MTYPE_OSPF_LSA_DATA. | |
3370 | ||
3371 | 1999-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
3372 | ||
3373 | * table.c (route_table_finish): add function frees table. | |
3374 | ||
3375 | 1999-08-12 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3376 | ||
3377 | * memory.h (enum): Add MTYPE_RTADV_PREFIX. | |
3378 | ||
3379 | 1999-08-11 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3380 | ||
3381 | * if.h (struct interface ): hw_address, hw_address_len added. | |
3382 | ||
3383 | 1999-08-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3384 | ||
3385 | * if.h (struct interface ): Change structure member if_data to | |
3386 | info, index to ifindex. | |
3387 | ||
3388 | 1999-08-08 Rick Payne <rickp@rossfell.co.uk> | |
3389 | ||
3390 | * routemap.c: Multi protocol route-map modification. | |
3391 | ||
3392 | * routemap.c (route_map_apply): Route match process bug is fixed. | |
3393 | ||
3394 | 1999-08-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3395 | ||
3396 | * thread.c (thread_fetch): When signal comes, goto retry point. | |
3397 | ||
3398 | 1999-08-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3399 | ||
3400 | * Makefile.am: Add sockopt.c and sockopt.h | |
3401 | * sockopt.c: New file. | |
3402 | * sockopt.h: New file. | |
3403 | ||
3404 | 1999-08-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3405 | ||
3406 | * version.h (ZEBRA_VERSION): Release zebra-0.75 | |
3407 | ||
3408 | 1999-08-01 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3409 | ||
3410 | * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE. | |
3411 | ||
3412 | 1999-07-31 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3413 | ||
3414 | * sockunion.h: Add sockunion_getpeername (). | |
3415 | ||
3416 | 1999-07-27 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3417 | ||
3418 | * version.h: Release zebra-0.74 | |
3419 | ||
3420 | 1999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3421 | ||
3422 | * command.h (struct host): Delete lines from struct host. Add | |
3423 | lines to struct vty. | |
3424 | ||
3425 | * command.c: Delete `lines LINES'. Terminal display line settings | |
3426 | should be done by `terminal length' command. | |
3427 | ||
3428 | 1999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3429 | ||
3430 | * memory.h (enum): MTYPE_OSPF_PATH are added. | |
3431 | ||
3432 | 1999-07-22 Toshiaki Takada <takada@zebra.org> | |
3433 | ||
3434 | * memory.h (enum): MTYPE_OSPF_NEXTHOP is added. | |
3435 | ||
3436 | 1999-07-21 Toshiaki Takada <takada@zebra.org> | |
3437 | ||
3438 | * linklist.c (list_add_node_prev), (list_add_node_next), | |
3439 | (list_add_list): New function added. | |
3440 | ||
3441 | * table.c (route_table_free): New function added. | |
3442 | ||
3443 | 1999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3444 | ||
3445 | * plist.c (config_write_prefix): Set write flag when configuration | |
3446 | is written. | |
3447 | ||
3448 | 1999-07-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
3449 | ||
3450 | * prefix.c : prefix_cmp() added. change apply_mask() to | |
3451 | apply_mask_ipv4(), and new apply_mask() added. | |
3452 | ||
3453 | 1999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
3454 | ||
3455 | * prefix.c (prefix2str): append prefixlen. | |
3456 | ||
3457 | 1999-07-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3458 | ||
3459 | * command.c (config_terminal): Change "config terminal" to | |
3460 | "configure terminal". Reported by Georg Hitsch | |
3461 | <georg@atnet.at>. | |
3462 | (config_terminal_length): `terminal length <0-512>' is added. At | |
3463 | this moment this command is only usef for vty interface. | |
3464 | Suggested by Georg Hitsch <georg@atnet.at>. | |
3465 | ||
3466 | 1999-07-12 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3467 | ||
3468 | * routemap.c (rulecmp): Add wrapper function of strcmp. | |
3469 | ||
3470 | 1999-07-08 Rick Payne <rickp@rossfell.co.uk> | |
3471 | ||
3472 | * sockunion.c (inet_aton): Fix bug of inet_aton. | |
3473 | ||
3474 | 1999-07-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3475 | ||
3476 | * version.h (ZEBRA_VERSION): Start zebra-0.73 | |
3477 | ||
3478 | 1999-07-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3479 | ||
3480 | * version.h: Bump up to 0.72. | |
3481 | ||
3482 | 1999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3483 | ||
3484 | * command.c (install_default): New function for install default | |
3485 | commands to the node. | |
3486 | ||
3487 | * memory.h (enum): MTYPE_NEXTHOP is added. | |
3488 | ||
3489 | 1999-07-01 <kunihiro@zebra.org> | |
3490 | ||
3491 | * command.c (no_banner_motd): `no banner motd' command added. | |
3492 | ||
3493 | 1999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3494 | ||
3495 | * regex.c: Update to glibc-2.1.1's posix/regex.c | |
3496 | ||
3497 | * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h | |
3498 | ||
3499 | * prefix.h (IPV4_ADDR_SAME): Macro added. | |
3500 | (IPV6_ADDR_SAME): Likewise. | |
3501 | ||
3502 | 1999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3503 | ||
3504 | * memory.h (enum): Add MTYPE_OSPF_VERTEX | |
3505 | ||
3506 | * version.h: Bump up to 0.71. | |
3507 | ||
3508 | * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind | |
3509 | VTY socket when IPv6 is enabled. | |
3510 | ||
3511 | 1999-06-28 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3512 | ||
3513 | * vty.c (vty_serv_sock): Change vty_serv_sock determine which | |
3514 | address family to bind. | |
3515 | ||
3516 | * command.c: Add quit command. | |
3517 | ||
3518 | 1999-06-26 NOGUCHI kay <kay@dti.ad.jp> | |
3519 | ||
3520 | * vty.c (vty_read_config): Fix bug of configuration file path | |
3521 | detection. | |
3522 | ||
3523 | 1999-06-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3524 | ||
3525 | * version.h: Bump up to 0.70. | |
3526 | ||
3527 | 1999-06-17 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3528 | ||
3529 | * buffer.h (GETL): Remove GETL macro. | |
3530 | ||
3531 | * version.h: Bump up to 0.69. | |
3532 | ||
3533 | 1999-06-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3534 | ||
3535 | * if.c (connected_add): Commented out connected_log. | |
3536 | ||
3537 | 1999-06-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3538 | ||
3539 | * command.h (struct cmd_element ): strvec and descvec is combined | |
3540 | into newstrvec. | |
3541 | ||
3542 | * command.c (desc_make): Function removed. | |
3543 | (desc_next): Function removed. | |
3544 | ||
3545 | * command.h (struct cmd_element ): docvec is removed from struct | |
3546 | cmd_element. | |
3547 | ||
3548 | 1999-06-12 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3549 | ||
3550 | * command.c (cmd_execute_command): Remove command NULL check. | |
3551 | ||
3552 | * command.h (struct cmd_element ): Add newstrvec entry to struct | |
3553 | cmd_element. | |
3554 | (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support | |
3555 | (a|b|c) statement. | |
3556 | (DESC): DESC macro is removed. | |
3557 | ||
3558 | * vty.c (vty_complete_command): When return value is | |
3559 | CMD_ERR_NO_MATCH, don't display error message. | |
3560 | ||
3561 | 1999-06-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3562 | ||
3563 | * table.c (route_next_until): New function. | |
3564 | ||
3565 | * version.h: Bump up to 0.68. | |
3566 | ||
3567 | 1999-06-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3568 | ||
3569 | * vty.c (vty_close): Free vty->buf when vty is closed. | |
3570 | ||
3571 | * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and | |
3572 | MTYPE_COMMUNITY_LIST. | |
3573 | ||
3574 | * vty.h (struct vty ): Change buf from static length buffer to | |
3575 | variable length buffer. | |
3576 | ||
3577 | * vty.c (vty_ensure): New function added. | |
3578 | ||
3579 | 1999-06-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3580 | ||
3581 | * command.h (node_type ): Add COMMUNITY_LIST_NODE. | |
3582 | ||
3583 | * command.c (config_enable_password): Freeing host.enable bug is | |
3584 | fixed. | |
3585 | (config_enable_password): Add argc count check. | |
3586 | ||
3587 | 1999-05-31 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3588 | ||
3589 | * version.h: Bump up to 0.67. | |
3590 | ||
3591 | 1999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3592 | ||
3593 | * command.c (zencrypt): New function for encrypt password. | |
3594 | ||
3595 | * command.h (struct host): Add password_encrypt and | |
3596 | enable_encrypt. | |
3597 | ||
3598 | 1999-05-30 Jochen Friedrich <jochen@scram.de> | |
3599 | ||
3600 | * command.h (struct host): New member encrypt is added for | |
3601 | encrypted password. | |
3602 | ||
3603 | 1999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3604 | ||
3605 | * vty.c: Remove all_digit_check function. Instead use all_digit. | |
3606 | ||
3607 | * prefix.c (all_digit): New function for checking string is made | |
3608 | from digit character. | |
3609 | ||
3610 | 1999-05-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3611 | ||
3612 | * Makefile.am (libzebra_a_SOURCES): Add zclient.c. | |
3613 | (noinst_HEADERS): Add zclient.h | |
3614 | ||
3615 | * zclient.[ch]: New file for zebra client routine. | |
3616 | ||
3617 | * memory.h (enum): Add MTYPE_ZEBRA. | |
3618 | ||
3619 | 1999-05-19 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3620 | ||
3621 | * version.h (ZEBRA_VERSION): Update to 0.66. | |
3622 | ||
3623 | 1999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3624 | ||
3625 | * buffer.h (GETC,GETW): Macro deleted. | |
3626 | ||
3627 | 1999-05-15 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> | |
3628 | ||
3629 | * prefix.h (IPV4_NET0, IPV4_NET127): Macro added. | |
3630 | ||
3631 | 1999-05-15 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3632 | ||
3633 | * vty.c (service_advanced_vty): New command added. | |
3634 | (no_service_advanced_vty): Likewise. | |
3635 | ||
3636 | 1999-05-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3637 | ||
3638 | * vty.c (vty_auth): If advanced flag is set and enable password is | |
3639 | not set, directly login to the ENABLE_NODE. This feature is | |
3640 | originally designed and implemented by Stephen R. van den Berg | |
3641 | <srb@cuci.nl>. | |
3642 | ||
3643 | * command.h (host): Add advanced flag to struct host for advanced | |
3644 | vty terminal interface. | |
3645 | ||
3646 | * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release. | |
3647 | ||
3648 | 1999-05-14 Stephen R. van den Berg <srb@cuci.nl> | |
3649 | ||
3650 | * command.h (node_type ): Add TABLE_NODE. | |
3651 | ||
3652 | * vty.c (vty_telnet_option): Check host.lines value. | |
3653 | ||
3654 | * command.c (config_lines): DEFUN for 'lines LINES' command. | |
3655 | ||
3656 | * zebra.h: Include <sys/utsname.h> for uname(). | |
3657 | (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple | |
3658 | routing table. | |
3659 | ||
3660 | * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable | |
3661 | password is not set. | |
3662 | (vty_prompt): Get machine's hostname when hostname is not set. | |
3663 | ||
3664 | 1999-05-11 James Willard <james@whispering.org> | |
3665 | ||
3666 | * command.c (config_exit): Close connection when `exit' command is | |
3667 | executed at ENABLE_NODE. | |
3668 | ||
3669 | 1999-05-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3670 | ||
3671 | * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE. | |
3672 | ||
3673 | * command.c (cmd_execute_command_strict): Matched command size | |
3674 | check added. | |
3675 | (cmd_make_desc_line): New function for DEFUN2. | |
3676 | ||
3677 | * command.h (struct cmd_element ): Add descsize. | |
3678 | ||
3679 | 1999-05-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3680 | ||
3681 | * command.h (struct cmd_element ): Remame descvec to docvec. | |
3682 | (struct cmd_element ): Add descvec for new description system. | |
3683 | ||
3684 | * command.c (desc_make): Check cmd->descvec. | |
3685 | ||
3686 | 1999-05-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3687 | ||
3688 | * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL. | |
3689 | ||
3690 | 1999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3691 | ||
3692 | * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta | |
3693 | release. | |
3694 | ||
3695 | 1999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
3696 | ||
3697 | * linklist.c (list_delete_all_node): bug fix. | |
3698 | previous code loses current position when node | |
3699 | is deleted. | |
3700 | ||
3701 | 1999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3702 | ||
3703 | * command.h (DESC): Macro added. | |
3704 | (struct cmd_element2): Delete struct cmd_element2. | |
3705 | ||
3706 | * plist.c (prefix_list): Sequential number option check is added. | |
3707 | ||
3708 | 1999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
3709 | ||
3710 | * log.c (zvlog_{debug,info,notice,warn,err}): have been | |
3711 | added. now we can log both console and file, but still | |
3712 | need some fix about config write. | |
3713 | ||
3714 | 1999-05-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3715 | ||
3716 | * log.c (zvlog_debug): Fix yasu's change. | |
3717 | ||
3718 | 1999-05-01 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3719 | ||
3720 | * plist.c (prefix_list): Fix typo. | |
3721 | ||
3722 | 1999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3723 | ||
3724 | * Set version to 0.63 for first beta package. | |
3725 | ||
3726 | 1999-04-27 Carlos Barcenilla <barce@frlp.utn.edu.ar> | |
3727 | ||
3728 | * prefix.c (str2prefix_ipv4): Fix prefix length check. | |
3729 | (str2prefix_ipv6): Likewise. | |
3730 | ||
3731 | 1999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3732 | ||
3733 | * memory.h (enum): Add MTPYE_PREFIX_LIST and | |
3734 | MTYPE_PREFIX_LIST_ENTRY. | |
3735 | ||
3736 | * command.h (node_type ): Add PREFIX_NODE. | |
3737 | ||
3738 | 1999-04-25 Carlos Barcenilla <barce@frlp.utn.edu.ar> | |
3739 | ||
3740 | * command.c: ALIAS (config_write_memory_cmd) and ALIAS | |
3741 | (copy_runningconfig_startupconfig_cmd) is added. | |
3742 | ||
3743 | * table.c (route_node_lookup): Unused match variable deletion. | |
3744 | ||
3745 | 1999-04-24 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3746 | ||
3747 | * Makefile.am (libzebra_a_SOURCES): plist.c added. | |
3748 | (noinst_HEADERS): plist.h added. | |
3749 | ||
3750 | * plist.c, plist.h: New file added. | |
3751 | ||
3752 | * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR. | |
3753 | * memory.c: Likewise. | |
3754 | ||
3755 | 1999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> | |
3756 | ||
3757 | * command.c (show_version): `show version' command added. | |
3758 | ||
3759 | 1999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3760 | ||
3761 | * prefix.c (str2prefix_ipv6): Prefix length overflow check. | |
3762 | ||
3763 | 1999-04-19 Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> | |
3764 | ||
3765 | * prefix.c (str2prefix_ipv4): Prefix length overflow check. | |
3766 | ||
3767 | 1999-04-19 Alex Bligh <amb@gxn.net> | |
3768 | ||
3769 | * prefix.c (sockunion2hostprefix): Function added. | |
3770 | (sockunion2prefix): Address family was not set. Now it is set. | |
3771 | ||
3772 | * vty.c: VTY access-class command is added. | |
3773 | ||
3774 | 1999-04-18 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3775 | ||
3776 | * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree, | |
3777 | xstrdup are likewise. | |
3778 | ||
3779 | 1999-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
3780 | ||
3781 | * thread.c: Add thread_execute for other routing daemon. | |
3782 | OSPF tasks need to be generated by "sheduled" and "executed". | |
3783 | ||
3784 | 1999-04-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3785 | ||
3786 | * buffer.c: Rewrite buffer_write and buffer_flush related | |
3787 | functions for fixing bugs. Reason of the problem and fix is | |
3788 | suggested by Alex Bligh <amb@gxn.net>. | |
3789 | ||
3790 | 1999-04-12 Alex Bligh <amb@gxn.net> | |
3791 | ||
3792 | * command.c (cmd_entry_function_descr): Added for variable | |
3793 | argument help display. | |
3794 | ||
3795 | 1999-04-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3796 | ||
3797 | * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution. | |
3798 | ||
3799 | 1999-03-24 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3800 | ||
3801 | * stream.c: stream_fifo_free bug is fixed. | |
3802 | ||
3803 | 1999-03-19 Toshiaki Takada <takada@zebra.org> | |
3804 | ||
3805 | * stream.c (stream_strncpy): Added for getting any length bytes | |
3806 | from stream. | |
3807 | ||
3808 | 1999-03-16 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3809 | ||
3810 | * version.h (ZEBRA_BUG_ADDRESS): New macro added. | |
3811 | ||
3812 | 1999-03-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3813 | ||
3814 | * buffer.c (buffer_flush_window): If ep is same as buffer's size | |
3815 | length and lp is overrun one octet. | |
3816 | ||
3817 | 1999-03-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3818 | ||
3819 | * vty.h: add VTY's timeout function. | |
3820 | ||
3821 | 1999-03-05 <kunihiro@zebra.org> | |
3822 | ||
3823 | * command.h (node_type ): Add OSPF6_node. | |
3824 | ||
3825 | 1999-03-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3826 | ||
3827 | * zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h> | |
3828 | ||
3829 | 1999-03-03 Jeroen Ruigrok/Asmodai <asmodai@wxs.nl> | |
3830 | ||
3831 | * zebra.h: Include <net/if_var.h> if it exists. | |
3832 | ||
3833 | 1999-03-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3834 | ||
3835 | * getopt.[ch],getopt1.c: Sync with glibc-2.1. | |
3836 | ||
3837 | * log.c (zlog): Tempolary ZLOG_STDOUT feature added. | |
3838 | ||
3839 | * command.h: Include vector.h and vty.h | |
3840 | ||
3841 | 1999-02-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3842 | ||
3843 | * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt. | |
3844 | ||
3845 | * routemap.c (route_map_apply_index): Add prefix argument. | |
3846 | (route_map_apply): Likewise. | |
3847 | ||
3848 | * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED. | |
3849 | ||
3850 | * stream.c: Add stream_fifo related functions. | |
3851 | ||
3852 | 1999-02-24 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3853 | ||
3854 | * daemon.c: Return integer value. File descriptor close is added. | |
3855 | ||
3856 | * memory.h (enum): add MTYPE_OSPF_LSA. | |
3857 | ||
3858 | 1999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3859 | ||
3860 | * rsh.c: Remove empty file. | |
3861 | ||
3862 | 1999-02-22 <kunihiro@zebra.org> | |
3863 | ||
3864 | * routemap.c: Add add/delete hook to route_map_master. | |
3865 | ||
3866 | 1999-02-19 Peter Galbavy <Peter.Galbavy@knowledge.com> | |
3867 | ||
3868 | * str.[ch] added to supply wrappers for snprintf(), strlcat() and | |
3869 | strlcpy on system without these. | |
3870 | ||
3871 | 1999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com> | |
3872 | ||
3873 | * syslog support added | |
3874 | ||
3875 | 1999-02-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3876 | ||
3877 | * filter.c (access_list_add_hook): added for hook function management. | |
3878 | * filter.c (access_list_delete_hook): Likewise. | |
3879 | ||
3880 | 1999-01-19 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3881 | ||
3882 | * stream.c: New file. | |
3883 | * stream.h: New file. | |
3884 | * Divide stream related fucntions from buffer.[ch] into stream.[ch]. | |
3885 | ||
3886 | 1999-01-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3887 | ||
3888 | * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA | |
3889 | ||
3890 | * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument. | |
3891 | ||
3892 | 1998-12-23 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3893 | ||
3894 | * routemap.c: route_map_index_delete() added. | |
3895 | ||
3896 | 1998-12-22 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3897 | ||
3898 | * buffer.c (buffer_empty): check cp instead of sp. | |
3899 | ||
3900 | 1998-12-17 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3901 | ||
3902 | * radix.[ch]: Deleted. | |
3903 | ||
3904 | 1998-12-15 Magnus Ahltorp <map@stacken.kth.se> | |
3905 | ||
3906 | * buffer.c: Prototype fixes. | |
3907 | * prefix.c: Likewise. | |
3908 | * sockunion.c: Likewise. | |
3909 | * sockunion.h: Likewise. | |
3910 | ||
3911 | 1998-12-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3912 | ||
3913 | * vty.c (vty_read): DELETE key works as vty_delete_char. | |
3914 | ||
3915 | 1998-12-13 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3916 | ||
3917 | * log.c (time_print): chane %y to %Y. | |
3918 | ||
3919 | 1998-12-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3920 | ||
3921 | * distribute.c: new file. | |
3922 | ||
3923 | 1998-12-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3924 | ||
3925 | * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add | |
3926 | complete support of IPv6 access list. | |
3927 | ||
3928 | * command.c (config_write_element): function delete. | |
3929 | (config_write_host): function add. password and enable password | |
3930 | isn't printed to vty interface. | |
3931 | ||
3932 | 1998-12-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3933 | ||
3934 | * filter.c: Change prefix_ipv4 to prefix and add support of | |
3935 | prefix_ipv6 filtering. | |
3936 | ||
3937 | 1998-12-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3938 | ||
3939 | * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps | |
3940 | header includes. | |
3941 | ||
3942 | 1998-12-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3943 | ||
3944 | * log.c (log_flush): fix function name typo. | |
3945 | ||
3946 | 1998-12-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> | |
3947 | ||
3948 | * memory.h: OSPF memory type is added. | |
3949 | ||
3950 | 1998-11-15 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3951 | ||
3952 | * command.c (sort_node): add sort_node() for pretty printing of | |
3953 | command on vty interface. | |
3954 | (config_password): delete the restriction of charaster of password | |
3955 | string. | |
3956 | ||
3957 | 1998-09-05 Kunihiro Ishiguro <kunihiro@debian.zebra.org> | |
3958 | ||
3959 | * prefix.c (prefix_ipv4_any): add prefix_ipv4_any(). | |
3960 | ||
3961 | 1998-08-25 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3962 | ||
3963 | * network.h: New file. | |
3964 | ||
3965 | 1998-08-24 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3966 | ||
3967 | * vty.c (vty_will_echo): function name change from vty_off_echo. | |
3968 | ||
3969 | 1998-08-18 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3970 | ||
3971 | * buffer.h: add PUTC,PUTW,PUTL macros. | |
3972 | ||
3973 | 1998-07-22 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3974 | ||
3975 | * route.[ch]: renamed to prefix.[ch] | |
3976 | ||
3977 | 1998-06-09 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3978 | ||
3979 | * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6. | |
3980 | ||
3981 | * Makefile.am: @INCLUDES@ is deleted from INCLUDES. | |
3982 | ||
3983 | 1998-06-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3984 | ||
3985 | * host.[ch]: merged with command.[ch] | |
3986 | ||
3987 | 1998-05-08 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3988 | ||
3989 | * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES. | |
3990 | ||
3991 | 1998-05-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3992 | ||
3993 | * route.c (str2prefix): str2prefix () is gone. | |
3994 | ||
3995 | 1998-05-03 Kunihiro Ishiguro <kunihiro@zebra.org> | |
3996 | ||
3997 | * vty.c (vty_read_config): change CONDIR to SYSCONFDIR. | |
3998 | ||
3999 | * .cvsignore: add file. | |
4000 | ||
4001 | * memory.c (xerror): add arguent `type' and `size'. | |
4002 | ||
4003 | * socket.c: deleted. | |
4004 | ||
4005 | 1998-05-02 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4006 | ||
4007 | * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC. | |
4008 | * linklist.c: same as above. | |
4009 | ||
4010 | 1998-04-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4011 | ||
4012 | * filter.[ch]: added. | |
4013 | ||
4014 | 1998-04-01 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4015 | ||
4016 | * vty.c (config_who): return CMD_SUCCESS | |
4017 | ||
4018 | 1998-04-01 Jochen Friedrich <jochen@scram.de> | |
4019 | ||
4020 | * table.c (route_dump_node): route_dump_node is IPv6 specific | |
4021 | function so move #ifdef to the end of route_dump_node (). | |
4022 | ||
4023 | 1998-03-05 "Hannes R. Boehm" <hannes@boehm.org> | |
4024 | ||
4025 | * if.c: DEFUN(interface_desc) added. | |
4026 | ||
4027 | 1998-03-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4028 | ||
4029 | * if.c: separated from ripd/rip_interface.c | |
4030 | ||
4031 | 1998-03-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4032 | ||
4033 | * thread.[ch] : added. | |
4034 | ||
4035 | 1998-02-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4036 | ||
4037 | * vty.c (vty_delete_char): fix size bug. | |
4038 | (vty_backward_pure_word): function added. | |
4039 | (vty_read): ESC + 'f' perform vty_forward_word. | |
4040 | (vty_read): ESC + 'b' perform vty_backward_word. | |
4041 | ||
4042 | 1998-02-11 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4043 | ||
4044 | * radix.c (radix_lookup_rt): add mask check. | |
4045 | (radix_delete_duproute): add mask check. | |
4046 | ||
4047 | 1998-02-10 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4048 | ||
4049 | * command.c (config_write_file): fix vty -> file_vty. | |
4050 | ||
4051 | 1998-02-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4052 | ||
4053 | * command.c (cmd_filter_ambiguous): add complex type treatment. | |
4054 | ||
4055 | 1998-02-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4056 | ||
4057 | * vty.c (vty_time_print): function added. | |
4058 | (vty_complete_command): now [...] element isn't shown by completion. | |
4059 | ||
4060 | 1998-01-26 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4061 | ||
4062 | * command.c : change from cmd_install_node() to install_node(). | |
4063 | ||
4064 | 1998-01-16 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4065 | ||
4066 | * route.[ch]: struct rt{} is replaced by struct prefix{}. | |
4067 | ||
4068 | 1998-01-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4069 | ||
4070 | * command.c (cmd_execute_command): check command length. | |
4071 | ||
4072 | * timer.c (zebra_timer_set): add zebra_timer_set. | |
4073 | ||
4074 | 1998-01-05 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4075 | ||
4076 | * command.h (node_type ): add ZEBRA_NODE. | |
4077 | ||
4078 | * command.c (config_exit): add RIP_NODE. | |
4079 | (config_write_file): add RIP_NODE. | |
4080 | ||
4081 | 1998-01-04 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4082 | ||
4083 | * print_version.c (print_version): Now Copyright is 1996-1998. | |
4084 | ||
4085 | * sockunion.c (sockunion_log): moved from ../zebra/route.c | |
4086 | ||
4087 | 1997-12-30 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4088 | ||
4089 | * host.c (config_logfile): change 'log PATH' to 'logfile PATH'. | |
4090 | ||
4091 | * sockunion.c (sockunion_sameprefix): add same prefix for | |
4092 | sockunion. | |
4093 | ||
4094 | 1997-12-29 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4095 | ||
4096 | * radix.[ch] : are moved from ../zebra directroy. | |
4097 | ||
4098 | * command.c (config_from_file): if command execution failed down | |
4099 | level to CONFIG_NODE. | |
4100 | ||
4101 | * host.c: config_log function which enable 'log FILENAME' command. | |
4102 | ||
4103 | 1997-12-23 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4104 | ||
4105 | * vty.c: add vty_transpose_chars (). Now you can use '^T' to | |
4106 | transpose character. | |
4107 | ||
4108 | * command.c: cmd_cmdsize add, this is useful to check incomplete | |
4109 | command. | |
4110 | ||
4111 | 1997-12-07 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4112 | ||
4113 | * fd.h: add family for address family | |
4114 | ||
4115 | 1997-12-06 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4116 | ||
4117 | * command.o | |
4118 | * vty.o | |
4119 | * host.o is moved from ../zebra | |
4120 | ||
4121 | 1997-08-14 Kunihiro Ishiguro <kunihiro@zebra.org> | |
4122 | ||
4123 | * make library directory. | |
4124 |