misc/189878: newsyslog confused by some timezones (apparently)

Kurt Lidl lidl at pix.net
Sat May 17 00:50:00 UTC 2014

>Number:         189878
>Category:       misc
>Synopsis:       newsyslog confused by some timezones (apparently)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 17 00:50:00 UTC 2014
>Originator:     Kurt Lidl
>Release:        9.1-RELEASE
FreeBSD hydra.pix.net 9.1-RELEASE-p5 FreeBSD 9.1-RELEASE-p5 #0: Sat Jul 27 01:14:23 UTC 2013     root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

The time parsing routines in use by the newsyslog program are apparently not terribly robust.
On many timezones, they fail to parse the "when" field of the newsyslog.conf if it
contains a valid with a leading asterisk.  e.g. "@T00" - both given as an example in
the manpage, as well as in the distributed /etc/newsyslog.conf file.

The behavior is reproducable on 9.1-RELEASE, stable/9, stable/10 and "head" as of
today (May 16, 2014).

TZ=UTC newsyslog -s -C -n -r

Notice that output is generated.

TZ=EST5DT newsyslog -s -C -n -r

Notice that no output is generated.

Under a system running stable/9.2-ish, I get output like this in the failing case:
# TZ=EST5EDT newsyslog -s -C -n -r
newsyslog: malformed 'at' value:
/var/log/maillog                        640  7     *    @T00  C

(it dies at whatever the first line with an "@...." in the when field.)



More information about the freebsd-bugs mailing list