Commit Graph

865 Commits

Author SHA1 Message Date
Joachim Wiberg f32ca837c1 logger: add support for -H NAME to override system hostname
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-31 11:48:58 +02:00
Joachim Wiberg c7f65e11c9 logger: minor, coding style (reverse Christmas tree)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-31 11:44:29 +02:00
Joachim Wiberg ea1762d5f5 man: update logger(1) with new options for remote logging and format
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-31 10:46:32 +02:00
Joachim Wiberg 1fc5c174f1 logger: update usage text with new options
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-31 10:41:25 +02:00
Joachim Wiberg c8fe229cfc logger: add support for RFC3164 style (for remote) logging
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-31 10:16:01 +02:00
Joachim Wiberg 5d98f06718 logger: drop debug logs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-31 10:14:57 +02:00
Joachim Wiberg dfb654688a logger: initial support for logging to a remote host
This is the first RFC5424 (only) support for for logging to a remote
host.  The syntax continues to follow the FreeBSD logger.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-29 14:53:23 +02:00
Joachim Wiberg 1044669b8d test: notify sometimes fail, need to wait for syslogd to rotate
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-29 14:53:03 +02:00
Joachim Wiberg 3086637768 libsyslog: fix loss of logger messages on failed connect()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-29 14:37:46 +02:00
Joachim Wiberg ef67ecae12 Update ChangeLog for upcoming v2.4.1 bugfix release
Also, restore ChangeLog entry for released v2.4.0.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-26 09:16:29 +02:00
Joachim Wiberg daba6cce09 Fix #5&: failure to reset socket count on SIGHUP
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>
2022-07-26 07:47:09 +02:00
Joachim Wiberg e41721216c Drop repology badge(s)
No need to advertise that sysklogd is not kept up-to-date in all the
distros on the planet.  Nothing much I can do about it.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-07-21 21:06:31 +02:00
Joachim Wiberg 34c812415d
Merge pull request #53 from meta-ed/hexencoding
Prevent logfile corruption by control codes

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-06-17 18:17:53 +02:00
Joachim Wiberg 2d37cf2c28
Merge pull request #52 from meta-ed/overread
Prevent overread when scanning the message buffer

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-06-17 18:16:28 +02:00
Edward K. McGuire bcc3c7c1fb Prevent logfile corruption by control codes
Do not corrupt logfiles when kernel messages contain control codes,
notably \n. Instead, preserve the kernel's protective C-style hex
encoding. For example, \n embedded in a message by a kernel-level
facility is received as "\x0a". Kernel-level facilities cannot be
trusted to use only syslog-safe codes in kernel messages. See:
<https://kernel.org/doc/Documentation/ABI/testing/dev-kmsg>
2022-06-16 15:52:04 -05:00
Edward K. McGuire 9427734546 Prevent overread when scanning the message buffer
This change avoids the possibility of advancing past the null
terminator, by always testing the value at the pointer before
advancing the pointer.

