As reported on GitHub. When logging to a remote host, after a few
SIGHUP's we get the following log message:
Only 16 IP addresses per socket supported.
When closing all currently open sockets, the socket count must be reset
to allow for opening new ones, otherwise we'll run out of "counts".
Yes, this should be refactored to use the FreeBSD model implementation.
Problem introduced in v2.4.0, commit 075815e.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This patch allows the user to disable the 8-bit data check in the log
message validator. If you have experienced problems with logging any
unicode (utf-8) messages after v1.6, this option is for you.
The correct way to handle this is to add proper parser support for the
Unicode BOM, defined in RFC5424[1], as NetBSD syslogd does[2], search
for IS_BOM().
[1]: https://datatracker.ietf.org/doc/html/rfc5424#appendix-A.8
[2]: http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/syslogd/syslogd.c?rev=1.138
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This patch refactors the way the primary and secondary syslogd is
started by the test framework. The generalizations not only make the
code more readable, it hopefully also makes it easier to add new tests
in the future.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Since we currently cannot test kernel logging, and we don't want to risk
any log messages from the kernel to suddenly pop up and disturb tests,
this patch explicitly disables it.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Refactor test.rc, start.sh, and stop.sh into lib.sh that each test
sources and uses independently of each other.
More simplfication and cleanup needed.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The release suite fails with no permissions to dump loopback, so let's
run tests in an unshare, one per test, with and start as many syslogd as
needed for each test -- also easier to debug since all are then fully
stand-alone.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
With the new support for /dev/kmsg the tests can run on a system that
already has a syslog daemon, and still receive all kernel messages. We
want to ignore those in this (all?) tests and focus on the forwarding of
messages between two sysklogd.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
We should make sure to also check that we don't get more MARK messages
than expected based on the -mMIN value.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This change will probably break most installations. We do this to free
up '-n' for use as disabling DNS lookups, from FreeBSD *and* NetBSD.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
It's a lot easier to debug the remote test with Wireshark if we log to
the default service port on the remote host.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This patch is inspired, in part, by FreeBSD syslogd but now diverges
onto its own path. Special handling for AF_UNIX sockets are required
on Linux, which unlike BSD cannot use getaddrinfo() on UNIX sockets.
- Rip out old funix[] and finet support
- Add new concept of peers
- Linked list of peers can be > 20
- Temporarily open up to accept all remote conns
- Remove old logerror(), replaced with new log macros
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>