gdt [Thu, 9 Dec 2004 14:51:03 +0000 (14:51 +0000)]
ospf_apiserver_term:
Remove unused variable.
Add comment: this is seriously broken, and needs fixing. It appears
likely to segfault if ever called. Comments please - should I make
the fix I suggest in the comment? -gdt
gdt [Thu, 9 Dec 2004 14:46:46 +0000 (14:46 +0000)]
Add comments with warnings obtained on NetBSD/i386. Both are due to
size_t being used for streams. Perhaps cast to unsigned long before
printf? Surely that's big enough even if size_t could be larger in
theory.
ajs [Wed, 8 Dec 2004 17:14:45 +0000 (17:14 +0000)]
2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* prefix.c: (prefix_copy) Error message before abort should
have severity LOG_ERR, not LOG_INFO.
* memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO.
ajs [Tue, 7 Dec 2004 15:39:31 +0000 (15:39 +0000)]
2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* bgp_main.c: (main) The 2nd argument to openzlog has been removed.
* isis_main.c: (main) The 2nd argument to openzlog has been removed.
* ospf6_main.c: (main) The 2nd argument to openzlog has been removed.
Note that stdout logging will no longer be enabled by default when
not running as a daemon.
* ospf_main.c: (main) The 2nd argument to openzlog has been removed.
* rip_main.c: (main) The 2nd argument to openzlog has been removed.
* ripng_main.c: (main) The 2nd argument to openzlog has been removed.
* main.c: (main) The 2nd argument to openzlog has been removed.
So stdout logging will no longer be enabled by default.
* irdp_main.c: (irdp_finish) Reduce severity of shutdown message
from LOG_WARNING to LOG_INFO.
* vtysh.c: Make several functions static instead of global.
Added several commands to support destination-specific logging levels.
(vtysh_completion) This function is unused, so comment it out.
* basic.texi: Document new logging features. Separate basic config
commands from basic VTY commands.
* log.h: Replace struct zlog flags and maskpri fields with maxlvl
array to support individual logging levels for each destination.
Remove the 2nd argument to openzlog since the default logging config
should be standardized inside the library. Replaced the
zlog_set_flag and zlog_reset_flag functions with zlog_set_level.
And zlog_set_file now requires an additional log_level argument.
Declare zlog_proto_names for use inside command.c in the
"show logging" command. Added defines useful for command
construction.
* log.c: (vzlog) Decide where to send the message based on the
individual logging levels configured for each destination.
Remove support for ZLOG_STDERR since it was never actually used.
Support record-priority for terminal monitors.
(zlog_signal,zlog_backtrace_sigsafe) Support destination-specific
logging levels. Remove stderr support (was never used). Added
support for terminal monitor logging.
(_zlog_assert_failed) Increase message severity to LOG_EMERG.
(openzlog) Remove 2nd argument since default config should be
standardized in library. By default, terminal monitoring
is set to debug, and all other logging is disabled.
(zlog_set_flag,zlog_reset_flag) Removed.
(zlog_set_level) New function to replace zlog_set_flag and
zlog_reset_flag. Supports destination-specific logging levels.
(zlog_set_file,zlog_reset_file) Support file-specific logging level.
(zlog_rotate) Log an error message if fopen fails, and support
new file-specific logging level.
* command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that
command functions will be static instead of global. Remove
declarations for config_exit and config_help. Define new macros
DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can
have deprecated commands in vtysh. Similarly, for completeness,
define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED.
Also, fix bug in ALIAS_ATTR macro (didn't matter because it
was never used).
* command.c: Make many functions static instead of global.
(facility_name,facility_match,level_match) New functions
to support enhanced destination-specific logging levels.
(config_write_host) Support new destination-specific logging levels.
(config_logmsg) Added new "logmsg" command to help test logging
system.
(show_logging) Added "show logging" command to show the current
configuration of the logging system.
(config_log_stdout_level) Support explicit stdout logging level.
(no_config_log_stdout) Now takes optional LEVEL arg.
(config_log_monitor,config_log_monitor_level,no_config_log_monitor)
New commands creating new "log monitor" commands to set terminal
monitoring log level.
(config_log_file_level) Support explicit file logging level.
(config_log_syslog_level) Support explicit syslog logging level.
(config_log_facility,no_config_log_facility) Implement new
"log facility" command.
(cmd_init) Add hooks for new commands: "show logging", "logmsg",
"log stdout <level>", "log monitor", "log monitor <level>",
"no log monitor", "log file <filename> <level>",
"no log file <filename> <level>", "log syslog <level>",
"log facility", and "no log facility".
* vty.h: Added a "level" argument to vty_log so it can support
"log record-priority". Declare new function vty_log_fixed for
use in signal handlers.
* vty.c: (vty_log,vty_log_out) Added a "level" argument to support
"log record-priority" for vty terminal monitors.
(vty_down_level) Use config_exit_cmd.func instead of calling
config_exit directly (since command functions will now be static
instead of global).
(vty_log_fixed) New function to send terminal monitor messages
from inside a signal handler.
ajs [Fri, 3 Dec 2004 19:03:33 +0000 (19:03 +0000)]
2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* HACKING: Indicate that header files should be consulted for
documentation, particularly logging levels in lib/log.h.
* log.h: Document appropriate use of syslog logging priorities
inside quagga.
ajs [Fri, 3 Dec 2004 17:40:31 +0000 (17:40 +0000)]
2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* command.h: Remove fields log_stdout and log_syslog from struct host,
since they are just trying to duplicate information in the
zlog_default structure. Note that this fixes a bug since those
fields were not registering any logging that was established
in the initial call to openzlog (this affects only the zebra and
ospf6d daemons). It is probably a bug to turn on any logging by
default in the call to openzlog.
* command.c: (config_write_host) Get logging info from zlog_default
instead of now-removed fields host.log_stdout and host.log_syslog.
(config_log_stdout,no_config_log_stdout) Do not set now-removed field
host.log_stdout, since this info is recorded in zlog_default.
(config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile.
(config_log_syslog,config_log_syslog_facility,no_config_log_syslog)
Do not set now-removed field host.log_syslog, since this info is
recorded in zlog_default.
ajs [Fri, 3 Dec 2004 16:36:46 +0000 (16:36 +0000)]
2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* bgp_main.c: (sigint) Use zlog_notice for termination message.
(main) Use zlog_notice for startup announcement.
* isis_main.c: (sigint,sigterm) Use zlog_notice for termination message.
(terminate) This function should be static, not global.
(main) Use zlog_notice for startup announcement, and remove
ifdef ZEBRA_VERSION.
* version.h.in: Remove declaration for pid_output_lock, this function
is now static, not global.
* pid_output.c: (pid_output_lock) This function should be static, not
global. And remove "old umask" error message, since it was really
an unimportant debug message, not an error.
(pid_output) Need to declare static function pid_output_lock.
* ospf6_main.c: (sigint,sigterm) Use zlog_notice for termination
message.
(main) Remove commented-out call to pid_output_lock (which should
never be called other than from inside pid_output). And use
zlog_notice to print the startup message, which now includes
the vty port.
* ospf_main.c: (sigint) Use zlog_notice for termination message.
(main) Issue a startup announcement using zlog_notice.
* rip_main.c: (sigint) Use zlog_notice for termination message.
(main) Add a startup announcement using zlog_notice.
* ripng_main.c: (sighup) Remove spurious terminating message.
(sigint) Use zlog_notice for termination message.
(main) Issue a startup announcement using zlog_notice.
* main.c: (sigint) Use zlog_notice for termination message.
(main) Add a startup announcement using zlog_notice.
ajs [Tue, 30 Nov 2004 22:38:43 +0000 (22:38 +0000)]
2004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
message and in comment.
(ospf_db_desc) Warning message that a packet is being discarded
should give the router id of the packet source. Fix spelling
of packet in two warning messages.
(ospf_ls_req) Warning message that a link state request is being
discarded should give the router id of the neighbor that sent it.
ajs [Sun, 28 Nov 2004 23:00:01 +0000 (23:00 +0000)]
2004-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* log.h: Remove several unused fields from struct zlog. Add comments
for other fields, and add one new field syslog_options that is
used in the new syslog_sigsafe implementation.
* log.c: (syslog_sigsafe) New function to send syslog messages in
an async-signal safe way that can be used inside a signal handler.
(syslog_connect) New function to connect to syslog daemon inside a
signal handler. This function supports only systems where /dev/log
is a unix datagram socket (e.g. not Solaris).
(zlog_signal) Call syslog_sigsafe if syslog logging is enabled.
(zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is
enabled.
(openzlog) Save syslog_options for use in syslog_sigsafe.
(num_append) Fix bug: handle 0 properly.
(hex_append) New function to print a u_long in hex format.
ajs [Fri, 26 Nov 2004 19:36:42 +0000 (19:36 +0000)]
2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* debug.[ch]: Remove unused files.
* Makefile.am: Remove references to debug.c and debug.h
* ospf_main.c: Remove #include "debug.h" (was not being used, and
lib/debug.h has now been deleted).
ajs [Fri, 26 Nov 2004 18:11:14 +0000 (18:11 +0000)]
2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* log.c: (zlog_backtrace) New function to log a backtrace.
(zlog_backtrace_safe) Log a backtrace in an async-signal-safe way.
Unfortunately, this function does not support syslog logging yet.
(zlog_signal) Move backtrace code into separate function
zlog_backtrace_safe.
(_zlog_assert_failed) Call zlog_backtrace before aborting.
* log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe.
* memory.c: (zerror) Call zlog_backtrace before aborting.
ajs [Thu, 25 Nov 2004 16:07:53 +0000 (16:07 +0000)]
2004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* 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.
ajs [Wed, 24 Nov 2004 17:14:49 +0000 (17:14 +0000)]
2004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* 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>.
ajs [Tue, 23 Nov 2004 18:19:14 +0000 (18:19 +0000)]
2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* 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.
ajs [Tue, 23 Nov 2004 17:35:08 +0000 (17:35 +0000)]
2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* 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.
hasso [Fri, 19 Nov 2004 06:41:49 +0000 (06:41 +0000)]
Make quagga.info in cvs actually useful for those who haven't latest
makeinfo:
* Don't attempt to generate it after every ./configure.
* Don't remove it while cleaning up.
ajs [Tue, 16 Nov 2004 14:25:30 +0000 (14:25 +0000)]
2004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* memory.h: Fix prototype for memory_init().
* memory.c: Declare many functions and data structures static instead
of global. Fix prototype for memory_init().
gdt [Mon, 15 Nov 2004 18:51:15 +0000 (18:51 +0000)]
Rationalize CMSG_SPACE usage:
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.
ajs [Mon, 15 Nov 2004 16:12:32 +0000 (16:12 +0000)]
2004-11-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* 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.
paul [Fri, 12 Nov 2004 10:52:19 +0000 (10:52 +0000)]
2004-11-12 Paul Jakma <paul@dishone.st>
* ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
ignore stub area summary default. Even so it seems a strange
check, add a comment to that effect.
paul [Fri, 12 Nov 2004 09:44:03 +0000 (09:44 +0000)]
2004-11-12 Paul Jakma <paul@dishone.st>
* INSTALL: update-autotools, autoreconf -i will install this, remove
the file so it always matches the autoconf which created
configure (ie the quagga snapshot producing host).
paul [Fri, 12 Nov 2004 09:05:00 +0000 (09:05 +0000)]
2004-11-12 Paul Jakma <paul@dishone.st>
* configure.ac: Fix AC_CONFIG_FILES, the chmod seems to run for
every input file, should be only be for vtysh/extract.pl, so that
should be a seperate AC_CONFIG_FILES.
paul [Tue, 9 Nov 2004 01:54:03 +0000 (01:54 +0000)]
2004-11-09 Paul Jakma <paul@dishone.st>
* bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX
and cache{1,2}.. into arrays of tables and hence collapse
bgp_scan_ipv{4,6} into a single bgp_scan function. Tested, though
a long time ago (and this change was hand-merged).
paul [Mon, 8 Nov 2004 16:28:39 +0000 (16:28 +0000)]
2004-11-07 Paul Jakma <paul@dishone.st>
* Makefile.am: Add routeserver.texi to quagga_TEXINFOS.
Add quagga.info to clean files list (would have thought automake
would have done this, but it doesnt seem to)
paul [Mon, 8 Nov 2004 15:43:21 +0000 (15:43 +0000)]
2004-11-07 Paul Jakma <paul@dishone.st>
* 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.
paul [Mon, 8 Nov 2004 12:08:35 +0000 (12:08 +0000)]
2004-11-07 Paul Jakma <paul@dishone.st>
* quagga.texi: include routeserver.texi. TODO: integrate the current
multiple-instance orientated bgpd route-server section with the
new route-server docs.
paul [Sun, 7 Nov 2004 22:34:23 +0000 (22:34 +0000)]
2004-11-06 Paul Jakma <paul@dishone.st>
* configure.ac: Arguments to AC_OUTPUT is deprecated, use
AC_CONFIG_FILES instead. Rearrange the order slightly to put the
Makefiles first (silly aesthetic thing, dont know why I had to do
this ;) ). Add doc/defines.texi to the list.
* NEWS: bgp route-server support added, refer to docs.
* update-autotools: call automake with --add-missing and --copy,
former is important for obvious reasons, latter for dist files,
and --gnu to enable whatever extra goodness checks.
* {depcomp, install-sh, missing}: removed, auto-generated files.
paul [Sun, 7 Nov 2004 19:39:13 +0000 (19:39 +0000)]
2004-11-07 Paul Jakma <paul@dishone.st>
* Makefile.am: Add automatic rule to build pdf's from eps figures.
Clean *.pdf. Add rule for quagga.pdf (as the eps.pdf pattern
probably otherwise will override automake's rule for quagga.pdf)
* overview.texi: URL was causing TeX overfull, put on newline.
* quagga.texi: Put the copyright notice into @copying section, as
is proper. Strip trailling space from the main menu lines.
* rip(ng)?d.texi: Minor reformatting.
* Add the route server docs.
* bgpd.texi: remove unneeded page breaks. The 6Bone example
overflows though.
paul [Sun, 7 Nov 2004 19:00:16 +0000 (19:00 +0000)]
2004-11-07 Paul Jakma <paul@dishone.st>
* Add the route server docs.
* routeserver.texi: new file, texinfo'fied and slightly modified
version of the original TeX from James Luis Rubio.
* fig-*.eps: new files, diagrammes.
paul [Sat, 6 Nov 2004 17:13:09 +0000 (17:13 +0000)]
2004-11-06 Paul Jakma <paul@dishone.st>
* defines.texi.in: New file, texi variables should be set here,
autoconf substitution is available. Define common AUTHORS,
COPYRIGHT_YEAR and COPYRIGHT_STR vars.
* (global): Make use of makeinfo node pointer auto-creation
to avoid having to fully specify links for nodes, so we only have
to specify current node name - simplifies text slightly.
Remove extraneous newlines which appear to cause extra blank pages
to be added in output.
Update copyright strings which appear in various places to
use the new COPYRIGHT_STR texinfo variable.
Change url to uref, the former need not output an actual
hyperlink depending on version of texinfo, the latter should if
supported by the format (eg PDF).
* texinfo.tex: Update to a more recent version. previous file
was many many years old. This file should possibly be removed
altogether, and allowed to be installed by automake.
* quagga.texi: Make use of automake's version.texi feature to
have VERSION and some other vars auto-defined. include
defines.texi. Change copyright strings to use the COPYRIGHT_STR
variable.
* install.texi: Make the privs section an actual section. Ditto for
the Linux notes.
* overview.texi: Supply URL for Quagga, where format allows. Tidy up
one or two paragraphs slightly.
Update the section on supported platforms.
Remove the ZNOG list stuff, direct reader to the website for
further information on email lists.
* vtysh.texi: Update the integrated config file section. Make the
commands sections so correct PDF indexes are built.