131 Commits

Author SHA1 Message Date
Joachim Nilsson
27027456b5 Simplify, remove gratuitous 'return;' at end of functions + cleanup
- Add empty lines for readability, after return before new statement and
  after variable declarations
- Remove explicit typecasting, NULL is NULL regardless of type
- Remove unnecessary braces and else

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-24 10:51:04 +02:00
Joachim Nilsson
773ee73214 Simplify, memset() with 0 rather than '\0'
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-24 10:51:04 +02:00
Joachim Nilsson
1ba3dc5b87 Simplify, remove #ifdefs for INET6, always defined
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-24 10:51:04 +02:00
Joachim Nilsson
be5ce0af30 Simplify, no need to reset signal disposition in handler
On modern systems, both *BSD and Linux using GLIBC/musl, the signal's
disposition is not reset to SIG_DFL on invocation of its handler.  On
Linux this is true because GLIBC/musl wraps signal() in sigaction()
with the same semantics as BSD.

A follow-up commit will refactor to use sigaction().

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-24 10:51:04 +02:00
Joachim Nilsson
3309fb2d50 Misc, cleanup remaining SYSV #ifdefs and simplify a bit
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-24 10:51:04 +02:00
Joachim Nilsson
5114907afe Refactor, use linked list of struct filed instead of realloc'd array
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-24 10:51:04 +02:00
Joachim Nilsson
a1e3efc3c4 Refactor differences in signal sent from UNIX/Linux kernel on hangup
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-23 12:48:23 +02:00
Joachim Nilsson
98f498595c Simplify, CONT_LINE is always defined, remove all #ifdefs
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-23 12:47:39 +02:00
Joachim Nilsson
f67ed6934a Simplify, remove #ifdefs for always defined paths
We always want to build with support for UNIX domain socket and remote
syslog (both receive and send).  We can safely state that all systems
we aim to target supports FHS.

Also, start clean up gratuitous use of SYSV #ifdefs.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-23 10:37:14 +02:00
Joachim Nilsson
b3727fcf0b Simplify copyright[] and sccsid[] legacy from BSD
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-23 10:35:47 +02:00
Joachim Nilsson
1004498697 Add support for building tsyslogd and syslog_tst again
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-22 16:42:28 +02:00
Joachim Nilsson
4fcebdb03c Add SPDX license identifiers to all source files, BSD-3 & GPL-2
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-13 12:07:38 +02:00
Joachim Nilsson
290c11d0d9 Sync. BSD license change with FreeBSD upstream
From upstream FreeBSD Subversion r165903:

  "Per Regents of the University of Calfornia letter,
   remove advertising clause."

This patch also includes the renumbering of the clauses, making
this codebase truly 3-clause BSD licensed.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-13 11:35:42 +02:00
Joachim Nilsson
301081604a Add RFC5424 support for remote syslog servers
This patch adds support for sending in RFC5424[1] style format to remote
log servers.  Section 6.5[2] lists some examples, here's one:

    <30>1 2019-10-12T18:21:01.123456+02:00 troglobit finit 321 - - Starting service 'firewalld:1'

Note, sysklogd currently does not support MSGID and structured data, see
the RFC for more information on this.

[1] - https://tools.ietf.org/html/rfc5424
[2] - https://tools.ietf.org/html/rfc5424#section-6.5

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-12 18:49:41 +02:00
Joachim Nilsson
760ec4cc36 Fix too small destination buffer in snprintf() call, found by GCC 8
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2019-10-12 11:34:11 +02:00
Joachim Nilsson
ea24aa5378 Usability, size modifiers to log rotate: 100k:5, 1G:3, and 100M:5
This applies to both the command line '-b SIZE' option and the
optional per log file setting.  Modifiers supported are: k, M, G

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-09-25 17:27:24 +02:00
Joachim Nilsson
ab24b2efff Add configurable retry timeout for remote syslog servers
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-09-25 10:10:28 +02:00
Joachim Nilsson
3039c285e3 Add missing getopt.h include
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-09-24 20:06:24 +02:00
Joachim Nilsson
84437f88e3 Avoid for loop initial declarations
May need to build on/for systems with quite old GCC version.  Also,
fixes build on Travis-CI.  (Enabling C99 brings in a lot of other
warnings that we'll take care of at a later stage.)

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-09-24 17:28:26 +02:00
Joachim Nilsson
bc92e860ef Initial support for per log file rotate size:count as last arg.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-09-24 17:03:54 +02:00
Joachim Nilsson
01a46ae8cc Compress rotated files >= .1, keep .0 uncompressed
This patch adds support for rotating compressed files as well as
compressing (gzip) all files older than .1.

Props goes to @Znahoj for the first prototype implementation made at
Westermo.  Only minor changes to his draft were made.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-09-24 14:17:28 +02:00
Joachim Nilsson
aef7e07704 Refactor, use NULL and not (char *)0 and similar
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-05 19:02:25 +02:00
Joachim Nilsson
2e84a34758 Refctor, simplify return statements, no parenthesis needed
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-05 18:59:50 +02:00
Joachim Nilsson
f1f1ee3563 Reindent to Linux KNF
Most of the code base seemed to follow Linux style, loosely.  This patch
brings it all together.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-05 18:55:56 +02:00
Joachim Nilsson
53c4dd817d Fix archaic #include statements, for building with musl libc
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-05 16:51:13 +02:00
Joachim Nilsson
9f21a8a0f5 Refactor, replace reserved dprintf() with logit()
dprintf() was standardized by POSIX.1-2008.  This patch replaces
all occurrences with logit().

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-05 16:39:31 +02:00
Joachim Nilsson
0f4d458a59 Prop up usage text and launch on -? for both klogd and syslogd
Also, avoid returning error when user actually requests help.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-03 08:10:38 +02:00
Joachim Nilsson
a08b8ee38a Add missing '*' to Emacs local variables indentation hinting
A local variables section must start with /** otherwise Emacs will
prompt the user every time if the settings should be applied.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-03 01:32:33 +02:00
Joachim Nilsson
d7bfb2c66f Activate built-in log rotation feature, disabled by default
Basically just removes the #ifdef blocks around the code.  With the
feature disabled by defult this should be safe.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-03 00:58:42 +02:00
Joachim Nilsson
e6a88e13ed Replace version.h with auto-generated version from configure script
Also, remove DEBRELEASE, no longer a package with Debian focus, and add
'v' before version number in logs/usage text.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-02 23:02:49 +02:00
Joachim Nilsson
880cb2aa4d Relocate files to man/ and src/ and change to GNU configure & build
- Relocate all source files to src/ and manual pages to man/
- Replace static Makefile with GNU configure and build system

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-08-02 22:52:40 +02:00