/
githubmirror
/
rsyslog
Обзор
Документация
Войти
/
githubmirror
/
rsyslog
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
tests/msg_json_set_regression.sh
45 строк
1 KB
Rainer Gerhards
tests: bind IPv4-only imtcp listeners to loopback
05 июл 2026, 15:39
05 июл 2026, 15:39
3c858bc
Код
Авторство
О чём код?
#!/bin/bash # added 2026-05-29 by Copilot # # This regression covers two runtime/msg.c behaviors: # - nested `set $!...` updates must merge into the existing leaf object rather # than the root object # - overlong JSON path components must be rejected instead of silently creating # truncated keys # # Oracle: # - the nested node retains "keep" and gains "escape" # - the emitted JSON tree is otherwise unchanged, so no root-level escape field # or truncated overlong key appears . ${srcdir:=.}/diag.sh init generate_conf LONG_PATH_COMPONENT="toolong_$(printf 'x%.0s' $(seq 1 1200))" add_conf ' module(load="../plugins/imtcp/.libs/imtcp") input(type="imtcp" address="127.0.0.1" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") template(name="outfmt" type="string" string="%$!%\n") local4.* { set $.ret = parse_json("{\"keep\":\"orig\"}", "\$.target"); set $.ret = parse_json("{\"escape\":\"merged\"}", "\$.merge"); set $!target!node = $.target; set $!target!node = $.merge; unset $.target; unset $.merge; set $!'"$LONG_PATH_COMPONENT"'!child = "blocked"; action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") } ' startup tcpflood -m1 shutdown_when_empty wait_shutdown export EXPECTED='{ "target": { "node": { "keep": "orig", "escape": "merged" } } }' cmp_exact $RSYSLOG_OUT_LOG exit_test