diff --git a/ChangeLog.md b/ChangeLog.md index 149b99b..7abebb8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -27,12 +27,13 @@ and a replacement for `syslog.h` to enable new features in RFC5424. - New tool `logger` from the Finit project, BSD licensed - New `syslogp()` API from NetBSD, for applications wanting to use RFC5424 features like MsgID or structured data -- Incompatible changes to command line options for `syslogd` and - `klogd`, e.g; +- Incompatible changes to command line options in `syslogd` and `klogd` + for compatiblity with FreeBSD and NetBSD syslogd: - In syslogd: `-b` and `-c` have been replaced with `-r` for global log rotation, `-a` has been replaced with the new `-p` support. The `-r` flag and `-s HOST` has also been dropped in favor of the BSD - `-s` flag to control two levels of _secure mode_ + `-s` flag to control two levels of _secure mode_. The `-n` flag is + now `-F` and `-n` means something else entirely ... - In klogd: `-i` and `-I` have been removed - Update COPYING file to GPL 2 rev 2, with new FSF address and other minor stuff - Update license header in all files: diff --git a/man/syslogd.8 b/man/syslogd.8 index 751bf9a..e4a3f0a 100644 --- a/man/syslogd.8 +++ b/man/syslogd.8 @@ -13,7 +13,7 @@ .Nd System Log Daemon .Sh SYNOPSIS .Nm -.Op Fl ?46AdknsTv +.Op Fl ?46AdFksTv .Op Fl a Ar addr[/len][:port] .Op Fl a Ar name[:port] .Op Fl b Ar addr[:port] @@ -169,6 +169,11 @@ TTY. SIGUSR1 is required to confirm continued debug messages when the daemon has finished starting up. See the .Sx DEBUGGING section for more information. +.It Fl F +Run in foreground, required when run from a modern init/supervisor. See +your system +.Xr init 1 +for details. .It Fl f Ar file Specify an alternative configuration file instead of the default .Pa /etc/syslog.conf . @@ -198,11 +203,6 @@ facility is reserved for kernel log messages. When the daemon runs alongside .Nm , this option is always set. -.It Fl n -Run in foreground, required when run from a modern init/supervisor. See -your system -.Xr init 1 -for details. .It Fl P Ar file Specify an alternate file in which to store the process ID. The default is diff --git a/src/syslogd.c b/src/syslogd.c index 056f4cb..f026fd2 100644 --- a/src/syslogd.c +++ b/src/syslogd.c @@ -194,7 +194,7 @@ static int addpeer(struct peer *pe0) int usage(int code) { printf("Usage:\n" - " syslogd [-46Adknrsv?] [-a PEER] [-b :PORT] [-b ADDR[:PORT]] [-f FILE] [-m SEC]\n" + " syslogd [-46AdFkrsv?] [-a PEER] [-b :PORT] [-b ADDR[:PORT]] [-f FILE] [-m SEC]\n" " [-P PID_FILE] [-p SOCK_PATH] [-R SIZE[:NUM]]\n" "Options:\n" " -4 Force IPv4 only\n" @@ -221,10 +221,10 @@ int usage(int code) " service name, default is 'syslog', port 514.\n" "\n" " -d Enable debug mode\n" + " -F Run in foreground, required when run from a modern init/supervisor\n" " -f FILE Alternate .conf file, default: /etc/syslog.conf\n" " -k Allow logging with facility 'kernel', otherwise remapped to 'user'.\n" " -m SEC Interval between MARK messages in log, 0 to disable, default: 20 min\n" - " -n Run in foreground, required when run from a modern init/supervisor\n" " -P FILE File to store the process ID, default: %s\n" " -p PATH Path to UNIX domain socket, multiple -p create multiple sockets. If\n" " no -p argument is given the default %s is used\n" @@ -263,7 +263,7 @@ int main(int argc, char *argv[]) KeepKernFac = 1; #endif - while ((ch = getopt(argc, argv, "46Aa:b:dHf:m:nP:p:r:sv?")) != EOF) { + while ((ch = getopt(argc, argv, "46Aa:b:dHFf:m:P:p:r:sv?")) != EOF) { switch ((char)ch) { case '4': family = PF_INET; @@ -297,6 +297,10 @@ int main(int argc, char *argv[]) Debug = 1; break; + case 'F': /* don't fork */ + Foreground = 1; + break; + case 'f': /* configuration file */ ConfFile = optarg; break; @@ -313,10 +317,6 @@ int main(int argc, char *argv[]) MarkInterval = atoi(optarg) * 60; break; - case 'n': /* don't fork */ - Foreground = 1; - break; - case 'P': PidFile = optarg; break; diff --git a/syslogd.service.in b/syslogd.service.in index a91d1bb..f967dd5 100644 --- a/syslogd.service.in +++ b/syslogd.service.in @@ -6,7 +6,7 @@ Requires=syslog.socket [Service] Type=simple -ExecStart=@SBINDIR@/syslogd -sn +ExecStart=@SBINDIR@/syslogd -sF StandardOutput=null Restart=on-failure diff --git a/test/start.sh b/test/start.sh index c8b740d..5f023e8 100755 --- a/test/start.sh +++ b/test/start.sh @@ -20,7 +20,7 @@ cat < ${CONFD}/bar.conf *.* @127.0.0.2 EOF -../src/syslogd -b :${PORT} -d -sn -f ${CONF} -p ${SOCK} -p ${ALTSOCK} & +../src/syslogd -b :${PORT} -d -sF -f ${CONF} -p ${SOCK} -p ${ALTSOCK} & echo "$!" > ${PID} sleep 2