Re: syslog-ng-3.38.1 causing type hint errors in patterndb - bug?
Balazs Scheidler <[email protected]> Tue, 22 Nov 2022 10:39:35 +0100
| Newsgroups | gmane.comp.syslog-ng |
|---|---|
| Message-ID | <CAKcfE+ZNfsU671DqCJOOK1vex5yv9zSTREe+Gc5tHBUz7UT+zg@mail.gmail.com> |
I only got warnings and not errors, when trying to use this in my XML file:
<value name="seq-matches">su(pam_unix)</value>
how did you execute syslog-ng so you got the error above? The only case
where this is an error, if you are using "@version: 4.0"
This was the warning produced (both by syslog-ng and pdbtool):
WARNING: the template specified in value()/<value> options for your
grouping-by() or db-parser() configuration has been changed to support
typing from syslog-ng 4.0. You are using an older config version and your
template contains an unrecognized type-cast, probably a parenthesis in the
value field. This will be interpreted in the `type(value)' format in future
versions. Please add an explicit string() cast as shown in the
'fixed-value' tag of this log message or remove the parenthesis. The value
will be processed as a 'string' expression; config-version='3.38',
name='seq-matches', value='su(pam_unix)', fixed-value='string(su(pam_unix))'
I chose to embed the type-hint field in the body of the <value> tag, as
this is the format that is used everywhere else. I might be able to bump
the db-parser XML file version, in the file header:
<patterndb version='5'>
I could bump this up to version 6, in which case you'd only need to add the
type-hint if you also bumped the version number. That I think is doable.
On the documentation front, there's an XML schema in the source tree under
the doc/xsd/ directory for each version of patterndb, and I assume the
documentation also has a chapter on the db-parser() format.
On Mon, Nov 21, 2022 at 5:22 PM Evan Rempel <[email protected]> wrote:
> We have a patterndb file that contains both patterns and values with
> fixed text that include a strings of the form "xxxx (yyy)" which now can
> not be loaded by the patterndb.
>
> Syslog-ng throws the error
>
> Error parsing pattern database file; ... Error compiling value template,
> rule=FLARE-3543, name=AUTHPROGRAM, value=su(pam_unix), error=Unknown
> type specified in type hinting: su'
>
> I have not enabled the version 4.0 testing of type hinting. The version
> configuration is
>
> @version: 3.36
>
> I am unable to find documentation for the full syntax of the patterndb
> file (seems to have been lost from the docs since perhaps 3.16?)
>
> Is there a patterndb syntax specification document?
>
> I would expect that even when type hinting is enabled in the patterndb
> file, given that it is an XML document, that the type hinting would be
> part of the XML tag metadata, rather than part of the XML static data.
>
> --
> Evan
>
>
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation:
> http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>
>
--
Bazsi
______________________________________________________________________________
Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
FAQ: http://www.balabit.com/wiki/syslog-ng-faq