Description

Add a redis_cmd() call with more than two %s insertions. Kamailio throws parse errors at startup. See below for example and log messages.

Troubleshooting

This line works fine:
redis_cmd("kam_redis", "SET %s %s-bar, "test_key", "foo" "r");

This one does not:
redis_cmd("kam_redis", "SET %s %s-%s, "test_key", "foo", "bar, "r");

Reproduction

Add a line like this:
redis_cmd("kam_redis", "SET %s %s-%s, "test_key", "foo", "bar, "r");

Log Messages

2020-08-13T16:39:05.468806+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 424, column 117: Too many arguments
2020-08-13T16:39:05.472800+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 424, column 117: '('')' expected (function call)
2020-08-13T16:39:05.473289+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 424, column 117: bad command: missing ';'?
2020-08-13T16:39:05.473927+00:00,vagrant-ubuntu-xenial-64: ERROR: <core> [core/cfg.y:3363]: yyparse(): function used inside params of another function: xlog
2020-08-13T16:39:05.475417+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 426, column 9: use of function execution inside params not allowed`

Additional Information

version: kamailio 5.2.7 (x86_64/linux)                                                                                                                                                                                          
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown 
compiled with gcc 5.4.0

I have confirmed the issue with the available later version packages as well.

Ubuntu 16.04


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.