Fix handling of tabs and UTF-8 text in syslog
Fix handling of tabs and UTF-8 text in syslog

syslog was overzealous in blocking all non-ASCII characters in messages
received from the logger socket and the kernel. Filtering with isprint()
also rejected tabs and non-ASCII UTF-8 text.

Rework the input source handlers to explicitly allow tabs and bytes with
the high-bit set, while still filtering out real control characters.

Apart from newlines and null bytes, don't interpret embedded control
characters as introducing a new log message. Instead, just replace them
with spaces in a single output line.

arachsys/init,arachsys/init