mirror of
https://github.com/rsyslog/rsyslog.git
synced 2026-06-19 21:02:57 +02:00
40 lines
1.4 KiB
Bash
Executable File
40 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
## Validate mmutf8fix tag handling for invalid UTF-8.
|
|
# add 2021-01 Jan Jeronym Zvanovec <jero@zvano.net>, released under ASL 2.0
|
|
. ${srcdir:=.}/diag.sh init
|
|
generate_conf
|
|
add_conf '
|
|
|
|
module(load="../plugins/mmutf8fix/.libs/mmutf8fix")
|
|
module(load="../plugins/imtcp/.libs/imtcp")
|
|
|
|
input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port" ruleset="customparser")
|
|
|
|
parser(name="custom.rfc3164" type="pmrfc3164" force.tagEndingByColon="on")
|
|
template(name="outfmt" type="string" string="-%syslogtag%-%msg%-\n")
|
|
|
|
ruleset(name="customparser" parser="custom.rfc3164") {
|
|
action(type="mmutf8fix" replacementChar="?")
|
|
action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt")
|
|
}
|
|
'
|
|
startup
|
|
tcpflood -m1 -M "\"<129>Mar 10 01:00:00 Hostname1 Å:\""
|
|
tcpflood -m1 -M "\"<129>mar 10 01:00:00 hostname1 À:\""
|
|
printf -v broken_utf '%b' '\xA0\xAA\x44\xE4\x5E\xC4\x7B\x28\x93\x68'
|
|
tcpflood -m1 -M "\"<129>mar 10 01:00:00 hostname1 ${broken_utf}:\""
|
|
shutdown_when_empty
|
|
wait_shutdown
|
|
|
|
printf '%b' $'-\xC3\x85\xC2\x99\xC2\x83:--\n-\xC3\x80\xC2\x80:--\n-??D?^?{(?h:--\n' \
|
|
> "$RSYSLOG_OUT_LOG.expect"
|
|
|
|
if ! cmp "$RSYSLOG_OUT_LOG.expect" $RSYSLOG_OUT_LOG; then
|
|
echo "invalid response generated, $RSYSLOG_OUT_LOG diff:"
|
|
# Use LANG=C for binary matching
|
|
LANG=C diff --text -u "$RSYSLOG_OUT_LOG.expect" $RSYSLOG_OUT_LOG
|
|
error_exit 1
|
|
fi;
|
|
|
|
exit_test
|