While repairing this, I reconciled the code sections that read the
priority, sequence, and timestamp, so that they handle the pointer in
exactly the same way. This makes the source easier to maintain.
2022-06-16 14:33:34 -05:00
Joachim Wiberg 8f83328850 Fake usec timestamp for RFC3164 messages
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-06-05 16:43:20 +02:00
Joachim Wiberg 1e9f164198 Fake usec timestamp for untrusted kernel log messages
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-06-04 18:55:14 +02:00
Joachim Wiberg 4bbed71c29 Move debian/ dir to separate branch to ease packaging downstream
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 19:32:23 +02:00
Joachim Wiberg 7dc4783af8 .github: install valgrind also for release build
We call `make distcheck` in the release build, so the tests run.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 18:41:45 +02:00
Joachim Wiberg eafde9550d Update ChangeLog and bump version for v2.4.0 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 18:27:48 +02:00
Joachim Wiberg dfc32d7843 Fix memory leak on exit
Only to clean up, possibly relevant for no-MMU systems, but
they have other issues as well (e.g. fork) that prevent them
from using the sysklogd project.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 16:59:50 +02:00
Joachim Wiberg 7ff4a7d210 test: reduce verbosity of new test
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 16:59:32 +02:00
Joachim Wiberg 715c52dc21 .github: prefix test logs with current compiler
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 16:24:34 +02:00
Joachim Wiberg abb093c330 .github: create tarball of test logs for upload
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 15:59:02 +02:00
Joachim Wiberg 0d02ba63bb .github: need valgrind for new memleak test
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 15:47:37 +02:00
Joachim Wiberg d76b78c873 .github: upload test logs as build artifacts
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 15:45:32 +02:00
Joachim Wiberg 47a980728a test: new memleak test using valgrind
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-29 15:45:32 +02:00
Joachim Wiberg 0892914581 Update changelog for upcoming v2.4.0 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:50:25 +02:00
Joachim Wiberg a5bf845118 Enforce 'secure_mode 1' in default syslog.conf file
This disables the "unauthenticated remote disk-filling service" by
default.  A user can easily change this to 0 (or 2) to allow other
systems to log to their syslogd.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:29:43 +02:00
Joachim Wiberg 62dea3aecf Minor, fix missing \n in calls to logit()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:12 +02:00
Joachim Wiberg 477bb40c44 test: new test, verifies .conf option secure_mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:12 +02:00
Joachim Wiberg 075815eeb8 Add support for setting secure_mode=[0,1,2] in .conf file
Logic for secure mode setting in .conf file

 - Command line always wins
 - SIGHUP activates changes

Note, if -s is given on command line it always wins, regardless.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:12 +02:00
Joachim Wiberg 577d20b8da test: use new logger() function in all tests
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:11 +02:00
Joachim Wiberg 7e1d7bcb06 test: a few more helper functions
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:11 +02:00
Joachim Wiberg a453eca4be Minor, rename local variable for consistency
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:11 +02:00
Joachim Wiberg 4e70aff619 Refactor: add cfkey_match() with new struct cfkey for file options
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:11 +02:00
Joachim Wiberg 619422b7ed Minor, whitespace fixup
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-22 22:10:11 +02:00
Joachim Wiberg 508ed72bcf Merge branch 'meta-ed-master'
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-14 11:59:45 +02:00
Edward K. McGuire 4f24bce339 Don't skip the <PRI> field in the call to wallmsg()
This is redundant and causes message truncation.  The <PRI> field is
skipped within wallmsg() itself.

Signed-off-by: Edward K. McGuire <metaed@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-14 11:58:33 +02:00
Joachim Wiberg 5b48dac64e test: new test to verify facility sorting to custom log file
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-04-08 18:56:30 +02:00
Joachim Wiberg 7825c453c4 Move Gentoo Tip earlier, quicker to find
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-03-30 21:30:49 +02:00
Joachim Wiberg 13cc1ad5ce Add link to the nice wiki article on the Gentoo wiki
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-03-30 19:07:45 +02:00
Joachim Wiberg 4fd55cd1ac syslog.conf: disable debug messages by default from /var/log/syslog
Many projects use sysklogd with the shipped syslog.conf as their own
default /etc/syslog.conf.  This is fine of course, but for many small
embedded systems getting all debug messages in the log by default is not
desirable.

This change drops debug messages from /var/log/syslog by default and
recommends admins to use /var/log/debug, or drop the debug filter.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-03-30 18:56:41 +02:00
Joachim Wiberg 6798fe76d5 Document reason for stat() in opensys()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-03-14 06:59:51 +01:00
Joachim Wiberg 889dd1aed9 Merge pull request #47 from sdaoden/keep_mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-03-14 05:55:52 +01:00
Steffen Nurpmeso 45554a54e6 syslogd.c: rotate_file(): do not loose file mode due to rotation 2022-03-14 05:55:27 +01:00
Joachim Wiberg 0b3d379001 Merge pull request #46 from sdaoden/rotate
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-03-14 05:53:25 +01:00
Steffen Nurpmeso 908f1e6821 test/rotate_all.sh: address Joachim Wiberg comments (pull/46) 2022-03-14 05:52:46 +01:00
Steffen Nurpmeso 0bc4c82bae Test for "Implement forced log file rotation upon SIGUSR2" 2022-03-14 05:52:46 +01:00