Line continuations in default syslog.conf not parsed correctly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
sysklogd (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: sysklogd
I updated my machine from Karmic to Lucid yesterday, and since rebooting after the upgrade, I have been getting "unknown priority name" errors when starting syslogd, and have not seen any output to /var/log/debug or /var/log/messages. I'm using an unmodified version of syslog.conf.
It looks like syslogd is corrupting continued lines (lines ending with '\') when reading them from syslog.conf. Removing the line continuations seems to fix the problem. Given that syslogd has not changed since Karmic, I'm guessing one of the underlying libraries has changed and broken it?
I'm attaching the stock syslog.conf with the output of 'syslogd -d' (broken), as well as a syslog.conf without any continued lines and the output of 'syslogd -d' (working). Notice (in the broken version of the debug output) that when cfline() is called, the input line is corrupted (has some missing characters, and some duplicated characters) if the corresponding lines in syslog.conf contained continuations.
summary: |
- syslog.conf not parsed correctly since upgrade to lucid + syslog.conf not parsed correctly |
Problem is still present in current Maverick release candidate.
Since sysklogd didn't change between Karmic and Lucid, I assume this is caused by a change in some underlying library.