https://bugzilla.balabit.com/show_bug.cgi?id=235 Summary: String arguments to block parameters get mistreated Product: syslog-ng Version: 3.4.x Platform: All OS/Version: All Status: ASSIGNED Severity: blocker Priority: unspecified Component: syslog-ng AssignedTo: algernon@balabit.hu ReportedBy: algernon@balabit.hu Type of the Report: regression Estimated Hours: 0.0 I'm not quite sure who and where reported this bug first, but I'm recording it within Bugzilla, so we can keep track of it. With the config below, syslog-ng fails to start: ========================================================== @version: 3.5 block source s_logfile (filename(messages)) { file("/var/log/`filename`" ); }; source s_example { s_logfile(filename("logfile.log")); s_logfile(filename(logfile.log)); s_logfile(filename(foo bar baz)); }; ========================================================== Error parsing affile, syntax error, unexpected LL_IDENTIFIER in source block s_logfile at line 2, column 19: included from etc/block-syntax.conf line 8, column 36 file("/var/log/"logfile.log ^^^^^^^^^^^ The first line of s_example makes it fail badly. This is because the lexer recognises "logfile.log" as a block_string, and stores the quotation marks too, therefore the backtick expansion creates an invalid string. We should not store the "s in this case. I managed to bisect this down to cbd8b195e80f54f9b398456d434e39d9d23c2bdd, but have not managed to figure out how to fix the problem yet, without breaking anything else. syslog-ng 3.3 is not affected, but the last s_logfile() statement doesn't work there. -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.