Package: rsyslog
Version: 8.2102.0-2+deb11u1
Severity: minor
Using the attached rsyslog.conf, with this test log:
/usr/bin/printf 'TEST BYTES
\xc3\xb1\xc3\x28\xa0\xa1\xe2\x82\xa1\xe2\x28\xa1\xe2\x82\x28\xf0\x90\x8c\xbc\xf0\x28\x8c\xbc\xf0\x90\x28\xbc\xf0\x28\x8c\x28\xf8\xa1\xa1\xa1\xa1\xfc\xa1\xa1\xa1\xa1\xa1'
| logger -p auth.0 -t invalid-utf8-test
...I find that mmutf8fix has fixed auth.log, but not the emergency
event printed to logged-in terminals.
I *guess* this is because omusrmsg uses "properties" instead of "the message"?
Note that once it has been called, it actually modifies the message.
The original messsage is then no longer available.
However, this DOES NOT CHANGE ANY PROPERTIES set, used or extracted before
the modification is done.
https://rsyslog.readthedocs.io/en/latest/configuration/modules/mmutf8fix.html
This issue doesn't really bother me, but
it would be nice if it was explicitly mentioned in the documentation, e.g.
For example, omusrmsg will not be affected, because
it uses properties (ignored by mmutf8fix) and ignores the message (fixed by
mmutf8fix).
-- System Information:
Debian Release: 11.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500,
'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.18.0-0.deb11.4-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE,
TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
$umask 0022
$WorkDirectory /var/spool/rsyslog
$MaxOpenFiles 2
module(load="imuxsock")
module(load="imklog")
module(load="imudp")
module(load="imrelp")
input(type="imudp" port="514")
input(type="imrelp" port="2514" KeepAlive="on")
module(load="mmutf8fix")
action(type="mmutf8fix")
template(name="PrisonPCFileFormat" type="list") {
property(name="timegenerated" dateFormat="rfc3339")
constant(value=" ")
property(name="hostname")
constant(value=" ")
property(name="syslogtag" field.delimiter="58" field.number="1")
constant(value=":")
property(name="msg" spifno1stsp="on")
property(name="msg" droplastlf="on")
constant(value="\n")
}
module(load="builtin:omfile"
template="PrisonPCFileFormat"
dirCreateMode="0755"
fileCreateMode="0640"
fileOwner="root"
fileGroup="adm")
if ($syslogfacility-text == "auth" or $syslogfacility-text == "authpriv") then {
action(type="omfile"
file="/var/log/auth.log"
sync="off"
asyncWriting="on"
flushInterval="1"
ioBufferSize="128K")
} else {
action(type="omfile"
file="/var/log/syslog"
sync="off"
asyncWriting="on"
flushInterval="5"
ioBufferSize="128K")
}
if ($syslogpriority-text == "emerg") then {
action(type="omusrmsg" users="*")
}
$IncludeConfig /etc/rsyslog.d/*.conf