Merge pull request #269 from talien/f/rewrite-clone-condition-fix

rewrite: Only ref condition filter, if it is not NULL.
Preparations for syslog-ng 3.6.0rc1

Bumped the version in VERSION, and added noteworthy changes to NEWS.md.

Signed-off-by: Budai Laszlo <Laszlo.Budai@balabit.com>
riemann: Always exclude attributes that conflict with properties

Since attributes get merged into the same dictionary as properties on
the Riemann side, do not allow - accidentally - sending attributes with
the same name. To this end, implicitly exclude these headers. Many
thanks to Fabien Wernli for the report and the solution.

This fixes #260.

Reported-by: Fabien Wernli
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
riemann: Refactored worker_init, extracted methods for adding fields to event.
riemann: Skip empty fields

When adding properties to an event, skip empty fields before trying to
do any type casting. This allows metric(int("${foo:-}")
state("${state}")) to work correctly, and skip the metric field if it is
empty, and therefore fixes #258.

Reported-by: Fabien Wernli
Signed-off-by: Viktor Tusa <tusavik@gmail.com>
dbparser: If there is no context, we should apply conditions as well for rules.
Merge pull request #278 from talien/f/riemann-skip-empty-fields

riemann: Skip empty fields
main: do not intialize control socket when only syntax-check is required

When syslog-ng is started for checking a config file,
control socket is "stolen" by the syntax-checker syslog-ng
from a previously started syslog-ng.

References: #276

Signed-off-by: Budai Laszlo <Laszlo.Budai@balabit.com>
patterndb,test: Fixed checking on message values.
patterndb,test: Added test rule and test case for conditions when no context present.
logpipe: do not reset config when pipe is deinited

There are two kind of initialization around log_pipes.

One is log_pipe_init_instance(), a kind of constructor, which is
called only once, when the object is constructed.

And there is log_pipe_init() (and its corresponding pair, log_pipe_deinit())
which could be called several times on a construced object (eg.:during reload).

Config is set by log_pipe_init_instance() but reset is called by
log_pipe_deinit().

During reload we already have a constructed object in deinited state
(config is set to NULL after deinit). When we call init() on such an object
it will cause seg.fault because config is NULL.

Signed-off-by: Budai Laszlo <Laszlo.Budai@balabit.com>
patterndb,test: Fixed test for calculating context-length.

This test is a tricky one. When we have a rule and a corresponding context,
and an action attached to the rule which emits a new message,
when the fields of the new message is set, the message will be temporary
part of this context. So when we use the context-length template function
in a message which is currently emitted, the actual context length
will be one message larger than you expect.
Merge pull request #282 from lbudai/3.6/cfg-reload-sigsegv

logpipe: do not reset config when pipe is deinited
Merge pull request #279 from algernon/h/3.6/riemann/exclude-properties

riemann: Always exclude attributes that conflict with properties
Merge pull request #280 from talien/f/patterndb-condition-fix

dbparser: If there is no context, we should apply conditions as well for...
Merge pull request #277 from lbudai/3.6/rcbugs

main: do not intialize mainloop when only syntax-check is required
Preparations for syslog-ng 3.6.0rc2

Bumped the version in VERSION, and added noteworthy changes to NEWS.md.

Signed-off-by: Budai Laszlo <Laszlo.Budai@balabit.com>
Added final NEWS file for 3.6.

Signed-off-by: Viktor Tusa <tusa@balabit.hu>
Preparations for syslog-ng 3.6.1

Signed-off-by: Budai Laszlo <Laszlo.Budai@balabit.com>
loggen: add --permanent (-T) parameter to send logs indefinitely