Age | Commit message (Collapse) | Author |
|
|
|
|
|
This led in corner cases to undefined buffer content
and garbage output.
|
|
The old behavior was that enabling debugging did many nontrivial changes
in BIRD behavior. The patch changes it that these changes are generally
independent. Compiling with --enable-debug now just enables compile-time
debug macros, but do not automatically activate debug mode (-d) nor local
mode (-l). Debug mode with output to file (-D) do not force foreground
mode (-f), therefore there is no need for backgroud option (-b), which is
removed. Also fixes a bug when the default log target in -D mode was
stderr instead of given debug file.
|
|
The new MRT protocol is responsible for periodic RIB table dumps in the
MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is
refactored and splitted between BGP to MRT protocols, will be more
integrated into MRT in the future.
Example:
protocol mrt {
table "*";
filename "%N_%F_%T.mrt";
period 60;
}
It is partially based on the old MRT code from Pavel Tvrdik.
|
|
Allow to specify log file size limit and ensure that log file is rotated
to secondary name to avoid exceeding of log size limit.
The patch also fixes a bug related to keeping old fds open after
reconfiguration and using old fds after 'configure undo'.
|
|
|
|
Date/time output (e.g. in logs, show commands) can use %f to specify
subsecond time. By default, millisecond precision is used in output.
|
|
|
|
Replace integer type width detection with C99 fixed-width types.
Also remove some unused or obsolete code.
Thanks to Ruben Kerkhof for the patchset.
|
|
|
|
|
|
BIRD passed string from configuration to openlog(), which kept it
internally. After reconfiguration the old string was freed, therefore
openlog had invalid copy.
Thanks to Chris Caputo for the original patch.
|
|
Logging is not yet initialized, we have to use fprintf() here.
Thanks to Pavel Tvrdik for noticing and debugging it.
|
|
|
|
|
|
|
|
|
|
Also removed the lib-dir merging with sysdep. Updated #include's
accordingly.
Fixed make doc on recent Debian together with moving generated doc into
objdir.
Moved Makefile.in into root dir
Retired all.o and birdlib.a
Linking the final binaries directly from all the .o files.
|
|
Pointer to current_log_name has to be changed even if the name is the
same, because the old one will be invalid/freed after reconfiguration.
|
|
|
|
|
|
|
|
|
|
|
|
Supports OSPF and BGP and also statically configured sessions.
|
|
|
|
Implemented eval command can be used to evaluate expressions.
The patch also documents echo command and allows to use log classes
instead of integer as a mask for echo.
|
|
And extends the log subsystem to better handle that.
|
|
Also fixes a bug in syslog initialization.
|
|
|
|
|
|
|
|
|
|
This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
|
|
|
|
the user forces it in the config file.
|
|
file has been read and it doesn't specify any logging, log to syslog only
(if syslog is not available, then stderr).
|
|
|
|
|
|
Except for Filters, RIP and OSPF, the progdocs are complete.
|
|
|
|
|
|
can analyse the core.
|
|
|
|
|
|
files and syslog) and assign lists of message categories to each of them.
|
|
|
|
#define L_DEBUG "\001" /* Debugging messages */
#define L_INFO "\002" /* Informational messages */
#define L_WARN "\003" /* Warnings */
#define L_ERR "\004" /* Errors */
#define L_AUTH "\005" /* Authorization failed etc. */
#define L_FATAL "\006" /* Fatal errors */
#define L_TRACE "\002" /* Protocol tracing */
#define L_INFO "\003" /* Informational messages */
#define L_REMOTE "\004" /* Remote protocol errors */
#define L_WARN "\004" /* Local warnings */
#define L_ERR "\005" /* Local errors */
#define L_AUTH "\006" /* Authorization failed etc. */
#define L_FATAL "\007" /* Fatal errors */
#define L_BUG "\010" /* BIRD bugs */
Introduced bug() which is like die(), but with level L_BUG. Protocols
should _never_ call die() as it should be used only during initialization
and on irrecoverable catastrophic events like out of memory.
Also introduced ASSERT() which behaves like normal assert(), but it calls
bug() when assertion fails. When !defined(DEBUGGING), it gets ignored.
|
|
|