[syslog-ng] merging stuff from merge-queue/3.4

Balint Kovacs balint.kovacs at balabit.com
Sat Nov 17 13:53:25 CET 2012


On 11/17/2012 09:00 AM, Balazs Scheidler wrote:
> dbparser: support inheriting properties in a corellation action
>
>     I merged this one, although I have some doubts. It uses
>     log_msg_clone_cow(), which does have some tricky semantics, as it
>     assumes that the cloned message will not change, once cloned.
>
>     I was thinking about removing clone_cow() completely because of this
>     tricky stuff, and whenever we need a clone we're about to change the
>     LogMessage anyway, and delaying the actual change means that we have
>     to do two malloc() calls, instead of one.
>
>     Can you test whether changing the message that triggered the action
>     with a rewrite rule, keeps the cloned one intact? This would need a
>     parallel path to the db-parser().
It seems, that log_msg_clone_cow write protects the original log 
message, so trying to do a log_msg_set_value on the original message 
will result in an assertion. Sorry I didn't realize this when doing the 
original patch, explicitly copying all the name-value pairs seemed 
inefficient, but this behaviour is not desirable. Should I rework the 
patch this way or is there a better way of doing it?

Balint



More information about the syslog-ng mailing list