IPv4/IPv6 integrated socket code.
Workaround thread-unsafeness of cli_echo().
Implements undo command and optional timeout for configuration
Several new configure command variants:
configure undo - undo last reconfigurationconfigure timeout - configure with scheduled undo if not confirmed in timeoutconfigure confirm - confirm last configuration...
Some minor fixes.
Better support for link-local addresses in IO code.
Configurable syslog name.
Also fixes a bug in syslog initialization.
Adds check for no protocol and some minor CLI fixes.
- Adds check to deny config file with no specified protocol to prevent loading of empty config file.- Moves CLI init before config parse to receive immediate error message when cannot open control socket....
Many changes in (mainly) kernel syncers.
- BSD kernel syncer is now self-conscious and can learn alien routes- important bugfix in BSD kernel syncer (crash after protocol restart)- many minor changes and bugfixes in kernel syncers and neighbor cache- direct protocol does not generate host and link local routes...
Fix configure to enable warnings and fix most of them.
Adds support for soft reconfiguration.
Test old instance of BIRD.
*BSD port added. (Tested on FreeBSD and NetBSD)
If compiled with --enable-debug, don't even try to log to syslog unlessthe user forces it in the config file.
Use our own SUN_LEN if libc doesn't provide it.
During initialization, log to both syslog and stderr. When a configurationfile has been read and it doesn't specify any logging, log to syslog only(if syslog is not available, then stderr).
First attempt on dynamic reconfiguration. There are still lots of bugsand problems to solve, but the hardest part works.
Logging is now configurable. You can define multiple log outputs (to bothfiles and syslog) and assign lists of message categories to each of them.
Implemented unix-domain sockets.
Taught Netlink how to behave in IPv6 world.
Support for IPv6 sockets. How nice one doesn't have to ifdef aroundten years of API evolution :-)
Moved to a much more systematic way of configuring kernel protocols.
o Nothing is configured automatically. You need to specify the kernel syncer in config file in order to get it started. o Syncing has been split to route syncer (protocol "Kernel") and...
Use traditional Unix route/iface interface only when CONFIG_NETLINKis not defined. Also moved declarations of Unix iface logic to krt.h.
Perform gracious shutdown upon receipt of SIGTERM. Finally we cantest the whole protocol shutdown code... :)
Synchronize signals to the main select/event/timer loop.
Parse command line options.
Exporting fill_in_sockaddr() for use by other unix-dependent code.
Since almost every UNIX system requires different techniques for readingthe kernel routing table as opposed to modifying it which is approximatelythe same on non-netlink systems, I've split the kernel routing tableroutines to read and write parts. To be implemented later ;-)
Split protocol init to building of protocol list and real protocol init.Added kernel route table syncer skeleton.
Whee, multicast sockets work!
Implemented recurrent timers.
Added UNIX implementation of both timers and sockets. Timers should work,sockets were tested only in TCP mode. main.c now contains some testcases for socket code.