summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2004-11-252004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should set l_whence to SEEK_SET, not SEEK_END. And after writing new pid to file, must ftruncate to eliminate any extraneous bytes left over from the last time a pid was written.
2004-11-24In zlog_signal, should probably check the return code from backtrace, justajs
to be safe.
2004-11-24In zlog_signal, change type of size since backtrace actually returns an int.ajs
2004-11-242004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* zassert.h: New header file to declare a quagga-specific assert macro. * log.c: (_zlog_assert_failed) New function called when assert fails to log the error and abort. * zebra.h: Include "zassert.h" instead of <assert.h>. * regex.c: Include "zassert.h" instead of <assert.h>. * dict.c: Include "zassert.h" instead of <assert.h>.
2004-11-232004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* sigevent.c: (signal_init) Set up some default signal handlers so that processes will issue an error message before terminating or dumping core. (trap_default_signals) New function to set up signal handlers for various signals that may kill the process. (exit_handler) Call zlog_signal, then _exit. (core_handler) Call zlog_signal, then abort. * log.h: Declare new function zlog_signal. * log.c: (zlog_signal) New function to log information about a received signal before the process dies. Try to log a backtrace also. (quagga_signal_handler,signal_set) Should be static.
2004-11-232004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* log.c: (vzlog) Take a single va_list argument and use va_copy as necessary for multiple traversals. (zlog) Pass only one va_list to vzlog. (zlog_*,plog_*) Use a macro for boilerplate code; pass only one va_list to vzlog. (zlog_set_file) Remove unused 2nd argument (flags). (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions. * log.h: Remove ZLOG_*_INDEX defines (no longer used). Remove unused 2nd argument from zlog_set_file prototype. Fix prototype for zlog_rotate. * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file. * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals properly. (vty_log) Must use va_copy for multiple traversals of va_list arg.
2004-11-202004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* global: Replace strerror with safe_strerror. And vtysh/vtysh.c needs to include "log.h" to pick up the declaration.
2004-11-19Fix previous change to use new function safe_strerror instead of strerror.ajs
2004-11-192004-11-19 David Young <dyoung@pobox.com>ajs
* log.c: (safe_strerror) New function: safe wrapper for strerror.
2004-11-192004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* sockopt.c: (setsockopt_so_recvbuf) Stop error message from being printed every time.
2004-11-162004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* memory.h: Fix prototype for memory_init(). * memory.c: Declare many functions and data structures static instead of global. Fix prototype for memory_init().
2004-11-15Rationalize CMSG_SPACE usage:gdt
in lib/zebra.h, ensure that RFC3542-required CMSG_SPACE and CMSG_LEN are defined. Warn if alignment assumptions are made, since they are i386-centric. in lib/sockopt.h, declare that sockopt sizes are without CMSG_SPACE-required padding - just simple sizeof. in ospfd/ospf_packet.c, simply use CMSG_SPACE This should remove all instances of CMSG_ALIGN from the source code. This is a nonstandard, though rational, construct; quagga should use only those defines in RFC3542.
2004-11-152004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* memory.c: (zerror) Use zlog_err instead of fprintf to stderr. Instead of exiting, log currenty memory usage and then abort. (log_memstats) New function to log memory statistics, called by zerror. (show_memory_all) Loop over new mlists array instead of calling show_memory_vty separately for each memory_list.
2004-11-10Remove unused dont_more variable in vty_flush and add return 0 to vtysh_write.ajs
2004-11-08Oops, wrong date on changelog entries..paul
2004-11-082004-11-07 Paul Jakma <paul@dishone.st>paul
* buffer.c: Add missing include of log.h. (buffer_flush_available) written is compared against mostly against unsigned types, only for the writev do we need signed compare, so declare it as size_t and cast it to ssize_t just for the error compare when we've called writev. * buffer.h: Add comment that buffer data sizes really should be size_t.
2004-11-072004-11-07 Paul Jakma <paul@dishone.st>paul
* lib/version.h.in: add autoconf configure_input output var
2004-11-052004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* vty.h: Remove fields in struct vty that were related to VTY_CONTINUE capabilities (that were used only in bgpd/bgp_route.c and are now removed). Also remove some other fields that were not being used at all. * vty.c: (vty_execute) Do not test for obsolete status values VTY_START and VTY_CONTINUE. (vty_read) Remove calls to vty->output_func since that was part of the VTY_CONTINUE infrastructure that has been removed. (vty_flush) Remove code to support VTY_START and VTY_CONTINUE. (vty_close) Remove code to cancel vty->t_output thread, since that thread was never actually used. * bgp_route.c: Remove all code related to VTY_CONTINUE; this feature is deprecated because the output did not represent a single point in time. All output needs to be generated inline and buffered by the library code. (route_vty_out,route_vty_out_tag,damp_route_vty_out, flap_route_vty_out) Remove code to count number of lines of output, since this was only useful for VTY_CONTINUE behavior. (bgp_show_callback) Removed. (bgp_show_table) Remove hooks for VTY_CONTINUE callback support. As a result, there's a new output_arg argument to this function. Make function static. (bgp_show) Make function static and add a new output_arg argument. Change all functions that call bgp_show or bgp_show_table to pass the new output_arg argument (that used to be passed inside vty->output_arg). * bgp_mplsvpn.c: Remove declarations of functions defined in bgp_route.c; these declarations belong in bgp_route.h. * bgp_route.h: Declare 3 global functions used in both bgp_route.c and in bgp_mplsvpn.c.
2004-11-042004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* vty.c: Vtysh connections to daemons should use buffering. (vty_out) Remove exception for vty_shell_serv, just use buffer_write. (vty_new) Increase output buffer size to 4096 rounded up to a multiple of pagesize. (vtysh_read) After command has been executed and all output buffered, call buffer_flush_available and schedule further writes if the buffers are not yet empty. (vtysh_write) New function to flush output to vtysh when the socket is writeable. (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh clients. Also, should save read thread in vty->t_read so the thread can be cancelled in vty_close. * buffer.h: In struct buffer_data, remove unused "parent" field. Convert "unsigned char *data" to "unsigned char data[0]" to save a malloc. Declare new function buffer_flush_available that works with non-blocking sockets. * buffer.c: (buffer_data_new) Use a single malloc now that data is a variable-size array at end of structure. (buffer_data_free) Just a single free now that data is part of the structure. (buffer_write) Simplify the logic to make behavior more transparent. (buffer_flush) Decrease b->length as data is written out. (buffer_flush_vty_all) Decrease b->length as buffers are freed. (buffer_flush_vty) Decrease b->length as data is written out. (buffer_flush_available) New function to flush non-blocking sockets.
2004-11-02- Add .arch-ids and .arch-inventory to cvsignore, to allow one to use archpaul
with CVS trees.
2004-11-012004-11-01 Paul Jakma <paul@dishone.st>paul
* sockopt.c: (setsockopt_pktinfo) remove, its unused.
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* thread.c: Use XCALLOC and sizeof the type, not the pointer.
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* smux.c: fix int to size_t compile warnings
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS * thread.c: Update stats and funcname alloc/free to use previous specific memory type defines
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* vty.c: As per Andrew's suggestions.. (vty_serv_un) remove flags. (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
2004-10-292004-10-29 Paul Jakma <paul@dishone.st>paul
* vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un to vtysh_accept, where sock is the actual fd we wanted to set to O_NONBLOCK, ie the /connected/ vtysh unix socket.
2004-10-23Yet another breakage introduced in May with zserv cleanup.hasso
2004-10-222004-10-23 Paul Jakma <paul@dishone.st>paul
* zebra.h: reserve ZEBRA_ROUTE_HSLS
2004-10-22- credit rix for fixing openbsdpaul
2004-10-222004-10-22 Paul Jakma <paul@dishone.st>paul
* sockopt.h: Fix elif that should be an else.
2004-10-222004-10-22 Paul Jakma <paul@dishone.st>paul
* command.h: Cleanup the defines a bit, add helper defines and collapse all defines to use those. Add an attribute field to cmd_element to support, eg hidden or deprecated commands, add defun defines for such. All that's left to do is add logic to command.c to check these attributes... ;)
2004-10-222004-10-22 Paul Jakma <paul@dishone.st>paul
* sockopt.c: (setsockopt_pktinfo) unexported * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have neither IP_RECVIF nor IP_PKTINFO (eg openbsd).
2004-10-222004-10-13 Paul Jakma <paul@dishone.st>paul
* sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not -1.
2004-10-19Small copyright string and hostname related cleanup.hasso
2004-10-19OK. Here it is - PtP patch from Andrew J. Schorr. No problems with ospfd,hasso
ripd might need some more testing though.
2004-10-13Make initializing smux connection configurable - "smux peer OID" commandhasso
initializes connection, and "no smux peer" command terminates it. Fixes bugzilla #47 and #112.
2004-10-13Fix critical bugzilla #113. Make CMD_ERR_NOTHING_TODO nonfatal.hasso
2004-10-132004-10-13 Paul Jakma <paul@dishone.st>paul
* (global) more const'ification. * sockunion.c: (sockunion_su2str) buffer should be sized SU_ADDRSTRLEN. (sockunion_log) do not return stack variables, strdup buf before return. * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied values against ULONG_MAX is daft, when caller probably has passed a type that can not hold ULONG_MAX. use a temporary long instead. Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
2004-10-11Some more const string fixes.hasso
2004-10-112004-10-11 Paul Jakma <paul@dishone.st>paul
* if.h: mtu's should be unsigned. * routemap.{c,h}: const char updates * smux.{c,h}: ditto
2004-10-112004-10-11 Paul Jakma <paul@dishone.st>paul
* thread.c: (funcname_thread_add_timer) (funcname_thread_add_timer_msec) Fix mistakes from last change. Pointed out by Liu Xin in [quagga-dev 1609].
2004-10-102004-10-10 Paul Jakma <paul@dishone.st>paul
* version.h.in: (pid_output*) add const qualifier. * command.h: Change DEFUN func to take const char *[] rather than char **, to begin process of fixing compile warnings in lib/. Nearly all other changes in this commit follow from this change. * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take const void * and cast an automatic const char *p to it. (buffer_putstr) add const * command.c: (zencrypt) const qualifier (cmd_execute_command_real) ditto (cmd_execute_command_strict) ditto (config_log_file) ditto. Fix leak of getcwd() returned string. * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname. * distribute.{c,h}: Update with const qualifier. (distribute_free) use MTYPE_DISTRIBUTE_IFNAME (distribute_lookup) Cast to char *, note that it's ok. (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME. (distribute_get) Cast to char *, note that it's ok. * filter.c: Update with const qualifier. * if.{c,h}: ditto. * if_rmap.{c,h}: ditto. (if_rmap_lookup) Cast to char *, note that it's ok. (if_rmap_get) ditto. * log.{c,h}: Update with const qualifier. * plist.{c,h}: ditto. * routemap.{c,h}: ditto. * smux.{c,h}: ditto. Fix some signed/unsigned comparisons. * sockopt.c: (getsockopt_cmsg_data) add return for error case. * vty.c: Update with const qualifier.
2004-10-102004-10-05 Paul Jakma <paul@dishone.st>paul
* version.h.in: (pid_output*) add const qualifier.
2004-10-08More const strings.hasso
2004-10-082004-10-05 Paul Jakma <paul@dishone.st>paul
* version.h.in: print_version declaration is here, not in autoconf generated version.h.
2004-10-07Even more const strings and fix to bugfix.hasso
2004-10-07Make more strings const.hasso
2004-10-05Number of warnings is down to 3 again in lib directory. A lot of const'shasso
added to strings and a lot of int -> unsigned int changes.
2004-10-052004-10-05 Paul Jakma <paul@dishone.st>paul
* thread.c: (funcname_thread_add_timer_timeval) new function, add timer at specified timeval. (funcname_thread_add_timer) use funcname_thread_add_timer_timeval. (funcname_thread_add_timer_msec) ditto