commit dea0b2a11bffe1877ec10d29279fbb0f635d70e7
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed Jan 30 16:58:55 2013 +0100

    Preparations for 3.4.1.
    
    NEWS & VERSION updated for 3.4.1.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 31d93f775d39bad00e5fba7a4ddc10c706a18753
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 29 13:22:30 2013 +0100

    logrewrite: Fix the template reference counting
    
    In case of the subst() and set() rewrite statements, when the
    implementation was changed to pass a template to the constructor
    instead of a string, the free() remained in the parser. While that was
    supposed to free a string allocated by the parser, after the change,
    that free'd the template that we had stored in the rewrite struct
    itself.
    
    To correct the issue, both the subst() and set() constructors will ref
    the template, and the parser-side will unref it, instead of free()ing
    it up.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 077c669c2dcca7b7323e7a42dcaba94755d3bc23
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 26 13:53:22 2013 +0100

    logrewrite: fix rewrite set/subst related segfault
    
    If a set/rewrite operation is referenced from multiple locations, and
    it uses template functions, a segfault has occurred, as the clone
    operation didn't properly propagate the associated configuration object,
    which rendered template->cfg to be NULL, which in turn caused
    template-function lookup code to dereference a NULL pointer.
    
    This was fixed by two dependent changes:
      - always passing the already-compiled LogTemplate to the rewrite
        operations instead of a string constant.
      - reusing the compiled template object in clone()
    
    Since LogTemplate is reused, and the first one contains a proper reference
    to the appropriate configuration object, the NULL deref issue was
    solved too.
    
    Reported-By: Johnson, Chris <chris.johnson3@hp.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c5775b689720c811905ebf55ee07f16773126215
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Tue Jan 22 13:36:53 2013 +0100

    affile: Restore fsync & flush-lines functionality
    
    Back in May, in 101cb379, which moved fsync() from logtransport to
    logproto, a new argument for log_proto_file_writer_new() was
    introduced, but when updating the call sites, the flush_lines and
    fsync arguments were mixed up.
    
    This corrects that, restoring both flush-lines() and fsync()
    functionality for the file destination.
    
    Reported-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 84330674f51de8cb7e09672e9375f3e1eb342032
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Fri Jan 18 17:17:59 2013 +0100

    patterndb: Allow a wider range of characters in a class value
    
    Allow a wider range of characters in a class value. To the already
    existing list, the following were added (both pdb3 and pdb4): "%",
    ":", "@", "+", "!", "^", "/" and "\". This should hopefully cover most
    - if not all - the usual suspects.
    
    Requested-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 1f2ff45d2a9d084c33df7906fe5266fa38b8fd1d
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jan 17 14:33:56 2013 +0100

    dbparser: Wrap LogMessage into a PDBInput properly
    
    Instead of creating a local PDBInput structure from within the
    PDB_INPUT_MESSAGE macro, force using an existing variable instead, so
    the code is correctly compiled even with -O3.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 533cf59d01986a121a3a2eec02b6a091dabdfacc
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jan 17 12:40:08 2013 +0100

    Preparations for 3.4.0rc2
    
    NEWS & VERSION updated to 3.4.0rc2.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 60a639d5614897c12ea593bea02eb4627b92ea11
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 17 12:19:08 2013 +0100

    dbparser: Implement a template() option for the parser
    
    Similar to the csv-parser(), this patch makes dbparser() accept a
    template() option, that can be used to tell the parser what to parse
    instead of the MESSAGE part (which it does by default).
    
    This allows one to conveniently chain parsers together, assembling one
    parser's output into an input template for another, without the need
    for complicated rewrites:
    
    ,----
    | parser p_step1 {
    |  csv-parser(columns("timestamp", "host", "app", "instance", "session", "message"));
    | };
    |
    | parser p_step2 {
    |  db-parser(file("etc/patterndb.d/step2.xml")
    |            template("${session}: ${message}"));
    | };
    |
    | log {
    |   source(...);
    |   parser(p_step1);
    |   parser(p_step2);
    |   destination(...);
    | };
    `----
    
    This patch makes this config work, so that the db-parser() will
    operate on the given template, instead of $MESSAGE.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b6f37d4a8e08d3da5aaf6a9632a6c767183f88f2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jan 17 11:24:29 2013 +0100

    dbparser: fix LLADDR parser
    
    The LLADDR parser required that the exact number of components were
    present and got the parts/count values backwards.
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-Off-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 81850bf2978a07b7be29392bd7402dbb74ec8cfe
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 15 14:55:11 2013 +0100

    lib/ivykis: Update to latest stable-v0.36
    
    To make the syslog-ng make dist tarball usable, we need an embedded
    ivykis version that has a working make dist. To do this, update the
    embedded submodule to the latest commit in stable-v0.36, that fixes
    these issues.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0f502771095e999dc362af14a0cdf6c7839b9791
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Sat Jan 12 17:54:56 2013 +0100

    dbparser: Make tests work with --with-embedded-crypto
    
    When adding support for --with-embedded-crypto, dbparser/tests were
    overlooked, and they still relied on libsyslog-ng-crypto being
    available. It should've been migrated to CRYPTO_LIBS too, which is
    done now.
    
    Reported-by: Jose Pedro Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 2b453e1e9164c5a9b290cefa1c8356b2740fa63e
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Sat Jan 12 17:39:42 2013 +0100

    afamqp: Really do not build the module if amqp is disabled
    
    Move the module_LTLIBRARIES declaration inside the ENABLE_AMQP, so
    that we don't build an empty shared object when we wanted to disable
    amqp completely instead.
    
    Reported-by: Jose Pedro Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit bd2d4a72d0e97146715c75d625d057e8c37fadc9
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Sat Jan 12 12:20:59 2013 +0100

    Follow up on ivykis changes
    
    Between ivykis 0.30 and 0.36 a couple of reorganisations were made,
    which needed followups on the syslog-ng side. These are those
    folloups:
    
     * ivykis/lib and ivykis/modules were merged into ivykis/src
     * there is no top-level libivykis.la, it is under src now
     * ivykis/lib/iv_main.c was split, we'll check for
       ivykis/src/iv_main_posix.c now, as that is 0.36 specific, thus
       enforcing that the bundled ivykis is of appropriate version too.
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit c4676e47caada1880f24156015bce47f3ca6022f
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Fri Jan 11 23:21:03 2013 +0100

    Bump ivykis requirement to 0.36.1
    
    To pull in new platform support, bugfixes, and for a whole lot of
    other reasons, bump the ivykis dependency to 0.36.1, and update the
    submodule to that version aswell.
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit def6462e90335dd9b8114cc434cdde68784bf703
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jan 11 12:15:19 2013 +0100

    configure: Properly support disabling AMQP
    
    Tie --disable-amqp and --without-librabbitmq-client together: if
    either is set, disable the other too, and in both cases, clear
    LIBRABBITMQ_SUBDIRS.
    
    This means that disabling AMQP will neither build the module, nor will
    it recurse into modules/afamqp/librabbitmq-client.
    
    Reported-by: Jose Pedro Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 4246bcc2f52d11323d574b2f484a03c830db58ce
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed Jan 9 11:30:16 2013 +0100

    NEWS: Added 3.4.0beta1 credits
    
    Credits were added to the announcement that went out, but NEWS was not
    updated. Copied the credits over from the mail.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b38cf92d209a0b8e002616364c9959ee4b6c8c5f
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Fri Jan 4 17:01:58 2013 +0100

    Preparations for 3.4.0rc1
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit aa86722473ada45e05d7710ffa0737749da3322a
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Sat Dec 22 10:51:01 2012 +0100

    Make it possible to link crypto stuff directly into libsyslog-ng
    
    There's been a long desire to be able to link libsyslog-ng-crypto
    directly into libsyslog-ng, if so desired. To accomplish that, we
    introduce a --with-embedded-crypto option to configure, which in turn
    produces a WITH_EMBEDDED_CRYPTO automake conditional.
    
    If that conditional is set, then the sources of libsyslog-ng-crypto
    get appended to the libsyslog-ng sources, and -crypto is not built. In
    the non-embedded case CRYPTO_LIBS will be set to
    ${top_builddir}/lib/libsyslog-ng-crypto.la, otherwise it will be
    empty. All users of the -crypto module (afsocket, dbparser &
    cryptofuns) have been updated to use $(CRYPTO_LIBS) instead of
    hard-coding libsyslog-ng-crypto.la.
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 62e62fa4ec7acf3f5fe2f87362bae88fce28e7e2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jan 3 18:51:53 2013 +0100

    travis: Simplify the config
    
    We only need one apt-get install line, and no template for the IRC
    notifications, the default is good enough.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1e8f5ffa76c38189006a6e82e38b5cdfa472e90b
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jan 3 18:48:29 2013 +0100

    configure: Add support for GeoIP without pkg-config
    
    If libgeoip is installed without a pkg-config data file, then fall
    back to GEOIP_LIBS and GEOIP_CFLAGS, if set.
    
    On systems that do not have the pkg-config data file for libgeoip,
    running configure with GEOIP_LIBS and GEOIP_CFLAGS appropriately set,
    along with --with-geoip, will enable the module.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6c1f62cea66dc8a04bac60b6085726edfc46f031
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Sat Dec 22 11:19:56 2012 +0100

    syslog-ng-ctl: Fix the linking with modern libtool
    
    The Makefile.am for syslog-ng-ctl relied on lib/gsocket.c and
    lib/gsockaddr.c getting compiled to gsocket.lo and gsockaddr.lo,
    respectively. This is not always the case, sometimes the library name
    gets prepended.
    
    To work around this, add the two source files to syslog_ng_ctl_SOURCES
    instead. This way, they'll get compiled again, but the result will
    always work, and not rely on fragile convention.
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit ce4098682d4794ce6a83a00904bf5978bf9bc121
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Dec 20 15:31:39 2012 +0100

    cfg: Fix cfg_is_config_version_older()
    
    The function was given a configuration in the cfg argument, tested
    that for NULL, but then used the global 'configuration' variable to
    compute the config version.
    
    It is very easily possible that the global configuration is NULL, but
    cfg isn't, which in this case, led to a segmentation fault.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1661326fb255504e8e1d55dfa38e4e4c54fce155
Merge: 6181f78 45eaaae
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Fri Jan 4 10:08:22 2013 +0100

    Merge branch 'upstream/mirror/3.3' into 'merge-queue/3.4'
    
    Conflicts:
    	lib/Makefile.am
    	lib/plugin.c

commit 45eaaae93a98aaad163b8f6cdb6d5df026d90baf
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Sat Dec 22 10:51:01 2012 +0100

    Make it possible to link crypto stuff directly into libsyslog-ng
    
    There's been a long desire to be able to link libsyslog-ng-crypto
    directly into libsyslog-ng, if so desired. To accomplish that, we
    introduce a --with-embedded-crypto option to configure, which in turn
    produces a WITH_EMBEDDED_CRYPTO automake conditional.
    
    If that conditional is set, then the sources of libsyslog-ng-crypto
    get appended to the libsyslog-ng sources, and -crypto is not
    built. All users of the -crypto module (afsocket) have been updated to
    not try and link in libsyslog-ng-crypto if WITH_EMBEDDED_CRYPTO is
    set.
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 91a221c29a8c88ded4bbbc7e0c68faa2484bc945
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jan 3 18:51:53 2013 +0100

    travis: Simplify the config
    
    We don't need a template for the IRC notifications, the default is
    good enough.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit df6d07e6489e30b4eaa7ca53f444106962f8ac55
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jan 3 17:32:49 2013 +0100

    afsocket: Update sd-daemon.* to systemd 44's version
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 519d2111bb957f787ecc0feb45666e0d46eefd22
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Tue Nov 15 10:27:09 2011 +0100

    [plugin.c] on AIX 5.2 the G_MODULE_SUFFIX contains "so" and the available modules will be empty
    
    correction is that overwrite this define to "a"
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>

commit 4244bbf1e95e3c6fecc83d868e9bcece04223ddd
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Dec 20 14:19:55 2012 +0100

    afsocket: Force syslog() destination to use IPv4
    
    The syslog() source already enforces IPv4, the destination should be
    doing the same.
    
    Reported-by: Jan Schaumann <jschauma@netmeister.org>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8d02242c132cccb587ed03e8e3908ca67e244346
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Dec 20 14:06:41 2012 +0100

    cfg-lexer: Support systems without GLOB_NOMAGIC
    
    GLOB_NOMAGIC is a GNU-ism, and not present on all systems syslog-ng
    supports, so for those system, we need a workaround. We can't use
    GLOB_NOCHECK, as that would make us have widly different behaviour in
    some cases (when there really is a pattern in the @include'd filename).
    
    So, on platforms that do not have GLOB_NOMAGIC, we implement the same
    behaviour on our own: if glob() failed with GLOB_NOMATCH, we check if
    the filename is a pattern, and if not, add the pattern to the include
    list as-is, otherwise silently ignore it.
    
    This means that @include "/etc/syslog-ng/conf.d/*.conf" will work on
    these platforms the same way as it does on GNU-enabled ones.
    
    Reported-by: Ben Lentz <blentz@cswg.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 92c3dd3b35badf1d866961cafb57dee3b5cc8abb
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Dec 20 13:21:00 2012 +0100

    mainloop: #include <iv_event.h>, as we're using it
    
    Reported-by: Ben Lentz <blentz@cswg.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6181f78386c01c9bdc94bb1afb9b0ea5ce07b221
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 19 10:49:36 2012 +0100

    tgz2build/rules: disable amqp and rabbitmq from the build
    
    Since my test build environment is Debian etch based, rabbitmq doesn't
    build as it needs a newer Python. Disable it for now.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 23ae67aa81b1b37572334d31b0c4015314d38049
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 19 10:48:59 2012 +0100

    test_logproto: use the canonical names for utf8 and ucs4
    
    Since our build environments were pruned to the least amount of stuff,
    the aliases for utf-8 are not recognized. Change the character names
    to "utf-8" and "ucs-4", these work without the aliases being available.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 06a46ba5d4ad9d30b0c30c3b6588212c95ba7448
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 19 10:47:37 2012 +0100

    dbparser: added basicfuncs as a dlpreload module to the unit tests
    
    Since $(context-length) is now being used by the dbparser unit tests,
    and otherwise the unit tests wouldn't be able to run in a non-installed
    environment.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e8a68b29131983bf3d0764720774f09d05107d64
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 19 10:46:55 2012 +0100

    configure.in: fixed --with-librabbitmq-client option to match shell variable name
    
    The name of the option was incorrectly given, causing the shell variable
    that contains the command line value to be unset even if the option
    was specified in the configure command line.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 11b20b28f7586b2bf10c281328f28d93f39e279c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 14 17:54:39 2012 +0100

    resolve_sockaddr: fixed unsafe use of non-reentrant APIs to resolve IP addresses to names
    
    As it seems the use of the DNS cache hid the fact that we're not thread
    safe when resolving IPs to DNS names. This patch attempts to use
    getnameinfo() API if available that is thread safe and protects
    all other paths with a mutex.
    
    Reported-By: Brian Kroth <bpkroth@gmail.com>
    Tested-By: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 46c1c580f8c11dc842d1ca9bbae073f652dcec7d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 10 18:25:50 2012 -0800

    ivykis: updated to 0.30.5

commit 33efb59899c5eeda26f97e971c0f9fe9118b720b
Author: Balint Kovacs <blint@blint.hu>
Date:   Mon Dec 10 09:58:12 2012 +0100

    pdbtool: fix a double increment within a loop
    
    When displaying debug-csv information, the loop variable was not
    only incremented in the for statement, but also within the loop, which
    caused an index mismatch when iterating over the dbg_info array
    
    Signed-off-by: Balint Kovacs <blint@blint.hu>

commit b349581c14ac6fa119f847f226d1f7eeb08d89a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 15 19:04:16 2012 +0100

    csvparser, basicfuncs, cryptofuncs: compile the module first, and then recurse into tests
    
    Fixes build when make check is invoked in a pristine build directory.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3bcf7c60a5474e0a68c854ec82e6d3107ff3b60a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 15 12:39:33 2012 +0100

    modules/Makefile.am: move syslogformat to the beginning of the list of compiled modules
    
    Because other modules depending on it would not compile (such as csvparser unit test).
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f03f2e5c35b5f2b842209bc0837828ce0fe66c72
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 15 12:31:15 2012 +0100

    preparations for 3.4.0beta1

commit a1804be6988e911823205c0c5fff5b702852e1f5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 15 12:30:20 2012 +0100

    afsocket: fixed compilation error on FreeBSD with spoof-source enabled
    
    Don't define libnet_t as a typedef as that clashes the definition from
    libnet.h. Use a non-type reference and a forward struct declaration instead.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2d05ec6625dd1bb76642dc12fc601d9fa2cb86dc
Merge: 770251b 200e554
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 15 02:10:45 2012 +0100

    Merge remote-tracking branch '3.3/master'
    
    Conflicts:
    	.travis.yml
    	NEWS
    	VERSION
    	lib/logwriter.c
    	lib/messages.h
    	modules/dbparser/tests/test_patterndb.c
    	scl/system/generate-system-source.sh

commit 770251b2b5488f6dce26706cebba9831a73f6d36
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 14 17:54:39 2012 +0100

    resolve_sockaddr: fixed unsafe use of non-reentrant APIs to resolve IP addresses to names
    
    As it seems the use of the DNS cache hid the fact that we're not thread
    safe when resolving IPs to DNS names. This patch attempts to use
    getnameinfo() API if available that is thread safe and protects
    all other paths with a mutex.
    
    Reported-By: Brian Kroth <bpkroth@gmail.com>
    Tested-By: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a15b503a9f88d0f1885ef450282354418f12bae7
Author: Balint Kovacs <blint@blint.hu>
Date:   Mon Dec 10 09:58:12 2012 +0100

    pdbtool: fix a double increment within a loop
    
    When displaying debug-csv information, the loop variable was not
    only incremented in the for statement, but also within the loop, which
    caused an index mismatch when iterating over the dbg_info array
    
    Signed-off-by: Balint Kovacs <blint@blint.hu>

commit d4cafb3b3afe014064af6bdc425a0c4560f1440e
Author: Balint Kovacs <blint@blint.hu>
Date:   Mon Dec 10 09:58:11 2012 +0100

    pdbtool: match with supplied message did not perform processing
    
    Under some circumstances pdbtool match did not process the message
    if it was provided on the command line due to a regression introduced
    as part of a LogProto refactoring (2d0fb042)
    
    Signed-off-by: Balint Kovacs <blint@blint.hu>

commit 45599e0e5a31144cea1812b56601738aefae7f0c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 11 07:54:08 2012 +0100

    syslog-ng.conf: bump version to 3.4

commit 06fe6ea00df758fef6060931eb3f560039a86bf5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 10 18:25:50 2012 -0800

    ivykis: updated to 0.30.5

commit fded992aa2514cced657006bde189f19ed68b525
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Dec 7 16:23:54 2012 +0100

    afamqp: Include rabbitmq-c/configure.gnu in the tarball
    
    In order to install cleanly with an internal rabbitmq-c, we need that
    library to be compiled in statically, which is what the configure.gnu
    script (installed via autogen.sh from git) enforces.
    
    However, since configure.gnu is not part of rabbitmq-c, its make dist
    will not include it, so its parent must do that. For this reason, and
    similarly to how the same file is handled elsewhere, include
    rabbitmq-c/configure.gnu in the EXTRA_DIST of afamqp/Makefile.am.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 51d3f00121e4269874d9021e716e519b0f8fe11b
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Dec 7 13:55:32 2012 +0100

    afsocket: Add an ip-protocol() option for the network driver
    
    To make it easy to set up IPv6 sources or destinations, the network()
    driver should have an option to select the IP protocol. This patch
    does just that, in the form of an ip-protocol() option, which allows
    one to select either IPv4 or IPv6.
    
    In the end, this allows us to have a source as follows:
    
    source s_v6_syslog {
      network(port(12345)
              transport(framed)
              ip-protocol(6));
    };
    
    The option is available for both the source and destination version of
    network().
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit d2df2e1eadffaff884ed95fb03372367a794bdff
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Dec 7 12:48:21 2012 +0100

    syslogformat: Include all necessary files in the dist tarball
    
    A few files were missing from the make dist tarball, leaing to
    distcheck and building from source failing. This patch fixes the
    Makefile to include these previously missing files.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 200e5546d0c3209b4eaf47ba6fc6b73d269a3cf4
Author: Balint Kovacs <blint@blint.hu>
Date:   Mon Dec 3 12:43:19 2012 +0100

    fix a missing XML semantic check in PDBLoader
    
    pattnerndb has failed to check if we are within a rule when trying to
    add tags and values, so a patterndb xml containing these elements
    outside of a rule element would cause syslog-ng (and pdbtool) to
    segfault
    
    Signed-off-by: Balint Kovacs <blint@blint.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit eec05cc33635df0380e748dedc70b95dddaba374
Author: Balint Kovacs <blint@blint.hu>
Date:   Mon Dec 3 12:43:19 2012 +0100

    fix a missing XML semantic check in PDBLoader
    
    pattnerndb has failed to check if we are within a rule when trying to
    add tags and values, so a patterndb xml containing these elements
    outside of a rule element would cause syslog-ng (and pdbtool) to
    segfault
    
    Signed-off-by: Balint Kovacs <blint@blint.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8a38902fe07d46c4fefbae029572f22bb840f10b
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 22 15:35:28 2012 +0100

    reader/writer start-watches code simplification
    
    Rearrange and simplify the pollable_state logic, so that it is easier
    to follow.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 3475182cc00d5944c957aa6c991df587ff26df40
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 22 15:30:16 2012 +0100

    logreader: Error out when follow-freq is 0, and fd is not pollable
    
    In case an FD is not pollable, but follow-freq is 0, error out,
    instead of silently not doing anything.
    
    This is accomplished by breaking out the if (self->pollable_state ==
    0) branch out of the big if/else chain, and making it a mandatory step
    in the end.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 3095faa2d585624fac3041bcbadd7872f1d4d789
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed Nov 21 11:33:38 2012 +0100

    dbparser: Make the context length available to action conditions
    
    It was quite unintuitive to determine if a previous message exists in
    the corellation context as the basis of the decision whether an action
    should be run or not. This patch implements a $(context-length)
    template function that returns the number of messages within a
    corellation context, and can be used in the condition of an action.
    
    This way it is easy to determine if a context contains sufficient
    amount of messages for the event to be complete and run a different
    action if it is not, e.g. if 2 messages are needed for an event, this
    should emit an event message if there are enough messages and an error
    message if not.
    
     <actions>
      <action condition='"$(context-length)" >= "2"'>
       <message>
        <values>
         <value name="PROGRAM">event</value>
         <value name="MESSAGE">Hello event!</value>
        </values>
       </message>
      </action>
      <action condition='"$(context-length)" < "2"'>
       <message>
        <values>
         <value name="PROGRAM">error</value>
         <value name="MESSAGE">Hello error!</value>
        </values>
       </message>
      </action>
     </actions>
    
    (Based on a patch from Balint Kovacs <blint@blint.hu>, and
    suggestsions from Balazs Scheidler <bazsi@balabit.hu>)
    
    Requested-by: Balint Kovacs <blint@blint.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e97df0f0aaef3973b35e01820b15e499dd229b28
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Nov 9 14:13:01 2012 +0100

    system-source: Use follow-freq(1) on FreeBSD prior to 9.1
    
    FreeBSD prior to 9.1 does not have a kqueue-pollable /dev/klog, so
    syslog-ng would fall back to using timers, except that follow-freq()
    is explicitly set to zero, also diabling timer-based polling. This has
    the effect of making syslog-ng not read from /dev/klog at all.
    
    To work around the issue, on FreeBSD prior to 9.1, use follow-freq(1)
    for /dev/klog when using the system() source.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 757d22109ffa7df4f3a23159e8fa467746c26f78
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 2 10:03:45 2012 +0100

    afsocket: handle unknown transport errors during initialization
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9fed2310546e17e6074c105e248c677a4f41fdb1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 2 09:53:50 2012 +0100

    func_test: added tests for network() source
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5a80e09ca25efdbf3f3599a58d660412950ea4ef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 2 09:51:56 2012 +0100

    network(): added new network source and destination drivers
    
    This patch implements both source and destination drivers called
    "network()", which encapsulates the previous tcp() and udp() drivers. The
    advantage of using network() over tcp/udp is that it separates the message
    format from the transport being used.
    
    The transport can be specified using the transport() parameter (akin to
    syslog()), the newly introduced plugin support for pluggable transport
    mechanisms become available this way.
    
    The message format defaults to traditional BSD syslog, but can
    completely be customized using the template() option.
    
    Here's a sample network source:
    
    source s_network {
    	network(port(2000) transport(udp));
    };
    
    Destination:
    
    destination d_network {
    	network("hostname" port(2000) transport(framed));
    };
    
    As you can see it is possible to use the new-style RFC5425 framing with
    whatever (e.g. BSD or custom template formatted) message contents.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5275d8bf337d4ef741278b7c727a0a15a91135c2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 1 20:44:22 2012 +0100

    logproto-builtins: register the client side for "dgram"
    
    We don't do anything special on the LogProto level when dgram client is
    being used, however for the sake of symmetry and to make the logic
    that determines which plugin to use, also register that, for the time being
    it is equivalent to LogProtoTextClient.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8cc535f77b0511497dfdaa6ada80ef2278ab4ee9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 20 20:59:27 2012 +0100

    network(): added grammar skeleton and plugin registration
    
    This patch lays the foundation for the upcoming network source/destination.
    It currently only introduces the rules in the grammar, registers the
    network keyword and the network plugins.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3fc709c9fa76d8184506481b930521e065978695
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 1 20:28:23 2012 +0100

    afsocket: move the transport() option of the syslog driver into a separate rule in the grammar
    
    In order to make it usable from the upcoming network() source destination,
    dedicate a new rule to KW_TRANSPORT rules.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f26b7148f54212246e0d8e7d281b4e07af97b06f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 29 19:47:15 2012 +0100

    afsocket: get rid of the "flags" member for AFSocket{Source,Dest}Driver
    
    This patch removes the ugly "flags" member and its complicated initialization
    in constructors, rather the code now uses booleans which is easier
    to follow.
    
    Also separate constructors were added for the syslog() driver case, in
    addition to tcp() and udp().
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4163872d268e96273ba9d1f391e12a1932cc51a8
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 22 15:35:28 2012 +0100

    reader/writer start-watches code simplification
    
    Rearrange and simplify the pollable_state logic, so that it is easier
    to follow.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e894b94610e6e441bb5adb18663adc6816be7c7a
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 22 15:30:16 2012 +0100

    logreader: Error out when follow-freq is 0, and fd is not pollable
    
    In case an FD is not pollable, but follow-freq is 0, error out,
    instead of silently not doing anything.
    
    This is accomplished by breaking out the if (self->pollable_state ==
    0) branch out of the big if/else chain, and making it a mandatory step
    in the end.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1edffccfe83850dc134219a9110078d13508e78a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 20 20:55:10 2012 +0100

    afsocket-grammar: split {source,dest}_afsocket
    
    Instead of using an indirect rule for unix/inet sources destinations,
    propagate them to the top-level, just like syslog (and the future
    network source/destination)
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cb07caffcd57170ecf77eae31c35aade6d4a05b2
Author: Balint Kovacs <blint@blint.hu>
Date:   Fri Nov 9 15:28:20 2012 +0100

    dbparser: support inheriting properties in a corellation action
    
    This patch implements an inherit-properties attribute for message type
    actions is patterndb correlation. In case this is set to TRUE, the
    triggering log message is cloned and all name-value pairs (including
    tags) are automagically copied to the emitted message. The values set
    in the values XML subtree overwrite the original values. In case it is
    set to FALSE or unspecified, a new message is generated and only the
    values set manually are added to it.
    
       <actions>
         <action>
           <message inherit-properties='TRUE'>
             <values>
               <value name="PROGRAM">my-program-name</value>
               <value name="MSG">Hello new message!</value>
               <value name="contextid">${session-id}@2</value>
             </values>
           </message>
         </action>
       </actions>
    
    Signed-off-by: Balint Kovacs <blint@blint.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1050a5b0371f7d6a1d287b6b742b4811b11e60ac
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 15 12:53:23 2012 +0100

    Use value-pairs transformations in mongodb and format-json
    
    For both mongodb and json, leading dots are not allowed on key
    names. The mongodb destination had a guard against this, and replaced
    leading dots with an underscore, format-json did not.
    
    With this patch, both will forcibly add a value-pair key
    transformation that replaces the first leading dot. This covers the
    most common cases, but makes the mongodb destination vulnerable to
    keys like ".foo..bar". However, it is not the purpose of the driver to
    guard against corner cases.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit cacf855fe38cbd3a549f7b94ab99c0e396ec2247
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 15 12:30:26 2012 +0100

    value-pairs: Support rekey outside of key()
    
    There are situations where one would like to apply transformations to
    keys selected by the scope, without having to re-list the selected
    keys in the config (such as default transformations for mongodb and
    format-json). For this to work, we need to be able to use rekey
    outside of key(), so that the pattern given to rekey will not be
    explicitly added to the set.
    
    In other words, this allows us to write transformations that work on
    the already assembled set, without adding new elements to it.
    
    For the command-line variant, this is done with the new --rekey
    option, which is exactly like --key, except it does not add the
    pattern to the set.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 77e1eaf9e00acd10d949a397f7ccaf20430c9cb8
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Nov 10 13:09:37 2012 +0100

    Improved silent-rules support
    
    This adds a few harmless things to the lex/yacc and doc building
    rules, so their output will be shortened when using V=0. The variables
    have no effect when using an automake that does not support
    silent-rules, so it's completely backwards compatible.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 9eb524ced170d4cf5b7189bf06cf99d6e43a1717
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Nov 10 11:41:15 2012 +0100

    ivykis: Update to the latest 0.30 stable
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 403f91b28808346db72ec3d30939d1eec9222935
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Nov 9 10:35:58 2012 +0100

    plugin: Fix a minor memory leak in plugin_list_modules()
    
    When listing modules, the configuration was not used anywhere: it was
    just allocated and never free'd.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit bf57502535110061cbb2a2a4d24b5968dc00252f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Nov 9 10:24:42 2012 +0100

    Silence a few warnings
    
    A couple of files were using strlen(), memcmp() and similar things
    from <string.h> without explicitly including it, and the gcc on
    FreeBSD9 complained about that - lets silence that by explicitly
    including said header. While there, also add other missing include
    statements.
    
    Furthermore, a few mismatched prototype warnings, unused variables and
    other minor things were cleaned up aswell.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ae94298f37d824f28394a11259310dd5354c9303
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Nov 9 10:11:57 2012 +0100

    configure: Support silent rules, if available
    
    Building with silent rules enabled has the advantage of producing
    shorter output, and making warnings and other anomalies stand out
    better. Building verbosely is still the default, but silent rules can
    now be turned on by passing V=0 to make.
    
    Silent rules support is only available if using a recent enough
    automake to build the makefiles.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 82b09cc75d8d844668eb7ca8e8215c4276bcb54a
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Oct 19 17:47:40 2012 +0200

    tfgeoip: $(geoip) template function
    
    This implements a $(geoip) template function using libgeoip, based on
    a patch from Csaba Major. The function can be used to look up the
    2-letter country code of any IPv4 address or host passed to the function.
    
    Currently only the 2-letter codes are supported, and only from the
    default database, and only for IPv4 addresses (or hosts). Adding
    further functionality can be done on demand, however.
    
    Signed-off-by: Csaba Major <csaba.major@balabit.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 670be638bf89e816f03aa889b5198ccd38b83260
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 8 14:49:44 2012 +0100

    Major copyright & license fixups
    
    Update all the copyright years in pretty much any file touched in the
    past 2-2.5 years, and clarify the licensing situation:
    
    lib/ is LGPL2.1+, modules/ is GPL2+, both with an OpenSSL
    exception. Updated the top-level COPYING file to reflect the changed
    paths too, and LGPL.txt was replaced with the text of LGPL 2.1
    (instead of LGPL 3, when the sources were under 2.1+).
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f4ae7681cdf39c2e663efdd547b8ade232033f84
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Nov 8 12:58:44 2012 +0100

    system-source: Use so_rcvbuf(8192) on Linux
    
    Some Linux kernel messages are particularly long (iscsi, for example),
    so in order to not get garbage out, we need to increase the socket
    buffer size, and 8k is big enough for now.
    
    Reported-by: shih dane <daneshih1125@gmail.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 915661388afb577f5d0b0172f47258914fc38d3f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Nov 9 14:20:17 2012 +0100

    system(): Use follow-freq(1) on FreeBSD prior to 9.1
    
    FreeBSD prior to 9.1 does not have a kqueue-pollable /dev/klog, so
    syslog-ng would fall back to using timers, except that follow-freq()
    is explicitly set to zero, also diabling timer-based polling. This has
    the effect of making syslog-ng not read from /dev/klog at all.
    
    To work around the issue, on FreeBSD prior to 9.1, use follow-freq(1)
    for /dev/klog when using the system() source.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 4bfa03bc222408e2456dadcc9e6a7791f667b609
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 1 09:44:17 2012 +0100

    afprog: introduce afprogram_sd_kill_child for symmetry with the destination driver
    
    This patch factors out the code to kill the child process into a separate
    method so it becomes more in-line with the destination side.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 659609955cf7a28c48e9c484fb43dcda901954e4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 1 09:43:17 2012 +0100

    afprog: eliminate code duplication by introducing afprogram_dd_kill_child() function
    
    This patch moves the code to kill the child process into a separate method.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2fa9cd47bed0e7f72fa061c30f4d59bfb13437c3
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Oct 30 17:45:15 2012 +0100

    Preparations for 3.3.7
    
    VERSION updated to 3.3.7.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 5d35f1d13afa46c75ce9f1f9c366a9afee812564
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Oct 28 16:32:25 2012 +0100

    NEWS: Merge the 3.3.7 RCs, and start finalising the release.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6a3c11c15fcddc49cd35c88e003d6fc40cc8c2bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 28 10:25:16 2012 +0100

    messages.h: check positive feedback loop for debug/trace messages too
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 045f3d5328601979f4a1f61aed0fb74fd786634f
Merge: f261966 7ba4564
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 28 13:46:51 2012 +0100

    Merge remote-tracking branch 'algernon/merge-queue/3.4'

commit f26196618d4407f3bb574ea991b36c920fb09c19
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 28 13:04:41 2012 +0100

    messages: only allow a single level of recursions
    
    The code as originally written has permitted a configurable number
    of recursions to detect the positive feedback loop of internal messages.
    This feedback loop may happen when an internal() message triggers
    another internal() which in turn again and so on, effectively eating
    all the available system memory.
    
    Since we've used a single level of recursions anyway, this patch simplifies
    the related code and frees up 6 bits in the LogMessage structure.
    
    It also adds some more information into the suppression message, so it can
    be easier to understand.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d7fd9a401da09ab7d638257293c6fee0f9b8b35d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 28 13:04:35 2012 +0100

    messages: remove redirect_to_syslog functionality
    
    it was completely unused.

commit e756e45f9d51c7f301ba411fc76d25d532865a7a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 28 10:25:16 2012 +0100

    messages.h: check positive feedback loop for debug/trace messages too
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7ba456433f379974554292d9f7587a37ba70df60
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Oct 27 16:43:01 2012 +0200

    [dbparser] Implemented LLADDR parser
    
    The LLADDR parser will match Link Layer ADDResses of the form
    xx:xx:xx:...  where each xx is a 2 digit HEX number.  The parameter
    specifies the maximum number of octets to match and defaults to 20.
    
    The former MACADDR parser was changed to use LLADDR under the hood.
    
    Reported-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit a91eb2c18168a4d956c24be964eddaff11a29c21
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Oct 18 16:07:14 2012 +0200

    [dbparser] Implemented HOSTNAME parser
    
    The HOSTNAME parser will match compliant hostnames including trailing
    period.  This parser does not take any parameter.
    
    Reported-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 39a276dabc5ac8ea93af292e37c107b6b4085898
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Oct 18 15:54:28 2012 +0200

    [dbparser] Implemented EMAIL parser
    
    The EMAIL parser will match address. The parameter is a set of
    characters to strip from the front and the end of the e-mail address
    which allows for easy matching of <email@some.host> enclosed
    addresses. Characters that a valid for a hostname can not be stripped
    from the end of the hostname. This includes a trailing period if
    present.
    
    Reported-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1cc959bfddbea0d1813d16bc2b35a7bc45c9dfa5
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Oct 18 10:48:50 2012 +0200

    travis: Significant Travis CI control file updates
    
    To fix issues with uninstallable packages, and to follow the official
    recommendation, run apt-get update as part of the testing
    process. Also, to make testing more reliable, install into $HOME, so
    that we do not need sudo for running the tests.
    
    Furthermore, restrict the tested branches to a subset: master,
    upstream mirrors, the sandbox and merge-queue branches. While there,
    also enable IRC notifications.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b84f14c13263f34d0197930e3418f3cb5bf7d873
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Oct 27 14:38:04 2012 +0200

    cfg-lexer: During glob-based inclusion, only treat ENOENT specially
    
    When including files with glob-magic, treat all errors but ENOENT as
    fatal.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit cb6ad63ac72b02402ad33d0db7137d8e991a7a1d
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Oct 27 14:19:23 2012 +0200

    cfg-lexer: Handle no-magic includes better, without hiding errors
    
    When the @include pragma was converted to use glob(3), a couple of
    problematic cases stopped producing errors: if we had an @include
    without any magic, it still went through glob(3), which was set up to
    ignore errors (so that @include "/etc/syslog-ng/conf.d/" would work,
    even when the directory didn't exist).
    
    This hid errors, and made it possible even for explicit, glob-less
    @includes to fail silently, making debugging next to impossible.
    
    To fix this, glob() is now called with GLOB_NOMAGIC, so if the pattern
    does not contain any magic, it is returned anyway, whether it exists
    or not: and then, it will eventually be tried by the ordinary include
    mechanism, and produce a failure there, as it is appropriate.
    
    This way, @include "/foo/*" continues to work, and @include
    "/nothing.conf" will fail, as it should: errors are only ignored for
    inclusions that contain magic characters.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 103759b70e5a4d1dda30f900ffb0872704cdd080
Merge: 2419380 f7359d2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 27 14:15:00 2012 +0200

    Merge remote-tracking branch '3.3/master'
    
    Conflicts:
    	.travis.yml
    	NEWS
    	VERSION
    	lib/parser-expr-parser.c
    	lib/rewrite-expr-parser.c
    	modules/afsocket/afinet-source.h

commit 2419380ed39919eb2225771117d04a8280e427bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 27 07:15:13 2012 +0200

    syslog-parser: introduce the new syslog-parser() parser
    
    This patch creates a new parser, to explicitly parse messages as syslog
    messages. This can be used to selectively parse these messages based on
    some filters.
    
    Imagine this use-case:
    
    log {
            source {
                    udp(port(2000) flags(no-parse));
            };
            parser {
                    log {
                            junction {
                                    log {
                                            filter { netmask("127.0.0.1/32"); };
                                            parser { syslog-parser(); };
                                            flags(final);
                                    };
                                    log {
                                            filter { netmask("127.0.0.2/32"); };
                                            parser { csv-parser(columns("C1", "C2", "C3")); };
                                            flags(final);
                                    };
                            };
                    };
    
            };
            destination {
                    file("/home/bazsi/logs/qqq" template("$(format-json --key *)\n"));
            };
    };
    
    Messages from 127.0.0.1 will get parsed as syslog messages, while 127.0.0.2
    as a csv-parser() style messages.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 001c11fb88bd4ce68c668112678259fdc37e0f93
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 26 19:57:28 2012 +0200

    LogReader: separate msg-format related flags to a separate function
    
    Earlier msg_format related flags were parsed by log_reader_options_process_flag().
    Separate that to another function, so that it can be used independently
    from LogReader.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 15dd732d4f11b17620388eedf00a6608195e108e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 24 20:31:20 2012 +0200

    cfg-grammar: move common parser rules from csvparser plugin
    
    Earlier the only plugin that used these were the csvparser plugin, but
    now they make sense for syslog-parser() too
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bb27a31a5d66b0c754b7632053a2147b59e8ac96
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 24 20:29:23 2012 +0200

    cfg-grammar: reorganize rules so that msg_format related rules can be reused from plugins
    
    This patch introduces msg_format_option rule that can be referenced from
    plugin grammars to parse format specific options. This is going
    to be needed by the syslog-parser() plugin.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5f9cce2ccc57a976c71153c3e555fc6bacdd8913
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 24 20:27:58 2012 +0200

    LogParser: pass length argument to log_parser_process()
    
    Since a number of parsers require an explicit length (json-parser,
    and the future syslog-parser), it's useful to pass this information along,
    especially as we have it in log_parser_queue(). This can potentially
    save an strlen() on a potentially large chunk of data in the fastpath.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cc80b5fa7ab8af2e436891052821b344e6970fe4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 26 19:30:21 2012 +0200

    autogen.sh: trigger git submodule init even if only one of the submodules  wasn't yet initialized
    
    The recent introduction of the AMQP destination caused a bootstrap problem,
    as ivykis and libmongo-client was already bootstrapped in my tree, thus
    rabbitmq-c wasn't cloned properly.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f7f63aea04ce8a7556e40df4759c887996f3e0ad
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Oct 18 18:15:07 2012 +0200

    affile: Split into source and dest parts
    
    Similar to the afsocket splits, split affile into source and
    destination too, on the file level. We do keep affile-common, for
    affile_open_file() and a couple of constants.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit cf544b1fe5ff95846a33095ff052cf0a14ede2a9
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Oct 18 15:06:46 2012 +0200

    afamqp: Make the exchange declaration optional
    
    Do not declare the exchange by default, but allow turning this feature
    on via the exchange_declare(yes) configuration option.
    
    Signed-off-by: Attila Nagy <bra@fsn.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1c1009931a161084e9a8469fe6daee89dfd56490
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Oct 8 22:56:00 2012 +0200

    afamqp: Disable building with system librabbitmq for now
    
    There is no rabbitmq-c release yet that we can support yet, so for
    now, error out if the system version was requested.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit efdee1072316674459b354f58b7621d9d97be4da
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Oct 8 22:46:56 2012 +0200

    afamqp: New AMQP destination driver
    
    This driver implements an AMQP destination (based on the rabbitmq-c
    library), supporting persistence, all the exchange types, and uses a
    creative way to get messages accross: all the name-value pairs
    selected with the value-pairs() syntax will be sent as headers, while
    the message payload can be set with the body() option (empty by
    default).
    
    Most settings have sensible defaults, except for a few, noted below:
    
    @module afamqp
    destination d_amqp {
        amqp(
            vhost("/")
            host("127.0.0.1")
            port(5672)
            username("guest") # mandatory, no default
            password("guest") # mandatory, no default
            exchange("syslog")
            exchange_type("fanout")
            #routing_key("")
            #body("")
            persistent(yes)
            value-pairs(
                scope("selected-macros" "nv-pairs" "sdata")
            )
        );
    };
    
    Publishing the name-value pairs as headers makes it possible to use a
    headers exchange type and subscribe only to interesting log streams,
    in a much more flexible way than using the routing_key() option.
    
    The routing_key() and body() options can contain any template, they
    will be expanded before publication.
    
    Signed-off-by: Attila Nagy <bra@fsn.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f870f6c326cd5ea2b58e60edb1cdce5173e73ddf
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Oct 18 10:48:50 2012 +0200

    travis: Significant Travis CI control file updates
    
    To fix issues with uninstallable packages, and to follow the official
    recommendation, run apt-get update as part of the testing process (and
    also install libesmtp-dev). Also, to make testing more reliable,
    install into $HOME, so that we do not need sudo for running the tests.
    
    Furthermore, restrict the tested branches to a subset: master,
    upstream mirrors, the sandbox and merge-queue branches. While there,
    also enable IRC notifications.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b0c42b51c27f576a5a3ca9cec4ce27262a890f44
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Oct 13 19:26:52 2012 +0200

    json: The test should not depend on the environment's timezone
    
    The $(format-json) test was failing when a timezone was set in the
    environment that did not match the tests expectations.
    
    To fix this, explicitly set the timezone to UTC.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit db111f905718c9fb48db0f4a958805bcd0d9238c
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Oct 13 19:02:14 2012 +0200

    json-format: Unbreak $(format-json)
    
    The $(format-json) template function was misbehaving under certain
    conditions, namely where we had a sub-object, a simple value, and
    another object starting right after: in this case, no comma was placed
    between the simple value and the name of the new sub-object.
    
    The fix changes how comma placement is done completely: it is no
    longer a mix of prefix_data & user_data magic, but all state is kept
    in the user data, with the _obj_start(), _obj_end() and _value()
    functions setting it as appropriate:
    
    - When starting a new object, if we need a comma, we'll put one, and
      turn the comma flag off (the first item within an object won't need
      a comma).
    - When ending an object, we never add a comma, but the next item will
      need the comma flag set.
    - When adding a value, if the comma flag is set, we add one, and in
      the end, set the flag ourselves, as the next one will need a comma
      too.
    
    This is much simpler than the previous hackery, and also results in
    correct JSON in every situation.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 561de064e94ea34053eb8c8f4f9baf884c580050
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Oct 13 17:59:22 2012 +0200

    logsource: Fix host_override() and program_override()
    
    LogSourceOptions->program_override_len and ->host_override_len must be
    initialised to -1, otherwise host and program overrides will treat the
    value as a 0-length string, as automatic length calculation is only
    performed when these values are -1.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f93f83cc2a386c6a961606629c560f435cdeb609
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Oct 14 16:32:54 2012 +0200

    travis: Control file updates
    
    Restrict branch building to a subset of branches that matter (master,
    upstream mirrors and the sandbox), so that packaging branches and
    similar don't end up using resources and failed builds all over the
    place.
    
    While there, also request IRC notifications.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f7359d2702f83179283141b83bd7eb79504bf3f3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 14 12:30:24 2012 +0200

    fixed invalid declarations for bison generated yyparse() functions
    
    The new bison finally declares the yyparse() function in its header, which
    revealed a couple of invalid declarations in a couple of parsers.
    
    This patch fixes that.
    
    Reported-By: Conrad Hoffmann <ch@bitfehler.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 9f0d46794e5412ec34c9b5eb252c31c11096097a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 14 09:57:33 2012 +0200

    afunix: split into source/dest files
    
    To make the source code more navigable, separate the source/destination
    drivers into separate files.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bb099a7e41b0126cce172e52510287e019f06711
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 14 09:51:37 2012 +0200

    afinet: split into source/dest files
    
    To make the source code more navigable, separate the source/destination
    drivers into separate files.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 768073c667a04f64fdc75ec17aed62f60c12da75
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Oct 13 19:49:29 2012 +0200

    travis: Install under $HOME, to avoid permission issues
    
    Instead of using sudo to install, install to a directory under $HOME,
    so we don't run into permission problems when running the test suite.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e90f374cdade1bd89c47094d3ee1c66d98c88c25
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 17:40:40 2012 +0200

    afsocket: split afsocket into afsocket-source and afsocket-dest
    
    These files grew too big, split them on source/dest boundary. afinet/afunix
    is split in a followup patch.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2d4ee3de14bfcc7ec01218ed790325126eec8aa4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 17:34:18 2012 +0200

    cfg-grammar.y: fixed type mismatch warning in source_reader_option
    
    This occurred when compiling plugin grammars as this rule is only used
    there.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4900a9cc84b7e8395c00ae2210fdff721dab89ea
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 13:29:50 2012 +0200

    db-parser: added @PCRE@ parser
    
    This patch implements the @PCRE@ parser in db-parser() patterns. With
    this you can use the power of regexps once the heavylifting of identifying
    the potential patterns happened by the radix implementation.
    
    Syntax:
      @PCRE:name:regexp@
    
    As the name suggests regexp is a Perl-Compatible Regular Expression as
    implemented by the PCRE library.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f542bc429d0de1f75274d6c67f95cb077bba36c3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 10:46:07 2012 +0200

    dbparser: create a separate directory for pdbtool
    
    As I'd like to split the pdbtool source code to several files, which
    would clutter the db-parser directory.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6dcb116996310400ac94e6cd3a7c321a3c595e49
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 10:30:09 2012 +0200

    db-parser: allow dash in class names
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ee310a5284790f491ea2cf070c0bb1cd59684345
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 10:23:32 2012 +0200

    pdbtool dump: fixed -p option parsing
    
    And also added a warning if neither -T or -P was specified.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3ff27ba89ddccb87a852aa3591af4d12587a5e50
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 10:23:32 2012 +0200

    pdbtool dump: fixed -p option parsing
    
    And also added a warning if neither -T or -P was specified.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3972f9a172feb25504960d6e5db0f2854ee04a99
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 10:23:04 2012 +0200

    plugin: don't emit module loaded successfully unless verbose mode is enabled
    
    Interactive tools load plugins, but the information about this being
    successful is not very important. Make this a 'verbose' message.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6022d4e1ad7f9c46c0b152f47c3f2d0383b7c27d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 13 10:07:43 2012 +0200

    unix-dgram: fixed message processing w/o terminating newlines
    
    In the last refactor, unix-dgram was switched to use the "text" LogProto
    
    Since unix-dgram clients don't always supply an NL character
    (such as on FreeBSD), this caused issues.
    
    This patch fixes the issue and also extends the testcases to cover this.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7967daaa2e6c7ab9fc5e47dc52843297cd50b38f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Oct 9 15:02:50 2012 +0200

    Update the travis control file to apt-get update too
    
    To fix issues with uninstallable packages, update the travis-ci
    control file so that it calls apt-get update too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 10bc1bca86d24fbdde75de229a05aac967bcdf32
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Oct 2 12:56:53 2012 +0200

    afmongodb: Include libmongo-client/configure.gnu in the tarball
    
    In order to install cleanly with an internal libmongo-client, we need
    that library to be compiled in statically, which is what the
    configure.gnu script (installed via autogen.sh from git) enforces.
    
    However, since configure.gnu is not part of libmongo-client, its make
    dist will not include it, so its parent must do that. For this reason,
    and similarly to how the same file in lib/ivykis is handled, include
    libmongo-client/configure.gnu in the EXTRA_DIST of
    afmongodb/Makefile.am.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 054138dcdea09e97ae5995d5716b4837288c32a0
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Oct 2 10:58:36 2012 +0200

    lib/: Include logproto.h in pkginclude_HEADERS
    
    Since we need logproto.h to build, include it in pkginclude_HEADERS.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f997b39d1376f39a03691a097d0ff59c89c04dba
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Oct 2 10:22:57 2012 +0200

    json: Include all sources in _SOURCES
    
    With the renaming and such the list of sources required to build the
    plugin got out of sync with reality. This patch corrects that, by
    adding the two new headers, and removing an old, unused one.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit da8ab6ce9eab8baddb801804bf0dc8dafad3d18f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Oct 2 13:06:25 2012 +0200

    Makefile.am: Recurse into lib first, then libtest
    
    libtest needs a few things in lib built, so build lib first, and
    libtest after.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0e669df018028b11cc122dfae513ca4adb9ed73f
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Tue Sep 25 18:15:40 2012 +0200

    lib/: Make libsyslog-ng-crypto.la depend on libsyslog-ng.la
    
    Without the explicit dependency, make will not recognise that we need
    libsyslog-ng.la for libsyslog-ng-crypto.la, and thus fail when we're
    using either parallel make, or make libsyslog-ng-crypto.la explicitly.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 867b491f062b1123c4d3cb3756081e22cffb0012
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Tue Sep 25 16:06:49 2012 +0200

    system-source: Correct a typo in the unix-dgram() part
    
    The option is called perm(), not perms().
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 0152990e721258f7e0d0bd030ea190826813d416
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Oct 8 11:17:07 2012 +0200

    Preparations for 3.3.6.91
    
    NEWS & VERSION updated for 3.3.6.91 (aka 3.3.7 RC2)
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ccd5f1b652c358afdf5d9cda597b6206616819b4
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Oct 7 21:01:29 2012 +0200

    afstreams: unref the reader at deinit time
    
    In order to make sure we don't leak the /dev/log fd, unref the reader
    at deinit time, and set it to NULL. This way, it will be reopened
    shortly after in the reload cycle, and we won't leak the fd.
    
    Reported-by: Michael Hocke <michael.hocke@nyu.edu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 128f9a10a52431ba6ae902804313434d8d82db02
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Fri Oct 5 20:58:31 2012 +0200

    ivykis: Update to 0.30.4.
    
    Update the bundled ivykis to 0.30.4, which contains an important
    workaround that affects syslog-ng users on FreeBSD.
    
    Along with the previous commit, these two appear to fix all problems
    related to /dev/klog on FreeBSD.
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 169bc655620bf641eb0429258533037ff9ae52bd
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Oct 5 12:16:57 2012 +0200

    logreader: When following a file, treat non-regular files specially
    
    When following a file with follow-freq(), and it is not a regular
    file, but something for which stat(2) always returns 0 size (such as
    the /dev/klog character device on FreeBSD),
    log_reader_io_follow_file() never went into the process input branch,
    because the current position (0) was always at EOF (also 0).
    
    To break out of this unfortunate situation, if the file to read from
    is not a regular file, go into the process input loop anyway: at
    worst, it will do an expensive noop.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8d793a92640f492b98693b233ad6b77f0ae1ea9a
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Oct 2 12:56:53 2012 +0200

    afmongodb: Include libmongo-client/configure.gnu in the tarball
    
    In order to install cleanly with an internal libmongo-client, we need
    that library to be compiled in statically, which is what the
    configure.gnu script (installed via autogen.sh from git) enforces.
    
    However, since configure.gnu is not part of libmongo-client, its make
    dist will not include it, so its parent must do that. For this reason,
    and similarly to how the same file in lib/ivykis is handled, include
    libmongo-client/configure.gnu in the EXTRA_DIST of
    afmongodb/Makefile.am.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b9125ddb4d52417383a4c2ed510e22f6153341dc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 1 09:51:18 2012 +0200

    rename json to json-plugin
    
    Since json-c produces libjson.so and linking libjson.so (from json-c)
    against libjson.so (from syslog-ng) wouldn't work, we need to rename our
    plugin.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2960f61bbb874e0f8c62d4a89046ae17df6a95b9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 30 20:36:28 2012 +0200

    json: rearrange compilation units, rename the plugin and make the unit tests pass
    
    Use a separate json-plugin.c instead of adding this to tfjson,
    rename tfjson to format-json as it more clearly defines what that
    module implements.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7ff4d5bd56f8d7955748cf97493d643e65c4d02a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 30 20:31:40 2012 +0200

    templates.h: added TEMPLATE_FUNCTION_DECLARE macro
    
    This macro forward declares the constructor for a template function, so
    it becomes possible to separate the template-function and its registration
    as a plugin into separate compilation units.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e959c9658f1dae3d3eb2b3b71a916ba384dc5cfe
Merge: 5aa4843 31e0843
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 30 20:18:54 2012 +0200

    Merge remote-tracking branch '3.3/master'
    
    Conflicts:
    	.gitmodules
    	NEWS
    	VERSION
    	autogen.sh
    	modules/afmongodb/libmongo-client
    	modules/afsocket/afsocket.c
    	syslog-ng/main.c

commit 5aa484350ffc8f2b1262b82810f489cfa9c51c58
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 29 07:12:14 2012 +0200

    LogTransportMock: create separate constructors for the various cases
    
    Instead of putting yet-another-boolean-argument to the constructor,
    use separate constructors for the different cases. The implementation
    is still using a single read function with conditionals though.

commit 2d0fb042d747883d71ebff9578ce6d2afc3144b5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 29 05:40:31 2012 +0200

    LogProto reorganization to support plugins
    
    This patch is a large-scale refactoring for the LogProto code, it does
    a number of things and should probably be split to a number of independent
    patches for easier review. For now it is a single patch.
    
      * split the abstract base class LogProto into
        LogProtoClient & LogProtoServer. These are quite independent
        (one doing fetches the other posts), so no explanation why they should
        be the same.
      * LogProtoOptions is introduced to hold options related to LogProto
        classes. The options parsed by the core is provided by a
        cfg-grammar rule too (to be included in plugin specific grammars)
      * added valiate_options method that checks at _init() time whether the
        options parsed from the config make any sense. That's the only
        error-handling possibility as the constructor may not return NULL.
      * LogProto classes got split into a number of files, they are provided
        by the core as classes and the ones used as network transports
        are also published as a plugin. This way extending LogProto with
        a module-specific behaviour can use the base classes, and standard
        protocols can be instantiated using the plugin interface (to be used
        as the transport() option for the network/syslog drivers).

commit 29235dfe0dc85649afdb0224553a87a6e18c18bc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 2 07:08:06 2012 +0200

    libtest: added LogProto testing framework as proto_lib.{c,h}
    
    In a similar vain to template_lib.{c,h} implement a LogProto related
    assertions and helper functions. Centralizing this makes it possible to
    test various LogProto implementations from different unit tests easily
    without having to duplicate code.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f07aa84e19c2a024b0dde8e44cff3b1ef0b74b1e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 30 17:02:07 2012 +0200

    LogTransportPlain: use polymorphic classes instead of a large number of branches in code
    
    This patch splits LogTransportPlain to 5 polimorphic classes to make the
    code easier to follow, and possibly split the source code to five files
    in the future.

commit d93d35857e3acac5eb59a9735d8947dedf43a511
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 15 12:09:39 2012 +0200

    simplify *Options initialization pattern (LogReaderOptions, LogWriterOptions, etc)
    
    The _init() method for various *Options structures were needlessly
    complicated with an ugly warning on top of each and every such function.
    After giving some thought to why it needs to be so complicated a much
    easier pattern could be created, eliminating most of the complexity.
    
    Earlier *_options_init() methods were prepared to be called several times
    without a pairing _options_destroy(), e.g. if any memory was allocated
    by init, a repeated init should have preserved the allocation (or at least
    free the one the previous invocation allocated). This pattern caused
    these init methods to actually save a number of variables locally
    before commencing on the actual initialization and then restoring
    them afterwards.
    
    After giving some thought, this actually addressed an unused use-case:
    if the init method is called for the same Options structure with
    a changed GlobalConfig instance. In this case init would've inherited
    the changed values from GlobalConfig.
    
    However this never happens in reality, options structures may indeed be
    initialized multiple times, however in this case the GlobalConfig remains
    the same.
    
    Removing this assumption simplifies the code a lot and makes it much more
    readable, and finally stops spreading that terrifying comment on the top
    as the pattern got implemented in a number of places.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4157b5495d6a28b62d3c016b5c5966b8ed89261a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 15 12:23:09 2012 +0200

    afsql: fixed the failure handling branch in afsql
    
    An "address-of" operator was missing from log_queue_push_head() call,
    potentially causing crashes when the insertion of a record fails.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fb60df757c0fe6bf80c508d1edb27d301c98d6a1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 25 13:05:43 2012 +0200

    json: don't compile the unit tests if ENABLE_JSON is not enabled

commit 31e0843ce918ac9ead433892e67685dd1ac33151
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Sep 14 15:13:17 2012 +0200

    Use https URLs for the submodules & update libmongo-client
    
    Because https can be cloned easier from behind a proxy than git, use
    https URLs. While there, also update libmongo-client to v0.1.5, the
    latest stable release.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6bdf662a20a31392a79cd6e02ea81882776e7be9
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Sep 14 12:02:04 2012 +0200

    autogen.sh: No need to special-case lib/ivykis anymore
    
    The --disable-kqueue and --disable-dev-poll options were only
    recognised by the BalaBit fork of ivykis. Since we switched to
    upstream, these are both obsolete and unnecessary, so lets remove
    them.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8016818ac2fa2328ccbeab6fa13a7dc876e4220b
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed Aug 29 17:02:15 2012 +0200

    jsonparser: Only prepend a prefix if there is one
    
    In log_json_parser_process_single(), when parsing an object element,
    only prepend a prefix if there is one, otherwise g_string_assign()
    will complain on stderr with an assert, which is not something we'd
    like.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 5752a72b4415e0bb5fbeae78643f4f6feea6163f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Sep 14 11:15:44 2012 +0200

    json: Use a hand-coded JSON formatter
    
    Instead of relying on json-c to format our JSON, do it ourselves,
    skipping quite a bit of object allocations that we do not need.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0792112a62efd923f3e1a8d60d8b1cd86a8bb005
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Aug 23 13:07:23 2012 +0200

    afmongodb: Use insert instead of upserts
    
    With the recent changes to value pairs, we can now turn our internal
    dotted notation into structures, so do that, and use inserts instead
    of upserts!
    
    This - at the moment - comes with a noticable performance cost, as
    we'll do extra work on the syslog-ng side (which was previously done
    on the server side). However, this paves the way for bulk inserts,
    which will improve performance a lot. (And making the value pairs
    walker more performant will also help, but that's independent of
    mongodb.)
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 3a1edf9de4fbd49171f441b10464418195b8350c
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Aug 17 16:23:28 2012 +0200

    tfjson: Convert to value_pairs_walk()
    
    Now that we can process dotted-notation properly, make use of that!
    
    With this change, $(format-json) becomes smart enough to turn
    dotted-notation back into proper structures. It does not support
    arrays yet, however.
    
    Also added a test case that uses dotted-notation, and tests that it
    gets correctly formatted.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e0e94a991e11e9e37f4cf26c6e3bbe433fb73538
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Aug 17 15:27:47 2012 +0200

    value-pairs: Introduce value_pairs_walk()
    
    This new function is meant to be used when one wants to process the
    result of value-pairs() in a structured manner. It will treat the keys
    as if they were in dotted-notation, and whenever a new object starts,
    it will call obj_start_func, whenever an object ends (a new one
    starts, or we're winding down in the end), it calls obj_end_func. When
    processing a single key, process_value_func will be called.
    
    The obj_start_func and obj_end_func callbacks take six arguments: the
    current key name, the prefix so far, a pointer to an area where
    prefix-specific data can be stored, the previous element's name and
    data on the stack, and the user_data passed to value_pairs_walk(). The
    process_value_func receives the value too, see the VPWalk* typedefs in
    value-pairs.h.
    
    The prefix-specific data can be NULL, so care must be taken not to
    dereference it in that case.
    
    With this functionality, we will be able to construct structured data
    out of the flat representation of value-pairs.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ad6679c3918d20c5058bb905dd7cd66916830d65
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Aug 17 18:16:00 2012 +0200

    Merge tfjson & jsonparser
    
    The reason tfjson and jsonparser were separate is because the former
    supported two json libs, and they could be compiled separately.
    
    Now that tfjson dropped json-glib support, the separation became
    pointless, so this patch merges the two together.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f5b72a946af99adf841ddcb8a45d2a153ab0c35f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Aug 17 16:33:10 2012 +0200

    tfjson: remove json-glib support
    
    There is no point in supporting two json formatters anymore, so drop
    support for json-glib.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 13849b3220bc30d4c5c2eb670d377d4db9aaed91
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed Sep 12 11:08:01 2012 +0200

    Add a Travis-CI control file
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 4d9f9e2ea563b6b451a780da513861fc9b7cba05
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Sep 7 13:32:39 2012 +0200

    afsocket: In case of unix-dgram sources, include the filename in stats
    
    The file source includes the filename of the source in the stats, but
    the unix-dgram source does not do the same, which makes it harder to
    identify which unix-dgram stat belongs to which source.
    
    With a little change to afsocket_sc_stats_instance(), we can fix that,
    by teaching this function to use self->owner->bind_addr if
    self->peer_addr is unset.
    
    Reported-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6afd5f3231625651a3b81c8a8dce0d8d16c6026a
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Sep 6 13:23:17 2012 +0200

    Preparations for 3.3.6.90
    
    NEWS & VERSION updated for 3.3.6.90 (aka 3.3.7 RC1)
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit c8449114ac77000bb4fbe8c11cfe0e3bdc469857
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Sep 6 12:59:25 2012 +0200

    doc: Move old ChangeLogs to doc/
    
    The old ChangeLogs (especially ChangeLog) were looking stale in the
    root directory, and ChangeLog was overwritten at make dist
    anyway. Since they're historic, move them to doc/: they'll still be
    available in the git repo, but they will not be included in the
    tarball.
    
    The top-level makefile will continue to re-generate ChangeLog
    appropriately, so that the built tarballs will continue to have an
    up-to-date changelog.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 149dd05521abd4e1736a7c3ef97e52a13a1bc82d
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Sep 4 19:59:52 2012 +0200

    lib/ivykis: Update to latest stable-v0.30
    
    Update the bundled ivykis submodule to a commit that fixes the spinning
    on FreeBSD.
    
    Reported-by: Cy Schubert <cy@FreeBSD.org>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 21a9ac3a7e2554f94b8ff8788bc4e82ec3fb58d3
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Sep 3 11:41:36 2012 +0200

    afsocket: Fix compilation without spoof-source
    
    AFInetDestDriver->spoof_source is only available when compiling with
    spoof-source enabled, so guard it with an #if.
    
    Reported and patched by Dave Reisner <dreisner@archlinux.org>.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 9ba1d1b3e1bd8fedd59660654b75b5642b89c0f5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 2 14:21:01 2012 +0100

    afsocket: fixed building the notls version
    
    There was a collision in the macro used to enable SSL support in the
    configure script and the macro defined by the Makefile in case the SSL
    version is being built. The latter is now renamed to "BUILD_WITH_SSL".
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8d997973d7134876725035113ccbc3df07f53777
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Sep 1 13:03:49 2012 +0200

    Fix the module registry display in debug mode
    
    In debug mode, msg_init(TRUE) must be called, but we were calling
    msg_init(FALSE) unconditionally, which led to segmentation faults when
    trying to load the modules and log messages.
    
    To fix this, do not call msg_init(FALSE) at startup, leave that to
    app_start() later, but do call msg_init(TRUE) when necessary.
    
    Patch from Tamas Pal <folti@balabit.hu>.
    
    Reported-by: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 79b5be710e0eb01d74cf87783c6d9022ab1e2617
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Sep 1 12:46:05 2012 +0200

    cfg-lexer: Fix glob-based include order
    
    When using glob-based includes, matching files were immediately
    included, which resulted in the include stack going bonkers. The
    proper way to do glob-based includes is to do the same as in the
    directory-based case: add the files to the current include stack
    level's file list.
    
    This patch does just that, thereby making glob-based includes work as
    one would expect them to work.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit d8d87c0b8845f11c0382efad5fe8d5430dfa7612
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Aug 29 10:38:59 2012 +0200

    system-source: Introduce a new system() generator.
    
    This patch replaces the old confgen-based system() generator, that
    relied on a script (generate-system-source.sh) to generate the block
    system() expands into. While that was flexible and easy to modify, it
    has had the disadvantage of running an external script at startup,
    which is undesirable in many situations, including when using a strict
    AppArmor profile.
    
    However, a generated system() is useful in a lot of situations,
    ranging from creating portable, system-agnostic configuration files to
    supporting sysvinit and systemd with the same config.
    
    For these reasons, this patch implements a built-in system()
    generator, that does not rely on the generate-system-source.sh script
    at all, but does everything itself, from C.
    
    It is loaded by the default scl.conf, but can be loaded separately
    with:
    
     @module system-source
    
    It does not support auto-loading yet, because all the module does, is
    register a block.
    
    The system() generator this patch implements results in the exact same
    expansion the old script generated. The old script-based solution is
    also deprecated (and thus, removed), in order to not duplicate code:
    we only wish to maintain one implementation.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b719492d195dd93b102fccc2f3ab5f0344938ca7
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Aug 28 20:59:53 2012 +0200

    ivykis: Update to the latest head of the stable-0.30 branch
    
    The stable-0.30 branch has a few fixes that affect us, for example on
    Solaris, update the submodule to pull those patches in.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit d5f78c833a20d3eb5da7372dd70bc79f2f971814
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri May 18 14:58:56 2012 +0200

    afmongodb: Fix a queue notify<->wakeup deadlock
    
    As it turns out, there's a race condition between
    afmongodb_dd_queue_notify() and the worker thread: one is trying to
    lock queue_mutex to send a wakeup signal and clear the notification
    callback, and the other is using g_cond_wait() with the same
    queue_mutex locked around it.
    
    There appears to be a race between the two threads, and it can happen
    that both are trying to g_mutex_lock() the same mutex at the same
    time.
    
    To work around this problem, the patch below removes the queue_mutex
    locking from dd_queue_notify(): it's not required anyway. But it also
    moves the log_queue_reset_parallel_push() from the queue notify
    function to the other thread, where we're already holding the mutex
    after the g_cond_wait() anyway. (And do something similar in the
    suspend wakeup case too, where locking queue_mutex is also safe).
    
    This gets rid of the deadlock, and the code becomes easier to follow
    aswell.
    
    Reported-by: Eun Kyung <ekyung01@googlemail.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 77ba8563ab6acb10b374edac5ae562157abe0b16
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Aug 17 10:21:18 2012 +0200

    afmongodb: Support connecting to unix sockets
    
    The next version of libmongo-client (0.1.6) will support connecting
    via unix sockets, and the mongodb destination driver should follow. To
    achieve this, the internal copy was updated to a version that already
    supports this, and the minimum required version was also bumped to
    0.1.6.
    
    With that in place, the path() option is introduced, which, when set,
    will tell the driver to connect via the specified path to a unix
    socket. It does this by setting port to MONGO_CONN_LOCAL, that's how a
    path is recognised by libmongo-client.
    
    However, setting path() conflicts with host(), port() and servers():
    the first cannot be used when any of the other three was previously
    set, nor the other way around. The configuration grammar was updated
    to notice this case, and bail out with an error if such a scenario is
    detected.
    
    Based on the work of Conrad Hoffmann <ch@bitfehler.net>.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 691a86a4a61999cf9ade2c8a76d7fec7ebb767ba
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 18 14:06:50 2012 +0200

    .gitmodules: change repository PATH to algernon's repo
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9b318c5778d4d9916cb1e0fbae80b66be6359430
Author: Balint Kovacs <blint@blint.hu>
Date:   Wed Aug 15 19:28:03 2012 +0200

    db-parser(): implement a MAC address parser
    
    The MACADDR parser matches the standard format for printing MAC-48
    addresses in human-friendly form, whis consists of is six groups of
    two hexadecimal digits, separated colons (:)
    
    Signed-off-by: Balint Kovacs <blint@balabit.hu>

commit 9adf4759f87740536be1744f43fc292b2600adf2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri May 18 15:37:17 2012 +0200

    jsonparser: Handle every kind of invalid input gracefully
    
    Previously, we used json_tokener_parse_ex(), which always returned
    NULL in case of an error. A while ago, we switched to
    json_tokener_parse() instead, which never returns NULL, and instead,
    modifies the returned object to be an integer casted to pointer in
    case of an error.
    
    This resulted in the json-parser segfaulting whenever it encountered
    invalid input.
    
    The best course of action is to switch back to
    json_tokener_parse_ex(), because that way we can easily see when an
    error happened, and we even have easy access to the error message.
    
    In the long run, we should probably move back the tokener to the
    LogJSONParser object, and protect it with a mutex, for a bit better
    performance.
    
    Reported-by: Eun Kyung <ekyung01@googlemail.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 083782be3add61721bcdc6327ff68af2ea2f7113
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Aug 17 10:32:43 2012 +0200

    afsmtp: Fix the module linkage
    
    Use $(MODULE_DEPS_LIBS) and $(MODULE_LDFLAGS) instead of trying to
    grab all the libs.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 7d00a9d448d76975e6cbdd1a4cfa076a307ef585
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jul 6 11:56:47 2012 +0200

    jsonparser: Clone the marker() setting when cloning the parser
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 31763e12651761290a85efece0d2279a28fbfe17
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 18 13:18:25 2012 +0200

    tcp(): enable TCP keepalive by default
    
    This patch enables SO_KEEPALIVE by default and changes the various
    keepalive timers so that broken connections would be detected within
    2minutes, 60 seconds idle time, 10 seconds between keepalive probes and
    6 failed probe means that the connection got broken.
    
    The keepalive parameter setup only works on Linux.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2c99ebe31ff0f14b27dbf3b1262052534a2509f3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 18 13:19:51 2012 +0200

    afsocket: Implement tcp_keepalive_time(), intvl() and probes()
    
    Three new options are introduced this patch to control various TCP
    keepalive related parameters
    
      tcp-keepalive-time()   - equivalent to /proc/sys/net/ipv4/tcp_keepalive_time
      tcp-keepalive-probes() - equivalent to /proc/sys/net/ipv4/tcp_keepalive_probes
      tcp-keepalive-intvl()  - equivalent to /proc/sys/net/ipv4/tcp_keepalive_intvl
      tcp-keepalive()        - an alias to the earlier so-keepalive() option to match the keepalive related params
    
    With these new options one can control on a per-source basis the parameters
    governing TCP keepalives.
    
    While these options can be specified for all socket related sources,
    it only makes sense for TCP-based transports.
    
    By default, it's value is 0, which means using the kernel default (2
    hours).
    
    These options only work on platforms which provide TCP_KEEPCNT,
    TCP_KEEPIDLE and TCP_KEEPINTVL setsockopts, which is only Linux as
    far as I know.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 93af35d412a7d9f96a03029249fde373fe49bab0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 18 13:15:07 2012 +0200

    afsocket: added error warning messages on so-rcvbuf/so-sndbuf failures
    
    This patch checks if the setsockopt to change the socket buffer sizes
    actually succeeds, and emits a warning if it doesn't. Otherwise it can be
    difficult to detect udp drops due to receive buffer sizing issues, when
    the kernel limits syslog-ng's attempt to increase the buffer.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cb62deb8fc7587bd44a68b8039dc6b2e47d00bc3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 14 12:30:24 2012 +0200

    fixed invalid declarations for bison generated yyparse() functions
    
    The new bison finally declares the yyparse() function in its header, which
    revealed a couple of invalid declarations in a couple of parsers.
    
    This patch fixes that.
    
    Reported-By: Conrad Hoffmann <ch@bitfehler.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ba8a1bc9ab6e0d3e582f507c82db5d946e2b32ea
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 13 11:02:09 2012 +0200

    test_template: refactor to use testutils
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8644c767635841436f5e7adc121a0ec6cbc1a906
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 13 11:01:01 2012 +0200

    test_template_speed: indent output so that unit test runs are more readable
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 77458876d0806dd0b7722e457d4a2b5a637437be
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 13 07:41:00 2012 +0200

    basicfuncs: unit tests moved to a separate program
    
    Continuing the refactor to independent unit tests, this patch moves stuff
    from test_template to modules/basicfuncs/tests using the new
    template_lib.c in libtest.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 36c00a985cd710db3377f40fef307ffdd89ea343
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 13 07:30:15 2012 +0200

    test_template: remove cryptofuncs unit tests
    
    As they were moved to a separate test program in an earlier commit.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 30ef046850f10aaf1aecea7e422a3fc930c4d53b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 13 07:29:48 2012 +0200

    tfjson: added skeleton unit tests

commit 0f3c04fa3283753149779ad2f9589026f809f2da
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 13 07:29:24 2012 +0200

    libtest: added assert_template_format_with_context() function
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cc866a899a743031c405ac2b223c8c6ebff428c1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 13 07:28:18 2012 +0200

    value-pairs: clarified some error messages
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3df8c3c8dd01bea1422351dd20cdc1786be8f5f5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 12 16:51:51 2012 +0200

    msg_parse_lib: rearranged includes
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 89fab67fd68bad13c5b6f03eb5d17716923019a0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 12 16:50:45 2012 +0200

    cryptofuncs: refactor hash related tests to a separate unit test program
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e7538a5e474ba99cdd0e101ace7f177432d54efb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 12 16:17:43 2012 +0200

    $(hash): New template function to calculate the hash of its inputs
    
    This patch adds a family of new template functions called
    $(hash), $(md5), $(md4), $(sha1), $(sha256), $(sha512)
    
    These can be used to calculate the cryptographic hash of its arguments.
    
    As it uses the SHA1() function from OpenSSL, it is only available if syslog-ng
    is compiled using --enable-ssl.
    
    One use case for it can be when you'd like to anonymize sensitive parts of the
    log message (eg. the user name) you parsed out using patterndb before storing
    or forwarding it for further analysis but would like to retain the ability to
    correlate messages along this value. Beware though that such simple anonymization
    can be broken if there's enough data available, see
    
        http://arxiv.org/pdf/cs/0610105v2.pdf for references and examples.
    
    Another use-case is to generate quasi-unique-ids for data, using the
    --length option that truncates the length of the hash to a shorter form.
    In real life the chances of the collision is slim, but still makes it
    possible to use a shorter id, than in most cases is unique, especially
    when constrained to a time period, which is often the case for logs.
    
    Syntax:
      $(<method> [opts] $arg1 $arg2 $arg3...)
    
    Options:
      --length N, -l N    Truncate the hash to the first N characters
    
    The generic name "hash" refers to md5. Arguments are concatenated w/o the
    use of additional characters.
    
    Thanks for the original idea to Martin Grauel.
    
    Signed-off-by: Peter Gyongyosi <gyp@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 58e9f31a6b6b5d1473b77e71f67a5b587a83149b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 12 16:10:36 2012 +0200

    tfuuid: rename to cryptofuncs
    
    Some further crypto related functions are to be added to syslog-ng, I'd
    like to avoid the profileration of modules just for single functions.
    
    Thus "cryptofuncs" is born, a place for stuff that depeeds on OpenSSL.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1850cd996a1faf066d0e508a5f9f56dbaa1db4de
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 12 15:21:56 2012 +0200

    ivykis: updated to latest commit in ivykis-0.30 branch
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d32b5c63e09a4c3897cbc2239c07967cea393de9
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Aug 10 10:44:51 2012 +0200

    Preparations for 3.3.6.
    
    NEWS & VERSION updated to 3.3.6.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 19f6cac7cd8fb8e3cffbcc47e6ef241fcdc66759
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 23 11:46:04 2012 +0200

    afsocket: handle max_connections validation properly on SIGHUP
    
    In case a SIGHUP was processed, the num_connections variable got reset to
    zero, which made it possible to accept connections excess the
    max-connections() option. This patch fixes that by properly setting
    the number of connections after reload.
    
    Reported-By: Sandor Geller <wildy@muhelybt.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1dfc28c85c6c7058578fd512ea98fb21ab2b6e03
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Aug 6 15:58:51 2012 +0200

    afinet: Disable KEEP_ALIVE when using spoof source
    
    Disabling KEEP_ALIVE when using spoof source will result in rebuilding
    the writer at reload, thus, also resolving the destination. This fixes
    the issue of never resolving the destination after a reload, and
    ending up sending packets to 0.0.0.0.
    
    Patch from Balazs Scheidler <bazsi@balabit.hu>, after debugging the
    problem in person, and going through all the different options.
    
    Reported-by: Marvin Nipper <marvin.nipper@stream.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit bf69c41f696e7d94e424a40f5979bd5efcb33179
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 27 07:42:18 2012 +0200

    msg-format: make sd_param_value maximum length adjustable via API
    
    Although this option is not (yet) introduced in the configuration file,
    the unit tests also try to cover the 'too-long-sdata' case, which is
    inpractical in case the new 64k default is to be overflown.
    
    It might make sense to make this value actually controllable by
    the configuration file, but for now I think it is enough to simply bump
    the default limit to 64k.
    
    This patch also fixes the test_msgparse unit test so it passes again.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ab9c013f7f06cbb024cae52905659450ddbdfaf1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 25 18:39:45 2012 +0200

    syslog-format: increase the limit for SDATA value length to 64k
    
    Reported-By: Sergey <cloun-rulez@yandex.ru>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c4ab6f23b573cf286564a2f5a0d2bbbcbf692a94
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 23 11:46:04 2012 +0200

    afsocket: handle max_connections validation properly on SIGHUP
    
    In case a SIGHUP was processed, the num_connections variable got reset to
    zero, which made it possible to accept connections excess the
    max-connections() option. This patch fixes that by properly setting
    the number of connections after reload.
    
    Reported-By: Sandor Geller <wildy@muhelybt.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fa922c18667ee09e84d2f13812bc08c021278b6e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 22 08:28:46 2012 +0200

    syslog-ng/main: refactor interactive command line setup into a separate function
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7b0e44636ff5d4b3810496b3346a6b26408ac25d
Merge: 0129388 cea9aa7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 22 08:25:13 2012 +0200

    Merge remote-tracking branch '3.3/master'
    
    Conflicts:
    	.gitmodules
    	NEWS
    	VERSION
    	configure.in
    	lib/Makefile.am
    	lib/ivykis

commit 0129388dcf30c5e4a27f4a4456da5f1eae0fefa7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 22 07:29:00 2012 +0200

    afsql: use the push_head method of LogQueue instead of using pending_msg
    
    Instead of using a special pending_msg variable to store the last
    unsuccessfully-flushed element, push it back to the queue backlog.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 02b672e17241fcd1eadc26aa24d760e29ed59cc6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 22 07:43:18 2012 +0200

    test_logqueue: added coverage for log_queue_push_head()
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9e26eb7a9e3fd58e9a4c4ac5e930e06bb82434f0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 22 07:42:51 2012 +0200

    test_logqueue: fixed memory leaks so this becomes valgrind clean
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bbb60db83c3db7bf2b560c126151832b078a4234
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 22 07:41:41 2012 +0200

    LogQueue: fixed a memory leak in log_queue_fifo_push_head()
    
    log_queue_fifo_push_head() is used by various drivers to push one item in
    the front of the queue, but unlike log_queue_fifo_push_tail(), this one
    didn't consume the passed reference.
    
    This patch fixes this API breakage to behave the same as push_tail(),
    and I also reviewed all the call-sites. Except for LogWriter that
    was fixed just recently all others misused this part of the API. This
    by itself would explain the change.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8ebee82ed5ca882847a10e2f35d5aaab5e09cf1c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 22 07:42:08 2012 +0200

    test_logproto: fixed include to reflect the latest rename
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cea9aa75bf434dbc430d8aae028063ecb0f60392
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 11:27:32 2012 +0200

    LogProtoDGramServer: encoding is to be applied to individual frames
    
    Instead of trying to make up missing characters in one frame from the next,
    treat them individually, especially as they might come from a different
    source.
    
    The same change is applied to LogProtoRecordServer used to read binary
    files.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b70b16aebbcefdcf009c3f436a287bd06f67838d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 11:02:50 2012 +0200

    LogProtoFramedServer: fixed an incorrect error message
    
    This patch changes the generic I/O error message to reflect that it
    actually can apply to the framed data as well as the header.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ed11453d731739afaa61bf439566cde7a265898d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 10:51:41 2012 +0200

    LogProtoTextServer: fixed a possible memory leak in case encoding() was used
    
    In case encoding was used on a source, its related data structures were
    not properly freed as the destructor function wasn't properly registered.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bc72d5997f3e1125466960b972e4965b74d183df
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 10:50:03 2012 +0200

    LogProto: fixed a bug in fixed-size-encoding detection
    
    Due to a typo, fixed-size encodings were not properly recognized, causing
    syslog-ng to use the slow-path in case encoding() was used on a source.
    
    This change fixes that issue, and at the same time publishes the function
    log_proto_get_char_size_for_fixed_encoding() so that its unit test can call
    it directly.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit adf59394d87aabe00a4424ea4eb88235be723e75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 4 15:03:22 2012 +0200

    logproto: refactor fixed encoding lookup into a separate function
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4f9692533b02e6aa4da591c14b5ed617723693c1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 4 15:02:14 2012 +0200

    log_proto_buffered_server_apply_state: fixed a complete source-file-resend in case encoding is used
    
    The size of the raw data can grow up to max_buffer_size and at reload time
    raw_buffer_size was validated against init_buffer_size, which is clearly
    wrong as the buffer can grow at runtime.
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 857a8e15bf480de636525a1acabebb46fd9d072a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 2 21:15:27 2012 +0200

    afsql: Create proper indexes for Oracle DBs.
    
    When creating an index for an Oracle DB, the field name was enclosed
    in apostrophes, which made Oracle very unhappy: it did not associate
    the index with the intended field.
    
    With other databases, the field name is not quoted in the CREATE INDEX
    statement, and for Oracle, it shouldn't be, either.
    
    This patch corrects the mistake, and removes the apostrophes in the
    Oracle case too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9af8e7c01236a06148f7ea7bbff459356dcd874c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 14:14:36 2012 +0200

    reorganize unit tests
    
    This patch reorganizes unit tests a bit:
      - a separate libtest is created to hold unit test specific helper code
      - the unit test for csvparser is moved to its module directory
      - configure.in & Makefile.am files updated to work
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 81e2c83ee22a3c4f0ddb735cdd6de98da63431ad
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 13:38:23 2012 +0200

    test_logproto: add new unit test to cover LogProto server implementations
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2d1896644e4af30d4477f38d8969ea1eb671b660
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 13:34:10 2012 +0200

    tests: added support for assertions on internal messages
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7e7211c8a63d0d29292a440ba80bb95ba016db8a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 13:33:32 2012 +0200

    tests: cleaned up includes in testutils
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 113646125dc7f8446e0714a0f455f66ec9de418f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 13:31:48 2012 +0200

    tests: added support for comparing fixed length strings to testutils
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e75459e8000b916184692754eb350c147a6a5d4b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 13:29:25 2012 +0200

    tests: use proper version for configuration in msg_parse_lib
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8e9c0c364a69063554cbad52aa6779627619aad1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 11:28:26 2012 +0200

    apphook: explicitly deinit a number of subsystems at shutdown
    
    To get away with a number of leaks in unit tests.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5b172e2ef36817d6f93be381e048767669b6d503
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 11:27:32 2012 +0200

    LogProtoDGramServer: encoding is to be applied to individual frames
    
    Instead of trying to make up missing characters in one frame from the next,
    treat them individually, especially as they might come from a different
    source.
    
    The same change is applied to LogProtoRecordServer used to read binary
    files.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 11e88f8eaa96693f899251bf886e67e3531f3025
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 11:02:50 2012 +0200

    LogProtoFramedServer: fixed an incorrect error message
    
    This patch changes the generic I/O error message to reflect that it
    actually can apply to the framed data as well as the header.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 16dee0bb7e386ada59373941be94f75404e8cfcc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 11:02:04 2012 +0200

    LogProtoFramedServer: change dynamic buffer allocation
    
    Until now the buffer of LogProtoFramedServer class implementing
    RFC5424 style framing was sized in accordance to the maximum frame length
    processed by the class. More exactly it was sized as "max_frame_len + 10".
    
    This could mean that if most of the messages are about the same size, that
    the buffer is limited to hold one single message. This is certainly not
    the best for performance, so be a bit more liberal when allocating this
    buffer size, it is scaled to hold 16 messages, but at the same time limited
    to 6*log_msg_size().
    
    This is 48k buffer space for the default log_msg_size() value of 8k and
    matches exactly with the buffer size used by LogProtoTextServer.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9d905c5e7ccb37f7efed2e7fca3b4b6dd8f500b1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 10:56:21 2012 +0200

    LogProtoBufferedServer: fixed a SockAddr caching problem that shouldn't be user-visible
    
    The log_proto_buffered_server_fetch() function improperly NULLed the
    cached GSockAddr instance every time it attempted to read. However that
    forthcoming read may return EAGAIN, which causes the sockaddr to remain
    NULL.
    
    In case an EOF is read the next time, log_proto_fetch() will return NULL as
    the originating sockaddr for the partial message still in the buffer.
    
    This bug shouldn't bite anyone as the cached sockaddr is only used for
    udp() sources, but which in turn don't have partial messages nor EOFs.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2f3dfdc1f29b1beee2ced1c4b03d7b54a213cbb3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 10:51:41 2012 +0200

    LogProtoTextServer: fixed a possible memory leak in case encoding() was used
    
    In case encoding was used on a source, its related data structures were
    not properly freed as the destructor function wasn't properly registered.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 72dd3bf95e635a26728d8155691dce3eae44b4fc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 14 10:50:03 2012 +0200

    LogProto: fixed a bug in fixed-size-encoding detection
    
    Due to a typo, fixed-size encodings were not properly recognized, causing
    syslog-ng to use the slow-path in case encoding() was used on a source.
    
    This change fixes that issue, and at the same time publishes the function
    log_proto_get_char_size_for_fixed_encoding() so that its unit test can call
    it directly.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 84e4ac3e8037440d7cd2b4f2fd8d7cf13fd90e58
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 4 15:03:22 2012 +0200

    logproto: refactor fixed encoding lookup into a separate function
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 06b6f302bf111458dd7e626a53fe793343c0a2e5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 4 15:02:14 2012 +0200

    log_proto_buffered_server_apply_state: fixed a complete source-file-resend in case encoding is used
    
    The size of the raw data can grow up to max_buffer_size and at reload time
    raw_buffer_size was validated against init_buffer_size, which is clearly
    wrong as the buffer can grow at runtime.
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 44587f8dddbee4881bd3655b9c96e2a0b568537a
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jul 3 17:52:39 2012 +0200

    Preparations for 3.3.5.90
    
    NEWS & Version updated for the 3.3.5.90 (3.3.6 Release Candidate)
    release.

commit 28a669492084416edca09096535870ab9cfcd3b3
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jul 3 17:29:44 2012 +0200

    Update to, and require ivykis 0.30.1
    
    Now that ivykis 0.30.1 is out, update configure.in to require that
    version, and the git submodule to include it.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b9d144bb5e89d271152ac116dd3188b69366cc9c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 2 21:15:27 2012 +0200

    afsql: Create proper indexes for Oracle DBs.
    
    When creating an index for an Oracle DB, the field name was enclosed
    in apostrophes, which made Oracle very unhappy: it did not associate
    the index with the intended field.
    
    With other databases, the field name is not quoted in the CREATE INDEX
    statement, and for Oracle, it shouldn't be, either.
    
    This patch corrects the mistake, and removes the apostrophes in the
    Oracle case too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 718249b6da576418ed876d7fb915be671fc6e180
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 2 21:14:01 2012 +0200

    configure: fixed bashism in systemdsystemunitdir support
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 77df2c184124d5b7bc9139d60a550fbb11638713
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Jul 1 17:50:54 2012 +0200

    Fix the eventlog context initialisation
    
    A regression introduced a few patches earlier, that meant to bring
    eventlog context initialisation earlier broke the test suite.
    
    To fix both problems, app_startup() will call msg_init() once again,
    and msg_init() was made idempotent: once called, it will be a no-op if
    called another time. This allows us to initialize the context early so
    syslog-ng --version will continue working in debug mode, yet, still
    allow tests to call app_startup() only, without another explicit call
    to msg_init().
    
    Reported-by: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ee6a3fac72ef72efe0656ef6ed65921720ae3866
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Jul 1 17:07:07 2012 +0200

    configure.in: Check for utmp.h too
    
    Check the existence of utmp.h too at configure time, because code
    relies on this check already. This makes it so that the getutent()
    compatibility function gets used on FreeBSD 8, and makes afuser
    loadable again.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 902071881197383731cf428194ef2de9551b79ac
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Jun 30 15:22:10 2012 +0200

    lib/ivykis: Update to a new upstream commit
    
    Updated the lib/ivykis submodule to point to an upstream commit that
    has a deadlock triggered by syslog-ng fixed.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 426632a3bdb309260540af8508ad268cff6dc036
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 29 13:00:37 2012 +0200

    lib/: Use upstream ivykis
    
    This patch converts syslog-ng to use upstream ivykis,
    unmodified. Apart from the boring struct and type renaming stuff,
    there is one major change: iv_fd_pollable() is gone, we have
    iv_fd_register_try().
    
    As such, the logic in log_reader_start_watches() and
    log_writer_start_watches() was updated to use the upstream API
    instead.
    
    The control socket code was also updated to use iv_fd_register_try(),
    because we want synchronous registration in that case, and
    iv_fd_register_try() provides that for us.
    
    Furthermore, we now use iv_set_fatal_msg_handler() to print ivykis
    errors to stderr, instead of syslog (this is functionally equivalent
    to what the balabit-patched ivykis did).
    
    The included ivykis is also updated to 0.30 (+ two small patches), and
    the minimum ivykis requirement when compiling with a system ivykis has
    been increased to 0.30 aswell, and the linking magic updated to use
    the combined libivykis, and not search for ivykis-modules anymore.
    
    And since the git submodule now points to upstream, and the
    configure.gnu for ivykis is generated by our own autogen.sh, we need
    to get that into the dist tarball. This is accomplished by including
    it in lib/Makefile.am's EXTRA_DIST.
    
    Many thanks to Lennert Buytenhek <buytenh@wantstofly.org> and Balazs
    Scheidler <bazsi@balabit.hu> for their invaluable help.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 2c25c62dffae70b6da4224ea7bfa19ce00d83964
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue May 8 12:02:08 2012 +0200

    autogen.sh: Create configure.gnu ourselves in submodules
    
    To make it easier to use upstream git repos as submodules, which do
    not have configure.gnu, create those from within autogen.sh.
    
    This way, it becomes much easier to switch to an upstream repo, and
    still continue reaping the benefits the configure.gnu brings us (such
    as forcing a static linkage).
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b20845045802507385d22b271ddf2b8dfd3e886f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon May 7 22:57:25 2012 +0200

    Do not link anything but libsyslog-ng against ivykis
    
    There is no need to link anything but libsyslog-ng against ivykis: the
    rest will have the symbols available via libsyslog-ng, and linking
    again can trigger constructors, which is not something we want.
    
    For this reason, this patch stops libsyslog-ng-crypto from being
    linked to ivykis directly.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit d10412a607e163abdd0fe3ad916ffff4574075cf
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Jul 1 01:07:06 2012 +0200

    Allow --version to work in debug mode
    
    In debug mode, we use msg_debug(), but the eventlog context does not
    get initialized at the time --version is handled. Thus, syslog-ng -d
    -V will segfault, which isn't exactly useful.
    
    This patch moves the eventlog context initialization earlier, and
    thereby fixes the issue.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 709ab1252920063e6d4d0d610ad5c1ee5ebdfb75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 30 06:22:13 2012 +0200

    Revert "lib/ivykis: Point the submodule to github"
    
    This reverts commit 5a0f89cc47e890e7975b3d1dfb35a4d02b668486.

commit d916b56844976431124ff708e45742aa8a05a9af
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 30 06:18:49 2012 +0200

    further preparations for 3.4.0alpha3

commit c5074e30980c40bc004ed7f6cd55afbf71925f83
Merge: ec788b6 b67ee8a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 29 19:55:07 2012 +0200

    Merge remote-tracking branch '3.3/master'
    
    In addition to the merge:
      * updated the version check in afunix.c to use the new
        version related functions
    
    Conflicts:
    	lib/Makefile.am
    	lib/logreader.c
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ec788b6016f1f4045583935ad77da2e485137849
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 29 16:10:05 2012 +0200

    fixed unit test compilation without json-c

commit b15f5f26f2c69f7d590214728a06c85b598efbe5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 29 15:43:42 2012 +0200

    preparations for 3.4.0alpha3

commit c38d7ad9a2d40650e243ec29c6b3ee07233d31a8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 29 15:23:58 2012 +0200

    implement mark-mode() globally and on a per-destination basis
    
    the new mark-mode() option can be used to change how MARK messages are
    generated. The following mar-modes are available:
    
     * mark-mode("internal"): old style, MARK messages are generated in the internal() source
     * mark-mode("periodical"): regardless of other messages, MARKs are generated periodically
     * mark-mode("dst-idle"): generate a MARK if a destination was idle
     * mark-mode("host-idle"): generate a MARK if the host running syslog-ng had no local messages
     * mark-mode("none"): no MARK messages at all
     * mark-mode("global"): use the global mark-mode setting
    
    The default for global mark-mode is "host-idle", network destinations
    inherit this by using "global", file destinations don't store MARKs by
    using "none".
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 69c9aa32e463c80d82dde9bc3cdc2e297216192b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 27 17:27:00 2012 +0200

    MlBatchedTimer: refactor batched timer updates to a separate class
    
    MlBatchedTimer is a MainLoop dependendent class that batches the updates
    to be applied to a timer. Since timer-updates must make a round-trip to
    the main thread, performing it is quite expensive, especially latency wise.
    
    This class skips most of the updates, so that timer-updates can be performed
    in worker threads, a skipped update is a lockless operation (at the cost
    of some inaccuracy).
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b67ee8aa6335318146b79acdef45c90f6aecbc04
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 29 11:42:30 2012 +0200

    patterndb: Fix a NULL dereference in certain cases
    
    In patterndb, all of the context-* properties are optional, yet, in
    certain cases where they were only partially set (eg, context-id and
    context-time set, but context-scope not), running an action ended up
    with syslog-ng trying to dereference a NULL pointer.
    
    This patch corrects that mistake, by teaching pdb_rule_run_actions()
    to only dereference the context if it is non-NULL. The bulk of the
    function handled the case well, just not the initial condition that
    governs the core of the function.
    
    Reported-by: Imre Lazar <imre@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 96001b34b015e04b76e52fd7c7989a2eb529a887
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 29 08:33:36 2012 +0200

    logproto: Move LogProtoStatus into LogProto itself
    
    Move the LogProtoStatus from LogProtoBufferedServer into LogProto
    itself, so it can be reset or acted upon on a higher level. This
    allows us to move the error state handling to logo_proto_fetch, and it
    also allows us to clear any error state on a higher level.
    
    With these changes, syslog-ng will correctly handle character encoding
    issues on dgram sources: drop and the line with error, but clear the
    error state and continue afterwards.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f7606b94d1479cd32cadbbe6f83492a5639cb305
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Jun 28 23:14:19 2012 +0200

    configure.in: Fix two typos in various help messages
    
    There was a typo in the help message of --with-ivykis and
    --with-libmongo-client, but no more.
    
    Reported-by: Jose Pedro Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit c4037219d3cbffab62a8bbe17fbf96e336f40f2e
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 22 12:12:12 2012 +0200

    afprog: Completely rebuild the writer on SIGHUP
    
    When syslog-ng receives a SIGHUP, it restarts the program()
    destinations, by sending them a SIGTERM, and starting a new
    one. However, programs that ignore signals, and watch only their
    stdin, remain running in this case, which is unfortunate.
    
    To remedy the situation, and because we're already restarting the
    program destinations, unref the writer, thus triggering the closing of
    the file descriptor too. This way, we'll rebuild self->writer from
    scratch on each HUP, but due to restarting the program anyway, this is
    no big deal.
    
    Reported-by: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit cf837d4502dbdab935ee1cf7551c2aa2e5b2f56f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 22 13:48:37 2012 +0200

    doc/man: Properly escape hyphens in the manual pages
    
    When overwriting the installation paths in the manual pages, make sure
    any possible hyphens are correctly escaped.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 66f4bdc692721849a4730e463250d02f6184a3da
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 22 13:36:14 2012 +0200

    doc: Make the man page building more robust
    
    Instead of hardcoding the full xsltproc commandline and repeating the
    same thing eight times with very little change, only store the
    stylesheet in a variable (XSL_STYLESHEET), and call xsltproc ourselves.
    
    Furthermore, since xsltproc refuses to output to stdout, put the sed
    magic into a separate transformation step, which will also mean that
    our man pages will have correct paths. Also adjusted the regexp
    slightly, so it catches escaped hyphens in the manpage too.
    
    Doing things this way also has the advantage of failing properly if
    the manual page generation fails for one reason or the other, instead
    of only at install/dist time.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8252e6dbf2ed881813fec2bb7ee2ee418ff63f2e
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 22 10:16:34 2012 +0200

    systemd: Add a Documentation= field to the unit file
    
    This will allow systemctl help syslog-ng.service to bring up the
    manual page.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit d2369ec9f7662ad002155aecdde8d0e31fd21106
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 22 10:03:29 2012 +0200

    systemd: No need to stop systemd-kmsg-syslogd anymore
    
    When the Journal was introduced, systemd-kmsg-syslogd.service was
    discontinued, so there is no reason to try and stop it anymore.
    
    Reported-by: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit a1567ce7c320c42d65456b6b9123bdcfdecbde00
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 30 11:42:07 2012 +0200

    cfg-lexer: Implement glob-based @include.
    
    Both for distributions and otherwise, the ability to limit what kind
    of files are included, especially when doing a directory include is
    very important.
    
    This patch implements just that, by extending cfg_lexer_include_file()
    to try and resolve globs, if it can't find a file otherwise. Files
    included this way still respect the global include-path setting, so
    @include "foo.d/*.conf" will still work.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ce15af467f89e1a5dc52605a117f5ab275bdc6a3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 21:59:39 2012 +0200

    cfg-lexer: Split cfg_lexer_include_file() into two functions
    
    To be able to keep the code simple in the future, split
    cfg_lexer_include_file() into two: the intent is that we'll check if
    the file exists, and if not, try the same thing as a glob, otherwise
    continue as we did before.
    
    This would nest too deep, so split out the current bulk into a
    separate function.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5a0f89cc47e890e7975b3d1dfb35a4d02b668486
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 15 14:51:53 2012 +0200

    lib/ivykis: Point the submodule to github
    
    Point the lib/ivykis submodule to github.com/balabit/ivykis instead,
    and update it to the most recent commit.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit c70cb00af3ccc5bab6e3f8a556f4b5db8fae628e
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 15 14:48:56 2012 +0200

    lib/eventlog: Remove the lib/eventlog submodule
    
    It accidentally went in with an unrelated change, and was never really
    hooked in.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit fab6e5cafff3f15c1d0e41c7c4bc4d7a46d1517c
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 15 08:06:48 2012 +0200

    [doc/Makefile.am] Add the xsd/patterndb-4.xsd to the install definition
    
    The definition for the xsds overlooked the new version 4. Added the
    xsd/patterndb-4.xsd to the xsd_DATA definition so that make install
    will install all 4 xsd definitions.
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-Off-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit c0afec5b46eb3508fd3b1449e37b7e550f7d35e2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 8 15:28:33 2012 +0200

    dnscache: Fix a memory corruption when destroying the DNS cache
    
    The DNS cache gets destroyed every time a worker thread quits, which
    is fine, as most of the dns cache variables are thread local.
    
    However, dns_cache_hosts is not, it's a global static, and
    dns_cache_destroy() was freeing that aswell.
    
    The solution is to not free dns_cache_hosts when a worker stops, but
    do so when syslog-ng stops. This patch introduces dns_cache_deinit()
    which does just that, and removes the same thing from
    dns_cache_destroy(), which now only touches thread-local variables.
    
    Reported-by: EgonB <egon@local.ee>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 3f2829349d0983ff3ac7cbd7a50ac4c31d277c00
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 8 13:06:05 2012 +0200

    afuser: Use utmpx when available, instead of utmp
    
    FreeBSD 9 removed support for utmp, and one must use the
    POSIX-specified utmpx instead. The same utmpx is available on Linux
    too (and it is the same as utmp there).
    
    The patch below converts afuser to use utmpx when available, utmp
    otherwise. It is based on the post-build sed magic applied to
    syslog-ng within the FreeBSD ports collection, with other bits based
    on a patch from Alex Zimnitsky.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit cef41df424cacbee8e2b1df3627fec869a6633b7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 8 09:56:47 2012 +0200

    LogWriter: rename message duplication related functions
    
    This makes their goal easier to understand.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8c36bfb99a7bdbf69216ca6637b51b8276fdd626
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Jun 1 10:02:31 2012 +0200

    tests: Include /usr/lib64 in the dbd search path
    
    Certain systems put 64-bit libraries into /usr/lib64, so include that
    directory in the dbd search path for the tests. Thanks to Jose
    Oliveira <jpo@di.uminho.pt> for the patch!
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 046f90e76137f31e61412d24b9920914ad75edc5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 27 14:24:52 2012 +0200

    syslog-format: added support for Cisco style sequence numbering
    
    Cisco routers can specify some additional information in their timestamp:
      - a sequence number (to be parsed into $SEQNUM)
      - whether the timestamp is accurate
      - whether the sender has TZ information
    
    The parser code adds this information in standard RFC5424 name-value pairs,
    .SDATA.timeQuality.isSynced and tzKnown
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b9b10efbc67497d040cddbf0261ecbefbb861cfe
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 17 13:06:30 2012 +0200

    cfg_is_config_version_older(): introduce functions for easier to read config version checks
    
    This patch implements a couple of functions to validate that the user is
    running a given configuration version. It also adds macros to name syslog-ng
    version in log messages for easier sync between syslog-ng and its forks.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f5753612abadf929c900786aaabaffbe8a470455
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu May 17 09:58:19 2012 +0200

    rpm: Do not try to install the removed README
    
    Reported-by: Mark Ulmer <mark.ulmer@apollogrp.edu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit cdf8bba6fcdc0aa73e284b9fe29d99391030fcfe
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri May 4 10:59:56 2012 +0200

    afsmtp: Fix afsmtp linking when configured with --with-libesmtp
    
    In case configure received a --with-libesmtp=/path option, we forgot
    to add -lesmtp to LIBESMTP_LIBS, which resulted in afsmtp getting
    compiled, but not linked to libesmtp, which is obviously not
    desirable.
    
    This patch fixes that, and adds the -lesmtp.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 11a09867a7e228881200cdec485319c3a9a820b6
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun May 13 22:00:15 2012 +0200

    scratch-buffers: Fix a compiler warning
    
    Include misc.h for g_string_steal(), so that the compiler stops
    complaining about an implicit declaration.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 11f4ed960dcf7bc8ac053378fd1527870eaf7983
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 16 12:00:58 2011 +0200

    db-parser(): add support for storing values extracted from the program name portion
    
    Previously, only the values extracted from the $MSG portion was used
    to populate the message. This patch makes it possible to use parsers
    in the program name field and name-value pairs extracted from $PROGRAM
    will be also set in the message if a match occurs.

commit 9546e07bd8f2f3c7f4ed52968797d1d85d46c926
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 13 17:03:59 2012 +0200

    templates: introduce SYSUPTIME macro
    
    It expands to the number of 1/100th of a second since syslog-ng startup,
    should be compatible with SNMP sysUptime values.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fce73521639e1e54bd81bd8286d13e2e30ed6824
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 13:54:15 2011 +0200

    templates: introduce USEC/MSEC time macros

commit 7cfde7e2060f00df51fcb01276a7ade3c1957641
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 13:53:14 2011 +0200

    templates: introduce AM/PM related time macros

commit 24c7478f031b503134056e372040d4c8cffa7aa4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 13:33:47 2011 +0200

    tls_x509_format_dn(): declare in the header
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 720a5675dd5e632803ef8c5b5ed8464b57645a96
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:23:05 2011 +0200

    log_msg_nv_table_foreach: new function

commit 2180256f8603a302f98684318d3067e6a42fd46e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:22:30 2011 +0200

    log_msg_get_handle_name: new function

commit 9e959b15a5f9b0630c98ede7e48a909fa31db178
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 15:45:06 2011 +0200

    log_reader_reopen(): make it possible to create a LogReader object without "proto"

commit 1581de3a349c7cd08caeed56e637aa501b38f5d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 13 16:34:32 2012 +0200

    persist-state: add persist_state_rename_entry()
    
    This patch adds a new function to rename an existing persist-state key.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2eef3f5f3d969db5bf44c50b78a8f9d4b0fdcf1f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 13 16:33:02 2012 +0200

    LogReader/Writer: don't perform work in non-threaded during reload
    
    When a reload request is already initiated, don't start a new "work"
    in LogReader/LogWriter. This makes reload/exit operations somewhat faster.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dbfc845ac5af27c281ef3e717a67d17efba87e70
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 12 20:18:05 2012 +0200

    test_msgparse: fixed possible null deref
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 346166ce5f5a26bbfff4a1db63f5e363552b197b
Author: Attila Magyar <athos@balabit.hu>
Date:   Mon May 7 17:14:12 2012 +0200

    [testutils]: testcase details can be shown when an assertion fails (fixes: #B-06841)
    
        The new macro testcase_begin() accepts a printf()-style description
        template and an arbitrary number of arguments detailing the currently
        running testcase. The information gets stored in memory so it can be
        displayed on screen automatically when an assertion fails. Testcases marked
        by testcase_begin() must be closed with testcase_end()
    
    Signed-off-by: Attila Magyar <athos@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4896732b4cb3990de3cebc761f1fbc389b7e66d0
Author: Attila Magyar <athos@balabit.hu>
Date:   Fri May 4 19:39:50 2012 +0200

    [test_msgparse]: took the first steps of understanding and refactoring this monster (fixes: #B-06841)
    
        * Simplified testcase() by extracting assertions and small ugly-detail
          functions from it, which also resulted in lower redundancy around
          message serialization checks.
        * Merged many of the extracted functions with assertions refactored in
          test_clone_logmsg.
    
      Possible steps to continue:
    
        * By replacing TEST_ASSERT with more accurate assertion functions from
          testutils, we lost the capability of printing the actual testcase in
          case of failure. This could be solved for example by introducing a new
          functionality in testutils: to mark the beginning and the end of a
          testcase.
        * Many of the calls of testcase() are very similar, which may enable
          changing testcase() to accept a raw msg string, some parsing related
          options and an expected LogMessage object. Then
          test_log_messages_can_be_parsed() could be refactored to initialize an
          expected_log_message object once, then change separate fields on an
          incremental basis for each new test log message.
        * Introducing that expected_message object mentioned above would be even
          more useful since with slight changes in msg_parse_lib (e.g. extracting
          a function named assert_log_messages_equal_except_timestamps() from
          assert_log_messages_equal()) the assertions in the beginning of
          testcase() could be replaced by a simple assert_log_messages_equal()
          call.
    
    Signed-off-by: Attila Magyar <athos@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5b7221f6654530e070646d6324102eb8a35948ab
Author: Attila Magyar <athos@balabit.hu>
Date:   Fri May 4 18:23:06 2012 +0200

    [testutils]: assertion error messages made optional (fixes: #B-06841)
    
    Signed-off-by: Attila Magyar <athos@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 35a9060dd76e2394fbcfc5c23f05d6430a917002
Author: Attila Magyar <athos@balabit.hu>
Date:   Fri May 4 18:08:48 2012 +0200

    [test_clone_logmsg]: extracting reusable functions to a separate library (fixes: #B-06841)
    
    Signed-off-by: Attila Magyar <athos@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 47c9c7cf17cf6c38d92209b64cdff3e465a8dbc6
Author: Peter Gyorko <gyorkop@balabit.hu>
Date:   Fri May 4 15:42:39 2012 +0200

    test_clone_logmsg: fixed minor things based on the review notes (fixes: #B-06841)
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d6ae411defa2d3ee038153e43beb779ffdf0c502
Author: Peter Gyorko <gyorkop@balabit.hu>
Date:   Fri May 4 14:43:48 2012 +0200

    unit: reimplemented test_clone_logmsg unit test (fixes: #B-06841)
    
     * Added assert_guint16() to testutils.c.
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 475b3fb69af999ffd7bcddeb8e1ccf8c1aaaf9aa
Author: Peter Gyorko <gyorkop@balabit.hu>
Date:   Fri May 4 14:42:33 2012 +0200

    unit: extracted init_and_load_syslogformat/deinit() to msg_parse_lib.h (fixes: #B-06841)
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f283beaf59925b66bf5ca30d84772441ded7a974
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Fri May 4 10:57:36 2012 +0200

    [test_msgsdata] testcase refactoring to use testutils
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 91637459eede261d723ffd58faadecd0f16f1e6f
Author: Peter Gyorko <gyorkop@balabit.hu>
Date:   Thu May 3 17:12:15 2012 +0200

    unit: added test_skeleton.c (fixes: #B-06841)
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6e00543b363b8bfd30710036f468358cd6c2782a
Author: Peter Gyorko <gyorkop@balabit.hu>
Date:   Thu May 3 16:34:11 2012 +0200

    unit: added testutils.{h,c} to make the test cases short and understandable (fixes: #B-06841)
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 101cb379b2f433662feefb29013451406e8f3108
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat May 12 14:31:54 2012 +0200

    logproto: Move fsync() from logtransport to logproto
    
    To restore the fsync(yes) functionality, move the fsync() from
    LogTransport to LogProto instead, so that we can fsync() right after a
    write() or writev() call.
    
    Turning on fsync(yes) will now result in log_proto_file_writer_new()
    setting self->fsync to a non-zero value, which in turn will cause both
    functions that call write() to fsync() right afterwards too.
    
    Reported-by: Patrick Hemmer
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0d9ef25b64ddf3b06a3fe30ef6e44ad4bc73d679
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon May 7 21:16:05 2012 +0200

    Don't use deprecated glib symbols on newer glibs
    
    A couple of symbols have been deprecated by glib in versions newer
    than the minimum version syslog-ng supports, and with 2.30 which
    deprecated g_atomic_int_exchange_and_add(), these warnings are way
    over the normal threshold, and turn build logs into not much more than
    noise.
    
    The three deprecated functions and their fixes are as follows:
    
     + g_atomic_int_exchange_and_add(): Which is replaced by
       g_atomic_int_add() if the glib version is found high enough at run
       time.
    
       This is a single place to add an ifdef to, and doing it any other
       way would be far messier.
    
     + g_mapped_file_free(): This is replaced by g_mapped_file_unref(),
       and a configure check was added to see if _unref() is available. If
       it is, we use that. If not, we alias _unref() to _free() in
       compat.h. This way, the call sites can always use
       g_mapped_file_unref().
    
     + g_strup(): This has been deprecated so long ago, that no check is
       done, the code was rewritten to use g_ascii_strup() instead.
    
    No functionality is lost or changed, just different interfaces used to
    accomplish the same thing.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit aebc8171b57619cc39304e17ef7f874e48329579
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri May 4 13:50:52 2012 +0200

    afsocket: Support a smooth upgrade path to recent systemd
    
    When the journal was introduced in systemd, it started to pass
    /run/systemd/journal/syslog to syslogds (it was passing down /dev/log
    before). Since we verify that the FD to open matches the expected
    filename, we didn't pick up the fd due to the filename mismatch.
    
    This can be fixed on the system() source level, where it can decide
    which to generate into the config. However, for setups that do not use
    system() for one reason or the other, this does not work.
    
    For these systems that do not use the system() source, the best
    solution is to try and replace /dev/log with
    /run/systemd/journal/syslog at run-time. This patch does just that,
    and ties it to config versions 3.4 or earlier.
    
    This means that post-3.4, the automatic replacement will stop working,
    and users will get the generic failed to acquire socket error message
    instead.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6e62f50c3e7b9cbd45fae041703a4b4691561234
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri May 4 10:40:33 2012 +0200

    lib/gprocess.c: Ignore SIGHUP inside the supervisor.
    
    Reloading syslog-ng's config is often done via a killall -HUP
    syslog-ng command, which also sends a signal to the
    supervisor. However, the supervisor did not handle said signal, thus
    it exited as is the default for it.
    
    To work around this issue, lets ignore SIGHUP inside the supervisor.
    
    Reported-by: Patrick Hemmer
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 845b5913393658784194e8db57ede9753e801997
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 6 14:33:29 2012 +0200

    json-parser(): added marker() option
    
    This patch implements a marker() option for json-parser(). Marker is
    a string prefix that can be used to identify a message to be parsed. If
    the marker is set and the incoming message doesn't start with it,
    parsing is not performed and the message is dropped.
    
    If the input indeed matches the marker, json parsing commences with the
    string _after_ marker. White space between the marker and the json
    payload is ignored.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1f73246138be6142a3fbcec9f2ced8d85b18b0b1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 6 14:28:25 2012 +0200

    rewrite: added set-tag() and clear-tag() ops
    
    This patch implements two rewrite primitives, set-tag() takes a tag
    and associates it with the log message. clear-tag() does the reverse thing.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5e3c14109feb1d707c8c132415593b838725761d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 6 14:27:25 2012 +0200

    logmsg: publish log_msg_set_tag_by_id_onoff()
    
    This function used to be private, now it is published as it is needed by
    set-tag() and clear-tag().
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 364c030c8ad25ce199fd0a09b27ba84ae9a1cfa5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 6 14:26:49 2012 +0200

    cfg-tree: handle empty channel {} blocks
    
    Earlier an empty channel {} was considered a compilation error, these
    are now handled as a do-nothing pipe.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7f01d5cb8d6de90d98798a78263684430791ab08
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 27 16:30:05 2012 +0200

    afsmtp: Add SCS_SMTP to lib/stats.h
    
    Add SCS_SMTP to lib/stats.h, so we get proper smtp stats too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 9b6768a0dcdbd942f3f92f08a4fff050c70741df
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 27 13:53:16 2012 +0200

    afsql: Move the INSERT construction out of insert_db()
    
    To improve the flow of the afsql_dd_insert_db() function, moved the
    code to construct the insert statement out into a new function:
    afsql_dd_construct_query().
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 53b541588646371345a8365f8a835f42a0d67eb3
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 27 13:53:15 2012 +0200

    [PATCH (3.4) 2/3] afsql: Simplify insert_db()'s table validation
    
    To make things a tiny bit easier, move the final error handling out of
    _insert_db() into a separate function: afsql_dd_insert_fail_handler().
    
    Furthermore, change afsql_dd_validate_table() to allocate the GString
    for the table name itself, and resolve the template too, if so need
    be.
    
    The above two allows us to simplify afsql_dd_insert_db() a little:
    when validating the table, we can immediately bail out, without a
    goto, since we only need to free up the bare minimum.
    
    And in the end, a monstrous if (success) {} else {} branch is replaced
    by something a lot shorter, and clearer.
    
    All of these together make the flow of afsql_dd_insert_db() easier to
    understand and follow.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 05b4701474e4f8d36dba7a083f8cc7d9821402ba
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 27 13:53:14 2012 +0200

    afsql: Move the database connection to a separate function
    
    To make the code clearer, move the code to connect to a database out
    of afsql_dd_insert_db() into afsql_dd_connect().
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 198e350545c718cb3afd9321a033216a67d1d34b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 1 14:09:33 2012 +0200

    libsyslog-ng-crypto.so: link against libcrypto explicitly
    
    This patch adds OPENSSL_LIBS to LIBADD so that libsyslog-ng-crypto.so is
    always linked against libcrypto.so
    
    Reported-By: Alexander Komyagin <komyagin@altell.ru>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 143aa435f133a9075a01530eeae0d8f40fdb47e1
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 20 20:00:45 2012 +0200

    scl: Teach the system() source about systemd
    
    On Linux, when LISTEN_FDS is non-empty, and
    /run/systemd/journal/syslog is a socket, assume we are running under
    systemd, in which case our source shall be the journal's syslog
    output, instead of the default /dev/log.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 61942d74ab95599df357bc00ce4b7d543b51e832
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 20 10:07:26 2012 +0200

    contrib/systemd: Alias the service to syslog.service
    
    In order to be considered a syslog service, we need to Alias ourselves
    to syslog.service. Doing this will make systemd consider syslog-ng a
    valid syslogd service, without the alias, one has to do something
    similar manually.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 4b702746ed5cb8e19426c91e862a9b22689ae347
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 6 12:09:48 2012 +0200

    configure.in: Add --disable-smtp support.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ab25c4c2a32988d86a5e024d784db7ad48f17cd2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 1 09:03:29 2012 +0200

    preparations for 3.4.0alpha2

commit 9b63c47680c47d884e7985b1bda844d5c9a248db
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 30 13:56:51 2012 +0200

    use on-demand LogMessage cloning to implement inmutable messages on parallel log paths
    
    When processing a message, syslog-ng tries hard to avoid copying messages
    along the line. The semantics provided by the syslog-ng configuration
    is that parallel branches of the log processing pipeline are independent,
    e.g. change on one of the branches may not affect the other one.
    
    Earlier, this was implemented by the LogMultiplexer object, before
    posting a message to a branch it checked if the branch may change
    the message by inspecting the PIF_CLONE flag of the head element. This
    didn't handle all cases (e.g. when a rewrite was applied between two
    destinations).
    
    This patch delegates this clone-when-needed operation right before the
    actual change happens, this also allows some performance improvements
    (since the clone may not always be needed).
    
    I introduced the notion of "write-protection" to LogMessage instances,
    when an msg is write-protected no changes can be applied. If a LogPipe
    needs write access, it needs to acquire that by calling
    log_msg_make_writable().
    
    Write-protection is enabled on a LogMessage when it is assumed not to
    change. Such an occassion is when it is put on a LogQueue of a destination
    which processes messages asynchronously. A similar case is when the
    db-parser() puts the message in its correllation state.
    
    Before any writes can be applied, a call to log_msg_make_writable()
    needs to be made, which creates a clone if the current LogMessage
    is write-protected, or leaves the message be if it isn't.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9bd9f5b61e0908911085563675e6f53a270c3f47
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 30 13:27:55 2012 +0200

    cfg-grammar: fixed memory leak when parsing "block" definitions
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 49f7359f888615b222b4693faf674bc8d25efbf9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 30 13:27:38 2012 +0200

    cfg-lexer: fixed a memory leak that caused the linked list that holds generator plugins to be leaked
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0c930b442e040bc52d7af4ae6793c50dc1158168
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 30 13:34:45 2012 +0200

    cfg-tree: fixed memory leaks in config compilation routines
    
    The objects hash and the name for rules were leaked when processing
    the configuration. This patch fixes those.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1839055f750bf7520917c2a986cea4cf21671271
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 30 13:34:12 2012 +0200

    afinter: fixed a compilation warning
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a6ef12d180acddacf973b1d816a0a540355e821e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 17 16:42:43 2012 +0200

    test_value_pairs: fixed heap corruption & memory leak
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d71c87a2998896b39b83bff05864c5d23c375c20
Merge: 5e6df27 d5d607c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 17 16:32:57 2012 +0200

    Merge remote-tracking branch '3.3/master'

commit 5e6df270bfbfadaf67e716869399c68219212f8c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 18:09:26 2012 +0200

    cfg-tree: refactor flow-control calculation
    
    Instead of trying to figure out where to put the PIF_HARD_FLOW_CONTROL
    bit, defer this to log_pipe_queue(). This makes the compilation code
    much easier to understand.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a9990f226f95977410647ff5ac206d5f8985b7e2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 18:06:57 2012 +0200

    log_expr_node_format_location: fixed a non-zero terminated output string
    
    Instead of sizeof(buf) we should've used the passed buf_len argument. Causes
    string not to be properly NUL terminated, or perhaps a buffer overrun in
    case the passed buffer is smaller than the size of a pointer.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1c3a37764d98d5a37f2cd3c79f7f40978edb4383
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 22:50:20 2012 +0200

    NVTable: allow huge LogMessage data
    
    This patch converts NVTable to use 32 bit offsets/sizes in order to allow
    maximum 4GB log records, each value holding maximum 4GB data. The NVTable
    structure is still artificially limited to 256MB in size.
    
    Signed-off-by: Peter Eisenlohr <peter.eisenlohr@inform-software.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 61a47f7b54d93baf388560d2db25d6c9e4bfde69
Merge: 1ac9c8c 7e6f44c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 15:47:25 2012 +0200

    Merge remote-tracking branch 'algernon/algernon/3.4/merge-3.3.5'

commit 7e6f44cc8e4f52a389cee6b4d68aacbdb7ec9c3a
Merge: 4a7fb52 884c078
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Apr 7 14:35:16 2012 +0200

    Merge branch 'upstream/mirror/3.3' into algernon/3.3-merge
    
    Conflicts:
    	NEWS
    	VERSION
    	modules/afmongodb/afmongodb.c

commit d5d607c05251b38e821efe27bc46ac8db78dd722
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Apr 6 11:35:42 2012 +0200

    afinter: Make the parent class LogSrcDriver, instead of LogDriver.
    
    The parent of AFInterSourceDriver should be LogSrcDriver, because
    that's the struct we pass down to it anyway, and other parts of the
    code will cast it back to LogSrcDriver, too.
    
    But if its parent is LogDriver, as it was, we were corrupting the
    later parts of the original LogSrcDriver, with values from
    AFInterSourceDriver.
    
    Many thanks to Peter Eisenlohr <peter.eisenlohr@inform-software.com>
    for initial debugging, and for pinpointing mark messages as the
    triggers.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit a898014482f733e9ccac00b7965e92db00d7589b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 29 20:15:35 2011 +0200

    afsocket: handle DNS failures as if it was a connection failure
    
    Instead of preventing the startup completely.
    
    Reported-By: Heiko Gerstung <heiko@am-anger-1.de>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a4acf40959a72adb20ce84f4a94002f8d2542565
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 3 10:52:57 2012 +0100

    afmongodb: Fix a deadlock at deinit time.
    
    There is a race condition between the writer thread and stop_threads
    (via deinit): if deinit sends the signal just at the wrong time, then
    the worker thread willl never wake up, as the main thread is already
    waiting for a join to finish.
    
    The fix is to lock the queue_mutex before signalling, that eliminates
    the race. This patch does just that.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 884c078b5212418499a53ffa7618ac7fe3e2df78
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 13:51:42 2012 +0200

    preparations for 3.3.5

commit 424ff99218f8414ae012f1f66292cbdf0ff6e169
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 13:45:40 2012 +0200

    throttle: don't let the bucket counter go less than zero
    
    When the LogWriter ignores the throttle setting (for instance when flushing
    the destination at reload/exit time), the throttle_buckets can go
    below zero, which is unexpected. Don't let that happen.
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f4fcca3950f60bd71060db19b79aa5b7f6f23678
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 13:17:03 2012 +0200

    rewrite-expr-grammar: improve error handling for invalid name-value pair names
    
    This change improves the error handling to better pinpoint the issue
    we have with the value() parameter of a given rewrite expression.
    
    Both the invalid .SDATA name and trying to change a read-only macro are
    handled the same, with a nice error message.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 64978af37a63c05d1ae34a27fe1c9545ccb99b6b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 13:15:48 2012 +0200

    log_msg_is_value_name_valid(): new function to check if the passed name is useable as a value name
    
    This function used to live in the rewrite-expr-grammar.ym file, copied here
    and a generalized a bit. The other function will go away with the next
    commit.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9827d0135af4c81f0137fe0c89fe8e8b0a1c9e7a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 10:20:12 2012 +0200

    mainloop: fixed a minor per-thread leak that occurs when a worker thread exits
    
    This patch frees a per-thread condition variable upon exiting from
    worker threads. Worker threads are automatically terminated after 10
    seconds of idleness, so this might add up if syslog-ng regularly processes
    a message every 10 seconds.
    
    Reported-By: Marvin Nipper <Marvin.Nipper@stream.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0883e07ca99a7f8a1a227822ab25d4b3afca7a26
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 7 10:18:13 2012 +0200

    mainloop: destroying dns-cache and scratch buffers per-thread state doesn't need locking
    
    This patch moves the dns_cache_destroy() and scratch_buffers_free() calls
    outside of the protection of main_loop_io_workers_idmap_lock. They
    accidentaly got there. Shouldn't be a big performance issue, but
    can be a bad example for code added later on.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1ac9c8c35aa4370152e2e30b4585d0d6081bbfee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 4 17:10:07 2012 +0200

    Revert "NVTable: allow huge LogMessage data"
    
    This reverts commit bb667115b80b24055dd1245084c7d2e26d01d184.

commit 9064e909e8aef518ec3c073bccc1bf09da9a2c06
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 1 09:42:58 2012 +0200

    driver: fixed possible leak and use-after-free
    
    log_dest_driver_release_queue() was possibly leaking the LogQueue
    instances for file destinations when they got reaped. This was
    caused by an earlier patch that fixed a crash in reloads,
    more specifically this one: c7070e2a6f1c3a312260bcecf49d62028fef27ce
    
    This patch should fix both cases properly, the leak in the file destination
    driver and the original crash in the afsocket destination.
    
    Also, this patch fixes a use-after-free condition, the next member of
    a GList structure was referenced after it was removed from the list.
    
    Kudos to Jakub for the detailed bug report and Algernon for the origianl
    fix.
    
    Reported-By: Jakub Jankowski <shasta@toxcorp.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4a7fb52a628db2e494d9596b5e949b8ce7f9e321
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 22:50:34 2012 +0200

    syslog() source: make buffer dynamically allocated
    
    This patch changes self->buffer to be dynamically allocated.
    
    Signed-off-by: Peter Eisenlohr <peter.eisenlohr@inform-software.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bb667115b80b24055dd1245084c7d2e26d01d184
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 22:50:20 2012 +0200

    NVTable: allow huge LogMessage data
    
    This patch converts NVTable to use 32 bit offsets/sizes in order to allow
    maximum 4GB log records, each value holding maximum 4GB data. The NVTable
    structure is still artificially limited to 256MB in size.
    
    Signed-off-by: Peter Eisenlohr <peter.eisenlohr@inform-software.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 443bc4546af4ec57280038835e1b1119fd826dff
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 30 10:54:28 2012 +0200

    afmongodb: Restore compatibility with syslog-ng 3.3
    
    In syslog-ng 3.3, we had the host() and port() options for the mongodb
    driver, these were removed in 3.4 in favour of servers(). This patch
    re-adds this two.
    
    Using host() and port() will now prepend the specified combination to
    the server list.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 2a601898893cce78f197317fb531e8c7eb661dbe
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 30 09:18:11 2012 +0200

    json-parser: Change the way arrays are formatted
    
    Instead of parsing an array into key-value pairs where the key has a
    suffix of a dot, followed by the array index, make the key resemble
    the javascript array syntax: array[index].
    
    This makes it more intuitive to reach into arrays, and also makes it
    easier to discover arrays when formatting back to JSON.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit aa56452cbd42470c7f986b667f7c06848c0b5cc7
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Mar 26 14:47:35 2012 +0200

    dummy: Remove this module.
    
    The dummy module does nothing, yet, is installed by default. It's not
    a terribly great example of a simple module, either. For these reasons
    and more, lets bid it a tearful farewell.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 7fdca91fd9c1aae5c9d0aa97a732cef32970aa15
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 30 11:42:07 2012 +0200

    cfg-lexer: Implement glob-based @include.
    
    Both for distributions and otherwise, the ability to limit what kind
    of files are included, especially when doing a directory include is
    very important.
    
    This patch implements just that, by extending cfg_lexer_include_file()
    to try and resolve globs, if it can't find a file otherwise. Files
    included this way still respect the global include-path setting, so
    @include "foo.d/*.conf" will still work.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit fe5f2b89e0c49dfd7d9a89c55304cb205da253ea
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 21:59:39 2012 +0200

    cfg-lexer: Split cfg_lexer_include_file() into two functions
    
    To be able to keep the code simple in the future, split
    cfg_lexer_include_file() into two: the intent is that we'll check if
    the file exists, and if not, try the same thing as a glob, otherwise
    continue as we did before.
    
    This would nest too deep, so split out the current bulk into a
    separate function.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c08618370fc018629d623148452403fb7d0e6f40
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 23 16:24:01 2012 +0100

    afmongodb: Fix a race condition in the queue & wakeup mechanism
    
    The problem was found and analysed by Whille, the patch is based on
    his observations.
    
    The patch corrects a situation where - due to a race condition - the
    worker thread could end up in a permanent sleeping state.
    
    Reported-by: whille <whille@163.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 35cd19e84ab2008b0f452142dd2d53030cfbbcfd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 21:41:02 2012 +0200

    configure: Fix --with-json=json-c/json-glib handling and add --disable-json.
    
    The tests that decide whether the user wanted to select json-c or
    json-glib were a little bit off, which resulted in anything other than
    --with-json=auto failing. This has now been corrected. This patch also adds
    --disable-json for consistency with other enable/disable options.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 88494e0b7973c00c616206ba6ac81903cca85ccb
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 23 11:48:48 2012 +0100

    modules: Do not build or install disabled modules
    
    The afmongodb and afsmtp modules had a subtle bug in their
    Makefile.ams: even if they were disabled, the Makefile still built and
    installed an empty module.
    
    This patch corrects that, by moving the module_LTLIBRARIES inside the
    if block.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 4d6656bbbc19877e7dc2175a7fb3b9aeeaced270
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 21:14:28 2012 +0200

    logtransport: handle ENOBUFS on output
    
    FreeBSD returns ENOBUFS on send() failure instead of indicating
    this conditions via poll().  The return of ENOBUFS actually is a send
    error and is calulated in IP statistics, so the best is to handle it as
    a success.  The only alternative would be to return EAGAIN, which could
    cause syslog-ng to spin as long as buffer space is unavailable.  Since
    I'm not sure how much time that would take and I think spinning the CPU
    is not a good idea in general, I just drop the packet in this case.
    UDP is lossy anyway
    
    Reported-By: Traiano Welcome <Traiano.Welcome@mtnbusiness.co.za>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 35a092d9f8fc6545bbb72958fa117ffdffc1192a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 31 20:22:30 2012 +0200

    afsql: another reset_parallel_push workaround
    
    Lacking a better alternative right now, this patch works around an abort
    happening in the SQL destination driver when the target is slow. It's
    a single line of code, with 20 lines of comment...
    
    Reported-By: whille <whille@163.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7c2cc16233a5fc21232ec22f56a9ae9022e240bd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 14 20:48:09 2012 +0100

    cfg-tree: handle template compilation errors properly
    
    In case a template was specified directly at a destination, its syntax errors
    were not properly reported while the configuration was being parsed. This
    patch fixes that.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cf193a52e2177641921e6ff7cda48bc4a37d971b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 14 20:47:19 2012 +0100

    value-pairs: fixed double free in case of an argument parsing failure
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit daded120cefa7217dac0b1a5d9a870a7fa7fc51d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 14 09:54:35 2012 +0100

    unix-dgram: fixed crash in file permission parsing code
    
    A line to set last_file_perm_options was missed in the unix-dgram variant
    of afsocket, which caused the last_file_perm_options variable to be
    initialized to NULL, causing a segfault later on.
    
    Reported-By: Peter Czanik <peter.czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2d7339985ad8ce9b8d162ca95b3b59d711c27ad2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 14 09:36:20 2012 +0100

    cfg-tree: fixed segfault triggered by empty source/destination object
    
    When a source/destination object is empty a segfault happened during
    the compilation of configuration (for sources) or at the first message (for
    destinations). This was fixed by handling such cases.
    
    Reported-By: Peter Czanik <czp@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fd3b3863003da213eb45c4cd744aadb926a2ec98
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 12 20:24:31 2012 +0100

    LogProto: fixed framing error on partial flushes in RFC5424 support
    
    This patch fixes bug that is triggered when syslog-ng receives an EAGAIN
    while payload is written to the destination. A patch fixing the issue
    was submitted by Gergely Nagy, however I didn't like that solution
    refactored the code to something more manageable.
    
    Reported-By: Yuri Arabadji <yuri@fused.com>
    Signed-off-by: Fried Zoltan <deirf@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3c14a264ab4c76b9372b1288d6808d19ec4d0aed
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 11 14:53:55 2012 +0100

    logwriter: fixed a memory leak for messages that couldn't be flushed at once
    
    Sometimes a message is dequeued, and then can't be posted to the destination
    (probably because of an EAGAIN or something like that). In this case
    it is readded back to the queue. In this case a reference was lost, causing
    a memory leak, but not for all messages, but only for the affected ones.
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 77776419504917f54093b7462bcaa6545413bd5d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 8 21:11:06 2012 +0100

    preparations for 3.4alpha1

commit 404ceb959efe9715ce7437d7dcdc28ababbac590
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 5 14:47:12 2012 +0100

    afsmtp: New destination driver, to send mails via SMTP
    
    This introduces the afsmtp destination driver, updated to the latest
    3.4 conventions, and with all the threading bugs that were also
    present in afmongodb too, fixed.
    
    The driver itself uses libESMTP to send mail, and has the following
    config syntax:
    
    destination d_smtp {
     smtp(
      host("localhost") port(25)
      subject("ALERT! IMPORTANT EVENT FROM ${HOST}")
      header("X-Severity", "${SEVERITY}")
      from("no-reply@${HOST}.dummy")
      to("syslog-alerts@my.example.domain")
      bcc("big-brother@my.example.domain")
      cc("it@my.example.domain")
      reply-to("admin@my.example.domain")
     );
    };
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7104231ef1852a7a249060442af19e748ab2aaf7
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 3 11:16:13 2012 +0100

    value-pairs: Do not require --rekey in the command-line parser.
    
    The --rekey in the commandline parser is not needed, the various
    transformation functions can work just fine without it, and do the
    setup themselves, if so need be.
    
    This patch gets rid of --rekey.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit a16798c653c057239236945034114d8abf320e44
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 3 13:46:02 2012 +0100

    tfuuid: New template function to generate UUIDs.
    
    This patch adds a new template function: $(uuid), which can be used to
    generate Universally Unique IDentifiers.
    
    The use case for this is to add an UUID to each message as soon as
    they're received, so that they can be identified later, accross
    destinations. This allows me to pre-generate an ID for messages going
    into mongodb, and send those messages to a different destination too,
    with the same ID included.
    
    Use it like this:
    
    rewrite r_add_uuid { set("$(uuid)" value("uuid")); };
    log { source(s_network); rewrite(r_add_uuid);
          destination(d_mongo); destination(d_program); };
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e8afb0c2a7b9163c807b8b3a6623a0260206c1e2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 3 13:46:01 2012 +0100

    uuid: Introduce a new function to generate uuids.
    
    The new function, available in "uuid.h" and libsyslog-ng-crypto, can
    be used to generate UUID strings. It will either use a custom
    implementation, when OpenSSL is available, or libuuid, if it's present
    but OpenSSL is not.
    
    If neither is present, it falls back to a dumb counter.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b74827fff80d09c9bcfc40a7e4164c413b041c75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 7 13:53:39 2012 +0100

    log_writer_suspend(): fixed a potential abort when the error-suspend timeout expires
    
    It is caused by the fact that the watches are deinitialized at the time
    the timer triggers. Instead of only updating them, restart polling completely
    at timer trigger time.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c71b4b560fe89209c00c61b890567a9d346b7acb
Merge: f841136 bf742b0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 4 14:19:55 2012 +0100

    Merge remote-tracking branch '3.3/master'

commit f8411361807d77d2fb0b3092c697ccd1a33d7467
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 4 14:09:36 2012 +0100

    afmongodb: hack to link afmongodb properly against OpenSSL
    
    In case the glib version is too old, afmongodb requires linking against
    libcrypto, however even though libmongo-client.la lists it as a dependency
    that is not used when linking modules with libtool.
    
    This patch is a hack, a better solution would be welcome, it unconditionally
    links the afmongodb plugin against libssl and libcrypto in case the internal
    copy is being used.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e599f1fe11861258a283add5a6ff6db9bcbda68f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 4 14:08:01 2012 +0100

    func_test: try to load modules from the libtool hidden directory
    
    When running within the source tree, syslog-ng should load .so files
    from within the libtool-created .libs directory, otherwise it'd be using
    stale copies in the "install" dir.
    
    This was discovered as now syslog-ng autoloads modules by default.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 181edbddc8415c03885d35f9e35b5460613d801c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 4 14:05:48 2012 +0100

    crypto: don't use apphooks to register/unregister crypto stuff
    
    Use constructor/destructur functions instead.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1980bde933908ad4666d205e895b66dbc30ee6e3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 4 14:04:39 2012 +0100

    plugins: allow loading plugins regardless their filename
    
    Instead of requiring that the name of the plugin must match the "internal"
    name of the plugin, make it possible to load them regardless if they were
    renamed or are loaded through a symlink.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e65e2cb622e378e243515486503d9897d71569ce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 28 06:33:07 2012 +0100

    test_value_pairs: fixed a memory leak in the test program
    
    so that it becomes valgrind clean.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 428e21d8f2a6e5cb972f3a9b3660e5f966c55b75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 28 06:32:39 2012 +0100

    tags: don't allocate tag 0 at init time
    
    Its initialization caused a leak and was overwritten when the first real
    tag was created.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bf742b09d611720b7849c5e96e67f1d2dba5b748
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Feb 21 10:42:16 2012 +0100

    doc: Fix EXTRA_DIST
    
    There is a \ missing from the end of the second line of EXTRA_DIST,
    which results in a couple of files being left out of make dist, which
    in turn makes distcheck and building from dist tarballs fail.
    
    This patch adds the missing \.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 286fe4fa589e2703b228551e1e3f69595be33513
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 26 09:42:42 2012 +0100

    value-pairs: compile with earlier glib releases
    
    There were two glib features that prevented syslog-ng to compile
    with earlier versions:
      - g_strcmp0 is only available starting with glib 2.22, use strcmp instead.
      - g_ptr_array_set_free_func() is substituted with our own free code
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 44a7f4334ea3c91eb36e3f799cbe2cba054ec4c2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 26 09:39:50 2012 +0100

    vptransform: publish value_pairs_transform_free
    
    This patch publishes value_pairs_transform_free() function so that code that
    allocates transform objects can free them outside of a ValuePairsTransformSet.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ae5d156b01edf14a136513c84980ddb4ef196446
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Feb 13 16:25:16 2012 +0100

    value-pairs: Use a GPtrArray for explicit name=value pairs
    
    Instead of storing the name-value pairs explicitly set by the user in
    a GHashTable, store them in a GPtrArray. This has the advantage of
    being both lighter and faster to both insert and traverse, at the cost
    of making collissions more costy.
    
    If there are two entries with the same key, the templates of both will
    be evaluated, but only the latter will be used, which is a minor
    performance hit. But not using GHashTable outweights that.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit fa72bc271342dc6a36a9648f0c4731d1f1f329bf
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 10 17:35:22 2012 +0100

    value-pairs: Export value_pairs_foreach_sorted()
    
    Export value_pairs_foreach_sorted(), so that if any module wants to
    use a custom sort function, they can do that.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 2e0b7c24c592600d7ae687bce2e85271a8721a7d
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 10 17:35:21 2012 +0100

    value-pairs: Use a GTree for our internal scope.
    
    Using a GTree instead of a GHashTable has the advantage of providing
    faster access and a sorted key list, both of which are desired
    features.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0bd147b943f6d05f4c7f01ca8b9271e9b167c8de
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 10 12:59:44 2012 +0100

    afsql: Fix a deadlock when using explicit commits.
    
    When using explicit commits, in case the COMMIT results in an error,
    syslog-ng forgot to release a mutex, resulting in a deadlock the next
    time the same error happened.
    
    The fix is to do release the mutex in this error path, too.
    
    Signed-off-by: Fried Zoltan <deirf@balabit.hu>
    Signed-off-by: Patrick Hemmer <syslogng@stormcloud9.net>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e30b24f7e517fe668f9bcbbd45ee4b8c77806877
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Feb 24 20:07:39 2012 +0100

    cfg-lexer: ignore pragma/include directives when parsing a buffer
    
    Buffer parsing is only used to parse filter expressions, which shouldn't
    need the include/pragma machinery, nor the need to trigger the automatic
    loading of plugins when a buffer is parsed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 773116c6eeda97e8d9fb1afdcc82f99ed219eff4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Feb 24 20:06:10 2012 +0100

    crypto: automatically unregister the crypto hook when libsyslog-ng-crypto.so is unloaded
    
    It might happen that a plugin triggers the load of libsyslog-ng-crypto.so,
    which then gets unloaded (for instance when loading the list of candidate
    plugins). This patch unregisters the apphook automatically in this case.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bf657797af5826f416a87201902e431e932a1442
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 16 16:17:00 2012 +0100

    $(grep): added -m option to limit the number of matches
    
    This patch adds the -m option to $(grep), which can specify the maximum
    number of matches (akin GNU grep).
    
    Reported-By: Martin Grauel <martin.grauel@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b16ca8a1e583fb132dd4212d6205da8f614983ba
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Feb 3 10:52:57 2012 +0100

    afmongodb: Fix a deadlock at deinit time.
    
    There is a race condition between the writer thread and stop_threads
    (via deinit): if deinit sends the signal just at the wrong time, then
    the worker thread willl never wake up, as the main thread is already
    waiting for a join to finish.
    
    The fix is to lock the queue_mutex before signalling, that eliminates
    the race. This patch does just that.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 921fe160bd454c9c59ab027f78ef3319cad2338d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Feb 3 09:12:18 2012 +0100

    loggen: handle ENOBUFS gracefully
    
    This patch adds handling of ENOBUFS by sleeping for 1msec one it occurs.
    This fixes ENOBUFS handling on BSDs, which actually return this error
    code even in blocking mode, thus causing loggen to exit with an error
    when UDP is used and the network stack/interface is slower than
    loggen.
    
    Signed-off-by: Russ Milne <rtaitmilne@seccuris.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cf555f6c251151c3ac74d345ead3231c0a28eeb3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 2 14:33:06 2012 +0100

    implement automatic loading of modules
    
    Instead of having to rely on @module statements and --default-modules
    parameters, this patch implements automatic loading of modules whenever
    they are referenced from the configuration file.
    
    It first enumerates all available modules, extracts the list of plugins
    they offer and autoloads modules based on this information. This
    means that it doesn't matter what the module name is, syslog-ng
    will perfectly be aware which plugin is in which module.
    
    Whenever multiple modules offer the same plugin (think about the
    afsocket case) a "preference" value will determine which one is used.
    
    The autoloading can be disabled by setting 'autoload-compiled-modules'
    global variable set in the configuration file, which is now set to 1.
    
    The SCL modules.conf file got removed too, instead of having to track
    which modules need loading, the automatic means makes that unnecessary.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 386b778c577fb1fb55b2e98e975bfdf724b4249f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 2 14:21:01 2012 +0100

    afsocket: fixed building the notls version
    
    There was a collision in the macro used to enable SSL support in the
    configure script and the macro defined by the Makefile in case the SSL
    version is being built. The latter is now renamed to "BUILD_WITH_SSL".
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bf5d7aed345d9d4274ee8eb5ee6afc0886420192
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 2 14:18:49 2012 +0100

    main: --module-registry should initialize the logging subsystem
    
    As the plugin loading functions use it, so in case a debug message
    was printed, syslog-ng crashed. This patch explcitly disables
    --debug/--verbose and initializes the logging subsystem.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6ea0dcb748779208875a895cb770c2263b548f4e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 2 14:17:41 2012 +0100

    libsyslog-ng-crypto.so: link against OPENSSL_LIBS explicitly
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a299854e07b26ddf2e67eb3959b14638c7814691
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 1 11:45:55 2012 +0100

    manual pages: replace generated manual pages with the XML source
    
    This patch changes the included manual pages to be covered under the
    GPL and also a means to regenerate them from their source format (XML).
    
    Signed-off-by: Robert Fekete <frobert@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 017e73227752fc0867946ceb84cbfdd074740d78
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 31 15:44:21 2012 +0100

    configuration: make the "channel" keyword equivalent to "log" in log expressions
    
    Following a discussion on the syslog-ng mailing list, the "log" keyword
    can be odd when being used as a part of a source/destination/rewrite/parser
    rule. After a lot of debate, the "channel" keyword was chosen.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d58bf8188861e917151a71c1fd33c92b0811d595
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 31 15:43:12 2012 +0100

    cfg: change the current config version to 3.4
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dea802da96c9bcc4cc8d9e09d293212958e0330e
Merge: 2761c99 e5978b3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 31 15:09:41 2012 +0100

    Merge branch 'pipe-owner-group'
    
    Conflicts:
    	lib/cfg-grammar.y

commit 2761c99606aa25e8066e3f39f74428875af12a26
Merge: 247d677 e594c61
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 31 15:07:08 2012 +0100

    Merge remote-tracking branch '3.3/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	modules/afmongodb/afmongodb.c

commit e5978b3af3f0f7fbe0959f38a273d8594d8d383f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 30 20:00:34 2012 +0100

    pipe(): added permission setup code to pipe() sources
    
    This makes it possible to use owner/group/perm options for pipe sources.
    
    Reported-By: Patrick Hemmer <syslogng@stormcloud9.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f3200e79246e9f04697e8a9e792099d79999ff55
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 30 19:58:04 2012 +0100

    file-perms: refactor file permission manipulation code
    
    This patch introduces file-perms, grammar rules and a object that would
    apply user-specified permission settings to files created by syslog-ng.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e594c61daca70d922a0d7553afd5acdb1f9e3da6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 18 18:00:43 2012 +0100

    afsocket: Free tls_context if it has been allocated
    
    Signed-off-by: Eric Lindvall <eric@sevenscale.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 247d677d376299092e739fffbfcaee0d44de5a5a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 18 17:04:27 2012 +0100

    afprog: send signals to the whole process group instead of just the child process
    
    Some shells do not propagate signals to its children, effectively
    causing them to be left alone at syslog-ng reloads. This is less than
    ideal in case the process doesn't exit if its stdin is closed.
    
    This patch changes the kill() calls to send signals to all children,
    which in turn should properly terminate everything spawned by the shell.
    
    Reported-By: Hendrik Völker <hendrik.volker@de.verizonbusiness.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5e44eb46b0d7b86b62f17698e2b6de875ac8d7c6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 17 20:44:11 2012 +0100

    preparations for 3.3.4

commit a25edf6a46c0eb740f0069ca5ada953148ae5cc2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 16 23:06:06 2012 +0100

    csv-parser: fixed the use of the template() function in case of multiple invocations
    
    When csv-parser() is used in multiple log paths, it is cloned. The clone operation
    didn't properly clone the value of the template() parameter, effectively causing the
    clone to operate on $MESSAGE.
    
    Reported-By: John Morrissey <jwm@horde.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3dc36259904aa1b206ee52e6ac2cd1266957cef0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 16 22:49:01 2012 +0100

    control socket: close connection fd to avoid leak
    
    This patch fixes an fd leak associated with control connections, that
    are used by syslog-ng-ctl.
    
    Reported-By: Jakub Jankowski <shasta@toxcorp.com>
    Fixed-By: Peter Eisenlohr <peter.eisenlohr@inform-software.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ece855da52124744fb14858c54906b6e901f58b2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 10 13:11:09 2012 +0100

    json-parser: Implement array parsing.
    
    Arrays are parsed into a $fieldname.$index structure for now.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b4244d20bb40fff2c94fd15c8aa20990b89917af
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 10 13:11:08 2012 +0100

    json-parser: Implement boolean parsing.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 2c4f6554ce56df640673c77e98aa4722bc2b98e6
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 10 13:11:07 2012 +0100

    json-parser: Support netsted objects.
    
    Moved the json_object iteration into its own function, so that it can
    be called recursively. This made us able to do just that, and easily
    handle nested objects.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 7b5773b7f1367e64d06c0a88ed8258a3ecc8c478
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 10 13:11:06 2012 +0100

    jsonparser: Handle invalid JSON input properly.
    
    When JSON parsing fails, handle it gracefully, by printing an error
    message and returning immediately, instead of ending up segfaulting.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 888ee834deb5a6013b0120c2f00450d139056296
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 3 01:55:33 2012 +0100

    afmongodb: Remove the TODO file.
    
    The TODO file was old and stale, remove it.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 768f0c6ec8eba2ad51531f2331fb5635fe12c063
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 3 01:55:32 2012 +0100

    afmongodb: Add support for safe-mode.
    
    This adds a new option to the mongodb destination driver:
    safe-mode(yes|no), which, as the name implies, can be used to turn
    safe-mode on and off. For performance reasons, it is off by default.
    
    Safe mode basically involves an extra check after each insert, that
    checks whether the last insert succeeded, and only treating the insert
    a complete success when the double check succeeds too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit a980b9d268efa54879d3deeb4a53fa5a281629ba
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 3 01:55:31 2012 +0100

    afmongodb: Added replicaset support.
    
    The servers can now be specified with a server() parameter, where the
    first will be the primary (used in the stats for example), the rest
    will be the seeds.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ae8ae9aa17c7ac5544d5c779b55e9d5b0ecb9f33
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 3 01:55:30 2012 +0100

    afmongodb: Convert to mongo_sync_*
    
    In preparation to support other things, and to slightly reduce code
    complexity, convert the MongoDB destination driver to use the mongo_sync
    family of functions.
    
    Signed-Off-By: Gergely Nagy <algernon@balabit.hu>

commit 3e7eec7466eeab4295d579d35003dfd6358e2338
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 3 01:55:29 2012 +0100

    afmongodb: Clean up the default value-pairs() set.
    
    Cleaned up the default value-pairs() set, so no needless excludes are
    present by default.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit bf22a896ad524caac3880c298c4cf58dfce62257
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Dec 29 15:01:27 2011 +0100

    afmongodb: Only free the value pairs if there's any.
    
    In afmongodb_dd_free() only free self->vp, if it is non-NULL. In case
    of a syntax error in the configuration file, it may very well be NULL
    still, and that would lead to us segfaulting shortly after printing
    the error message.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit f284d852e744503cffac50100cd6a87b9a97944f
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Dec 29 14:41:21 2011 +0100

    afmongodb: Fix a race condition in the queue handling.
    
    There is a race condition between afmongodb_dd_queue() and
    afmongodb_worker_insert(), that can trigger an assertion when the rate
    of incoming messages is very high.
    
    The scenario that triggers this is like this:
    
    * We receive a message, put it in our internal queue, and notify the
      worker thread.
    * The worker thread resets the queue's parallel_push.
    * We receive another message, notice that the queue is empty, so we
      insert it, and set parallel_push at the same time.
    * The worker thread tries to pop the queue's head, but that triggers
      an assert, because parallel_push is set.
    
    The root cause of the problem is that afmongodb_dd_queue() modifies
    the queue without locking the queue_mutex. This patch corrects that
    problem.
    
    Reported-By: Costa Farber <costaf@wix.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0e858cbc7eccffffff12cfcccf7399b43333d9f1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 15 13:44:14 2012 +0100

    configuration: implement Log Expressions support
    
    This patch is a huge one that completely changes the data structure behind
    the configuration parser and refactors all log processing statements
    in the configuration in a notion called 'log expressions'.
    
    All major statements in the configuration: source, destination,
    filter, parser, rewrite have become log expressions. Log expressions can
    be nested recursively and this makes the syslog-ng configuration language
    much more flexible and makes it easier to extend in the future.
    
    The change is upward compatible with the old language, so users should
    not notice anything.
    
    Here are the features that this patch implements.
    
    Junctions
    
        Before junctions, log statements could contain embedded log statements
        like this:
    
        log {
        	source(s_all);
        	filter(f1);
        	log { filter(f11); destination(d11); };
        	log { filter(f12); destination(d12); };
        };
    
        Only messages that match "f1" will be dispatched to the two embedded log
        statements, which in turn will send the message to d11 and d12 if their
        corresponding filter matches.
    
        Embedded log statements were limited in a number of ways:
          - it can only be used at the end of a log statement,
          - it is not possible to add further processing _after_ all log statements were
            finished
          - it is not possible to process the "output" of embedded log statements,
            message processing finishes on each branch separately.
    
        There comes the "junction", which is an enclosing block for embedded log
        statements so their "end" becomes available.
    
        For instance it becomes possible to do things like this:
    
        log {
        	source(s_all);
        	filter(f1);
        	junction {
        		log { filter(f11); rewrite(d11); };
        		log { filter(f12); rewrite(d12); };
        	};
        	destination(d11);
        };
    
        The destination "d11" will get the "output" of the embedded log statements
        in the junction right before the destination. This can be used
        for a number of things:
    
          - in a number of cases, filtering & rewrite would depend on the
            context (like which source a message was read from)
          - however once that processing is finished, the further processing of the
            message becomes the same.
    
        For instance: Apache log files contain a header which is omitted when Apache
        logs to syslog instead. By using junctions, one branch can remove the
        extra header from files while doing nothing in the other. For example:
    
        log {
          source(apache_files);
          source(syslog);
          junction {
            log { filter(f_apache_files); rewrite(r_apache_remove_file_header); };
            log { filter(f_apache_syslog); };
          };
          destination(d_files);
        }
    
        Also, junctions are a preparatory work for combining sources/destinations
        and processing elements.
    
    Inline definition of log processing elements
    
        Instead of having to define all objects (source, destination,
        filter, parser, rewrite) externally, make it possible to include their
        definition in the log statement itself.
    
        Here's a sample config that demonstrates its use:
    
        @version: 3.4
    
        log {
        	source {
        		unix-stream("log");
        	};
    
        	filter {
        		message("foo");
        	};
    
        	destination {
        		file("/home/bazsi/logs/d4.log");
        	};
        };
    
        Please note that the usual duplication problems apply, e.g. you can't
        define the same file destination twice in two different log statements,
        otherwise stats & queues will be duplicated and syslog-ng will issue
        an internal error on each reload. Checking for duplications with proper
        error logging is to be done in the future.
    
    Everything is a log expression
    ==============================
    
        This feature is the combination of all written above, which essentially
        makes the syslog-ng configuration language much more powerful.
    
        All log expressions can recursively involve other log expressions.
        Some practical examples:
    
        It becomes possible to attach parser/rewrite expressions to sources,
        and reuse the combination of the source and the assorted parser/rewrite
        expression as a source:
    
            source s_apache {
                log {
    		source { file("/var/log/apache/error.log"); };
    	        parser(p_apache_error_parser);
    	    };
            };
    
        Anything that is read from Apache's error log file, will be processed
        by p_apache_error_parser prior to hitting the normal log paths,
        defined further down in the configuration.
    
        It becomes possible to use junctions within parsers: sometimes it is not
        trivial how to process a given stream of log messages. Some of them
        is best processed by db-parser(), others with csv-parser(). It is
        usually quite trivialy to decide which one to use (tags, $PROGRAM
        or other log message property), but currently syslog-ng only allows
        this to be implemented using separate log paths. This complication is
        now removed with a parser like this:
    
            parser p_parse_all {
    	    log {
                     filter(f_csvparseable); parser { csv-parser(); }; flags(final);
                };
                log {
    	         parser { db-parser(); };
                };
            };
    
          Basically this parser would try to process messages with csv-parser()
          if the filter "f_csvparseable" matches, otherwise it uses db-parser().
    
          Please note that all the expressions above can use both references
          of other previously defined log expressions or can define them
          in-line, right on the spot.
    
    Error reporting
    ===============
    
          Error reporting was also improved, syslog-ng has now started to print
          the exact location where a given processing element was defined.
    
          This is not complete, but technical possibility exists to add this
          information to all diagnostics messagess.
    
    Implementation notes
    ====================
    
          - LogSourceGroup and LogDestGroup are eliminated, their functionality
            (primarily source specific counters) is moved to
            LogSrcDriver and LogDestDriver respectively
          - LogProcess is eliminated, its functionality is pushed
            into stock LogPipe
          - the global counters "center.received" and "center.queued"
            work again
          -

commit fe588b8afad3788dc3f372cb42aeaf8fee4f7f6b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 15 11:35:33 2012 +0100

    LogDestDriver: introduce log_dest_driver_queue_method()
    
    This patch introduces a new derived queue method that has to be called
    from all LogDestDriver instances. In this patch, the method is created
    and all dest drivers explicitly call that in their _queue() method.
    
    Note that in order to do this, destination drivers should pass a reference
    and ack to this inherited method, which requires changes in all
    destination drivers.
    
    This change allows us to factor in more-and-more destination related
    functionality in LogDestDriver instead of pushing those into
    LogSourceGroup/LogDestGroup, which is going to be removed in a
    follow-up patch. For example, previously group related counters were
    updated in the LogSourceGroup/LogDestGroup objects, this is going to be
    moved back to the driver, sparing us one additional LogPipe during
    processing and making implementation a bit more object-oriented.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7200624de8c79551063114613a8b536decee1ca9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 15 11:29:48 2012 +0100

    scratch-buffers: fixed compilation warning by including misc.h
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a5408f011d54ab550f067e48c6731079cb9fe4a9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 12 13:43:35 2012 +0100

    LogPipe: added assertion to log_pipe_queue() to check initializedness
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0af8c877aee98a6bafdf9a5eaa888e9298c308c3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 12 13:43:14 2012 +0100

    LogPipe: make it possible to clone LogPipe instances
    
    This used to be part of the LogProcess interface which need to be cloned
    whenever the same pipe is connected to the log processing graph in
    multiple places. This patch promotes that interface to the LogPipe
    class.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8ab998e9086b21ad4693a2adfa8a7a9a7b002ca5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 12 13:42:13 2012 +0100

    merge with log_pipe_new

commit 0f67924c20cdc7abc76b9b4192faf32a32152b84
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 12 13:42:06 2012 +0100

    syslog-ng.h: define LogPipe typedef globally
    
    Instead of having to include logpipe.h everywhere.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 77626db95e67fc6b0eb4853dc1926fdb0130dca7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 12 13:41:14 2012 +0100

    LogSrcDriver: indicate in flags that we're a source for log messages
    
    A new PIF_SOURCE flag is introduced that indicates that a given LogPipe
    will "generate" messages, not just merely forwarding them.
    
    This is used by the configuration compilation code to change the LogPipe
    structure accordingly.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a654af519887fab7ba21feffb43578bb9661d7bc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 12 13:39:21 2012 +0100

    LogPipe: make it possible to create a simple 'do-nothing' LogPipe
    
    This patch adds a new constructor for LogPipe, that creates a LogPipe
    instance that does nothing.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a94f0f159b910575ceda2fe52a9fe9eb96c735d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 12 13:31:14 2012 +0100

    rename center.{c,h} to cfg-tree.{c,h} without changing contents
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1e7f8fe65a1a51f2000ffbaddc280ef443529426
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jan 6 12:51:02 2012 +0100

    configure.in: removed "environ" variable test in favor of an explicit OS dependency
    
    The test didn't work reliably as "environ" as a variable is available on
    Darwin in executable programs, but not in shared libraries. syslog-ng
    uses that in a shared library, but there's no easy way to test that.
    
    This patch changes the detection from an actual check of the environ
    variable to a check to the underlying OS.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7201f9a4c6d1b26206494cd60020a2536a7ffaec
Merge: 4425054 511e939
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 28 14:20:13 2011 +0100

    Merge remote-tracking branch '3.3/master'

commit 4425054b0f74104d2bf47f9f4b630fc09bdd7345
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 27 17:24:06 2011 +0100

    log_center_init_pipe_line(): rescope variables so most declarations are where the given variable is used
    
    This patch is primarily meant to make the code a little bit more readable
    by moving the variable declarations to where they are used instead of
    being defined at the top of the function. junction {} handling will make
    this function even more complex, so making it a bit more readable helps
    a lot.
    
    I also added a comment to describe the function so that it drives the
    reader's eyes a bit for deeper understanding on what's going on.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3d05ee23122a707c74bd53f8bc33f535aa34b912
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 22 15:14:49 2011 +0100

    basic-funcs: implement $(length) function
    
    The idea behind the $(length) function is to make it possible to filter
    based on value length, such as:
    
    f_malformed {
     match ('-', value ("$(if ($(length "${MSG}") <= 16) "-" "+")"));
    };
    
    Reported-By: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 511e939f4199af3ae9aaa4a14b77c7f82863c16f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 22 15:02:16 2011 +0100

    logsource: fixed potential division by zero exception
    
    Reported-By: Dmitry Gilev <dmitry.gilev@me.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9254fe9e6236746bf1f955f0cac1274634b1beda
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed Dec 7 12:11:12 2011 +0100

    afsql: Add support for specifying custom SQL backend options.
    
    When one is using an SQL backend that supports a set of options that
    syslog-ng does not set itself, yet, one does want these options set,
    there was previously no way to accomplish that without changing the
    source.
    
    This patch adds a new option: dbd-option(OPTION_NAME VALUE) (where
    OPTION_NAME is always a string, and value can be either a string, or a
    number). The options specified this way will always be set with libdbi
    whenever we (re)connect to the database.
    
    A simple use-case:
    
    destination d_slow_sql_test {
      sql(type("null")
          dbd-option("null.sleep.connect" 1)
          dbd-option("null.sleep.query" 5)
          columns("dummy")
          values("1")
      );
    };
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 61aa152834083393fe34dfcafecffaf3a916048e
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Dec 2 15:37:34 2011 +0100

    afprog: Terminate the child process on deinit.
    
    When reloading the configuration, terminate the child process of a
    program destination, for the following reasons: it will be restarted
    anyway by afprog_dd_reopen(), so there's no harm done. But if dash is
    used as /bin/sh, simply closing the stdin of the process will not make
    it stop.
    
    That, in turn, results in us starting the same program over and over
    again on each SIGHUP. So instead of doing this, send a SIGTERM to the
    child on deinit, too.
    
    Reported-by: Thomas Wollner <tw@wollner-net.de>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 79fc32703615e045fca4c9aaf85b7ab2915e7ed4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 21 13:35:28 2011 +0100

    csvparser: fixed csv-parser() when applied to multiple log paths
    
    Reported-by: Michael Hocke <michael.hocke@nyu.edu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c62fcd18a7c945d5185a2e2278ad22d2abc1fb41
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Dec 2 13:29:42 2011 +0100

    logrewrite: Correctly initialize the conditional rules.
    
    In case where the condition of a rewrite used a filter reference
    instead of inlining the filter itself, the filter expression was never
    initialized. This resulted in the condition always evaluating to
    not-match, making the following construct completely useless:
    
     rewrite("new-value", value("MESSAGE"), condition(filter(f_my_filter)))
    
    The fix is to introduce a new function, log_rewrite_init_method(),
    which will initialize the condition filter if it exists, and has an
    init method. Then we bind this method to LogPipe's init callback
    during log_rewrite_init().
    
    This way, when initializing the rewrite pipe, the condition will get
    initialised too.
    
    Reported-by: Thomas Wollner <tw@wollner-net.de>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ab08c84abbeda5a200b8150a6af7b02c64d84994
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 18 09:53:39 2011 +0100

    [dbparser] Implemented SET parser
    
    The SET parser matches any characters specified in its parameter list
    without further checks. This is a generic solution for the need of
    matching and arbitrary number of whitespaces in messages with padding
    for fields
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-Off-By: Balint Kovacs <blint@balabit.hu>

commit 6549f537b518926cd5f505504451fa73a8a8269b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 18 09:24:19 2011 +0100

    $(strip): added new template function to strip off whitespace from both ends of a string
    
    This patch adds the implementation and unit tests for $(strip) that
    can be used to strip off spaces from string.
    
    Usage:
    
      $(strip $arg1 $arg2 $arg3)
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 97353039a7441090a49e6002a6bbe38f5b8a0e52
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 17 20:22:07 2011 +0100

    dbparser: fixed message indexing in action rules with no correllation (incompatible)
    
    Actions that are attached to rules having context-id (e.g. correllation),
    use @0 for the message being generated and @1 the last message in
    the context.
    
    This is inconsistent with rules that have no correllation, where @0 was the
    triggering message.
    
    This patch fixes this behaviour, but at the same time it is incompatible
    with previous versions.
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a70984928208599dc46a99ae1d2d11026fdea1ff
Merge: ddc7c25 8d50d24
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 15 21:29:56 2011 +0100

    Merge remote-tracking branch 'github/master'

commit ddc7c2539bd66fa35e8df441e4baf58e87b6708d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 15 21:27:43 2011 +0100

    value-pairs: key rewriting support
    
    This is the implementation of the key rewriting feature, along with a
    couple of other enhancements that were required for the functionality.
    
    The first change is that the key() statement now works very
    differently: instead of being a wrapper around pair(), it is now a
    glob-accepting include statement instead (with keeping the name).
    
    As such, it no longer guarantees that a given key will appear in the
    final set, as excludes still have a chance to override it.
    
    key() and exclude() patterns are now matched in order, and the last
    one wins. The only way to guarantee a key into a set, in spite of any
    exclude() rules, is via pair(). The key-value pairs specified by
    pair() are still inserted into the set afterwards.
    
    The key rewriting itself is done via the new rekey() statement, to be
    used under the key() statement, along these lines:
    
    value-pairs(
     key(".cee.*"
         rekey(shift(4)
               add-prefix("Events")
               replace("Events.some_field" "a_new_name")
         )
     )
    )
    
    Similarly, the same thing can be done with format-json (without the
    line breaks):
    
    $(format-json --key .cee.* --rekey --shift 4 --add-prefix Events
                  --replace Events.some_field=a_new_name)
    
    The transformations listed under rekey() are applied to each key
    matched by the glob specified for the outer key() statement, and the
    transformations are applied in the order they're listed in the
    configuration.
    
    This patch implements the following translations: shift($AMOUNT),
    which simply shifts the key $AMOUNT characters right;
    add-prefix($PREFIX) which does as the name suggests; and
    replace($PREFIX, $NEW_PREFIX), which replaces a substring at the start
    of the key, with another. The replace() transformation does not
    support replacing anything other than a prefix.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 606c8cc0b10aa4e877f70726b707402d100bb0f9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 14 15:21:05 2011 +0100

    afunix: clarified error messages in case of a failure
    
    On Fedora systems, syslog-ng was configured to use unix-stream() /dev/log
    whereas systemd supplied a unix-dgram() one, which caused difficult to
    diagnose problems.
    
    This patch adds further logging to this case and causes syslog-ng to fail
    with an error message if it finds that /dev/log is using an incorrect
    socket type.
    
    Reported-By: Michal Schmidt <mschmidt@redhat.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 32b7d63aa5074551c84ac62ec023b84c7274ce39
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 9 21:38:17 2011 +0100

    pdbtool match: added the value of the TAGS macro if a message matches
    
    The TAGS values assigned by patterndb is an important output, which
    wasn't displayed so far.
    
    This patch adds
    TAGS=...
    
    line for each matched message.
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cd059eab18b483685fd83675d39fb54bcbedfe8c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 29 16:13:52 2011 +0100

    db-parser(): set .classifier.unknown tag if a message doesn't match
    
    Whenever a message doesn't match the patterns, automatically set
    the tag '.classifier.unknown'. Likewise if it does, clear this tag.
    
    The rationale is to make it easier to use tags to detect if a message actually
    matched while processing with the last db-parser().
    
    We're clearing the same tag in case of a match so that if there are
    multiple db-parser() instances, the check against .classifier.unknown
    would work, even if the first one matched and the 2nd doesn't.
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a5e11c771787ce1671d95713fa9342a99a1e1289
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 29 16:05:15 2011 +0100

    added patterndb-4.xsd to the tarball
    
    Reported-By: Evan Rempel <erempel@uvic.ca>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8d50d247ecb5a14693705a52341222908ca83f7a
Merge: 0ef1b92 1b52fd8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 25 13:14:22 2011 +0100

    Merge remote branch '3.3/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	lib/mainloop.c
    	lib/value-pairs.c
    	modules/basicfuncs/basic-funcs.c

commit 0ef1b9274ba83a5689a59d66d910ca0513fd9dfd
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Nov 18 17:19:00 2011 +0100

    value-pairs: Fix the error handling in the command-line parser.
    
    When an error occurs during command-line parsing, do not attempt to
    free argv: it's not owned by us anymore.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit a9eefd946f24ae7630f27fad8f2add4efb751d90
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Nov 18 15:13:03 2011 +0100

    logproto: Fix compilation on systems without IOV_MAX.
    
    Since IOV_MAX is not defined on Hurd its usage is made conditional.
    Errors are handled by g_malloc0() which aborts on failure, so no
    return value has to be checked.
    
    Reported-By: Svante Signell <svante.signell@telia.com>
    Patch-From: Svante Signell <svante.signell@telia.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1b52fd8741b33c20e7cdc06b907fb76a981c8874
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 25 12:38:40 2011 +0100

    [logrewrite] Repair logrewrite *_clone and *_subst_clone functions (fixes: #7686)
    
    Repair rewrite clone functions because we did not clone $MACRO id and conditions.
    Before this patch if we used rewrite in config file and use example PIPE source
    we rewrited $MESSAGE macro instead of macro in config file because the $MESSAGE
    macro was the default macro.
    
    Signed-off-by: Fried Zoltan <deirf@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e495996c1e4eef0a79f4cf49b5252098d7a00e10
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 25 12:30:24 2011 +0100

    LogMessage: reorganize nv_table_add_value() call-sites for readability
    
    Reported-By: Attila M. Magyar <athos@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0f96f048abc74aa27f0299f586b7c7b736c71401
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 25 12:18:39 2011 +0100

    NVTable: added comment on NVTable memory management
    
    Reported-By: Attila M. Magyar <athos@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d199a1980be6b23fe24189e86a882812288e292c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 17 21:28:14 2011 +0100

    preparations for 3.3.3

commit c7070e2a6f1c3a312260bcecf49d62028fef27ce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 17 21:21:19 2011 +0100

    driver.h: fixed a double-unref scenario causing crashes on reload
    
    This patch fixes a heap-corruption caused by a double-unref in
    log_dest_driver_release_queue(), triggered at reload time.
    
    Reported-By: Patrick H. <syslogng@feystorm.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 555a5cead6723132e6aa89f52365bb40582c8ecc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 13 13:22:18 2011 +0100

    Further preparations for 3.3.2

commit b9b0e5d0207c06b5a7b59aafe7db457c217b070d
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Nov 12 14:27:27 2011 +0100

    gprocess: Fix --no-caps handling when building with hardening options.
    
    When both glib and syslog-ng is built with hardening options enabled,
    overwriting a string pointer with a FALSE boolean does not have the
    expected results: the string will not become NULL.
    
    In this case, --no-caps will end up with a segfault, because
    process_opts.caps is non-NULL, and points to junk.
    
    To fix this, introduce a new function that sets process_opts.caps to
    NULL explicitly, and use this function as a callback, instead of
    assuming that a FALSE boolean will have the expected results.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 476a1da5ac00dcea58fe3038bc110ec8dec4c0d8
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Nov 12 10:29:24 2011 +0100

    value-pairs: Fix a small memory leak in the commandline parser.
    
    Whenever we parse a command-line, we construct a new argv array, to
    prepend a zeroth element for glibs option parser. We correctly free'd
    it on the error path, but never on the success path.
    
    This lead to a small memory leak every time
    value_pairs_new_from_cmdline() was called (that is, at the moment,
    each $(format-json) template function leaked a little bit).
    
    This patch fixes this issue by modifying the error handling a little:
    instead of freeing everything and returning NULL, we only free the
    value-pairs structure, and set it to NULL. The rest of the freeing is
    left up to the common parts afterwards, which now correctly frees the
    constructed argv array too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 56ac221ddc72498b77d7c30ba89f5d5f9641f6df
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 12 20:49:03 2011 +0100

    NEWS: updated for 3.3.2

commit c94867c78a3250795806a4b0eab69ea6be758c21
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 12 20:46:22 2011 +0100

    configuration: allow configuration object duplicates
    
    Historically syslog-ng used to allow overriding configuration block simply
    by defining the same object twice. A previous patch has changed this
    to an error, however there seem to be people who rely on the old behaviour.
    
    In order to serve both groups of people (who get it wrong and who really
    wants to use this) a new global variable has been introduced.
    
    This line in the beginning of the config:
    
    @define allow-config-dups 1
    
    will restore the old behaviour, this is also printed to the console
    at startup.
    
    Reported-By: Dave Rawks <dave@pandora.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d2c4e32e750706953a64b366b3e0d8c61a42d864
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed Nov 2 11:58:37 2011 +0100

    resolve_sockaddr: Fix domain stripping on initial lookup.
    
    When looking up a hostname, we were only setting the 'positive' bool
    during lookup, so it was only set when the host already existed in the
    cache. When it didn't, and we just put it there right after the failed
    lookup, the bool remained false.
    
    This resulted in the domain part not being stripped even when
    use_fqdn(no) was set.
    
    The fix implemented in this patch is dead simple: if we managed to
    resolve a host, we set the bool to TRUE.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e4ed6c00d7df607a8ef82df0288fd849134b8ed3
Author: Erik Maciejewski <erikm@ymail.com>
Date:   Tue Oct 4 03:17:13 2011 -0400

    afsql: Database connection health check
    
    Implemented a health check for the database connection after a query
    fails in afsql_dd_insert_db() that addresses an issue where, if a
    thread has a valid connection instance but has lost the actual
    connection somehow, log messages can potentially be dropped without
    an attempt to reconnect.
    
    An error message is generated similar to the initial connection
    error message if the connection is found to be down.
    
    The value for a thread's failed_message_counter is not incremented
    if the database connection is found to be down as the connection's
    state is the probable cause of the failed query.
    
    The placement allows any existing or subsequent uses of goto error
    to take advantage of the health check.
    
    Signed-off-by: Erik Maciejewski <erikm@ymail.com>

commit 89195186d7001739d496f6c8756c60933403f9e1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 12 13:45:38 2011 +0100

    filters: add support for evaluation in message contexts
    
    Filters are sometimes used in correllation contexts (for example "$(if)")
    which then may reference templates.
    
    Previously such cases were handled by losing the correllation state
    within the embedded template. This patch changed that and now
    correllation state is propagated into filter expression evaluations.
    
    Reported-By: Daniel Ankers <md1clv@md1clv.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8239b581b1c81f1ca7c425f2ced5b6869e7e20b2
Merge: fc744aa c97c589
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 9 21:22:29 2011 +0100

    Merge remote branch 'algernon/feature/3.3/scratch-buffers'

commit fc744aae608a9848cb13fe8098b11423e941c41b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 9 21:17:34 2011 +0100

    logrewrite: fixed conditional rewrite
    
    In case condition() was specified for a rewrite rule and the condition
    didn't match, the log_rewrite_queue() method erroneously returned without
    either dropping the message or sending it on the log message pipeline.
    
    Since rewrite rules may not drop messages, we should
    always call log_pipe_forward_msg().
    
    Reported-By: Martin Holste <mcholste@gmail.com>
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c97c58954900168d7a7780ef5aa09a14835aeb2c
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Nov 7 22:20:44 2011 +0100

    scratch-buffers: Use an embedded GString.
    
    Instead of using a pointer to a GString, embed the GString, thus not
    only shaving off a few bytes of memory used for scratch buffers, but
    also reducing fragmentation.
    
    Requested-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 7dcda390add8408223b9563267be0833f182a9eb
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Nov 1 13:22:49 2011 +0100

    value-pairs: Convert to use scratch buffers.
    
    Instead of using a temporary GString stored in the ValuePairs
    structure (which is NOT thread safe), use scratch buffers instead.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit ebda1098348c48b4b5c3f9730a9a87ca34bc6861
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Nov 1 13:13:03 2011 +0100

    scratch-buffers: Scratch buffer implementation.
    
    Scratch buffers are thread-local GString buffer stacks. The intended
    usage is that whenever a piece of code needs a scratch buffer for some
    quick task, it can acquire one via scratch_buffer_acquire(), and
    whenever it is not needed anymore, it releases it back to the stack
    with scratch_buffer_release().
    
    Buffers are allocated on-demand, and they're freed up at the end of
    main_loop_io_worker_job_stop().
    
    Code that wishes to use scratch buffers need to acquire and release as
    appropriate. These return a ScratchBuffer object, from which the
    GString part can be extracted with sb_string().
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 9f626febb2b5a6c3a4530b872470b0330fbee977
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Nov 7 22:20:44 2011 +0100

    scratch-buffers: Use an embedded GString.
    
    Instead of using a pointer to a GString, embed the GString, thus not
    only shaving off a few bytes of memory used for scratch buffers, but
    also reducing fragmentation.
    
    Requested-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit bed329583e9e4a804100039c637c9d81a887cfc2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Nov 1 13:22:49 2011 +0100

    value-pairs: Convert to use scratch buffers.
    
    Instead of using a temporary GString stored in the ValuePairs
    structure (which is NOT thread safe), use scratch buffers instead.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 093faefb400f58cda0104559a31c57f3dfa0a61d
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Nov 1 13:22:33 2011 +0100

    jsonparser: Convert to use scratch buffers.
    
    Instead of holding on to a pair of GStrings in the LogJSONParser
    structure, and using them in a non-thread safe manner, use the newly
    introduced scratch buffers instead.
    
    Also, we now create a new JSON tokener for each message - it's thread
    safe that way, and it's cheap enough to not need caching.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6ae77b9415bc547e68533861a87796f7ad382a8d
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Nov 1 13:13:03 2011 +0100

    scratch-buffers: Scratch buffer implementation.
    
    Scratch buffers are thread-local GString buffer stacks. The intended
    usage is that whenever a piece of code needs a scratch buffer for some
    quick task, it can acquire one via scratch_buffer_acquire(), and
    whenever it is not needed anymore, it releases it back to the stack
    with scratch_buffer_release().
    
    Buffers are allocated on-demand, and they're freed up at the end of
    main_loop_io_worker_job_stop().
    
    Code that wishes to use scratch buffers need to acquire and release as
    appropriate. These return a ScratchBuffer object, from which the
    GString part can be extracted with sb_string().
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 9e7f9258b03c58701be40d40f9708bb3a9c56625
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 22:14:05 2011 +0100

    log_writer_set_options: fixed a memory leak
    
    log_writer_set_options() will be called possibly multiple times on the same
    instance, but the code didn't check if stats_id or stats_instance were
    already set. If they were, their old value was forgotten, thus leaked.
    
    Reported-By: Jakub Jankowski <shasta@toxcorp.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 571e71aaf42beb3170ed9cec588a918f05afc8bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 21:54:40 2011 +0100

    pdbtool: fix missing check in pdbtool test ruleid warning
    
    Signed-off-by: Balint Kovacs <blint@balabit.hu>

commit 13b8351e1ba166a57ffcf010f7fd34db39124ca1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 21:51:13 2011 +0100

    pdbtool: Test file accessibility in test mode.
    
    When run in test mode (pdbtool test), check that a file exists, before
    trying to load it, and return a sensible error message in case it does
    not.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0df32f3f984efec6ae11c0a19efc1414abb04e64
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Oct 31 18:16:11 2011 +0100

    pdbtool: Bail out on errors even if validating only.
    
    When run with the --validate flag, and an error is detected, short
    circuit to the next file, instead of running the rest of the
    validation with garbled data.
    
    Reported-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 13abb05aeeab5e56f73cf83352d0b83df6597faa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 17:06:14 2011 +0100

    detect if "environ" variable is present
    
    MacOSX doesn't have an "environ" global, compile the setproctitle code
    conditionally. We could use _NSGetEnviron(), but the whole point of
    setting the proctitle is not that important, and I'm not completely sure
    that it actually works.
    
    Changing the process title involves a lot of possible unportable magic.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b061328b3e0d3b466ac29ef4e1b3ee384b7130b0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 16:33:32 2011 +0100

    configuration: report duplicate configuration elements
    
    Previously if a configuration element name was used twice, the 2nd would
    be used and some memory was leaked on every reload.
    
    This patch changes that by reporting duplicate IDs as configuration errors.
    
    A patch was posted by Anthony, but a different implementation
    was used instead.
    
    Reported-By: anthony lineham <anthony.lineham@alliedtelesis.co.nz>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 60b596791040762fb3302939a58f493b72239847
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 10:13:42 2011 +0100

    mainloop: allow the number of worker threads over 64
    
    This patch allows more than 64 worker threads with one limitation: threads
    over 64 will not scale nicely in the LogQueueFifo implementation, as
    they'd contend on the queue wait lock.
    
    Reported-By: Arkadiusz Miśkiewicz <arekm@maven.pl>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 73a8c48983319942f668080a19ec037d1aab22cf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 10:06:01 2011 +0100

    affile: release per-writer LogQueue instances during runtime
    
    Instead of keeping those queues around if a destination is reaped, allow
    them be freed. Also, make sure that file destinations have their queue
    restored accross SIGHUP in case they contain unflushed items.
    
    Reported-By: Jakub Jankowski <shasta@toxcorp.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 040587ec5ec662756ac18eb7ff998af64359c3ba
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 10:03:18 2011 +0100

    LogWriter: introduce log_writer_get_queue() method
    
    The new function returns the current LogQueue instance.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit df5cbb37116476bb0b03036f9837e345c8fdb151
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 10:02:52 2011 +0100

    LogQueue: added keep_on_reload() method
    
    This patch introduces a new member function for LogQueue instances. Its
    role is to indicate whether we prefer keeping that LogQueue instance
    around when reloading syslog-ng. The default FIFO implementation allows
    the core to free the queue if it has zero items.
    
    If the implementation doesn't supply such method, we default to keeping the
    queue around.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9d9679e9e13cecdba33b61d2d3da71869bb5490f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 09:58:42 2011 +0100

    LogDestDriver: properly maintain self->queues list in acquire/release
    
    The maintenance of the self->queues list was not complete, although
    new LogQueue instances acquired were added to the queue, their removal only
    worked in the log_dest_driver_deinit() function.
    
    With this change log_dest_driver_release_queue() can also be called
    explicitly by plugins, and the queues list will not become corrupted.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 779e1e3fb0364b50f2125fd94eb927dda307886a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 31 09:58:18 2011 +0100

    driver: don't generate persist IDs for drivers that fail to specify one
    
    This seems to have been a bad idea. The only location this was used
    is the file() destination driver, but that has multiple queues, making
    the current default ID generation collide.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 775af1b8ead493198c1e3cea1edf64909d8a72b2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 29 20:15:35 2011 +0200

    afsocket: handle DNS failures as if it was a connection failure
    
    Instead of preventing the startup completely.
    
    Reported-By: Heiko Gerstung <heiko@am-anger-1.de>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3bd4fd7baf0ab087b36dc64172508503268bfb17
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 29 17:49:57 2011 +0200

    preparations for 3.3.2

commit c7fb3470c6140786fa97e35f1d488ce6a0b7af4e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 29 16:31:18 2011 +0200

    logproto: Fix log_proto_file_writer_flush()'s partial construction.
    
    If the log messages has different length and only a partial write
    happen the log_proto_file_writer_flush there are a possible buffer
    under/overflow happen.
    
    The problematic part is in the calculation about the last written
    byte of the last written message. The calculation is not just too
    difficult to follow but use the wrong message length in it.
    Because of this ther are buffer under/overflow may happen or
    starting to read the message in wrong position, causing messing the
    log.
    
    Signed-off-by: SZALAY Attila <sasa@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 53650a641751a1f6a260789b9eb2998284fe6a63
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Oct 28 15:39:15 2011 +0200

    tfjson: Make $(format-json) have less unneccessary whitespace.
    
    When compiling with jsonc, use a custom formatter, so that the
    generated JSON does not have superflous whitespace between elements,
    and the only whitespace in the JSON is in the content parts.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e5569687bba2551c89a78faee55bcf8b4944066f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 29 13:46:38 2011 +0200

    jsonparser: New parser module for JSON parsing.
    
    The new parser supports json-c only, it does not work with
    json-glib. For this reason, the configure script was modified a
    little, so that it uses --with-json only. When json-c is found or
    selected, then both the parser and the template function will be
    built. If json-glib is found or selected, then only the template
    function will be available.
    
    The summary after configure now lists the determined settings.
    
    The new parser is - so far - fairly simple: it parses a JSON with
    json-c (int, double and string values are supported so far, booleans,
    arrays and sub-objects aren't yet), and sets the appropriate
    name-value pair in the LogMessage.
    
    Users can configure a prefix to prepend before each key.
    
    Usage is as simple as:
    
    source s_json { tcp(port(21514) flags(no-parse)); };
    destination d_json {
      file("/tmp/test.json"
           template("$(format-json --scope dot-nv-pairs)\n"));
    };
    parser p_json { json-parser (prefix(".json.")); };
    log { source(s_json); parser(p_json); destination(d_json); };
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 4886557ac8a91e810e72b3ee698aff57b7804832
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 25 17:26:37 2011 +0200

    logqueue: Maximized the number of the messages removed from the queue. (fixes: #24383)
    
    Sometimes because of a race condition it is possible that there are more
    messages in the log queue than the configured limit (log_fifo_size()).
    
    In this situation the the log_queue_fifo_move_input_unlocked tries to
    remove more elements from the thread queue than it contains and
    because of this, it produces an invalid linked list, causing heap corruptions
    and other nastiness.
    
    Signed-off-by: Attila Szalay <sasa@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 16427b9a419146b316f6e39d6d4ca7495dcf1b8a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 27 17:33:58 2011 +0200

    afsocket: fixed a NULL deref in case of reload
    
    If syslog-ng is reloaded, and the new config removes a tcp() source, and
    a connection is still alivem, it would segfault.
    
    Reported-By: Eric Lindvall <eric@sevenscale.com>
    Cc: syslog-ng-stable@balabit.hu
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fec9c35c155a6c22da68c93de7fbee350c0c5d1a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 26 15:55:38 2011 +0200

    syslog-ng/Makefile.am: create $(localstatedir) automatically at install time
    
    Reported-By: Hery Fanomezantsoa <rhfano@gmail.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 253aa00fa17cab07e59c69cd0cbd7550780f1a7a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 25 21:54:21 2011 +0200

    afsocket: avoid glib warning at shutdown/reload
    
    Sometimes a NULL GString instance was freed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a2b4febbd1a6147762420a227600afba0eff4778
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 25 21:16:07 2011 +0200

    configure: don't use non-standard arguments for "head"
    
    Reported-By: Michael Sterrett <mr_bones_@gentoo.org>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4b438115f6387eb52b6c39c1f751ecf0c4a5ac5f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 23 20:19:58 2011 +0200

    filters: fixed filter() evaluation when embedded as an AND/OR subexpression
    
    When introducing the "init" method for filters one case was omitted: even
    though AND and OR expressions don't want to do anything on init, their
    subexpressions might, so this patch adds an init function to AND and OR
    which does nothing but calls the same for its "left" and "right"
    subexpression.
    
    This patch fixes filter("xxx") expression evaluation when that is
    not a single expression, but rather included in an AND or OR.
    
    Reported-By: Leonid Isaev <lisaev@umail.iu.edu>
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 05065fa7bc903496560ce6ee23dbfa8ac95a9f60
Merge: 1d8ccce 46bbdf9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 23 20:03:38 2011 +0200

    Merge remote branch '3.3/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	lib/misc.c
    	lib/str-format.c
    	modules/basicfuncs/basic-funcs.c

commit 46bbdf9a107409e320450f9c4b6a82c2cf9f36af
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 23 09:08:08 2011 +0200

    LogMatcher: fixed reference counting
    
    A reference count was added to LogMatcher instances, but it contained several
    critical issues:
      - the refcount wasn't initialized
      - the instance got freed when the refcount was non-zero
    
    Essentially the only case it worked when a rewrite rule was referenced
    from only _one_ location and in that case it leaked the matcher instance.
    
    Kudos for the great diagnosis in the original report, reported as ticket
    #139 in bugzilla.balabit.com.
    
    Reported-By: Patrick <bugzilla.syslogng@feystorm.net>
    Cc: syslog-ng-stable@balabit.com
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c2936fb2b7129ffc831372fca85eb6fe9720ca7e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 23 08:54:56 2011 +0200

    systemd: make sure the acquired fd is in non-blocking mode
    
    The fd acquired from systemd is in blocking mode, and syslog-ng
    didn't explicitly set it to non-blocking, causing syslog-ng
    to stall. This patch changes that, explicitly enables
    O_NONBLOCK and O_CLOEXEC on systemd acquired fds.
    
    Reported-By: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d766735ef8703a3d7e3834c5e3d2ef49b690ff26
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Oct 17 00:07:38 2011 +0200

    afsocket: Fix compilation with libsystemd-daemon
    
    When the libsystemd-daemon library is used, we need to use the header
    provided by the library, otherwise linking will likely fail. To do
    that, configure sets WITH_LIBSYSTEMD as appropriate, and depending on
    that value, we either include <systemd/sd-daemon.h> or "sd-daemon.h".
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit a1f739964ac574b9a3fdb91981b5ab8d76775f35
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 15 17:56:06 2011 +0200

    fixed compilation error on platforms without clock_gettime()
    
    MacOSX lacks clock_gettime(), so avoid depending on it if not available.
    
    Reported-By: Jack Nagel <jacknagel@gmail.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1460b364ff2e97dd2e5b7733ac4a450d53e16a89
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 15 17:54:30 2011 +0200

    configure: fixed clock_gettime() detection
    
    It is in -lrt and previously that wasn't added to the test.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 065d8b971dc8ea3bf314a9263db4c79475c8f2c7
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Oct 6 11:04:01 2011 +0200

    Fix compilation without OpenSSL.
    
    While most places where OpenSSL was used were guarded by ENABLE_SSL
    ifs, some were not. This patch adds those guards to lib/crypto.c,
    modules/afsql/afsql.c and tests/loggen/loggen.c.
    
    It also makes sure that OPENSSL_LIBS gets emptied when enable_ssl is
    set to no.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0bae72c98dfbbaf0ce9fbbafc28f0f7797e7324e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 13 15:29:22 2011 +0200

    afsql: allow initialization to continue even without indexes
    
    Reported-By: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0136e1b8a0460dd34be74c3fe6e202f971484be4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 13 15:28:57 2011 +0200

    afsql: fixed a memory leak of the "indexes" array
    
    This bug caused some memory leaked at every SIGHUP.
    
    Reported-By: Jakub Jankowski <shasta@toxcorp.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5ef8dbba059d4670896e81f0bcf2bf63686f119b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 13 15:28:17 2011 +0200

    afuser: fixed the leakage of the username
    
    The afuser driver was leaking the name of the user, accumulating leaked
    some memory at every SIGHUP.
    
    Reported-By: Jakub Jankowski <shasta@toxcorp.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 70fa96f33c89ce2bb10d10aaa7ba0492764a441c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 3 09:40:51 2011 +0200

    updated Jakub's contributor entry
    
    He'd like to attribute his syslog-ng work to SuperHost.pl

commit f6e075c0d47e0d6aaeb85329d752fa3ec9b1e03a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 2 09:50:47 2011 +0200

    updated contributor list for 3.3.1

commit 3a736e62b27f7036ab23b91cf0839a95d0185e18
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 1 15:31:03 2011 +0200

    tgz2build/rules: remove README file

commit b5314e1389c17336d582582b2f8c9b0014521486
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 1 14:38:20 2011 +0200

    preparations for 3.3.1

commit 803b90423d8582439665249054f9f547582e9959
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 1 13:17:07 2011 +0200

    value-pairs: change the default scope to empty for the template-function option parser
    
    When parsing value-pairs with the bison parser (e.g. mongodb destination),
    the default scope is empty. On the other hand when using the value-pairs
    command line parser (e.g. format-json), the default scope was rfc3164.
    
    The latter was changed for consistency and in order to make it really
    simple to use _only_ the specified nv pairs.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0b0e35ce9a9c3680c0d651276248b9ffb2db6c35
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 30 20:18:15 2011 +0200

    nvtable: implement proper limitation on NVTable size
    
    NVTable has a maximum size of 65535 * 4, due to limitation of the
    data structure (length is stored in 16 bits shifted by two). However
    this limit was not properly boundary checked and oversize NVTable
    got syslog-ng to abort with an assertion failure.
    
    This patch changes syslog-ng behaviour so that reallocation problems are
    properly reported.
    
    Reported-By: Peter Eisenlohr
    Cc: syslog-ng-stable@balabit.hu
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e51862b911732eacb20ec4203d9a5708796ec146
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Aug 30 19:52:38 2011 +0200

    configure: Use ustar tar format for the make dist tarball.
    
    In order to avoid the 99 char filename limit, force the ustar format,
    so we extend the limit to 255 bytes instead.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit c4898a6252cab9b4e621faab7522efb26c44cedb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 28 09:33:50 2011 +0200

    updated libmongo-client to the latest upstream
    
    It is one-or-two patches ahead of 0.14
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d438b73a8769ce892228d84cec2323ebc0ed5954
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Sep 11 00:09:23 2011 +0200

    afmongodb: Print the collection name upon init.
    
    When initializing a mongodb destination, include the collection name
    in the logged message too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8d11b02fc103c6064483f774199f73e0abc75d40
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Sep 10 21:20:13 2011 +0200

    configure.in: Fix --without-compile-date.
    
    The option forgot to properly set the supplied value, and thus, always
    resulted in compile date being enabled. This patch corrects that.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 5afe42abe1be685a4714c691b277c24617438578
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Sep 25 13:43:33 2011 +0200

    gprocess: Implement stricter CAP_SYSLOG checking.
    
    Some distributions ship libcap with headers generated from the kernel
    sources, instead of the headers of libcap itself, resulting in the
    headers and the library diagreeing about what capabilities are
    supported.
    
    For this reason, before deciding whether CAP_SYSLOG is supported,
    verify that libcap can actually parse it, and fall back to
    CAP_SYS_ADMIN if it can't.
    
    The benefit of this is that even if ran on such a system, syslog-ng
    will still continue to work (albeit triggering a kernel warning)
    instead of terminating.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit bde16fe3cb7d6025ab3bb5463213a5a7f0cba290
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 27 20:44:01 2011 +0200

    syslogformat: handle AIX style message forwards properly
    
    There was a bug in processing AIX style message forwards, the hostname
    wasn't detected properly. This patch fixes that issue and adds a unit test
    to cover this case.
    
    Reported-By: ericduda@yahoo.com
    Cc: syslog-ng-stable@balabit.hu
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 936971db436a30cc29ba7d4c7fa11ce29a9d1bae
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 27 20:33:59 2011 +0200

    afmongodb, afsql: Fix a race condition in the queue handling.
    
    On occassions where we received a message, woke up the worker thread,
    then received two two others before the worker finished, we had a high
    chance of triggering an assertion, because we ended up calling the
    insert before the parallel_push stuff managed to wake up the thread
    and clear the callbacks.
    
    Now we explicitly clear parallel_push before popping the queue head,
    for the simple reason that we do not need it at that point anymore.
    
    Many thanks to Balazs Scheidler <bazsi@balabit.hu> for pointing out
    what happens.
    
    Cc: syslog-ng-stable@balabit.hu
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e224d45da2ecad68f7f9c44895849a0fc795aae5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 27 20:14:35 2011 +0200

    log_dest_driver_acquire_queue(): make sure all dest drivers have a name
    
    The persist_name for acquire_queue() identifies the destination driver that
    would like to keep its queue kept accross reloads.
    
    File destinations didn't keep their queue, effectively causing file drivers
    to lose their queue accross reloads. This went unnoticed as LogWriter does
    one last time to flush everything out to the disk when reloading, but
    still it is more important to keep the queue properly.
    
    Cc: syslog-ng-stable@balabit.hu
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2ed7f92153aec5e4e666ea17dcd8d2232a8e76f9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 27 20:12:24 2011 +0200

    log_dest_driver_release_queue(): unref the queue even if no name is present
    
    This patch fixes a memory leak for file destinations, in which we leak all
    LogQueue instances, possibly containing data, which can become quite large,
    especially if a lot of log files are opened/closed continously.
    
    Reported-By: Jakub Jankowski <shasta@toxcorp.com>
    Cc: <syslog-ng-stable@balabit.hu>
    Cc: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4ccdb8c7cbb784aa6231d14cfb006156b00ea77e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 23 11:34:45 2011 +0200

    unit tests: whitespace changes in Makefile.am

commit 838f2594f0a762da6aaa35182b07c481361c4515
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:27:05 2011 +0200

    test_persist_state: don't run on HP-UX
    
    Our venerable HP-UX box always returns ENOMEM for this test.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ab3d7257bf980261fbee7fbe5349d73889437d75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:24:35 2011 +0200

    test_thread_wakeup: fixed compile warning

commit 7ce8139eab2d64d0df38b8f76dcc0261e1cf3bdf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:20:09 2011 +0200

    test_logqueue: added some more verbose logging on stderr
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 616c8065c72625c6bef67828c99ae892870f1e5a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:19:28 2011 +0200

    test_logqueue: rename sum_lock
    
    This symbol seems to be defined as a macro on one of our platforms,
    rename to avoid the clash.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b41c7127e94a82f353625858f7d60dbcb659320e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:18:19 2011 +0200

    test_loqueue: disable on AIX

commit 3193b729423d4c86e2f8e3227bcc3f247c750b56
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:17:53 2011 +0200

    test_logqueue: work on platforms without __thread

commit 6f89ffb969ec6d95fa812873cb29ca8f0314d0a2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:15:21 2011 +0200

    test_filters/test_matcher: ref the payload in order to make sure that the borrowed value pointers remain valid

commit 42aba2f27e9a4126fefae377b37aeaf77c490d38
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 11:33:17 2011 +0200

    LogWriter: implement pad_size() for destination drivers

commit 6bb06e868d393d17ec0c5682b229b18d660d8553
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 23 11:35:28 2011 +0200

    LogWriter: initialize the SEQNUM value to 1 in the constructor
    
    This fixes an assumption in the unit tests, which assume that SEQNUM is
    1 initially, rather than 0.

commit c56b98aea98ccc9acd0147bd443a4a61b9abd156
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 14:11:33 2011 +0200

    mark locally generated messages as such
    
    The LF_LOCAL in LogMessage->flags indicates that the message was generated
    locally. This flag was not properly set and this patch fixes that
    issue.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6b62ae6610d659024787339c61335bcbf192120e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 15:41:14 2011 +0200

    dbparser/test_radix: added negative testcases
    
    Signed-off-by: Marton Illes <marci@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1916391debf28529c8df8e70d24c732166ac3bd0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 15:40:51 2011 +0200

    test_patternize: fixed uninitialized variable
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9312566a192af81a2ca38fc09e896c24ea6f70cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:14:58 2011 +0200

    stats: implement per-tag counters
    
    This patch adds counters at stats-level(3) that counts the number of
    messages having a specific tag.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 55fcc5205f5fd4eff537411fbc6263ad1eb4975d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 12:35:38 2011 +0200

    stats: invoke stats_lock/unlock for unregister operations too
    
    This patch also adds an assertion to all unregister paths.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2b38d4ea07f77db3c8a504253c689761c6b8f4c0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 15:30:27 2011 +0200

    dbparser: fixed compilation warnings
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9b06e4439f7dc670b5622cab9b221b06cf989d97
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 12:54:57 2011 +0200

    dbparser: add error handling for improperly formatted QSTRING/ESTRING parsers
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Marton Illes <marci@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6d078782bccc3220804b5a8e36edd18af6460be6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 13:25:16 2011 +0200

    pdbtool: initialize the config with the proper version number
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c1f09562c67addbb8690e0070ba6dca48a168574
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 13:24:56 2011 +0200

    pdbtool: added dictionary subcommand to display the dictionary used by a pdb file
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9144a6d7d6142d091bc3c9190a166a622c509af7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 13:23:15 2011 +0200

    pdbtool: added --debug & --verbose switches
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a2b7cd65811b1084127cb555c2670f2209c9046d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 13:22:54 2011 +0200

    pdbtool: fixed a possible NULL deref in pdbtool dump
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1620c8d199d9f9877bdf90f53ad7c7cf52dc955d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 13:22:39 2011 +0200

    pdbtool: match should return rc == 0 if debugging was requested
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e39b7e1182f24640a85575cb91592fd13e8b22be
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 12:48:47 2011 +0200

    afsql: don't release the db_thread_mutex lock in afsql_dd_queue()
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 48eb1b8b7cd1e4d54b597648059375dcb73586c3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 12:27:26 2011 +0200

    afsql: stat counter and queue identifier should include the table name too
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit edaeb404bf81af2529fb350292d4ef2ddc668117
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 12:18:10 2011 +0200

    afsql: add proper synchronization to db_thread_terminate
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e532050aa7c38ec3d9c7901f0368c562bfa69f3d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 11:22:23 2011 +0200

    afsql: clarify g_time_val_add() invocation
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a42237c6d85403535b42462bc3bcce9d3aacc972
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 16 14:44:51 2011 +0200

    afsocket: fixed uninitialized variable
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8cbd4456d82c43f106b77fecfdd56c1dafc07590
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 16 14:43:19 2011 +0200

    afsocket: properly deinit/init AFSocketSourceConnection accross reload
    
    In order to have the LogReader/Writer instances deinited during reload
    we need to call deinit/init for AFSocketSourceConnections, which might be
    stored in the persist config structure. Earlier they were not deinitialized
    and that worked because syslog-ng wasn't multithreaded and reload happened
    synchonously.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9395c24eca74d2405d1bb7fe0fcbec65a368987c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 16 10:15:02 2011 +0200

    configure.in: Glib sanity checks should be performed using the libs in GLIB_LIBS
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c705c98ff8de36462ea725adb9b3200164418106
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 16 11:40:17 2011 +0200

    afsql: rename ugly retry-sql-inserts() option to retries()
    
    Both forms are accepted for now.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0555c7c5dd86ca5af6ab9533ff5ba473269da4fa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 16 11:34:31 2011 +0200

    afsql: fixed the handling of the port() parameter
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 12764d45dfe11f147ec947d71981f1f45dbea016
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 15:55:03 2011 +0200

    main: remove unneeded openssl headers
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 02641e8fd8dda36320693b76c4786eb6eea677fe
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 15:24:35 2011 +0200

    basic-funcs: implement indent-multi-line template function
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 62517da1b58092b10bc53a189fa2bf0fc5f00ab0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 14:58:44 2011 +0200

    create_containing_directory: use set_permissions function instead of open-coding it.
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f17dac703d0a334f011ad9ae4ca60a07643f38d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 14:44:12 2011 +0200

    syslog-names.h: define LOG_ macros that normally syslog.h does
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 59c8bad234890a8360400fcc4d0994ff6b4c567e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 14:40:13 2011 +0200

    tags: avoid creating tags over 8191 (32bit) or 16383 (64bit)
    
    This patch also changes the way the log_tags_list is allocated.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 67bc063609b0d6ab45dff696d8e7c614300c6f40
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 13:59:08 2011 +0200

    templates: improve performance of escaped template formatting
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ae545f4cf4e423974d878d665d91804c30578bc3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 13:29:25 2011 +0200

    tlscontext.c: remove dead code
    
    tls_init/deinit is not needed anymore, it is substituted by crypto_init/deinit.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b3da04e7c7e2d7b95eb36fc9986547469fa93425
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 15 13:28:51 2011 +0200

    tlscontext: clarify certificate validation message severity
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d597df68288fcac0bf9f1ec5be25fe45d3d18928
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:46:36 2011 +0200

    str-format: format_uint64_padded, new function
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7559f9dd07bf28077ab7c8cc361b88f60e85bbf5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:30:27 2011 +0200

    logmsg: add comments on log message flags
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 42f174df420ef66fcd52cbc4840752d223144269
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:19:38 2011 +0200

    log_msg_registry_init: initialize all 256 match nvpairs
    
    Due to an off-by-one error $255 wasn't initialized properly, only $0 - $254.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6108b1339f20487c8e0df24f6c7352e48753fa80
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:19:14 2011 +0200

    log_msg_new: fixed NULL deref on zero-sized messages
    
    When the message to be created was zero-length, the payload portion wasn't
    allocated, causing a possible NULL deref.  This patch fixes this by always
    allocating payload to a fixed size instead.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1d0107b2ede08f1355ce85027733a58cf10c2578
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:09:59 2011 +0200

    gsockaddr: fixed compilation warning on undeclared function g_sockaddr_len
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4ad65ace468a8e35f7f0e064a87b275a0c74c622
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 14:50:59 2011 +0200

    persist-state: fixed possible race between grow_store() and map/unmap_entry()
    
    Although values are only allocated in the main thread, it might happen that
    an entry is allocated when worker threads are in operation.  This patch
    implements proper synchronization between threads invoking the persist-state
    code.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e8e215b66843e26d5494f676fbbdb0742517f3b2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 14:24:30 2011 +0200

    mainloop: handle cases when SIGHUP and SIGTERM arrive at roughly the same time
    
    SIGHUP processing may be cut in half when the SIGTERM signal is received.
    Also several SIGHUPs might arrive while the previous one is not yet
    finished.
    
    This patch makes sure that:
    
      1) if a SIGHUP is received in the middle of SIGHUP processing, the
         configuration file contents at the time of the the 2nd SIGHUP is
         processed.
    
      2) if SIGTERM is received in the middle of the SIGHUP, reload is
         cancelled.
    
      3) if SIGTERM processing is being done, SIGHUP is ignored.
    
    This solves possible crashes at exit.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f6c2e2cb42ee383670b9bc9c0dd11765ee627e53
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 17:18:20 2011 +0200

    LogSource: fixed memory leak in log_source_set_options()
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 68ab4ad546d0b5ab0e69513787ec3f82a0b562bc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 17:04:21 2011 +0200

    LogProto: fixed memory leak of LogProtoBufferedServerState
    
    This structure is allocated on the heap in case no position tracking
    is performed (e.g. tcp), thus it should be freed.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8cd0a95319ec72f198a12ce59573b0938d1e9f5a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 15:51:40 2011 +0200

    log_writer_flush: handle log_proto_post() returning LPS_ERROR while consumed is TRUE
    
    Theoretically the LogProto instance may return the combination LPS_ERROR and
    consumed set to TRUE.  None of the LogProto classes do this right now, but
    could happen in the future, this patch saves us a nasty surprise at that time.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0c8fb8e48c5deadfa07526c887d67aaf8848d4c0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 15:48:49 2011 +0200

    log_writer_update_watches: fixed spurious warning on cond not being initialized
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6e894208bf863a27f439037258e6fe9d5a849ce2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 15:48:17 2011 +0200

    log_writer_perform: assert that the writer is still initialized at the time of threaded task invocation
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 185a6dad5514954677c175e7ea36abdc3f150c08
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 15:47:45 2011 +0200

    log_writer_init: assert that self->queue is set
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6dd77842c6b21104093227c14fc78e63283943a8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 12:08:36 2011 +0200

    misc.h: avoid using gcc specific features in the APPEND_ZERO macro
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3e560d7b9a0c17f61df2131d7f364b1e53bae19a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 11:38:08 2011 +0200

    getlonghostname(): automatically reset the cached hostname if not yet initialized
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 377a2b3e0a4ce4abadbd271208ca7341474ae240
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 09:57:32 2011 +0200

    apphook: move afinter_global_init() earlier
    
    We should initialize the core side of the internal() source as early as
    possible as some of the initialization functions may emit messages that
    we want to have in the system log, rather than on stderr.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a3ecc23f3e40b811370d527a54ddfd26ad659338
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 12:07:19 2011 +0200

    internal(): add support for tags() option
    
    All sources except the internal() supports the tags() option which makes
    it possible to attach tags to all messages the given source emits. This
    patch adds that support to the internal() source too.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f2c933ddb37638ffde5a3edc58e4055202900836
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 10 12:52:19 2011 +0200

    cfg-grammar.y: introduce LogSource specific grammar rules
    
    This patch introduces source_option rule in cfg-grammar, that can be used
    to "include" all options related to LogSource.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 854bfa0da8f95c3898948f65e26a1de2f3123e01
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 10 12:45:49 2011 +0200

    cfg-grammar: move last_reader/writer/source options into cfg-grammar.h
    
    To avoid having to define those in each and every plugin. This also removes
    the declarations from the plugins.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 725c5c2dc5093c7bc8e874e33c615683a6b2002e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:07:20 2011 +0200

    gprocess: only call setsid() if we're running in the background
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 53e3ad095b706faa36a258a3775723ab68468455
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:06:49 2011 +0200

    gprocess: fixed compilation warnings
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 02deaefab73abbb6f98497ec5029dd2260ab8e59
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 14 16:01:02 2011 +0200

    cfg_persist_config_add_entry(): call destroy notify if persist config is empty
    
    This patch fixes a possible memory leak at exit, but also ensures that
    values stored in the persist-config would be properly destroyed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4159669df0c970ab6bc256fbe0d647667cfe1858
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 13 13:22:55 2011 +0200

    mainloop: make sure that tasks are ordered properly during reload
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b6158997a8b0d8a39edaeca5d107bfb9dd5aa482
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 15:37:34 2011 +0200

    SDATA: include meta.sequenceId value in RFC5424 formatted message
    
    The code to include meta.sequenceId was commented out some time ago, since
    it modified the message right before sending it out on the wire, effectively
    ruining the message model: this change propagated to parallel branches of
    the processing pipeline where it shouldn't have.
    
    This change fixes that, instead of modifying the message before formatting
    it with the template, the SDATA payload is automatically extended without having
    to store sequenceId in the message.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b835879d1cdab9d06f56d9dfd946198c0308b537
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 17 13:35:49 2011 +0200

    nvtable: set the minimum size to 128 bytes instead of 256 to avoid breaking the unit tests
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b70a13e40752375209235867c3a45543ed74fdb8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 12 09:22:29 2011 +0200

    cfg-lexer.c: don't include hidden files when including a directory
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9da09eceb0494f6dc877d6a4f28ff28db0b7a15f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 12 09:21:05 2011 +0200

    internal(): add locking on next_mark_target
    
    This patch adds locking around the global variable "next_mark_target" to
    ensure that the MARK message generation finds a consistent value there.
    
    An alternative would be to change next_mark_target to be a simple int
    instead of struct timespec, and set/get using atomic operations, but
    this lock is only taken for local messages, thus I defer this
    optimization until we actually measure it is worth it.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d110d254f35763d5502ac7d873b497b9a14b40ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 09:11:49 2011 +0200

    .gitignore: replace config.* pattern with more concrete ones
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 92dff56f033d396c01946404ea8468974ab57cb2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 9 09:38:46 2011 +0200

    lib/Makefile.am: move libsyslog_ng_crypto_SOURCES to an earlier location
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7360981b0897910733049620d9bf744fdc24b9d7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 12 09:17:29 2011 +0200

    removed the README file that contained stale licensing information
    
    Licensing is to be found in the header of various files.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c76db2a49558ffb24e497bb78f85f507a8206220
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 10:51:04 2011 +0200

    Revert "log_msg_set_value(): fixed a memory leak on copy-on-write LogMessage instances"
    
    That patch was wrong, as this path is about having a borrowed reference
    only, no need to drop the reference to the old one.
    
    This reverts commit 951659d2cdda1a522740881354de25dcbd4e42ce.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit adb863e872ba9f58042ff2faa838178b017d1789
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 10:14:35 2011 +0200

    patternize: use the proper preprocessor define to detect if SSL is available
    
    This patch enables UUID generation again and gets rid of a compilation
    warning.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 01b8e0994521454d2ff5f208038f4380fc1421c6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 21 11:58:34 2011 +0200

    crypto: autodetect the need to seed the PRNG
    
    This patch changes the crypto.c module to perform an autodetection whether
    the random number generator needs to be seeded.
    
    RAND_loadfile() is triggered if the environment variable RANDFILE is set, or
    when openssl itself is unable to detect how to seed the random
    number generator.
    
    This gets rid of the --seed command line option too (which is
    kept for compatibility for now).
    
    A warning is printed on stderr if everything fails.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0a3d844ff94a14d770bcdfa993f02e87e58a81f2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 4 20:21:28 2011 +0200

    LogParser: added a comment on payload reference handling
    
    This patch adds a comment to clarify why taking a reference crossing
    an nv_table_realloc() works. This proved to have been valueable, as
    I didn't remember this case, and started to refactor the code in a wrong
    way.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 951659d2cdda1a522740881354de25dcbd4e42ce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 4 20:18:26 2011 +0200

    log_msg_set_value(): fixed a memory leak on copy-on-write LogMessage instances
    
    In case log_msg_set_value() is called on a LogMessage that borrows its
    name-value pairs from another instance, then while duplicating the
    payload, a reference was lost.
    
    This also seems to affect syslog-ng 3.2.
    
    This patch fixes that issue.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Reported-by: Martin Holste <mcholste@gmail.com>
    Reported-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit be017691051ffcb6ea6d329abdf8a42fba727af9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 4 20:23:41 2011 +0200

    nv_table_clone(): fixed a memory leak by setting "borrowed" to FALSE
    
    NVTable->borrowed indicates whether the memory area occupied by NVTable
    itself is borrowed by an encompassing structure (such as the LogMessage).
    
    nv_table_clone() clones an existing NVTable on a newly allocated region,
    and since it is allocated on the heap on its own, "borrowed" should
    be FALSE, however it was copied from the to-be-cloned structure verbatim.
    
    Ensure it gets set to FALSE.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Reported-by: Martin Holste <mcholste@gmail.com>
    Reported-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 79a753b4cefb66d07931b567a73e34a634e570d7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 4 20:23:01 2011 +0200

    NVTable: inline nv_table_get_alloc_size()
    
    To avoid a function call in the fast path. All macro magic is available
    in the header anyway.
    
    This patch also sets the minimum allocated NVTable size to 256 to make room
    for some nvpairs without having to reallocate the payload at the first set.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ee79425b270c4cbcd44f898127bf5874a969be61
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 3 19:51:46 2011 +0200

    str-format: Fix month name parsing in BSD timestamps
    
    When parsing the month name in scan_month_abbrev(), use memcmp() in
    all cases to compare only the first three chars. Using strcmp() will
    always result in us taking the false branch on well-formed timestamps,
    as it will scan past the 3-char length.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bb0057e78b81c574f2ce677d13d23ac6df7ac057
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 3 10:37:28 2011 +0200

    pipe/file destination: fixed flipped slow-flow-control state
    
    The condition to enable soft flow control was flipped between file and
    pipe destinations. Files should have had it enabled, pipe() disabled.
    
    This patch fixes that.
    
    Reported-By: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8c09d716b4a68325b58f098de35f9ea127770f5e
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Aug 30 20:31:31 2011 +0200

    afsocket: Compile against libsystemd-daemon, if present.
    
    systemd v31+ comes with a libsystemd-daemon shared library. If systemd
    is enabled, try to detect this library, and use it if present.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 71bf18cccdabd200bead733b878dae16208feff3
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Aug 30 19:52:37 2011 +0200

    configure: Allow disabling the compile date
    
    Add a new configure flag (--without-compile-date) that will remove the
    compile date from the --version output, and not include it in the
    binary at all.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit d90505c71a6d4fbb84bbd9b3e84c0ff6989d32cf
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Aug 29 21:17:59 2011 +0200

    libsyslog-ng: Use the syslog-ng version in the SONAME.
    
    Use the -release flag of libtool to put the syslog-ng version into the
    SONAME.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit acd79fb0f68a7c693915bebd978b86877c48e310
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Aug 29 21:18:00 2011 +0200

    syslog-ng.pc: Include moduledir in the pkg-config file.
    
    To ease external module development, include the expanded moduledir in
    the pkg-config file.
    
    It can be retrieved with pkg-config --variable moduledir.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 5a592c94a090fd0c023555b37b452f3a6f56941a
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Sep 2 12:56:57 2011 +0200

    afmongodb: Fix threaded operation.
    
    Ported a patch from afsql to afmongodb, that makes the writer thread
    wake up only when it's synced.
    
    This makes threaded(yes) work more reliably.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 27259226b94077c60ad0a76bf631f160fec1a1c0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 2 14:13:31 2011 +0200

    timezone format: handle half hours in the negative range properly
    
    Half hours in the negative range were formatted incorrectly as both
    the hour and the minute portion got a negative sign, whereas only
    one was needed.
    
    Cc: <syslog-ng-stable@balabit.hu>
    Signed-off-by: Sandor Geller <Sandor.Geller@morganstanley.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fcb872439a47cebd0e4f52a617f34c3b974d4323
Author: Lennart Poettering <lennart@poettering.net>
Date:   Thu Sep 1 15:54:31 2011 +0200

    systemd: connect standard output/error to null
    
    systemd 35 and newer by default connect all services' stdout/stderr with
    syslog. In order to avoid logging loops syslog-ng needs to opt out of
    this behaviour, hence we override the default here and connect
    syslog-ng's output with /dev/null.
    
    For more information see:
    http://www.freedesktop.org/wiki/Software/systemd/syslog
    
    Signed-off-by: Lennart Poettering <lennart@poettering.net>

commit 8ed5a7a8e15d75e92accfe0b10e7e5b429f768ef
Author: Balint Kovacs <blint@balabit.hu>
Date:   Wed Aug 17 15:00:42 2011 +0200

    rule-id, debug and color-out options for pdbtool test
    
    Added options to test a specific rule against its example message
    with debug and colorizing.
    
    Signed-off-by: Balint Kovacs <blint@balabit.hu>

commit 1d8ccce08ebbd34a7865499fdd08b76b34dd7275
Author: Balint Kovacs <blint@balabit.hu>
Date:   Wed Aug 17 15:00:42 2011 +0200

    rule-id, debug and color-out options for pdbtool test
    
    Added options to test a specific rule against its example message
    with debug and colorizing.
    
    Signed-off-by: Balint Kovacs <blint@balabit.hu>

commit c2d17009e2ce14960acb519750fe2537b05e6f46
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Aug 23 14:58:07 2011 +0200

    templates: Add a C_* family of timestamp macros.
    
    The C_* family of timestamp macros work very similarly to R_
    (received) and S_ (stamp), except C_ uses the current system time as
    of the macro expansion.
    
    The patch below uses cached_g_current_time() for performance reasons,
    but in case the minor caching is undesired, it's easy to convert to
    something else.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b24eca4876d99482d2514f4c541ed765ba6f5495
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Aug 28 15:22:46 2011 +0200

    tfjson: Typo (& build) fix.
    
    My previous patch contained a typo (an extra . at the end of a line)
    which resulted in breaking compilation. This patch fixes that typo.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 38e43fa71f012f8e6d64fc3e9de901f68c6ab789
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 28 20:01:00 2011 +0200

    autogen: detect if git is available
    
    Only pull the submodules if git is available and they have not
    been initialized yet.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d7fb6a4e8a13ed30faba14c8088a3aa36e1631c5
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Sun Aug 21 01:56:25 2011 +0200

    scl: Add support for GNU/kFreeBSD
    
    GNU/kFreeBSD is GNU userland (including libc) on top of a FreeBSD
    kernel. It's very similar to FreeBSD, but not completely.
    
    On GNU/kFreeBSD, the system log source is /var/run/log, while the
    kernel messages go to /dev/klog, in correctly formatted legacy BSD
    format.
    
    Tested on Debian GNU/kFreeBSD (squeeze).
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit 1497ed255946f5f228171d65506a991c592be370
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Aug 28 11:38:42 2011 +0200

    tfjson: Add module_info.
    
    In order for syslog-ng --module-registry to be able to display
    meaningful information about a module, module_info must be set in said
    modules.
    
    Add that to tfjson, as it was lacking one.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 51b692f6c26e09bb8cbec3e7c5ae140172103a6f
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Thu Aug 25 14:53:43 2011 +0200

    lib/Makefile.am: Include cfg-grammar.h in the package headers too.
    
    cfg-grammar.h is included by some of the public headers we install,
    therefore cfg-grammar.h should be installed alongside aswell.
    
    Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>

commit ef4e9378dfa258233ca0618bc48fb64d284afd1d
Merge: 2a5a940 789f906
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 27 13:58:51 2011 +0200

    Merge remote branch '3.3/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	lib/cfg-grammar.y
    	lib/str-format.c
    	lib/templates.c
    	modules/basicfuncs/basic-funcs.c
    	syslog-ng/syslog-ng-ctl.c

commit 789f906d2c690e40a3130c984d0962578d25fc7f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Aug 25 18:32:27 2011 +0200

    spoof-source: fixed memory leak & crash
    
    spoof-source didn't properly lock the libnet context that was used to
    craft the outgoing frame. This results in massive memory leaks and
    crashes, as libnet stores the outgoing frame in its libnet_ctx structure.
    
    NOTE: spoof-sourced frames are sent in the input thread, this could
    also be solved by moving the functionality into the output thread (sparing
    a couple of locks and better scalability on the read side too),
    but that would've been a larger change.
    
    Reported-By: Martin Holste <mcholste@gmail.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1c2a299f966fbeaf3951ddb38d6da4e1a6f01667
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 22 16:35:46 2011 +0200

    Copyright fixups
    
     * relicense SCL under GPLv2+
     * fixed debian/copyright
     * fixed FSF addresses

commit c76483fcd6c033fdf9b46d1c18753d466362ea88
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 22 09:28:48 2011 +0200

    program-override(): disable the effect of store-legacy-msghdr flag
    
    During 3.1, the flag "store-legacy-msghdr" has become default, which means
    that the $PROGRAM[$PID] portion of the original syslog message was restored
    to the same format it was received as, instead of being reconstructed
    from the parsed values.
    
    However, when specifying program-override(), this behaviour was
    not restored, e.g. even if the value of the $PROGRAM name-value pair
    has changed, the originally stored format was used in files.
    
    This was certainly not very intuitive. This patch changes that, if
    $PROGRAM is set in any way (e.g. program-override(), rewrite rule, parser)
    the effect of store-legacy-msghdr is disabled. That can be restored
    by using an explict $LEGACY_MSGHDR macro in the destination template.
    
    Cc: syslog-ng-stable@balabit.hu
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit aad805d9bee5dadcb496c59725ed96c21ea8a474
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Wed May 25 20:06:28 2011 +0200

    afmongodb: Support system-installed libmongo-client at configure time.
    
    Modify configure.in to recognise a suitable version (>= 0.1.0) of the
    libmongo-client library, and use it instead of the internal version if
    requested so.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8a7f6854d26a7ea8fa8c1ff57554046481eb0786
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 20 18:32:21 2011 +0200

    lib/Makefile.am: fixed typo in the name of the -avoid-version libtool parameter
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6105f8313988bc97d333bf7ab456e0ea9e62d670
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 20 13:09:34 2011 +0200

    persist-state: fixed a memory small leak
    
    This patch closes a small memory leak at startup + SIGHUP time as
    the SerializeArchive object wasn't properly destructed. The leak was
    small, and repeated at SIGHUPs.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fd538b78622afbcd23a8a8b27f158a9e55591c19
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 20 13:08:42 2011 +0200

    cfg-lexer: closed a memory leak in token blocks handling
    
    This patch fixes a memory leak that happened when a syslog-ng.conf file
    is lexed by the configuration parser. It leaked the GList structs
    (size 12 bytes on 32 bit and 24 on 64 bit platforms)
    associated with unput/injected tokens.
    
    The leak was not major, and only happened at SIGHUP time.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e9d8af47916a90dc7b8ec733cc027fcb019a36fb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 20 12:58:11 2011 +0200

    test_matcher: fixed memory leaks in the unit test program
    
    This leak affects the test program only, by fixing it makes it
    easier to discover further leaks lurking in the code we test.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e55bce9fe19b6758b0fa218cb4e2fca6cd3f6083
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 20 12:57:00 2011 +0200

    PCRE matcher: free the pointer returned by pcre_study() to close a memory leak
    
    pcre_study() is called at regexp compilation, therefore this leak
    is not major, as only SIGHUP processing will recompile regexps.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 524395318d704dbce48f5e260902212ece69cfaa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Aug 17 09:25:26 2011 +0200

    Lock / unlock the stats when registering the counters.
    
    Reported-by: Costa Farber <costaf@wix.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 207bb135eecf74981bda130a38c741b7700d3f10
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 16 08:50:42 2011 +0200

    blocks: propagate include problems as parser errors
    
    In case of include errors (for instance too many nested includes) syslog-ng
    didn't propagate the error back in case the include problem happened
    inside a block.
    
    This patch fixes that problem.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a3de0578f8498bd6ba130f215ace7ea28f634492
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 15 09:27:35 2011 +0200

    mainloop: call res_init() in SIGHUP processing
    
    This patch adds res_init() to SIGHUP processing as resolv.conf might change
    from time-to-time, but it is better not to require a restart in this case.
    
    Reported-By: Kevin Guthrie <Kevin.Guthrie@itron.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d6eea6a1130f8343b6600976d9f2319f9ed86c88
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 14 16:45:15 2011 +0200

    updated libmongo-client to include configure.gnu in the dist

commit ede37f8308140955cad32b9255d9d27648cdc742
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 14 16:20:37 2011 +0200

    logmatcher: fixed a possible crash in case a regexp match is applied to a read-only macro
    
    In cases regexp/pcre matcher is applied to a value that is expanded from
    a read-only macro, syslog-ng could crash is flags(store-matches) is set.
    
    Reported-By: Remy Zandwijk <remy@luckyhands.nl>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d8bc7171dca7abbaf5a0f132537a047375557b33
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 12 13:40:46 2011 +0200

    preparations for 3.3.0beta2

commit 1e006e5aad674d678f684a6e01b45affb0f72f08
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 12 08:59:44 2011 +0200

    update ivykis to syslog-ng-3.3-ref13

commit 3d8c32601151343506be61a3f5d0af9888da785b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Aug 11 09:34:05 2011 +0200

    [sql] send a signal to the database thread only in case when the queue is syncronised
    
    because in other cases the database thread wake up unnecessary many times in case of threaded mode
    And the sql stucked if the explicit commit is turned on and flush_lines and log_iw_size
    and fetch_limit and log_fifo_size have the same value. The reason of the stuck was that
    the queue become full but the database thread can't pop any messages form the queue.
    So it can be occurred that the reader finished the io_job and suspended
    and the database thread wait for the signal with 0 read message.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>

commit c4ded8a7fcddae0ad64d42b13c60c14c6fadd06a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Aug 11 08:35:37 2011 +0200

    stats: fixed locking problem at stats_level(3)
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7fc33820621532f993025f09d6cf427dac309f90
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 14:04:10 2011 +0200

    avoid continuous stats counting in case of stats_freq(0)
    
    The stats_timer is armed only if stats_freq contains a meaningful
    value (e.g. >= 0), without this patch the timer with stats_freq(0)
    is continuously triggered.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 824a05b3ae68beda0de0ceaee893851f68f79a12
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 13:54:12 2011 +0200

    configuration: added some comments on the usage of the configuration related globals
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4d4122bd2e78d73e3fb4501247a4935fbc1e5487
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Mon Jul 18 11:14:27 2011 +0200

    [patterndb] make possible to set action without context
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>

commit fd67fa147564f02a60ecf707ec892d0a2082aa13
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 07:07:37 2011 +0200

    [file] Avoid the race condition between queuing and reap.
    
    It is possible that the destination writer is reaped, but in the
    same time a new log arrives for the destination writer
    which log fits for the current reaped writer but the writer gets destroyed.
    
    In case of non-macroed destination, self->single_writer becomes NULL
    in this case. The solution is to protect the queuing mechanism with
    self->lock.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f9bf873b6f690173da23e94234a0f048d3c5eb1a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 06:28:32 2011 +0200

    afsql: added stats locking
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 804e947c2dfadd3df857f86d0095866eade387ec
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 06:27:00 2011 +0200

    afprog: don't deinit/init the destination when the program exits
    
    Instead of calling deinit/init when the program exits, a separate function
    afprogram_dd_reopen() was created which kills and relaunches the destination
    program when needed. This patch, together with the parent patch fixes
    a possible abort() when a program is continously restarted.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a406a64d606ebcdacda910e92d3eacd9aba5f6de
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 06:25:32 2011 +0200

    LogWriter: make log_writer_reopen() safe when the worker thread is still running
    
    The worker thread might be in execution when log_writer_reopen() is invoked,
    and replacing LogProto wasn't synchronized, causing the flush operation
    to crash.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bec45acb4335067b9966236cc6ad724cbbcafe97
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 06:20:28 2011 +0200

    logwriter: fixed compilation warning

commit 5f826f0832181e51568db3dd5ae6d8418051af18
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 8 06:20:12 2011 +0200

    [ssl] Make the ssl communication thread safe
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7e65932f9cdfa95259381906ab24f331256f5a82
Author: Mitzki András <micek@balabit.hu>
Date:   Wed Jul 6 17:51:41 2011 +0200

    logwriter: fixed a possible race in log_writer_schedule_update_watches()
    
    +  /*
    +   * NOTE: This theory is somewhat questionable, e.g. I'm not 100% sure it
    +   * is the right scenario, but the race was closed.  So take this with a
    +   * grain of salt.
    +   *
    +   * The queue_filled callback is running in the main thread. Because of the
    +   * possible delay caused by iv_event_post() the callback might be
    +   * delivered event after stop_watches() has been called.
    +   *
    +   *   - log_writer_schedule_update_watches() is called by the reader
    +   *     thread, which calls iv_event_post()
    +   *   - the main thread calls stop_watches() in work_perform
    +   *   - the event is delivered in the main thread
    +   *
    +   * But since stop/start watches always run in the main thread and we do
    +   * too, we can check if this is the case.  A LogWriter without watches
    +   * running is busy writing out data to the destination, e.g.  a
    +   * start_watches is to be expected once log_writer_work_finished() is run
    +   * at the end of the deferred work, executed by the I/O threads.
    +   */
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fde00a13e8f19c1f45b9be4e2105a878dd82e967
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 7 17:04:28 2011 +0200

    logwriter: don't allow a destination to get reaped while an I/O job is being dispatched
    
    Change log_writer_has_pending_writes() to return true if the I/O job is
    being dispatched to the worker threads, this causes file destinations to
    ignore this writer in their reap timer, causing it to not be freed while
    the threaded part is running.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 522ef706580c79d6e644ab70a78a139fb0be398d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 7 17:02:17 2011 +0200

    [reader/writer] grab the reference before submitting the I/O job
    
    Since the worker job is executed even if the reader/writer gets deinited
    while the job is dispatched to the I/O thread, we need to grab a reference
    before log_(reader|writer)_work_perform() as that could get a stale
    reference in that case.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2eae299409bb089e53ec6bf610bd8040d083b26d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 6 12:03:28 2011 +0200

    logwriter: added main_loop_assert_main_thread() calls
    
    to document that given functions run in the main thread
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ad2f550af615c81ca7d24d74ad0edce8ee1eb24c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 6 12:02:15 2011 +0200

    logwriter: EPOLLERR shouldn't be printed as an error, use debug level instead
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d3a116d26657f03ce0ec20fda1593336d819fd86
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 7 16:52:51 2011 +0200

    lost "WARNING:" text is added
    
    Signed-off-by: Fischhof Gyorgy <george@balabit.hu>

commit a07cf579620d584e5b374a47d75ac93468c57531
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 7 16:48:31 2011 +0200

    [apphook] execute the hooks in order of registration
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>

commit 0b7b35ea8546aeb4cf8580d35160155d2a53a44f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 7 16:46:28 2011 +0200

    [patterndb] the generated message for patterndb get local flag
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>

commit 31b68621af3775ea47685beb5f47e5e1f76fc1e2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 7 12:25:04 2011 +0200

    [stats] Make the statistics more thread safe
    
    To ease the transition, the original thread safety patch on stats registration
    required the code either to:
    
    1) grab stats_lock(), OR
    2) to run in the main thread.
    
    The 2nd case turned out to be bogus, as worker threads might be
    still running when the main thread operated on stats counters. This patch
    changes this by always grabbing the stats_lock(), and removing the 2nd
    case from the assertion that checked if locking was correct.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dda01f1d76f82a385913ff11b6cb0f1755b406cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 6 20:06:27 2011 +0200

    Fixed: source drivers accept "check-hostname" as a flag. (fixes: TK-17537)
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6118fc3494038f610e01af53d0ca24fe279b65fb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 6 20:05:55 2011 +0200

    [dbparser] reload patterndb if it is changed
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c7eef1e1088d5683cd1964ec84ebf461b0bf067b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 6 20:04:12 2011 +0200

    afsocket: fixed keep-alive(yes) handling
    
    This patch fixes keep-alive(yes) for destination drivers. For that,
    it assumes that the LogWriter instance that gets reused from the old
    config (e.g. the one before reload was initiated) works properly if
    log_writer_reopen() is not called when self->proto is set.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1bc67ea941bf0e04ecd71e01c6d827df825537f2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 6 20:02:06 2011 +0200

    logwriter: fixed log_writer_init() if self->proto is already set
    
    In case the LogWriter instance gets deinited with a self->proto set, the
    upcoming init didn't take that into account, and unless the call site
    called log_writer_reopen(), it didn't work.
    
    This patch changes that, in case there's already a self->proto (e.g. the
    writer is being reused from an old config and SIGHUP processing finishes)
    LogWriter works as if the application also called log_writer_reopen().
    
    If the application would want to do a reopen, it can do so as it pleases.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e58e17ed71e8b6cfe11c03fdc1d92c84dc8a0c07
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 1 20:14:08 2011 +0200

    pdbtool: invoke log_template_global_init() to initialize the macro hash table
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 13a87ed5548cb7b152b708d24bb5b3684771d7ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 1 20:13:45 2011 +0200

    refcache: process the ref count differences in two steps
    
    The refcache may have caused a leak, when the ack callback performed an
    additional unref operation (which it does), because folding in the ref
    difference counter didn't take the additional unref into account.
    
    Thus the ref difference needs to be folded back into the atomic counter
    in two steps:
    
     1) we add in the difference that was present when entering the
        function (e.g. the diffs accumulated before the function was entered)
     2) we add in the difference that was created by the ACK callback
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1c5372662890b4eb210969ab5d4a1bae655e9101
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 1 14:54:31 2011 +0200

    configure.in: fixed CFLAGS setup
    
    Remove extra space around from '=' as that's not properly processed by
    the shell.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1b171691b933c4a9a214637ce3b4b8f7cbcb5337
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 1 14:48:13 2011 +0200

    [center] this patch brings back the correct inheritance and propagation of flow control
    
    The last flow-control processing change broke the case of flow-control with
    embedded log statements. The original behaviour (prior breakage) was to
    enable flow control if any of the log statement branches had
    flags(flow-control) in it. The patch delegating the flow control
    decision to the destinations (more precisely: b8cc9fe) broke that.
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d01c8bdd1957d4d737d47e8f14a90d5a63107681
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 31 11:08:59 2011 +0200

    update libmongo-client to latest version
    
    This patch fixes a make dist issue.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4b65f29582965856721b875150ef4e6a9422f207
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 23 14:41:36 2011 +0200

    str-format: fixed a compilation warning
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9726e1be9f0405cd322b15764e76ade491d0f961
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 23 14:41:15 2011 +0200

    cfg-lex: fixed a compilation warning
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b5d37f1901a35c5410cfd30d21d1f4016705aa41
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 23 13:53:53 2011 +0200

    dnscache: make the DNS cache per-thread to avoid the need for locking
    
    This patch implements thread safety for the DNS cache by making it
    per-thread.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 44faa6d8b57eb2190534265119c1ce1e1b110732
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 23 13:52:49 2011 +0200

    dnscache: store IP address for negative matches
    
    Change the DNS cache to support storing the IP address representation of
    negative matches. Performance tests revealed that inet_ntop() is notably
    worse than our DNS cache implementation (which could be improved still).
    
    inet_ntop does about 2million ops/sec, whereas the DNS cache can do
    10million/sec, and this really makes a difference when a host without
    DNS entry is sending lots of logs to syslog-ng.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 15d58c9d25e2ddab2ce3da5811f1545c84a00a16
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 23 12:48:34 2011 +0200

    timeutils: use per-thread time caches, instead of locking them explicitly
    
    This patch also implements a mechanism for falling back to localtime() and
    gmtime() if the reentrant versions are not available.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu

commit e85b77daf7adefc20186784f538ac642f414fb6b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 22 20:32:00 2011 +0200

    syslogformat: remove mungling with NVRegistry directly
    
    These shouldn't be needed, and even if they were, it'd be enough to do
    them once at registration, instead of the fastpath.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c2363b13029927f67f6abad09e9d8069a3c27a3d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 22 20:24:31 2011 +0200

    [logwriter] flush the queue completely at reload/exit even quit is pending
    
    When the configuration is reloaded or syslog-ng exits, one last attempt
    to completely flush the queue is performed. In this mode, the flush thread
    will not stop immediately when the quit signal is detected, but rather
    it loops through queued entries as long as the destination is able to accept
    them.
    
    Since the same quit signal causes readers to exit, only a finite amount of
    messages may be pending. Also, in case of network destinations, the network
    window will probably fill up, and that also causes the loop to exit. File
    destinations will be completely written however.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 193fce5a4befcab3821a79fc757f2c66bdcd7f98
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 22 20:11:43 2011 +0200

    LogWriter: instead of passing the queue as constructor parameter use a separate method
    
    Since the queue for LogWriter is frequently replaced during in dest driver
    init methods _after_ the LogWriter instance is constructed, it is better
    to always set the queue in a separate call.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 40cabe5a78f80c050520f9603eaff0856a410d52
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 22 11:24:16 2011 +0200

    cfg-grammar: fixed dest_writer_option rule compilation error
    
    The template() option processing was broken, and could cause a segfault in
    case an error occurred in template compilation.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c42ef481ac6c0aaef8437fc3a3952e9f499409a8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 22 11:11:04 2011 +0200

    logqueue-fifo: remove locking around a stats_counter_dec() call
    
    Since stats_counter_dec() operates on atomics, no need for
    external locking.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 33e833526cd4865a2f0a8035864f229aa7ae728a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 22 10:55:44 2011 +0200

    libmongo-client: update to v0.1.3
    
    Update to the latest v0.1.3 plus two small patches.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b7181f7f270d9f906ecab6c863f7ff96c1a5a3df
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 22 10:55:08 2011 +0200

    csvparser: fixed compilation error
    
    caused by the last commit.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 091f4c093b4836114badc8a7a4863bdac8757f42
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 20 12:25:01 2011 +0200

    cfg-grammar: fixed template expansion for externally defined templates
    
    This patch fixes template expansion even if the template is not defined
    inline, but rather as an external object, referenced at a destination.
    
    Reported-By: Nix <nix@esperi.org.uk>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a1cc77a2910784325fbecafa559c30580fe67eaa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 20 11:46:18 2011 +0200

    The default value of log_fifo_size has changed to 10000.
    
    It was necessary to make this change because the log_iw_size()
    option has also changed for tcp() and udp().
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d990e92073b4295fbc045327f38118254b536c2f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 14 12:30:32 2011 +0200

    removed superflous "shutting down" message
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit abe191ed272c85f7bceb121aefeb8d8f4c7a9ed4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 14 12:28:12 2011 +0200

    nvtable: fixed locking of the nv_register hash table.
    
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 73674e8fce6ace8ed1617bb4e3c010b5a2763d67
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 14 12:27:02 2011 +0200

    template: fixed writer template() processing
    
    In one of the refactorizations a function call was removed.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b8cc9fe3bb41d862918d9e39b0ded812dd756ef5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 14 12:26:01 2011 +0200

    delegate flow-control early-ack decision to destination drivers
    
    Sources always expect an acknowledgement for each message they produce.
    This acknowledgement is usually generated when all the destinations have
    finished their processing of the given message, unless flow-control
    is disabled.
    
    Earlier the LogMultiplexer object was responsible for ACKing in the name
    of destinations where flow-control was not desired. This patch changes
    that and delegates the early-ack (or break-ack) decision to destination
    drivers, based on the information stored in the LogPathOptions structure,
    where the user-requested mode of operation is stored.
    
    This patch splits the "flow_control" member of the LogPathOptions structure
    into two:
    
      - ack_needed: specifies whether the source still expects an ACK on the
        current path.
      - flow_control_requested: specifies whether the user has enabled
        flow control on the current path.
    
    Based on these, the destination driver is able to make a decision when
    to perform the ACK:
    
      - log_msg_break_ack(): is a new function call that can be used to generate
        the ACK and prepare for _sending_ the same message for further processing.
      - log_msg_ack(): is the good-old ack generation function that can be
        used when the processing is finally finished, and no processing is to
        be done.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cd96913506e85852325db3f8173129ac5ce37204
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 14 09:29:16 2011 +0200

    [threading] It is possible that the _SC_NPROCESSORS_ONLN isn't defined.
    
    In this case the max threads must greater than 0
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>

commit 62e091919c712874cf4ddc5d35cb4cb39da99b2f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 14 09:24:16 2011 +0200

    afmongodb: update libmongo-client to v0.1.2

commit 1f996cc63bd84e0a7965dc5f15c5e68199bea574
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Thu May 12 12:47:44 2011 +0200

    [nv_registry] thread safe nv_registry manipulation

commit 04e0d161e031199aed3e065f715a6926b5a0cc81
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 4 09:49:30 2011 +0200

    string_list_free: handle pointer values below 4096
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8699944997633f84185642cf35489eeb09e1ee70
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 4 09:44:53 2011 +0200

    pipe(): fixed a possible busy loop on AIX
    
    AIX behaves strangely when polling a pipe(). It indicates writability
    if a single byte is still available in the buffer, but then doesn't
    take a partial buffer, and refuses our write() operation with EAGAIN.
    
    This means that we think that the poll is writable, but at the end we fail
    to write, syslog-ng gets into a busy loop.
    
    The solution is to retry the write() operation with ever decreasing buffer
    sizes until it succeeds.
    
    Strictly speaking the AIX implementation is conforming, but I haven't
    seen this behaviour elsewhere, so it is only enabled for AIX.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f83dd6460e1db294a2209b300f5e4b27a263726d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 13:00:35 2011 +0200

    affile: fixed potential use-after-free of the file writer hash key
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 98a3fefe100ebd91c9ec46dbec407b02e7d2802b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 12:50:02 2011 +0200

    [configure] correction of handling of --with-default-modules parameter
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>

commit 4be499231aebee87ba627f781182e37e52dad0fa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 12:46:27 2011 +0200

    LogWriter: ignore throttle at our last attempt to flush all messages out
    
    When syslog-ng stops, it tries one last time to flush all data from
    its buffers towards the destination. Until now this was limited
    by the throttle() setting, however it makes more sense to flush as
    fast as possible, since if throttle kicks in the remaining messages
    are lost for good.
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0d31c52907fe0857365e6eac0077194c6a34c1b7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 11:01:03 2011 +0200

    [SCL] set empty default parameter to block
    
    Empty default values for block arguments were incorrectly handled, the
    invocation of the given block with an explicitly specified argument
    resulted in an error.
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b66057d60596c740e344099aa4f7d2613bf37bf4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 10:58:22 2011 +0200

    resolve_hostname: fixed an unneeded variable in case IPv6 is disabled
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 08cb968f564259a524755c86f899da5fcd8d6875
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 10:57:49 2011 +0200

    find_file_in_path: fixed a potential uninitialized variable in case the PATH searched is empty
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4dbde1c306de02dbf66d0e8faf1e10cc04e49307
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 10:56:58 2011 +0200

    warning fixes: spurious warnings
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f2106fe35ec7149cc7554036f13b0d70764aed33
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 3 10:55:32 2011 +0200

    warning cleanup: added missing includes
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0b72b4970097435f6ae4f7be52bfe4325c495d39
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 2 13:59:10 2011 +0200

    logproto: fixed an inbalanced get_state()/put_state() pair
    
    log_proto_text_server_prepare() could inbalance put/get calls in case
    prepare retrurns TRUE.
    
    it also removes superflous 'state' param in put_state(), since that
    wasn't used.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1003f5897e0c9b509deece4384e4c906ee74afb9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 2 13:57:38 2011 +0200

    persist-state: fixed mapped_counter assertion at program exit
    
    the mapped_counter modificitaions are called from different threads,
    without synchronization the map/unmap calls put the counter into
    inproper state.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 07c0955a32c65484305758fb482bc977a8d4d317
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 30 14:54:56 2011 +0200

    LogReader/Writer: don't reenable watches when the pipe got deinited (D-04271)
    
    In threaded mode, the task to perform reading/writing is deferred to
    a thread. Once that finishes the watches get reinitialized, even
    though we could be deinited in the meantime.
    
    This patch only starts the watches in case PIF_INITIALIZED is set in
    flags.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9a09cac38ed74cab36d42bbbfda3e5a34e581754
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 2 13:08:45 2011 +0200

    logwriter: fixed memory & fd-leak
    
    The LogProto instance used to send out the messages wasn't properly freed
    when the LogWriter got destructed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 674095022d1c6591d40801a674382f847279cef8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 1 17:50:33 2011 +0200

    logreader: make sure the flags array has a sentinel
    
    This fixes a potential segfault during parsing in case an unknown reader flag is specified.
    
    Reported-By: Eric Duda <ericduda@yahoo.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit db89491b07e2d6541a52b8ea75a5153d2c28f0a9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 1 16:24:57 2011 +0200

    add support for installing systemd unit files
    
    This patch adds a standard --with-systemdsystemunitdir configure option
    that:
    
      * without explicit options it does nothing with the unit file
      * if --with-systemdsystemunitdir is specified without arguments,
        it tries to autodetect the path using pkg-config
      * if --without-systemdsystemunitdir is specified, it does nothing
      * if --with-systemdsystemunitdir is specified with an argument, it
        uses that directory to install the unit file into
    
    
    Signed-off-by: Dave Reisner <dreisner@archlinux.org>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d2333214aeee47de10822f1675509483595bcb91
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 1 15:25:40 2011 +0200

    templates: initialize arg_lock
    
    Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e6c54bf0238c99d6b91bf7bb2c43b252ef75cbd8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 29 16:21:03 2011 +0200

    afsocket: change default ports
    
    The IANA has assigned ports to RFC5424 based syslog transport, which
    differs from the defaults that syslog-ng used so far.
    
    The PE folks have already migrated to the new ports with the release of
    syslog-ng PE 3.2, however this was not ported to syslog-ng OSE until now.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ddc2fe574545ffde4ce1f7d9689459ba97a0b230
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 26 17:51:32 2011 +0200

    remove some unmaintained sample files from doc
    
    The systemd unit file will be moved under contrib/, the rest is
    removed for good.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e59f407b7eb663a361a60f19bf52918afb5c3395
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 13:10:08 2011 +0200

    stats: add per-program and per-host counters
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8a833b9a30382f7708a17cad177c37aafd4fb6bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 13:09:29 2011 +0200

    stats: statistics formatting
    
    make sure the output is utf8 even if the input wasn't.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ece04d8eb80af68bc395e723a7c732c3c6c9b987
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 11:52:58 2011 +0200

    stats: report entries whose refcount was 0 as 'new'
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 44ec971b0035ca59dbe9f81f0d0f985fcec1bae7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 11:52:32 2011 +0200

    stats: implement per-facility & per-priority counters
    
    On stats-level(3) syslog-ng will count the number of messages for
    each facility/severity.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dbc0a61d4c035e4960d28b01cb115dbeb984abdb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 11:38:03 2011 +0200

    logsource: use the multi-threaded stats registration
    
    Since LogSource can run in parallel, registering per-host, per-program
    counters must be protected by the stats lock. This patch implements that.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a5c5f1892a69c63813d1ff0e6cdac30a70da6032
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 11:36:29 2011 +0200

    stats: make stats_check_level() public
    
    Create a function that allows call-sites to check whether a stats
    operation needs to be performed at all. Some stat operations are
    expensive, those can be avoided by branching on the return value of
    stats_check_level().
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cc09691c463742f7191211e8ef13d2fda8567592
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 11:34:22 2011 +0200

    stats: multi-threaded counter registration
    
    This is the API side of the multi-threaded stat counter registration,
    use of this API will come in the next patch.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 274067b561dc9cde6dc13d684dd8288d3531d9c7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 20 11:29:35 2011 +0200

    mainloop: introduce main_loop_is_main_thread()
    
    This function returns if we're running in the main thread, to be used
    in assertions and such.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fe14cb662e426c3a851674ae46356ae57b9c450b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 18 09:02:44 2011 +0200

    logwriter: fixed compilation warning
    
    Caused by an undeclared function, include "str-format.h" to fix the issue.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1458deb864079755f5ac0af302926657cc7521e8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 18 09:01:55 2011 +0200

    stats: make counters thread safe
    
    This patch modifies the stats subsystem to use atomic operations for stats
    counters in order to make them count correctly even in threaded mode.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 276535a94a06cd3343dd40d22075adb5aa42db58
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 13 09:57:54 2011 +0200

    [logmsg] log_msg_is_handle_match added
    
    This function returns if the handle is $0 - $255 or not.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>

commit 39f5804ff7d850aa47cd6a777b0fffc7f82c8af5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 13 09:52:50 2011 +0200

    logwriter: use format_uint32 instead of sprintf
    
    sprintf is too slow to be used on the fast path and a hand-coded
    number formatting function was created, which is supposed to be replace
    to sprintf() invocations. One spot was missed however and this patch
    changes the code to use it in Log_writer_format_log() when an RFC5424
    style message is to be formatted.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8e4fe2607137a0ccec93aede0018c7b1673c5d69
Author: Tamas Pal <folti@balabit.hu>
Date:   Tue Apr 19 15:52:14 2011 +0200

    [lex-rules.am]: rules use $(EGREP) instead of grep -E.(EGREP is -E compliant grep implementation, set by configure)

commit 33d01670e2bed7b14391225bdcb005ae2f90da8e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 13 09:45:43 2011 +0200

    linking: Link unit tests against ivykis in case we are using system supplied ivykis
    
    Since in this case ivykis is used as a shared library, unit tests that use
    ivykis directly need to link against it, as some platforms don't resolve
    symbols through libsyslog-ng.so recursively.
    
    This was problem on: AIX 5.2, AIX 6.1, Solaris 10 SPARC and
    Solaris 10 SPARC64
    
    Signed-off-by: Andras Mitzki <micek@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 42ce0f47dfb73624c25f2aa0c19a82099b2fa1d2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 13 09:26:32 2011 +0200

    [apphook] call msg_init first and call msg_shutdown last
    
    In order to make sure that internal message functions work as early
    as possible and as long as possible.
    
    Also, set log_stderr to TRUE when msg_deinit() gets called, which means
    that we'll try to write the error messages to stderr in case we'd still
    emit internal messages after deinit.
    
    Signed-off-by: NagyAttila <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e3fe2fb97952decc966d4cab5b09f97df8a23c3f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 13 09:21:54 2011 +0200

    [configure.in]: afstreams is a default module if sun-streams supported.
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>

commit 6728b51da89159baebc18ee26e4cec76803cf151
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 13 09:19:31 2011 +0200

    afunix: Use set_permissions().
    
    Instead of doing the chown + chmod dance ourselves, use
    set_permissions() instead.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit b7b18b188b5486e14253cfed5d3f2eae4ff076f1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 13 09:19:02 2011 +0200

    afsocket: Do not unregister fds, unless they were registered for sure.
    
    If we attempt to unregister an fd that has not been registered with
    ivykis, it will abort(). This can happen if the source driver got
    initialized with no listening fd present (e.g. optional(true) and
    a bind error).
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e0b8b691b23b8f34861e8981b7701dd52195b34b
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Apr 14 15:28:30 2011 +0200

    afsocket: Fixed a wrong cast in afsocket_dd_set_keep_alive().
    
    Since afsocket_dd_set_keep_alive() works with a destination driver,
    cast the LogDriver argument to AFSocketDestDriver, not to
    AFSocketSourceDriver.
    
    While this worked before, when the two were similar enough, once
    AFSocketDestDriver started to diverge from SourceDriver, this led to
    horrible breakage.

commit 7d6039646a756e4e09aae7f0961f0dbbe132f737
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 22:21:11 2011 +0200

    [plugin] on AIX syslog-ng try to load .a archive modules
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9ec9cdc683f5b96039e329b16f1374063f12d7b8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 21:54:45 2011 +0200

    configure.in: add -pthread flag to CFLAGS
    
    This patch adds a -pthread into CFLAGS in order to make sure that we
    get all the required magic (-lpthread and -D_REENTRANT usually).
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ab6e468c0c0af0286cb0f6713f8433700965001a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 21:53:45 2011 +0200

    test_thread_wakeup: fixed the cond-wait protocol by locking the mutex
    
    Waiting on the condition variable requires a lock to be held while
    waiting (which will be released and reacquired atomically by g_cond_wait),
    which wasn't the case in test_thread_wakeup.
    
    This patch fixes that.
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c3af08d449cca9f50bf8f7bef94cd01896adbe78
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 21:42:16 2011 +0200

    test_logqueue: don't use time_lock as an identifier as it clashes with a function on Tru64
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6293cceb34dec3ef1abc5f98f12a579227d0b829
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 21:41:15 2011 +0200

    zone_info_parser: move variable declaration to the beginning of the function
    
    Variables declared in the body are not supported by all C compilers.
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8e0b369977c872b2e02596770bc0842229e9db35
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 10:57:43 2011 +0200

    [affile] use common set_permissions_fd
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3dd009d4a11982f52e892818f38777dd40e76a0c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 10:56:35 2011 +0200

    [misc] shared functions to set fd permissions
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4934028957619aad5149c3b5447b0625fd5f600c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 10:55:26 2011 +0200

    tlscontext: fixed a possible segfault in certificate validation
    
    In case certificate policy extension is present, syslog-ng could crash.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 33de4c3b4de40493544cee3cf3de8bd0e4d76d34
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 10:38:18 2011 +0200

    [affile] fixed a reference counting problemin the file-open code
    
    A reference was leaked whenever the same file got opened from multiple
    threads at about the same time, causing use-after-free problems.
    
    This patch also fixes a possible NULL deref that could happen if the writer
    couldn't be initialized.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3850714b623500d2284afc541f6e12cae5aabcef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 12 10:22:56 2011 +0200

    template: protect template function expansions with a mutex
    
    Since templates are used from multiple threads once constructed, they
    need to be thread-safe once constructed. This patch fixes a race condition
    and adds a multi-threaded test to test_template.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7f0eaa1bf2398a9e3c59a28be9d825cdee581bee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 11 19:10:26 2011 +0200

    test_template_speed: load the basicfuncs plugin
    
    This unit test used the "echo" template function, but that wasn't available,
    as it didn't get loaded, thus the results for the $(echo $MSG) test
    was bogus until now.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2443b07b90c822414a628aae6a9ca513357b52fc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 11 14:09:01 2011 +0200

    template: make template compilation thread safe
    
    Instead of doing template compilation on-demand, require the application
    code to do it explicitly, at initialization, in order to avoid having to
    acquire a lock during runtime.
    
    This patch contains an incompatible API change, and requires updating
    all call-sites.
    
    The change makes it also possible to change template string of a constructed
    LogTemplate class multiple times with a call to log_template_compile().
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 11ebdb7288de40295326ca9969e5d2aa890c36af
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 11 12:10:41 2011 +0200

    templates: make the construction of the macro hash table thread safe
    
    It was possible, that many threads initialized the macro hash table
    at the same time, as it was initialized on-demand, but without locking.
    
    The initialization of this hash table move into the app_startup function.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 22c2204c2b664f5017ab50565019513eff611d5d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 11:58:09 2011 +0200

    logwriter: fixed the formatting of messages with priorities set to 0
    
    If the priority value of a message is 0 (e.g. kern.debug), syslog-ng
    will emit it as an empty string, instead of zero. This patch fixes that.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 40bb33278e9bd3aa164f383e8c3f0dd33bf54725
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 11:56:43 2011 +0200

    test_logwriter: added coverage for different LW_FORMAT_XXX flags and conversions from RFC5424 to RFC3164
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit da1dd90715d44741c179f74a4c9d561c443935a0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 11:33:16 2011 +0200

    [SDATA] Allow store sdata section without name or value
    
    The use of name-value pairs within SDATA blocks is optional as per the
    RFC and they do happen when receiving RFC5424 formatted messages.
    
    For instance the sdata can be: "[UserData.updatelist@18372.4]"
    
    This patch lets syslog-ng to properly reconstruct such cases.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 89b05d2ce6f0eb16cc4328b1309b047b63b9e064
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 11:17:56 2011 +0200

    test_thread_wakeup: fixed compilation problem on Solaris
    
    On solaris, the preprocessor macro "sun" is defined, so it can't be used
    as an identifier.
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9b42b26b9287dabbe1d771e6726d0576edcb8969
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 11:15:56 2011 +0200

    timeutils: fixed compilation on Solaris
    
    Solaris (and possibly other platforms) don't have struct tm.tm_gmtoff,
    and the code calculating the timezone offset was refactored into an
    uncompilable state. This patch fixes that.
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6ba216858c3416afb1f42e0c60b2379db0191420
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 10:57:11 2011 +0200

    afprog: automatically close pipes to child programs when executing external programs
    
    This patch is ported from the Premium Edition, to avoid inheriting fds
    to child processes.
    
    Signed-off-by: Zoltan Pallagi <pzolee@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 840724123c616ea5a7950484e13c2888c9f44f86
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 10:52:15 2011 +0200

    test_logwriter: clean up a bit
    
    Removed all leaks, unsafe freeing of a couple of objects, etc. This should
    now run leak-free with valgrind assuming G_SLICE=always-malloc is set.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c338538662319b6175b4f6aa3e3e69188aaa05da
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 10:50:28 2011 +0200

    apphook.c: fixed a leak of application hooks that never got executed
    
    This is not a real leak during syslog-ng runtime, but is important to
    clear up the leak report of unit tests, which do not execute the
    registered application hooks.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 70a6256c6d544d3cc8e2108e0a5218d211e536e4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 10 10:49:36 2011 +0200

    logqueue-fifo: fixed leaking of the instance structure
    
    The call to log_queue_free_method() was missed, causing the LogQueue
    related fields not to be freed while the LogQueue instance was destructed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e9225b4c3b4a342b6f388b7ca177ae58f7151f6c
Author: NagyAttila <naat@balabit.hu>
Date:   Tue Mar 8 11:38:20 2011 +0100

    use GSlice for fastpath allocation

commit 22738b5b721880652c9d8ff1c15c80d679ec0f21
Author: Pallagi Zoltan <pzolee@balabit.hu>
Date:   Mon Mar 7 16:48:13 2011 +0100

    [syslog-ng-ctl] Added GLIB check version

commit 3f9fc18e73d15188e3f5833f9a42e49ac641ec18
Author: Pallagi Zoltan <pzolee@balabit.hu>
Date:   Wed Feb 23 16:49:35 2011 +0100

    [afsocket] Increased the minimum value of init_window_size to 100

commit bccf01196f50f027f80404e3aae07b9c16d11b19
Author: NagyAttila <naat@balabit.hu>
Date:   Fri Feb 11 14:26:14 2011 +0100

    LogReader: added comments to log_reader_update_watches()

commit 694164b1ea6f575424413b3b1f359af09457db16
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 9 14:54:07 2011 +0200

    LogReader: Proper wakeup function handling for deinitialized LogReaders
    
    The wakeup() callback can be called even if a LogReader is
    deinitialized (when the Writer is deinitialized _after_ the reader, and
    some messages are flushed out in the deinit path), in
    which case we shouldn't trigger the schedule_wakeup event.
    
    The original patch by Viktor Juhasz, but was completely
    reworked by Balazs Scheidler.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2a5a94031fedc5c34289b3de44a833e370ca25d4
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Jun 6 22:54:24 2011 +0200

    tests: Fix the value_pairs unit test.
    
    The "everything" scope includes LOGHOST aswell, so add that to the
    expected list too.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit fc2a1d6346ef76c9690bb98582af2b3c18b16276
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 9 14:38:37 2011 +0200

    value-pairs: removed unused variable
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 39315059278abed47041650bbc6513f51978a957
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Jun 5 16:37:29 2011 +0200

    tfjson: Update to the 3.4 API.
    
    The non-simple template functions had an API change, this patch brings
    tfjson up to date with those:
    
    Since the state is now kept by core, TFJsonState was introduced, to
    hold our additional state. Furthermore tf_json_prepare() was updated
    to use the supplied state, instead of trying to keep our own.
    
    A new function, tf_json_free_state() was also introduced, to free the
    additional state that tf_json_prepare() allocated.
    
    And as a final step, tf_json_eval() was removed, and tf_json_call()
    was updated to use the state kept by the core.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 247abc3484ed6b7e8b0f66de78373d1a8d2c8859
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun Jun 5 16:37:28 2011 +0200

    value-pairs: Update value_pairs_new_from_cmdline() to 3.4.
    
    A while ago the template functions were changed so that their argv[0]
    became the template function's name.
    
    What this means for value-pairs() is that we no longer need to play
    dirty tricks with its argv[] to please g_option_context_parse(), which
    expected the zero-index argument to be a program name.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 671f2b8ca2ea1958e0334c4b0896af47a2a24420
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 8 16:03:26 2011 +0200

    make the module path and module install dir separate configure options
    
    --with-module-dir to set the installation directory
    --with-module-path to set the module search path
    
    Reported-By: Peter Czanik <peter.czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 314a4b6d89ece4357292f1a5f791ff4b77a74905
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 6 11:52:15 2011 +0200

    afsql: try not to depend on openssl
    
    md5 is used to generate unique but short names for indexes in case Oracle
    is used. However SSL may not be available when SQL is used, handle
    this combination by emitting a warning with a possible solution
    if such a case is detected.
    
    Reported-By: Peter Czanik <peter.czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8cd7e95d20418c82f5c95cb2c0ab431e40e7fc3c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 4 15:10:07 2011 +0200

    func_test: improve SQL autodetection
    
    This time it also checks if the SQL functionality was compiled in.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5a12e99e264a262a0f465d5d63a57c14cf72e644
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 4 14:38:02 2011 +0200

    changed VERSION to 3.4.0alpha0 to reflect the current branch

commit 8ab7a3da907fe4bc76c531efb33a55b1d8267ade
Merge: 50d3289 4df06a3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 4 14:37:16 2011 +0200

    Merge remote branch '3.3/master'
    
    Conflicts:
    	configure.in
    	modules/Makefile.am
    	modules/basicfuncs/Makefile.am
    	modules/convertfuncs/Makefile.am

commit 4df06a3c8d7c37b06db41be4695522c73ec925a5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 10 10:28:31 2011 +0200

    Fixed BSD timestamp parsing when the day is padded with spaces in front (fixes: D-03717)
    
    Although the bugreport contained info that it'd be 'no-hostname' related, in
    reality it isn't. The unit tests couldn't cover this case as the
    timestamp that can typically contain such fields do not contain year information.
    
    This patch fills this whole in the unit test and also fixes the
    problem itself. It was caused by one of the performance improvement
    patches, but doesn't affect PE 4.0 or older OSE versions.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b7d46bc094215fa80f93e0dc46a3caa83e8a24b8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 4 12:54:07 2011 +0200

    Bail out on unknown systems, and use a clean environment.
    
    Force using OS's own uname implementation, over whatewer found in
    PATH. Die with error on an unsupported system or uname error.
    
    Signed-off-by: Tamas Pal <folti@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9b83cef885205c0159386644074d8c0c2d50057c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 31 16:04:01 2011 +0200

    scl/modules.conf: updated module lists
    
    Reported-By: Peter Czanik
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b7839d466b95d5048d1be25c0fbad67427ebecdc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 31 15:49:21 2011 +0200

    plugin: don't report libsyslog-ng-crypto as a loadable module
    
    libsyslog-ng-crypto.so resides in the plugin directory, but still we
    are not able to load it as a plugin. Remove this from the --version
    output.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dbb63b6f2d85e337b435690b9a9fecc72ab0d2e1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 31 15:41:05 2011 +0200

    libsyslog-ng-crypto.so: don't use versioning
    
    Since this is a privately installed library, we don't need versioning
    on it.
    
    Signed-off-by: Peter "CzP" Czanik <czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0d8d2d6060c2a99bc5dd8ae399cab703a251259c
Author: Peter Gyorko <gyorkop@balabit.hu>
Date:   Mon May 23 11:56:09 2011 +0200

    [persist]: only check the buffer size if no encoding is specified
    
    If no encoding is specified, we read directly into our buffer,
    thus we need to verify the buffer sizes. If we do use encoding however,
    the raw buffer size cannot be directly compared to our own buffer size,
    we use init_buffer_size instead (which equals to the maximum message size).
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7a88fb3df322e4b7037fb02475679a52612e2d83
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 29 19:47:19 2011 +0200

    LogProtoBufferedServer: fixed error handling in case the persist-state cannot be restored
    
    In case an error happens while restoring the persist data, be sure to reset
    various state variables to indicate that the Protocol is to be restarted.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1e877e230c797c12a77b0de068dd5a8e89f3cfe3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 28 14:17:58 2011 +0200

    fix db stored/dropped messages counter handling
    
    Initialize the counters properly in afsql_dd_init(): the
    stored/dropped counters were swapped.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0654cd8419abe4f796ba301bf988ccd81e912212
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 28 14:14:25 2011 +0200

    fixed memory leak using macros in template
    
    Always allocate memory for self->filename, so that it can always be
    freed properly. The former method of trying to figure out when to free
    it and when to ignore it since it's owned by something else didn't
    quite work, and led to memory leaks.
    
    This patch also changes AFFileDestWriter->filename to be a simple char
    pointer instead of a GString.
    
    Signed-off-by: Peter Gyorko <gyorkop@balabit.hu>
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3d9f4382a9bc5f5e1614f86bec3435c569d150ac
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 22 13:23:41 2011 +0200

    preparations for 3.3.0beta1

commit 8dcc700dfe43c1e755212cfb8091336fbcd8a0d3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 22 13:21:50 2011 +0200

    mongodb: replace initial dot with an underscore
    
    Since mongodb will not accept fields that begin with a dot, and syslog-ng
    does have dots in its NV pair names, make sure it doesn't happen, by
    replacing the initial dot with an underscore.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 208291314b3986da8bf1f0bfc1bbc37479ca1e09
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 22 13:20:14 2011 +0200

    afmongodb: Fix a possible crash during configuration.
    
    During configuration, if the user specified value-pairs(), the driver
    would crash, because it tried to free a NULL structure.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 76b9f7516b950437e38ae0d8a6f6a76ef49c1a1c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 20 13:16:32 2011 +0200

    value-pairs: split "nv-pairs" scope into "internal" and "public" values
    
    By convention, syslog-ng prefixes all nv pair names it generates with
    a dot (or without having a dot at all, like in legacy syslog
    related macros). The idea being that the user (e.g. the configuration)
    has a final word on what NV pairs she/he constitutes part of the event and
    what not.
    
    For instance, syslog-ng puts structured data in values
    named '.SDATA.<id>.<param>', which makes it easy to use, but these fields
    are almost never part of the event itself that the message payload carries.
    
    With this patch, 3 nv-pair related scopes are introduced:
      * nv-pairs: contains all the NV pairs that have no '.' prefix
      * dot-nv-pairs: contains all NV pairs that have a '.' prefix
      * all-nv-pairs: contains all NV pairs
    
    Also a new scope is introduced named "sdata" which contains only .SDATA
    prefixed data.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1948da9ae104afcbbc67677249b6973f58aab11f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 20 12:57:39 2011 +0200

    value-pairs: remove SDATA macro from "rfc5424" and "selected-macros"
    
    Since it is preferred to store Structured Data in separate fields, remove
    the SDATA macro from all predefined scope. It is still possible to add this
    using key() or pair() though.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e2049585b7984fc32cbb8ef367da2c97882595ad
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 19 14:04:41 2011 +0200

    log_msg_is_handle_sdata(): new function that returns whether the given NV pair is SDATA
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 19726943d0791fd4fd7ae2c4aea7d758e43ea7ce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 18 13:18:57 2011 +0200

    tgz2build: added json as a dependency
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8f8caf995ef617c5e9beaec2ce3120375a96476e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 18 13:18:42 2011 +0200

    gprocess: fixed compilation error on old glibc versions
    
    Which do not have PR_CAPBSET_READ.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5a0677c1949009d4759bd26ce2a2646babc62d4e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 18 13:18:15 2011 +0200

    test_value_pairs: fixed test program and increased coverage
    
    The original test_value_pairs program depended on the Glib hash function
    which might change over one Glib version to the next. It now sorts
    the result set alphabetically.
    
    Also the coverage of the tests were increased with explicitly added, custom
    value-pairs.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit db958fce29f53f2b0b66b58ca90a6aa3129ea85f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 13 13:16:46 2011 +0200

    update ivykis to syslog-ng-3.3-ref12

commit e9f20f8c79d0005c3d12c3e72970631382fee35d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 13 13:10:09 2011 +0200

    tfjson: Support either json-c or json-glib.
    
    Add the ability to build the module with either json-c, or json-glib
    (version 0.12 or later). If both are present, we'll prefer json-c.
    
    You can use the --with-json configure option to specify which JSON
    implementation to use.
    
    Requested-by: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a0f212f3c97ee465236b85144a899f4efb516b60
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 12 13:11:58 2011 +0200

    Use CAP_SYSLOG instead of CAP_SYS_ADMIN, if available.
    
    If cap_syslog exists, the kernel will complain (once) that we only
    have cap_sys_admin.  Additionally, using cap_syslog instead of
    cap_sys_admin significantly lowers the unneeded privs we are
    using.
    
    Upon startup, syslog-ng will detect whether CAP_SYSLOG is available,
    and use capabilities based on that finding. This detection will also
    have a side-effect, which will make it so that
    g_process_cap_modify(CAP_SYSLOG) will fall back to CAP_SYS_ADMIN, if
    CAP_SYSLOG support was not detected.
    
    Thanks to Andrew Morgan for pointing out a nice way to detect whether
    the kernel has CAP_SYSLOG. Original code by Serge Hallyn, with minor
    changes based on Balazs Scheidler's review by Gergely Nagy.
    
    Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8c1be7b7b1fd810c9be827054852ac8804961ac1
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sun May 8 10:37:04 2011 +0200

    value-pairs: Use MESSAGE instead of MSG.
    
    MESSAGE is the canonical name of the key, not MSG. Using MSG in the
    rfc3164 scope will result in both MSG and MESSAGE being present if
    nv-pairs is being used aswell.
    
    Using the canonical name, only MESSAGE will end up in the set, which
    is exactly what we'd like.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0c5b2a9c2f060f8aa95c89f4aa5e798d6c8372e9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 8 07:28:46 2011 +0200

    ivykis: updated to syslog-ng-3.3-ref11

commit b2cde8e8d5ba4c52707d375209f9489bc0be595d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 7 16:59:07 2011 +0200

    func_test: make it possible to check whether it makes sense to run a testcase
    
    The SQL testcase is unable to complete on a number of platforms, lacking
    the sqlite tools/libraries. Don't even try to launch syslog-ng, as with
    a recent change, it'll bail out at startup.

commit d7ed0522157ef41924861fc6fe8f679e2d5fadff
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 7 16:58:14 2011 +0200

    mongodb: use $(MODULE_XXX) variables for linking

commit 5faccedf6d22f3dffc6a3610fc20036ecfb0fc8a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 7 15:19:51 2011 +0200

    lib/Makefile.am: make sure tlscontext.h / tlstransport.h is installed
    
    ... and included in "make dist"
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9c7c65080f7aa50b680d829f32493bacae33127e
Merge: 015d1e2 9c83385
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 7 15:14:50 2011 +0200

    Merge remote branch '3.2/master'
    
    Conflicts:
    	configure.in
    	tests/loggen/loggen.c

commit 50d3289f418f407f592d2b025e989a46840a3f76
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 21:03:47 2011 +0200

    templates: added $LOGHOST macro
    
    This patch adds a new macro "$LOGHOST" which expands to the name of
    the local hostname, as returned by the hostname command.
    
    Signed-off-by: Andreas Piesk <a.piesk@gmx.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 61d60f574a3378e6e37f796f807e1a71a6d4dd9f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 21:01:27 2011 +0200

    misc.c: new get_local_hostname() function instead of getlonghostname()
    
    This patch changes the getlonghostname() function to return a const
    gchar * instead of copying the hostname.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 17562984884177c4301ba667b9a5c437e70db7fc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 20:05:17 2011 +0200

    $(sanitize): add new template function useful to sanitize filenames
    
    This function is useful for sanitizing macro values in filenames, so
    that special characters (control characters, slashes).
    
    The behaviour can also be customized by command line arguments as
    described below:
    
    $(sanitize [opts] $arg1 $arg2 ...)
    
    Options:
      --ctrl-chars or -c             Filter control characters (default)
      --no-ctrl-chars or -C          Don't filter control characters
      --invalid-chars <set> or -i    Set of characters to be translated, default "/"
      --replacement <replace> or -r  Single character replacement for invalid chars.
    
    An implementation was submitted by Andreas Piesk for syslog-ng 2.1.4, but
    that was less general and caused all template expansion to be
    sanitized. This function is selective, only works if you request it.
    
    Arguments are concatenated using '/' so they would become separate
    directory levels when used in filenames.
    
    For example:
    
    file("/var/log/$(sanitize $HOST $PROGRAM)/messages");
    
    Would be roughly equivalent to:
    
    /var/log/$HOST/$PROGRAM/messages
    
    Except that if $HOST and $PROGRAM contains slashes, those will be
    replaced by '_'.
    
    Requested-By: Andreas Piesk <a.piesk@gmx.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 498ccc8e9e30f24769d7a1c9460c1e80c28b8e0b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 19:50:50 2011 +0200

    templates: include the template function name as argv[0]
    
    Since it is quite complicated to parse command line arguments with
    the Glib option parser, leave the name of the function there.
    
    This is an incompatible change in the API, but _will_ not cause
    compilation errors!
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 45da6852fdb74d98a0042d41d483f735ffa21d23
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 18:14:55 2011 +0200

    basicfuncs: merged with convertfuncs, split into separate files
    
    For simplicity try to shove all simple functions into basicfuncs, instead
    of creating a lot of different *funcs plugins.
    
    At the same time, all different function groups are split into
    separate files to make it easier to maintain basicfuncs.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 027f7c2263f0a829a20fe7ebc75801d00173202e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 17:38:28 2011 +0200

    test_templates: fixed some memory leaks in the unit test
    
    It runs with zero leaks now, which also validates that the template code,
    and the tested template functions are leak free in the testcases performed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 403a40de23733dcad9dfb7208f3144d199d1a512
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 17:37:34 2011 +0200

    templates.c: fixed a possible memory leak in processing templates with syntax errors
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d9a14843097e23f26a8f15dac86e164c631fee1f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 17:36:36 2011 +0200

    apphook.c: fixed memory leak on exit
    
    In case hooks are _not_ run, app_shutdown() didn't free the hook related
    data. Not a real runtime leak, only affects unit test programs.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a69801f1b0bab2253eadf7a0006f8bcf32e3ffe6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 5 17:35:44 2011 +0200

    templates.c: refactor the template function API to make it easier to write non-simple functions
    
    Simple functions are really simple, they usually do nothing but expand
    their arguments as a template and perform some kind of transformation
    on them.
    
    However, in some cases a little bit more complex stuff needs to be done,
    and in that case the API was really tiresome. Very long argument lists
    needed to be passed around verbatim, method reuse was almost impossible,
    etc.
    
    This patch makes it a little bit more friendly, with the following changes:
      * introduction of LogTemplateInvokeArgs instead of long arg lists
      * make all functions reusable (prepare, eval, call, free):
        * state allocation is managed by the core
        * state free is just another method of the template function
      * eval function became optional5
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0858ec4d8c0fd27fc86b0dcc60e650f9deb78e86
Author: Gergely Nagy <algernon@madhouse-project.org>
Date:   Mon May 2 21:43:41 2011 +0200

    basicfuncs: Implement a few numeric template functions
    
    Implement addition, substraction, multiplication, division and modulus
    template functions: $(+ N M), $(- N M), $(* N M), $(/ N M) and $(% N
    M), respectively.
    
    All of them take two numeric arguments, and result in "NaN"
    (aka Not-a-Number) in case parameters cannot be parsed, or if a
    division by zero would occur.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9c83385cae2fdf39dea9917de1db4b5161fc00ad
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 17:58:42 2011 +0200

    configure.in: depend on evtlog 0.2.12
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dab135f36343da0864430a15d711e9fdece1d35b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 17:57:59 2011 +0200

    create install directories with mkinstalldirs instead of mkdir -p
    
    mkdir -p is not portable to all systems which syslog-ng supports, use
    mkinstalldirs instead.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit da486d85f7f10a4704d119428356b23a18e9b653
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 17:42:48 2011 +0200

    syslogformat: fixed compilation warning
    
    syslog-format.c:664:9: warning: variable 'sd_param_len' set but not used [-Wunused-but-set-variable]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0556cfe2b60d9a4005930899a2fd9bd400616bc6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:57:20 2011 +0200

    loggen: fixed warnings
    
    loggen.c:183:12: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result]
    loggen.c:350:17: warning: 'pos_seq' may be used uninitialized in this function [-Wuninitialized]
    loggen.c:329:21: warning: 'pos_timestamp2' may be used uninitialized in this function [-Wuninitialized]
    loggen.c:328:21: warning: 'pos_timestamp1' may be used uninitialized in this function [-c]
    loggen.c:215:1: warning: 'linelen' may be used uninitialized in this function [-Wuninitialized]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f94b833bee767f748a5b6170e659a69aa39fb5c0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:56:40 2011 +0200

    scripts/Makefile.am: honour $(DESTDIR) when creating patterndb.d
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6779c4727d60641db3089f6a23f2a4ac58a12aef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:56:17 2011 +0200

    patterndb.c: removed unused variable
    
    patterndb.c:421:12: warning: variable 'class_tag' set but not used [-Wunused-but-set-variable]
    patterndb.c:421:12: warning: variable 'class_tag' set but not used [-Wunused-but-set-variable]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 34418681a12d7c1025bc2a0d9337d44626547c73
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:55:40 2011 +0200

    afsocket.c: fixed a theoretic use of uninitialized variable
    
    afsocket.c:1080:29: warning: 'source' may be used uninitialized in this function [-Wuninitialized]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3dc8db107ff09ffc2bbd562315b2c1a530456ccf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:54:36 2011 +0200

    afinet.c: fixed type-punned pointer usage in ipv6 spoofed frame construction
    
    afinet.c:465:36: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    afinet.c:466:36: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e5f7cdec4d7aa64d679b5e92fb495f3a039fea11
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:52:54 2011 +0200

    logrewrite.c: fixed unused variable warning
    
    logrewrite.c:72:11: warning: variable 'regexp_error' set but not used [-Wunused-but-set-variable]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7e6837b0b94ca975119587429d95041380312613
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:58:19 2011 +0200

    gprocess: fixed some compilation warnings with gcc 4.6
    
    process.c:920:12: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
    gprocess.c:873:14: warning: ignoring return value of 'chdir', declared with attribute warn_unused_result [-Wunused-result]
    gprocess.c:881:13: warning: ignoring return value of 'getcwd', declared with attribute warn_unused_result [-Wunused-result]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9e3e7ee9baccc8565e7866b91a80ee34670ef481
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 4 13:50:11 2011 +0200

    cfg-grammar.y: fixed the use of uninitialized memory area
    
    This patch fixes YYLLOC_DEFAULT macro is to only reference Rhs[0] in
    case N is zero, since that points to uninitialized memory otherwise.
    This also fixes a warning when compiling with gcc 4.6:
    
    cfg-grammar.c:4073:12: warning: 'yyerror_range[0xffffffffcccccccbu].level' may be used uninitialized in this function [-Wuninitialized]
    
    Reported-By: Jose Oliveira <jpo@di.uminho.pt>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 015d1e25ff843ffcf77d8eb7cc33bfd561c819f0
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon May 2 22:17:06 2011 +0200

    loggen: Fix a possible division by zero.
    
    In some cases where we could not send a single message, loggen tried
    to divide by zero shortly before printing the statistics at the end.
    
    This was trivially reproducible by using -R with a file that contained
    invalid syslog lines.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 83a461b7ef6351c504786a2a3b51aa9a14e3e9cf
Merge: 3005a3d 09710c0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 3 21:53:46 2011 +0200

    Merge remote branch '3.2/master'
    
    Conflicts:
    	configure.in
    	lib/logmatcher.c
    	lib/logparser.h
    	modules/afsocket/Makefile.am
    	modules/afsql/Makefile.am

commit 09710c0b105e579d35c7b5f6c66d1ea5e3a3d3ff
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 3 20:30:48 2011 +0200

    pcre: fixed a potential resource hogging infinite loop when an error occurs
    
    Any kind of PCRE error case would cause an infinite loop, when the
    "global" flag is present and pcre returns an error code.
    
    The reported problem is that with PCRE 8.12 we indeed get such an error
    while doing a global replace.
    
    This patch also reworks the way PCRE based replacements are made, that code
    was hairy, and I just hope this one is one bit less so. One performance
    related change also made it that improves the speed pcre replacements,
    which previously zeroed out a 3k array unconditionally in every invocation.
    
    Also added some additional testcases to be sure I didn't break anything.
    
    Reported-By: Micah Anderson <micah@riseup.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 21a455ecdf808cbd0c57428d1bd3f9feec58419e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 3 13:29:09 2011 +0200

    csvparser: fixed compilation warning
    
    The declaration of log_column_parser_free_method() was missing.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0c648e44cdb9b94a259cb64e9ab73922682d5f54
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 3 13:28:39 2011 +0200

    configure: centralize and document linking related options
    
    This patch introduces a set of AC_SUBST-ed variables that export LIBS/LDFLAGS
    for linking various classes of components in syslog-ng.
    
    It also fixes a linking issue on AIX, while not changing anything else.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 313d1d96d0e41145541b7bdb8c0298008ad7b524
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 2 17:50:47 2011 +0200

    syslog-ng-ctl: fixed build error on Solaris platforms which has inet_aton in -lresolv
    
    
    Signed-off-by: Sandor Geller <Sandor.Geller@morganstanley.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3005a3df7be1cc209fb59f723a466ca698a24198
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 23:34:16 2011 +0200

    afmongodb: Port to value-pairs().
    
    Ported from custom, explicit key/value pairs to the far more flexible
    value-pairs() solution. By default, the driver uses a custom scope:
    selected_macros and nv_pairs, with a few patterns excluded.
    
    The patch also turns the collection() parameter into a plain string
    (from a templatable string), to considerably reduce the work needed to
    insert messages into the database.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b68f0c6648f331cb99b547f4188bb3435db45306
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 23:32:21 2011 +0200

    value-pairs: fix value_pair_option rule in cfg-grammar.y
    
    This patch fixes up the cfg-grammar.y portion of the value-pairs module.
    Some functions were renamed, argument lists changed and was not properly
    refactored in the grammar.

commit bf63021aa44dfc8fe359046b2a399f0b316d4d67
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 1 23:11:33 2011 +0200

    basicfuncs: Implement a $(substr STR START [LEN]) template function.
    
    This is an implementation of a $(substr <string> <start> [<len>])
    template function, where the first argument is the string we want to
    extract a part from, the second is the starting offset, and the third,
    optional is the length of the substring we want to extract.
    
    If no length is specified, then the substring will be extracted from
    the desired offset until the end of the original string. Offset 0
    means the start of the string.
    
    Negative offsets/lengths works in a manner similar to other
    implementations:
    
    - negative offset means "start that many characters counting from the
      end of the string", with -1 being the last character
    - negative length means "return substring from desired start up to
      that many characters from the end of the string"
    
    Signed-off-by: Jakub Jankowski <shasta@toxcorp.com>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7efc9d72a74f78f7ae7ce426c36174301af2224c
Merge: 88a884a 9245389
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 1 21:59:04 2011 +0200

    Merge remote branch '3.2/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	configure.in

commit 9245389973dbc78f14f79c2e091e3234eb0a6652
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 1 19:52:51 2011 +0200

    preparations for 3.2.3
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c844bef80554d2b4dacd3796e0522f90b3721702
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 1 21:46:39 2011 +0200

    make systemd support a conditional feature
    
    Since the systemd code may not compile on all platforms supported
    by syslog-ng. It is automatically enabled on Linux platforms where it has
    a chance to compile. The exact logic to decide that can be found in the
    configure script.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a8e298f300ad29442cd6f0aee7de5956438658e7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 21:50:21 2011 +0200

    affile: don't attempt to remember the position for follow-freq(0) files
    
    These files are either pipes or special files (/proc/kmsg or /dev/klog),
    that cannot be seeked, thus we should disable position tracking, as
    otherwise spurious warnings arise, such as:
    
    The current log file has a mismatching size/inode information, restarting from the beginning; state='affile_sd_curpos(/proc/kmsg)', stored_inode='-268435252', cur_file_inode='-268435252', stored_size='0', cur_file_size='0', raw_stream_pos='1319'
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 88a884a52bfc975335a05ffa0107684b6655ef29
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 1 00:05:19 2011 +0200

    tfjson: Template function for outputting JSON.
    
    The template function implementation below is a port of Balint Kovacs'
    format_json work, from syslog-ng 3.2 to 3.3, and to json-c and
    value-pairs().
    
    The usage is as simple as:
    
    destination d_json {
      file("/tmp/messages.json" template("$(format_json --scope selected_macros --scope nv_pairs)"));
    };
    
    Signed-off-by: Balint Kovacs <balint.kovacs@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ae01dddab39926c86c0651d4a3aac46284393ef1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 1 00:03:08 2011 +0200

    value-pairs: fixed macro expansion
    
    Because of a missing break statements, macros contained more data than
    they should have. This patch adds that missing break.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0c62650f7a2dffed3a110c6589c136806105d000
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 23:05:54 2011 +0200

    afmongodb: Make the collection name a simple string.
    
    Instead of allowing templates in the collection name, make it a simple
    string instead, to allow for easily implementing bulk inserts in the
    future.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 48cf69a28f5aaf9c3397cd0dc5e3f9b66a24683e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 22:45:37 2011 +0200

    syslog-ng-ctl: add command to "reload" syslog-ng
    
    This patch adds a "reload" subcommand to syslog-ng-ctl which initiates a
    reload without a SIGHUP.
    
    Requested-By: Matthias Runge <mrunge@matthias-runge.de>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cbd8b195e80f54f9b398456d434e39d9d23c2bdd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 19 09:40:06 2011 +0200

    blocks: make argument values grammar independent
    
    The values for block arguments could only contain either a string or
    a numeric value until now. This patch makes it possible to pass
    practically anything as block arguments, like white space & other
    syntactic elements.
    
    The only constraint is that the value must be enclosed by the parentheses
    used to delimit them, e.g.
    
    block destination blk_name(arg(foo bar baz)) {
    	`arg`
    };
    
    This works both when specifying the default value for an argument, or
    when passing it when referencing the macro:
    
    destination d_xxx {
    	blk_name(arg(foo bar baz bad));
    };
    
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dd65482f75270c40ac5f2f0cf948a9f772a2e9b7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 21:50:21 2011 +0200

    affile: don't attempt to remember the position for follow-freq(0) files
    
    These files are either pipes or special files (/proc/kmsg or /dev/klog),
    that cannot be seeked, thus we should disable position tracking, as
    otherwise spurious warnings arise, such as:
    
    The current log file has a mismatching size/inode information, restarting from the beginning; state='affile_sd_curpos(/proc/kmsg)', stored_inode='-268435252', cur_file_inode='-268435252', stored_size='0', cur_file_size='0', raw_stream_pos='1319'
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2b65655028da7cc216aa747d0bb206fe28b93955
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 20:23:13 2011 +0200

    logwriter: initialize the queue_filled event earlier
    
    This problem could cause problems with unopened TCP destinations at
    shutdown.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2e243ea62396e6305ada53862ff4f0a3800b7443
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 20:17:44 2011 +0200

    libsyslog-ng-crypto.so: This patch introduces a new shared object where openssl dependent core goes
    
    The TLS code is sufficiently independent from the afsocket plugin, however
    currently they go in the afsocket module directory. This patch introduces
    a new shared object called libsyslog-ng-crypto.so, which contains TLS code,
    random number initialization and basically everything that would introduce
    an openssl dependency.
    
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit adff96aa401c8ef398a617c14daf7dc45f85cab7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 13:16:02 2011 +0200

    logreader: fixed parsing flags containing dashes or underscores
    
    The value-pair patch broke the flags parsing code, this fixes that.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit be4f2fc5efdf637ef29e1216dd301db3a810f7bd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 13:01:59 2011 +0200

    The following options now can use with their default values (in file and in pipe destination):
    
    * dir_group()
    * dir_owner()
    * dir_perm()
    * group()
    * owner()
    * perm()
    
    Signed-off-by: Andras Mitzki <micek@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fe958c6a486b33996fca8e6595b2c2995ee943e2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 12:58:33 2011 +0200

    test_msgparse: added testcase to check unescaped quote in structured data

commit 451071b928805322aed742be6e6f813c1468fa80
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 12:58:01 2011 +0200

    loggen: fixed compile error caused by the ignored SIGPIPE signal

commit dfdb9b17dff33e11019b46184e54420c35432a8f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 12:56:01 2011 +0200

    syslogformat: make sure all partially initialized NV pairs are removed if parsing the message fails
    
    In case a message couldn't fully be parsed, the remnants of the partially
    parsed message may have remained, causing confusion along the road.
    
    This patch fixes that.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d329a86c1b2b94d9b8df4853ca458a4dcec47b08
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 30 12:39:47 2011 +0200

    [tags] fix log_tags_deinit() to properly free all tags related variables
    
    This patch fixes log_tags_deinit() so that an upcoming log_tags_init()
    finds a proper state. Among others, some variables were not freed, and
    a mutex remained in the locked state.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1ba9335884d2fe44dcd51ad40d0f8e4afa9314bf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 26 09:08:10 2011 +0200

    value-pairs: A framework to filter key=value pairs.
    
    This is the implementation of the value-pairs() framework discussed on
    the list in the past.
    
    The syntax is as follows:
    
        destination d_driver {
          driver(
            value-pairs(
              scope($SCOPE)
              exclude("S_*") # shell-style glob to exclude keys
              pair("my-own-key" "$SOURCE/$HOST")
              key("HOST_FROM")
            )
          );
        };
    
    Of course, this is not only for destination drivers: there is support
    for parsing arguments passed to template functions. The above set
    would look like this in a template function:
    
    $(function --scope $SCOPE --exclude S_* --pair my-own-key=$SOURCE/$HOST --key HOST_FROM)
    
    The idea is that we select a scope (see later for the list of scopes
    currently supported), from which we can exclude certain keys using a
    shell-style glob pattern, or add custom key-value pairs of our own, or
    add back pre-defined keys that we do want, but the scope doesn't have
    by default.
    
    The available scopes at the moment are:
    
        * rfc3164: Key-value pairs based on the old syslog protocol, also
          available as "core" and "base".
        * rfc5424: Key-value pairs based on the new syslog protocol, also
          available as "syslog_proto".
        * all_macros: All macros known to syslog-ng (this only includes the
          pre-defined macros!)
        * selected_macros: A smaller set of selected macros, which the
          developers deemed important (see the source for the list, for now).
        * nv_pairs: Name-value pairs, the results of SDATA or patterndb
          parsing.
        * everything: All of the above, combined into one big set.
    
    On the driver side, supporting value-pairs is reasonably easy:
    
        driver_option
        	: value_pair_option {
        	  driver_dd_set_value_pairs(last_driver, $1);
        	}
        	| <etc...>
        	;
    
    And in the driver itself, make a foreach callback:
    
        static gboolean
        driver_vp_foreach (const gchar *name, const gchar *value,
        		   gpointer user_data)
        {
          /* Do something here with the name-value pairs */
    
          return FALSE;
        }
    
    And whenever you want to work with the set, call
    value_pairs_foreach():
    
        value_pairs_foreach (self->value_pairs, driver_vp_foreach,
        		     msg, self->seq_num, USER_DATA);
    
    And that's about it.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5a2274a4f3e392537505313b2035bab22cbd6c6e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 24 09:58:50 2011 +0200

    loggen: handle SIGPIPE
    
    In case the connection is closed while loggen would try to write to it,
    a SIGPIPE is generated which killed loggen in an instant. This patch
    sets SIGPIPE to SIG_IGN in order to not to have it killed by the OS.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit be36e3c31a32cefce1fab0610b433f273f5b12a6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 24 08:37:52 2011 +0200

    loggen: call shutdown on the socket
    
    In order to make sure that all sent data is actually sent.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 63f50e6abdeb6e859b22ff76a229688dd0b2cd5f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 25 10:58:32 2011 +0200

    [loggen] multithreaded loggen handles if file source is given as log source and more than one active-connection is used. and other improvments
    
    All thread will open the source file individually instead of a global file pointer.
    If reading from stding is specified, the number of active connections will be limited to 1.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fe4548bb3d985a22b636910641d1a8b925dd623a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 25 10:55:30 2011 +0200

    loggen: Added dont-parse option and restructured help menu
    
    If dont-parse option is given, loggen does not try to parse
    the lines of the input file but forward them as they are in the file.
    
    There is a new help menu called File Options. It will list the options
    regarding of source file
    
    Signed-off-by: Zoltan Pallagi <pzolee@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bf5bcb649c39130a869636373239052c32c5f7a3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 25 10:51:35 2011 +0200

    loggen: added support for IPv6
    
    This patch adds a -6 command line option that causes loggen to prefer
    AF_INET6 addresses over AF_INET ones.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3e9a0df3b6319c69d42a33c73f232838b762761f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 23 15:41:10 2011 +0200

    mainloop: fixed a possible use-after-free
    
    This patch fixes a possible use-after-free problem in
    main_loop_io_worker_job_complete().
    
    In that function, the completion callback may free "self", thus we may
    not reference it after the completion callback.
    
    This patch rearranges the code in that spirit.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ebde08e1efd3a53b5c30161edfbac11950821b81
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 23 15:39:44 2011 +0200

    fixed possible segmentation fault at exit
    
    This patch fixes a case where an I/O job might be submitted while the
    current config is being deinitialized.
    
    The root cause was that new jobs should not be allowed to start in
    this phase, it could happen that two events happen in the same poll
    iteration:
      * the last running I/O job exists
      * a new one is being submitted.
    
    In this case, the last I/O job causes syslog-ng to proceed with the reload,
    which resets main_loop_io_workers_quit to FALSE, allowing new jobs to start.
    
    However, we are still not ready for that for at least one poll iteration.
    
    The fix was to delay setting main_loop_io_workers_quit to FALSE for another
    poll iteration using an iv_task.
    
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 379420e5b0a4add464c6d8b03667dc5c4a244075
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 22 15:56:15 2011 +0200

    fixed 100% CPU usage if SSL is enabled on a tcp() source
    
    If SSL is being used, the socket is sometimes polled for readability,
    sometimes for writability, depending on what the SSL lib is telling us
    to wait for.
    
    However, LogReader failed to deregister the direction which we were not
    interested any more, which caused the output direction to be registered
    even if that wouldn't help to proceed with the SSL handshake. This
    caused a 100% CPU usage when the handshake was completed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3abdd8773662f9d779429262262a1ed9229e98e6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 22 15:38:10 2011 +0200

    logproto: Handle EAGAIN and EINTR correctly in _text_client_flush().
    
    In log_proto_text_client_flush() handle EAGAIN and EINTR correctly, by
    returning LPS_SUCCESS in these cases.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 78ea4d8aeba41a89a932e93b8b555480b2ebe130
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 22 15:15:05 2011 +0200

    fixed __thread keyword usage
    
    A typo in tls-support.h was fixed which prevented __thread
    usage completely.
    
    This patch also changes the name of HAVE_TLS to HAVE_THREAD_KEYWORD
    in order not to make it confusingly similar to TLS aka Transport
    Layer Security.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8ce7ad823d450e3ceee93696b6ddbc491783c64f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 22 13:52:06 2011 +0200

    fixed refcache in consumer threads in case flow-control is not in use
    
    Because of a bug in the implementation, the refcache always assumed that
    flow-control is in effect, which is certainly not always the case.
    
    This could cause use-after-free, and failed assertions in the code.
    
    This patch also refactores the consumer/producer variants of
    the refcache_start() operation into separate functions.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c892da8491e65803e54c7bb1fd7b5a61f8810ef8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 15 16:31:26 2011 +0200

    SCL: implement uninstall target
    
    Allow make uninstall to remove all installed SCL related files.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 745111ea007c8ffa9a3d083757a6c47c78ddf0cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 13 15:33:59 2011 +0200

    LogWriter: handle epoll/kqueue failures better

commit 859c1cac44c004fb01a2e1b6f982380b8b4be291
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 13 15:32:09 2011 +0200

    LogReader: handle epoll/kqueue failures better
    
    Some devices are not pollable, although they should be (FreeBSD /dev/klog
    is not pollable using kqueue), regular files should be pollable but isn't
    when using either kqueue or epoll.
    
    This patch finally tries to address all problems.
    
      - use pipe() for named pipes
      - use file() for everything else (devices, special files, regular files).
    
    It tries to detect what is available to poll a given device and act
    accordingly.
    
      - regular files: follow_freq() must be set, so we can follow them
      - pipe: we use poll, follow_freq cannot be changed
      - devices: we use poll, follow_freq must be 0.
    
    I'm thinking about creating a device() SCL macro, which sets follow_freq()
    to zero.

commit 2b5bcaed62978942ba06391a116c12ef7aaca802
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 12 14:19:00 2011 +0200

    added tls-support.h to dist

commit 9518a81aa6c05a36881bf9ee99c41a923244c9b1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 11 22:05:01 2011 +0200

    added support for platforms without TLS (=Thread Local Storage) support
    
    This patch removes __thread keywords from the source code and replaces
    it with a macro based machinery that uses __thread only if available.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7b9da8a8bcbde95523e42668d9fd22177baab6bf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 11 22:05:52 2011 +0200

    fixed compilation errors caused by the ivykis update
    
    Include path and now rename to iv_now.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 20e523a53dd8259061b2d277927f79681b8a9334
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 11 13:57:47 2011 +0200

    LogProtoFileWriter: flush should not attempt to call writev() if there are no buffers
    
    Some platforms don't like when writev() is invoked with a zero-sized iov
    array. This patch handles that case by returning from
    log_proto_file_writer_flush() early when buf_count == 0.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8251d051c9219ce3f9c87b218140f1745ef13689
Author: NagyAttila <naat@balabit.hu>
Date:   Fri Feb 11 14:25:30 2011 +0100

    logwriter: fixed flush_timeout() processing
    
    log_writer woke up when the timer expired, but failed to notice that it was
    called for this reason and went to sleep again.

commit c6118cc82ef077cd1e2592a9cfb1ebdba46cc533
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 11 12:36:44 2011 +0200

    LogReader: fixed a failed assertion case in log_source_queue()
    
    LogReader could overflow its window, causing an assertion to
    trigger in log_source_queue(). This was caused by the handling of
    EPOLLERR cases.
    
    At least on Linux, it may happen that EPOLLERR is set, while there's
    still data in the socket buffer.  Thus in reaction to an EPOLLERR,
    we could possibly send further messages without validating that
    log_source_free_to_send() would allow us to, potentially
    overflowing our window (and causing a failed assertion in
    log_source_queue().
    
    This can be reproduced by making sure that the window is regularly full
    (for instance starting syslog-ng with -d to slow it down while it
    prints messages to the console, running in non-threaded mode), and
    interrupting the connection that send messages to syslog-ng. This
    will reproduce the problem quite regularly.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dc28084be46e83ef43927b56870fb12bd77d0462
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 11 11:36:14 2011 +0200

    logmsg.c: fixed refcache assertion
    
    In single-threaded mode (and probably in multi-threaded mode
    too, but less likely) it may happen that the number of cached unrefs
    is zero (when the message is dropped). In that case logmsg_cached_refs
    will be exactly the same as the value log_msg_refcache_start() initialized
    to.
    
    However this value is not accepted by the assertion, which causes syslog-ng
    to abort.
    
    Also added a long comment block that explains the rationale behind
    the assertion.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 190624be40dcec942fa931b082ea956d8d6c49dc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 11 09:35:19 2011 +0200

    LogQueueFifo: implement message dropping if the incoming message is over the limit
    
    Earlier the scalable LogQueue implementation omitted message dropping,
    e.g. it accepted all messages even if they were over log_fifo_size()
    
    This was now fixed with this patch.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 412192119d1286013845fcee66448ca7dae6d258
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 11 09:32:14 2011 +0200

    stats: fixed stats counter registration
    
    decouple stats counter registration from the global configuration object
    as that is not always available.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit da73f6a5bbdeebac457abd9828cfdd9339830a1e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 10 20:53:05 2011 +0200

    LogQueue: move the async interface to the generic LogQueue code
    
    Earlier this was to be implemented by all LogQueue derived mechanisms, with
    this change all LogQueue classes get it for free.
    
    This patch also moves the throttle handling code.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bb40f87251580ecd22d90a83c6dabd5418db4a92
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 9 21:51:29 2011 +0200

    tgz2build/rules: remove "rules.conf" from EXTRA_DIST

commit e55693bdc591028cb905ebff5b755af949ffd6b4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 9 21:51:10 2011 +0200

    update ivykis to syslog-ng-3.3-ref10

commit a417d0390ad7f94ed3d02988d32ad5c8d4dfbc17
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 9 21:38:30 2011 +0200

    also recognize catch_all in addition to catch-all as a log statemnt flag
    
    The last patch omitted this and Matthew was kind enough of reminding me.
    
    Reported-By: Matthew Hall
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 734ced0a23377c59f8f01ad6e9b2491468730c24
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 13:04:43 2011 +0100

    LogMessage: implement in-line tag storage
    
    Instead of allocating a separate memory area for storing bits associated
    with tags, use the "tags" pointer for such storage as long as the
    tags fit into that area.
    
    The patch uses the "num_tags" member to indicate whether the in-line or
    allocated storage is to be used.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f01d77f8ed7f42f10bbfc661966650fc8e72e585
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 28 22:16:29 2011 +0100

    LogMessage: implement reference/ack caching
    
    Instead of doing an atomic op every time a message is refed/unrefed/acked
    make it possible to define code paths that "cache" refs that may not affect
    the freeing of the LogMessage structure.
    
    For example, the reader thread can be quite sure that the message itself
    will not be freed until the last log_msg_unref() at the end of the
    processing of the given message is invoked. Therefore all ref/unref
    calls in this period can safely be done in a non-atomic manner.
    
    The same applies to the writer side, which can also be sure that
    a message is not going to be freed until the processing of that
    message finishes in the log_writer_flush() function.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2947e9cf224386888035559c83a909fbe699cd25
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 28 16:39:52 2011 +0100

    LogMessage: move code around as a preparation for ack/ref caching
    
    This patch does nothing just moves closely related functions to the
    same spot.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6df7fcaccf3f80216a1b9e6d89109e29c7dcda13
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 28 14:44:25 2011 +0100

    NVTable: support storing name-value pairs in a preallocated memory area
    
    This patch causes syslog-ng to use one less allocation per incoming
    message and also moves the value of name-value pairs close to the
    LogMessage it belongs to.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e2512252ce29b8fa6b7c32b5eba315b3152c02fb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 26 17:33:38 2011 +0100

    LogQueue: implement better scalability by using per-thread FIFOs
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 66a0c03938cba133b6534e8592bb62b4e341d1c1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 3 08:28:48 2011 +0100

    LogQueue: use iv_list instead of GQueue to avoid excessive allocations
    
    Previously each LogMessage was enqueued into a GQueue which allocates
    a GList structure for each insertion, which causes another allocation
    per LogMessage insertion.
    
    This is changed to avoid this allocation:
      * instead of GQueue we use Linux kernel style linked lists
        (prev/next pointers are embedded in the struct)
      * since we need per-queue data, we embed the next/prev ptrs &
        queue related in a new structure called LogMessageQueueNode
      * we preallocate a set of QueueNodes in the LogMessage structure
      * we continously monitor how much nodes can be expected to be needed
        and adjust our pre-allocations accordingly.
    
    This saves us one alloc/free per message per destination in the
    fast path, and improves cache situation as well.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ba738ecd9da7046e46a9a58d64bceba19b41ddc0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 24 09:29:39 2011 +0100

    LogStamp: make the structure smaller by not using GTimeVal
    
    GTimeVal uses longs for both the seconds and the microseconds fields, and
    because of padding we lose another 4 bytes on 64 bit Linux platforms.
    
    This patch condenses LogStamp to be 16 bytes, effectively sparing 16 bytes
    in the LogMessage struct which has became 112 bytes because of this.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f612af43f023d0d17a6e796e166647155ab71183
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 21 21:36:24 2011 +0100

    LogReader: only check the fd for pollability once at startup
    
    Earlier iv_fd_pollable() was called every time polling was enabled, which
    is expensive, do that once in log_reader_init_watches(), and simply
    assume that we're using a file_fd if the fd is not opened at that time.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 77320ef430a00847a39924a90dc619e48004bff8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 15:31:44 2011 +0100

    resolve_sockaddr: avoid the use of g_strlcpy()
    
    g_strlcpy() is an open coded implementation of strlcpy() in Glib where
    it is not supplied, thus it is much slower than using the optimized string
    routines on Linux for example (which lacks a system supplied
    strlcpy implementation).
    
    This patch reworks the resolve_sockaddr() function and uses memcpy() and
    explicit NUL termination when needed.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b3b80778c2580051ce7a4768b7852f2d5182f548
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 8 15:38:50 2011 +0200

    logqueue: fixed the setup of "stored_messages" counters
    
    This counter was not properly updated as the setup of counters happen later
    in the initialization sequence. Now it should be updated only when both
    the number of entries and the stored_messages counters are available.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 986bb1c9568cd5441d45c83de20c800497dd4f0a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 8 01:07:43 2011 +0200

    update ivykis to syslog-ng-3.3-ref9

commit ffa4f89576c8bd1155808c9ad4cc258c2ea248ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 8 01:05:19 2011 +0200

    LogPipe: define additional flag space for LogPipe derived classes

commit a24a380d204505dd702ad18721492ffcce097b21
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 8 01:04:12 2011 +0200

    inner-dest/inner-source plugins
    
    This patch adds another kind of plugin to the syslog-ng core: plugins that
    extend the functionality of an already existing source/destination driver.
    
    For example, "suppress" the option to suppress duplicate messages could be
    reimplemented as such a plugin and that'd make it immediately available
    in sql() or mongodb() destinations, neither of which are currently
    LogWriter based.
    
    The original patch was contributed by Attila Nagy, but was significantly
    changed by me.
    
    The patch is quite large, as it contains some API rework, renaming
    of some identifiers (log_driver_ prefix instead of log_drv_), and introduces
    an additional level in the class hierarchy, causing a lot of extra "super"
    to be added when referencing derived data.
    
    Some notable changes in the API:
      * source drivers need to be derived from LogSrcDriver
      * destination drivers need to be derived from LogDestDriver
      * the init/deinit methods for those classes need to be invoked explicitly,
        which didn't even exist before
      * the queue method got an additional gpointer argument, to be used
        when plugins are in use. usual implementations for the queue method need
        not care about that argument and should automatically be set to NULL
        by the framework.
    
    Signed-off-by: Attila Nagy <naat@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 771a122b5e732194b4c7cd721fc8d3217a959f24
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 3 10:27:56 2011 +0200

    cfg-grammar.y: define last_driver globally
    
    Instead of using the "last_driver" identifier in cfg-grammar and all
    plugin grammars separately, use a single last_driver variable, similar
    to what we have in last_writer_options/last_reader_options.
    
    This makes it possible to define a grammar rule that can be incorporated
    into all source/destination drivers, which is needed for introducing
    plugins _inside_ destination drivers.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cbdad5ee07a16994e19a4cf43612d020d23358ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 3 09:52:40 2011 +0200

    cfg-parser: added an additional, generic argument to the parser entry point
    
    This makes it possible to pass arguments needed during parsing. In most
    cases only a NULL is passed, however in cases the parser needs a
    reference to the enclosing object, it can be passed this way.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit da3c99f6d77b87edaa9bbc83814123a6f8895644
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 8 00:32:35 2011 +0200

    Recognize both "catch-all" and "catchall" because of a documentation bug
    
    The documentation referred to "catchall" whereas syslog-ng expected
    "catch-all".  Now accept both.
    
    Reported-By: Mishou Michael <Michael.Mishou@csirc.irs.gov>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 75fc952ee7954463c73c91b7ef8d20341964a085
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 2 12:28:49 2011 +0200

    afsql: fixed typo in driver initialization
    
    Due to a missing '!' to negate a condition, the SQL destination
    always errored out during initialization if values() were specified.
    
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3fa8e900453fb6af1767caf42e17ab6d8c42452b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 2 09:59:33 2011 +0200

    syslog() destination driver: fixed potential framing problem on contended connections
    
    In case the sender is too slow processing messages, the syslog() driver
    may get an SSL3_WRITE_PENDING error if TLS is enabled, or may generate
    an invalid framing if it is not. Both will cause the connection to
    be broken: in the SSL case by the client, in the non-SSL case by the server.
    
    The reason is, that in some cases LogProtoFramedClient could attempt
    2 write operations in the same poll iteration, even if the first one
    already returned partial success. The 1st such operation is potentially
    a frame header, the 2nd is the message payload. The problem happens if we
    can't fully write the frame header.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ec57eecc9030eb6a4aa1b08f28816a98885308a4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 28 21:24:07 2011 +0200

    add syslog-ng devel package
    
    This patch adds a syslog-ng-dev package that contains the syslog-ng headers
    and related files that makes it possible to build modules outside of the
    syslog-ng source tree.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 805f240f7388d404263004af981e75932d5cabf2
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Sat Mar 19 17:01:18 2011 +0100

    configure.in: Bump minimum eventlog version to 0.2.10.
    
    As of a few patches ago, eventlog >= 0.2.10 is required due to
    evt_tag_long() use. As such, bump the requirement in configure.in to
    match reality.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 028e7852025826182ca3791dd1e72c1be9d5ace7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 23 13:22:12 2011 +0100

    configure.in: Fix --enable-mixed-linking mode.
    
    When mixed linking is enabled, the tools (pdbtool, in particular)
    weren't linked against ivykis, which resulted in a link-time error,
    due to libsyslog-ng using ivykis, but not being linked to it.
    
    A similar problem was present in the linking of syslog-ng: -livykis
    DID appear in @SYSLOGNG_DEPS_LIBS@, but the neccessary library paths
    (when using the internal ivykis) did not.
    
    This patch fixes both problems by introducing an IVYKIS_NO_LIBTOOL_LIBS
    variable, to be used when the main binary is linked in mixed mode, and adding
    IVYKIS_LIBS to TOOLS_DEPS_LIBS too.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 377745f93575bb6e2a2b807599de8a503e10ec4d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 21 22:17:00 2011 +0100

    afsql: don't let the user configure the sql() destination without columns/values/indexes options
    
    Because typing is totally SQL engine specific, remove the defaults from
    syslog-ng.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c868c74696bbe4de03bfe8a7fa28d74a2fbd388f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 21 22:12:43 2011 +0100

    afsql: use an md5 hashed name for the index name for Oracle
    
    Oracle doesn't like index names longer than 32 characters, which syslog-ng
    will happily create. This hack changes syslog-ng to use md5 to shorten
    the enourmous monster that syslog-ng would have created.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e87333100f35bd3b982c5398efe8aaeebd8f47b1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 21 22:11:13 2011 +0100

    afsql: use database specific BEGIN TRANSACTION queries
    
    All SQL databases seem to use a slightly different transaction model,
    this patch adds support for MSSQL & Oracle.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4aaf55bbbb3413f6680f1c00bb6d5c3f7c9727a1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 21 22:07:20 2011 +0100

    afsql: add support for SQL-schema defined default values in columns
    
    syslog-ng always used an
    
    INSERT INTO <table> (field1, field2...) VALUES ('val1', 'val2', ...)
    
    statement, which causes problems if you want to use the auto-increment
    feature present in various databases. This patch adds support for specfying
    "default" for a field value in order to use the default as specified
    for the column in question when defining the table structure.
    
    The format is:
    
      sql(... columns('foo int default 1', 'bar') values(default))
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b05d39c4af90dd9fc8b16827e0dc6248779710dd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 21 22:02:05 2011 +0100

    afsql: make the number of attempts to insert a message runtime configurable
    
    This patch adds retry-sql-inserts() option that specifies how many times
    the SQL driver will attempt to INSERT the same message if an error
    occurs.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit dfc09fa50688600187f6c3e25f65a5c7877e924c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 20 18:27:16 2011 +0100

    fixed syslog() source framed message reception
    
    If the frame length indicator is only partially read
    and positioned at the end of the buffer, syslog-ng would assume that the
    connection is closed, as it tries to read into a zero-length buffer.
    
    Thanks for Andy for creating such a detailed description on how to
    reproduce it here:
    
    https://lists.balabit.hu/pipermail/syslog-ng/2011-March/016240.html
    
    With that description it was easy to fix this nasty bug, which has been
    sitting in syslog-ng for all eternity. :)
    
    Reported-By: Andy Ruch <adruch2002@yahoo.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9b3ca9e545cd03c97637ab2307e6a4990a3e1d0e
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 11 17:06:08 2011 +0100

    Fix autogen.sh to autogen submodules by default.
    
    Call autogen_submodules even if $skip_modules is unset (which it would
    be on most systems that just cloned the repository).
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 1fd7e5c49e6a3213c03407c1f4f0e8ded6d81cd0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 14 13:58:14 2011 +0100

    dbparser: implement inject-mode() option
    
    In addition to reposting new messages to the internal() source, implement
    inject-mode(pass-through) that sends synthetic messages further down
    the pipeline. For example:
    
    parser p_db { db-parser(); };
    
    log { source(...);
    	parser(p_db);
    	log { ... };
    };
    
    In "internal" mode p_db() would repost generated messages to the internal()
    source, possibly causing messages to go to a completely independent log path.
    
    In "pass-through" mode, new messages are simply injected at the same
    place as db-parser() is referenced.
    
    This makes it somewhat easier to route correllated messages.
    
    NOTE: this synthetic messages do not adhere to flow-control rules, so make
    sure you leave some space in the destination FIFO in addition to the sum
    of the windows of all sources feeding messages to the same destination.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b5cb7da6924ed28feb566975f18b6ac8dc8952b0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 14 13:48:34 2011 +0100

    configure.in: display module related configure info in a separate block
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4826b54eb59a43d9720db25629347c8ee26ab79c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 13 09:55:03 2011 +0100

    Display information about available modules
    
    This patch implements --module-registry option for syslog-ng, and a changed
    --version output. The first displays detailed information on available
    modules, the second displays the list of available modules at all.
    
    This way it is more easy to see what a given module adds to syslog-ng,
    and also makes it possible to see what options were compiled as modules.
    
    This patch removes some lines of the --version output that displayed
    whether an optional functionality was compiled or not. (such as
    mongodb or Process Accounting).
    
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8723bd92c589f11fabbdac214e2b92c47bcd2041
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 13 09:42:47 2011 +0100

    make autoloaded modules build-time configurable
    
    This patch makes it possible to customize the list of modules auto-loaded
    by syslog-ng when a configuration is older than 3.3, or when
    autoload-compiled-modules is set to 1.
    
    Usage:
      ./configure --default-modules=<module-list>
    
      or
    
      $prefix/sbin/syslog-ng --default-modules=<module-list>
    
    Module list is a list of comma separated module names.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7ec19f1d79e8c5d09e5a7117d7641cd1f17d9822
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Mar 11 07:25:32 2011 +0100

    program destination: fixed segmentation fault during startup
    
    A NULL pointer dereference caused a segmentation fault if the program
    destination is used. This patch fixed that.
    
    Reported-By: Martin Holste <mcholste@gmail.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1690ea7d87a36b2ba5a3a3e5e5e3032589c41629
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 10 13:25:44 2011 +0100

    Preparations for 3.3.0alpha2

commit 26248aafce0860745fc1a958687359d54944e1df
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 10 19:37:38 2011 +0100

    use internal libivykis in tgz2build builds for now
    
    The one on our build system is too old, and its way simpler to solve this
    way.  Once that gets updated, the OSE binary packages can use an external
    ivykis again.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2699936041e8cd5e281766a267f56dd7dbfa92ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 22:53:04 2011 +0100

    patterndb: fixed timerwheel bug that caused timers not to expire
    
    Reproduction:
    
      - set the current time to 1990-01-01T14:45:25
      - add a timer that expires 10 seconds from the above time
      - before that'd expire, set the current time to 1990-01-01T14:55:25
      - add a timer that expires 10 seconds from the 2nd date
    
    The cause was that base wasn't properly updated when we break out of the
    timer advancement loop in timer_wheel_set_time().
    
    Reported-By: Zoltan Pallagi <pzolee@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2006a4983d787f6a9496089aa8b6ab44b576c5c8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 22:48:38 2011 +0100

    patterndb: even more correllation related debug messages added
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 79aeb05c0da2997ab3ff95458d7a3ad080d2db8c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 7 17:23:12 2011 +0100

    ivykis update to syslog-ng-3.3-ref7
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 769fef81c1061d59c43a8c1eaaf02895e236ad84
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 7 17:21:09 2011 +0100

    mongodb: disable "make check" for now
    
    As my local Glib installation is too old for the libmongo-client unit tests.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7dde493762fba2299ade018693f3d93529b3bc2c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 7 17:20:32 2011 +0100

    basic-funcs: fixed linking issue caused by a merge mistake
    
    filter_expr_free() got renamed to filter_expr_unref(), but I got this
    wrong during the merge of OSE 3.2
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit eab37088896aed35dc4e8da7f5358be095345345
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 7 17:18:50 2011 +0100

    patterndb: added support for $CONTEXT_ID macro
    
    This macro contains the value of the context-id that is used to identify
    the correllation state in question. Can be used for debugging purposes
    and possibly to be included in the final log message.
    
    Reported-By: Zoltan Pallagi <pzolee@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 501b403832a14122507760dab79b89e82ccab479
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Fri Mar 4 10:56:55 2011 +0100

    config: Support setting a default suppress() globally.
    
    While setting suppress() on a per-destination basis is flexible, when
    one wants to have the same setting for all destinations by default,
    it's more convenient to do that globally in the options block.
    
    That is implemented herein: one can set a global suppress(), and it
    will be the default for all destinations that support it, yet, can
    still be overridden on a per-destination basis.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit c3b5518d0c76740a43b192a24f5d9778f4e63282
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 22:53:04 2011 +0100

    patterndb: fixed timerwheel bug that caused timers not to expire
    
    Reproduction:
    
      - set the current time to 1990-01-01T14:45:25
      - add a timer that expires 10 seconds from the above time
      - before that'd expire, set the current time to 1990-01-01T14:55:25
      - add a timer that expires 10 seconds from the 2nd date
    
    The cause was that base wasn't properly updated when we break out of the
    timer advancement loop in timer_wheel_set_time().
    
    Reported-By: Zoltan Pallagi <pzolee@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9531a2e3c77ab29e7311213517292259f2a66e9e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 22:48:38 2011 +0100

    patterndb: even more correllation related debug messages added
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a6841e74c85e430a315802f85e8c478f9cd55e86
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 2 10:00:06 2011 +0100

    Makefile.am: fixed parallel compilation and builds initiated from the project root as "make install"
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 02a5bff62b1da48ec88a87bf59714addcda58e27
Merge: f767d52 a93a441
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 19:52:09 2011 +0100

    Merge remote branch '3.2/master'
    
    Conflicts:
    	configure.in
    	modules/basicfuncs/basic-funcs.c
    	modules/dbparser/Makefile.am

commit 270fa55d75545974171be6a5a7ac9badc01bfe56
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Wed Mar 2 10:38:01 2011 +0100

    pdbtool patternize: added the --no-parse option
    
    This allows for the manual processing of the to-be-patternized log messages
    instead of requiring it to be in a parsable RFC-compliant log format.
    
    Signed-off-by: Peter Gyongyosi <gyp@balabit.hu>

commit 46e65d7d77d4c7750ce73778acdc31bd4d040157
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 22:30:01 2011 +0100

    afsql: added proper handling for DBI initialization errors
    
    This patch checks if dbi_initialize() returns -1 or 0, which are both
    problems that is best to be reported as early as possible.
    
    This patch also fixes SQL suspend code, earlier it suspended the driver
    not time_reopen() seconds but milliseconds.
    
    Hendrik Visage <hvjunk@gmail.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a93a4413404d2e3342641cf2be557b1e9b134279
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 19:19:35 2011 +0100

    templates: fixed @XX style msg_ref parsing
    
    Function invocations (e.g. $(grep)) didn't get the complete
    context as one extremal value for msg_ref (==0) which indicated that
    the user didn't specify an msg_ref was not properly used in the code.
    
    This basically meant that $(grep) only operated on a single element,
    which is not very usable after all.
    
    As it seems the unit test didn't cover all cases properly.
    
    This patch fixes up all cases and adds unit test coverage.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1c6458fbaa6f3313b8a01c41e69ec11280fbe26f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 18:17:35 2011 +0100

    pdbtool: fixed "pdbtool test"
    
    pdbtool test always reported the patterndb to be invalid, since the global
    init function for the patterndb was not called.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 29e889afa7c99c5c64107fcc394505babf8c84bd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 17:57:16 2011 +0100

    pdbtool: added internal logging options
    
    This makes it possible to enable debug/verbose messages from pdbtool
    to aid patterndb debug messages.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ef2f6b4791ffb4a93ef019b1b85c2f674c1f660a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 17:56:29 2011 +0100

    pdbtool: fixed segfault --debug-pattern in case the pattern doesn't match
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d649aa50a76327f49fa64d13ae01a154a52d053d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 3 17:55:48 2011 +0100

    patterndb: added debug messages to make correllation debugging easier
    
    A message is added to write out details both about a correllation context
    match and mismatch.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f767d526502a3243643647c87e8588e5234e2f3d
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Wed Mar 2 10:38:01 2011 +0100

    pdbtool patternize: added the --no-parse option
    
    This allows for the manual processing of the to-be-patternized log messages
    instead of requiring it to be in a parsable RFC-compliant log format.
    
    Signed-off-by: Peter Gyongyosi <gyp@balabit.hu>

commit bae327dc1754909bba62b09c7a5dda6dadf534eb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 2 10:42:17 2011 +0100

    LogWriter: added support for a new flag 'ignore-errors'
    
    This flag make syslog-ng ignore write errors, since in special cases a
    write error may indicate a temporary failure related to the current
    message being written out.
    
    Such an example is /proc/net/xt_recent/violators, where an ill formatted
    message will cause a write error, but suspending the destination
    because of that is not good.
    
    The LogWriter will cancel the complete I/O operation, e.g. it is not
    recommended to use flush_lines() or any other kind of write coalescing.
    
    Reported-By: Valentijn Sessink <valentyn@blub.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 02a6381005e2459d46faa6034bef8b5e0c871cb9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 22:30:01 2011 +0100

    afsql: added proper handling for DBI initialization errors
    
    This patch checks if dbi_initialize() returns -1 or 0, which are both
    problems that is best to be reported as early as possible.
    
    This patch also fixes SQL suspend code, earlier it suspended the driver
    not time_reopen() seconds but milliseconds.
    
    Hendrik Visage <hvjunk@gmail.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ac51af8f501ed5b723c055cbb30c0cb1e09f0117
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 21:47:15 2011 +0100

    pipe(): use the default flush_lines() value if one is not specified
    
    For some historic reason the pipe() destination overrode the global
    flush_lines() settings by default. This is inconsistent behaviour, so fix
    it.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 045be28278fa28cb6be8e8e8063a157efaef40ef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 21:19:19 2011 +0100

    templates: added syntactic sugar for using filter expressions in template functions
    
    $(grep) and $(if) take a filter expression as argument, however such
    expressions may require quoted strings. The default behaviour of the
    parser in this case was to remove quotes.
    
    This is fixed by not caring about quotes within parenthesises, so
    $(grep) beomes usable with this syntax:
    
    $(grep ('$FACILITY' == 'level4') $MSG)
    
    This works since the parentheses around the filter expression is nicely
    processed by the filter anyway, and the template function arg parser
    ignores quotes in this case.
    
    Reported-By: Valentijn Sessink <valentyn@blub.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3d966629abceaef667b3efa1ee91bbf2682aca26
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 21:09:02 2011 +0100

    $(grep): fixed possible segfault on parse errors
    
    In case the filter expression couldn't be parsed, syslog-ng could segfault
    on a NULL deref, which is fixed by this patch.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f38f0dc84506fd04eb27a836f075c55b59ab1d6f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 28 22:22:40 2011 +0100

    lib/Makefile.am: properly build external submodules even with "make install"

commit ab251047610b44cfaa9ae5bc2135797cea82a536
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 1 08:51:00 2011 +0100

    Handle non-epollable devices gracefully
    
    It turned out that not just regular files are not expected to provide
    epoll() semantics, but also /dev/null is lacking epoll support.
    
    This patch adds autodetection whether a given fd is epollable, and reacts
    accordingly. It also needs an updated ivykis (the one with iv_fd_pollable())
    function, e.g. syslog-ng-3.3-ref5).
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e68c969cdccf1c95d92b62e46834b177017664cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 24 10:30:35 2011 +0100

    dbparser: fixed linking problem in unit tests on Cygwin
    
    Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d992f8ac798e6fc66514d42b2917b952ae014de0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 24 09:30:36 2011 +0100

    test_csvparser: fixed a possible use-after-free situation which causes the test to fail in some cases
    
    The NVTable could be freed during log_parser_process() which causes
    failures in the test program.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f10af46302efb0cbf7f9522ae62553f12fd6d036
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 23 18:07:27 2011 +0100

    dbparser: fixed linking on Cygwin
    
    Some issues remained in the previous patch, which is supposed to be fixed
    by this one. Windows doesn't support -fPIC, and thus it is not supported
    to link an archive file (.a) into a shared library.
    
    This patch omits the static library in the case of the libdbparser.so
    compilation and uses it only when compiling unit tests and pdbtool.
    
    Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f2c7f3ea16d81e82b79582d3f2fe3882add4eb23
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 23 13:01:02 2011 +0100

    configure.in: reorganize LIBS variables so that unit tests/programs can be linked in mixed mode too
    
    Previously if --enable-mixed-linking was specified, unit tests and other
    tools (like pdbtool) couldn't be linked properly.
    
    The situation with --enable-mixed-linking is:
      * the primary aim here is to have a syslog-ng executable that can be
        started early in the boot process, and not a set of syslog-ng
        executables that can be distributed to different hosts that lack
        the required dependencies.
      * syslog-ng contains all static libs required by libsyslog-ng.so
      * therefore libsyslog-ng.so cannot be used outside the syslog-ng
        binary (except if the executable is linked against the required libs)
      * tools like pdbtool will be linked dynamically
      * unit tests will be linked dynamically too
    
    This patch cleans up and documents the purpose of various _DEPS_LIBS
    variables and updates Makefile.am files to use the updated names.
    
    A static GLib detection bug was also fixed.
    
    Reported-By: Arkadiusz Miśkiewicz <arekm@maven.pl>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1f267e64fa1562cddac4b341267b75a4092901f3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 23 10:21:17 2011 +0100

    update ivykis to syslog-ng-3.3-ref4

commit b8854167abb63aced0ccbdcb4a0015a5ff84541f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 22 15:33:17 2011 +0100

    configure: Include $PCRE_CFLAGS in DEPS_CPPFLAGS.
    
    In order to build with a pcre that is not on the default include path,
    add $PCRE_CFLAGS to DEPS_CPPFLAGS. This fixes the build on, for example,
    FreeBSD.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d8f2ab4074ab6e3bc000ef504be4514c5d7a1f1b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 22 15:29:52 2011 +0100

    dbparser: Link pdbtool against glib too.
    
    Since pdbtool uses glib too, link it against it.
    
    Signed-off-by: Laszlo Boszormenyi <gcs@lsc.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
    
    Conflicts:
    
    	modules/dbparser/Makefile.am

commit 28737eed0538780954405455577a3a75cf7dcca0
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Feb 21 11:04:11 2011 +0100

    afsocket: Add libafsocket.la to CLEANFILES.
    
    Signed-off-by: Laszlo Boszormenyi <gcs@lsc.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit e231e957d13af412f38db817e2621a4ece8ebe8a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 7 15:03:27 2010 +0100

    LogProto: apply_state shouldn't allow file offsets over the end-of-file
    
    Assume that the file was truncated in this case.

commit a3c2ab7e095f7638b3fa0ecf452c8a68025c6a07
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 22 15:10:43 2011 +0100

    dbparser: don't create a separate shared library for libsyslog-ng-patterndb
    
    Use a static library instead, linked into both the db-parser() plugin
    and the pdbtool binary.
    
    This solves the linking issues on Cygwin and doesn't publish an internal
    shared library from syslog-ng.
    
    Reported-By: Corinna Vinschen <vinschen@redhat.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 5c27e19605ae13c1dd18310eaa07a80b14d3869c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 22 14:40:02 2011 +0100

    patternize: fixed compilation warning
    
    modules/dbparser/patternize.c: In function ‘ptz_find_delimiters’:
    modules/dbparser/patternize.c:125: warning: unused variable ‘token_len’
    
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit fa3acd4b01bd1c8dee7dfdb112ed31cf7468d6da
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Feb 22 10:14:43 2011 +0100

    configure: Include $PCRE_CFLAGS in DEPS_CPPFLAGS.
    
    In order to build with a pcre that is not on the default include path,
    add $PCRE_CFLAGS to DEPS_CPPFLAGS. This fixes the build on, for example,
    FreeBSD.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 89e00e0d69099a07d65c89b3a9d8eae3fa47441f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 22 14:38:37 2011 +0100

    dbparser: Link pdbtool against glib too.
    
    Since pdbtool uses glib too, link it against it.
    
    Signed-off-by: Laszlo Boszormenyi <gcs@lsc.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 208b8bcf321baf5b3a4acc3bf18b752ba01aad46
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Feb 21 11:04:11 2011 +0100

    afsocket: Add libafsocket.la to CLEANFILES.
    
    Signed-off-by: Laszlo Boszormenyi <gcs@lsc.hu>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 58bac47ffb0d0f194b80cba92f2dd8e2dbfd5dae
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 20 14:13:32 2011 +0100

    [patternize] implemented support for custom delimiters for tokenization and changed default delimiter set
    
    Rationale:
    
    The current implementation of patternize only splits up log messages at
    spaces, which is inaccurate - while working with patterns, I found that
    most of the volatile content in messages is enclosed in or followed by
    some kind of separator character(s). So the best way of handling this
    would be to make the user be able to define the delimiters and provide a
    sane default.
    
    Implementation:
    
    The delimiter list is extracted from each message separately after
    tokenization (this way it delimiters do not affect frequent word
    collection) and then added to the end of the cluster key in the SLCT
    phase to ensure unicity. When printing the pattern, the delimiter list
    is popped from the cluster key and as it is in the same order as the
    extracted words, we print delimiter with the same index as the word's
    within the for loop.
    The user input needs to be sanitized, we have to make sure that the
    space char is always in the delimiter list and that there are no
    duplicates. I have also changed the the parser marker char from * to
    0x1A ("substitute" char) to prevent parser "false positives" in case a
    words starts with *. I also added the class and provider properties to
    each rule to make the generated xml xsd-compliant. The default delimiter
    list is :&~?![]=,;()'"
    
    And the results:
    
    Running time and memory consumption have almost doubled(!), as far as I
    could test, this comes from the fact, that we have way many more tokens
    than with splitting at spaces, so with the current structure we can't
    really do much about that. BUT accuracy has increased quite a lot, I
    think there is a visible difference.
    
    For the log message:
    
    core.session(3): (svc/intra_HTTP:1486416/http): Server connection
    established; server_fd='46', server_address='AF_INET(1.2.3.4:80)',
    server_zone='Zone(internet, 0.0.0.0/0)',
    server_local='AF_INET(1.2.3.4:52007)', server_protocol='TCP'
    
    With the tokenizing at spaces:
    
    core.session(3): @ESTRING:: @Server connection established; @ESTRING::
    @@ESTRING:: @server_zone='Zone(internet, 0.0.0.0/0)', @ESTRING::
    @server_protocol='TCP'
    
    And with the new default delimiters:
    
    core.session(3): (svc/intra_HTTP:@ESTRING::)@: Server connection
    established; server_fd='@ESTRING::'@,
    server_address='AF_INET(@ESTRING:::@80)', server_zone='Zone(internet,
    0.0.0.0/0)', server_local='AF_INET(1.2.3.4:@ESTRING::)@',
    server_protocol='TCP'
    
    (please note that the log sample used for generating these patterns was
    grepped on intra_HTTP, that's why the zorp service name and server port
    80 are found as a frequent words and not ESTRING'd)
    
    Signed-off-by: Balint Kovacs <blint@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f37dfb17f1217254dccf0e1c54334cde63522d72
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 9 17:40:30 2011 +0100

    configure.in: check flex/bison even better
    
    Instead of warnings, produce hard errors in case the source tree doesn't
    carry the files generated by flex/bison.
    
    Reported-By: Dalibor Toman <dtoman@fortech.cz>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2637438afe57eedbfb1bc567ae0ce1ed0c4ba4de
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 9 17:02:40 2011 +0100

    scl/syslog-ng.conf: change default version number to 3.3
    
    Reported-By: Peter Czanik
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7ba4f45772245021348b4a106726ebd78f22b015
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Feb 10 20:39:44 2011 +0100

    systemd: Add an example service file.
    
    Add an example service file, contributed by Tom Gundersen.
    
    Signed-off-by: Tom Gundersen <teg@jklm.no>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 82b455ccaf35be7b036cc0924dc99ab2e766a143
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Feb 10 20:19:55 2011 +0100

    systemd socket activation support.
    
    Implements systemd socket activation support for unix sockets (not
    only /dev/log).
    
    systemd-managed sockets will automatically be recognised, while the
    rest will be handled by syslog-ng the same way it always did.
    
    Original implementation by Marius Tomaschewski, refactored by Balazs
    Scheidler, and minor cleanups by Gergely Nagy.
    
    Signed-off-by: Marius Tomaschewski <mt@suse.de>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 485d503582e71db44e4e8f035e287240bc6ca066
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Feb 10 20:39:44 2011 +0100

    systemd: Add an example service file.
    
    Add an example service file, contributed by Tom Gundersen.
    
    Signed-off-by: Tom Gundersen <teg@jklm.no>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 85a6de601801079d0fff85ef9528dfd3a088833c
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Thu Feb 10 20:19:55 2011 +0100

    systemd socket activation support.
    
    Implements systemd socket activation support for unix sockets (not
    only /dev/log).
    
    systemd-managed sockets will automatically be recognised, while the
    rest will be handled by syslog-ng the same way it always did.
    
    Original implementation by Marius Tomaschewski, refactored by Balazs
    Scheidler, and minor cleanups by Gergely Nagy.
    
    Signed-off-by: Marius Tomaschewski <mt@suse.de>
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f76ad18e86958c7b72f1cc4c20812d2684a21d13
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 9 07:36:34 2011 +0100

    afsocket: fixed destination driver
    
    The iv_fd structure wasn't properly initialized which
    caused aborts in ivykis.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7fae20cd70924602691b3fa5ccdd6132a6fa3c70
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 6 17:37:35 2011 +0100

    preparations for 3.3.0alpha1

commit 2fc21eca5979db2e5e06b432dcc3d9c1d754a66d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 7 08:43:18 2011 +0100

    tgz2build: use system-installed ivykis
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ec177cddc22ab6d38a77934e30be11afc642a763
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 7 08:42:54 2011 +0100

    submodules: include submodules in the dist even if they are not in use
    
    Even with --with-ivykis/--with-libmongo-client set to "system", include them
    in the distribution tarball (e.g. make dist).
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 41b3548b4a3ae275217c7e9ab52ea609e8b01953
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 7 08:41:49 2011 +0100

    configure.in: fixed compilation when using --with-ivykis=system
    
    Earlier make attempted to compile ivykis even if the system-installed one
    was to be used.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2930ce2dab695a09b046a4a15dc9c9f3bea79bc6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 6 21:04:04 2011 +0100

    updated ivykis to syslog-ng-3.3-ref3

commit a2557458198fc2e59396a1b8ca22b5e7bb3cab52
Merge: 7cbba79 141aca6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 6 12:14:33 2011 +0100

    Merge remote branch '3.2/master'
    
    Conflicts:
    	VERSION
    	configure.in
    	contrib/cygwin-packaging/syslog-ng-config
    	lib/afinter.c
    	lib/cfg.c
    	modules/affile/affile.c
    	modules/dbparser/dbparser.c
    	modules/dbparser/patterndb-int.h
    	modules/dbparser/patterndb.c

commit 141aca6110e64d6b030045cd1db51cfcde2b3ecc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 6 10:21:42 2011 +0100

    configure: allow older pcre versions to be used
    
    This patch allows syslog-ng to be compiled with an old (older than 7.1)
    version of PCRE at the cost of not supporting the "newline" flag for
    regexes. syslog-ng prints a warning at runtime if the user wants to
    use the "newline" flag.
    
    Signed-off-by: Matthew Hall <mhall@mhcomputing.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 65a873dbf1b9fe97f32e8e6704acbd2156b6b355
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 6 07:31:16 2011 +0100

    dbparser: added support for further number formats
    
    Neither FLOAT nor NUMBER was able to parse negative values.
    
    Added the possibility to parse float number with characteristic + mantissa
    (e.g.  1.5e15).
    
    Signed-off-by: SZALAY Attila <sasa@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7cbba793f08e526e26585540ba08559b4d551b94
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 5 19:32:45 2011 +0100

    ivykis: updated to the latest version (syslog-ng-3.3-ref2)

commit 61940d18c205d36cb7dd0b30dba741cc8459e2ac
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 5 19:22:39 2011 +0100

    affile: only regular files are assumed to be always writable
    
    The file destination avoids polling regular files as those are always
    reported to be writable by the underlying kernel anyway. This is
    however not true if a device file is being opened, like /dev/console.
    
    A workaround was to use the pipe() driver, but that has other
    consequences (like opening the pipes in read/write mode,
    rather than write only).
    
    Reported-By: Paul Krizak <paul.krizak@amd.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 71156580a80574b639edff3a0eecc0f162dbcce9
Merge: 1d3f396 afd653b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 5 15:11:09 2011 +0100

    Merge remote branch '3.1-local/master'

commit afd653b3ba31f1b31b2a8a3f30a6e0a756e82d66
Merge: 263fcd7 55199b7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 5 15:10:22 2011 +0100

    Merge remote branch '3.0-local/master'

commit 0803297456d7d7a439982d4e66e3d2e1c03c00c6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Feb 4 11:33:37 2011 +0100

    afmongodb: Fix BSON reuse.
    
    Instead of resetting bson_set twice, reset bson_sel AND bson_set once
    each. This makes the driver work properly again, and it will stop
    overwriting messages.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 049407a3959849bb201843de147747100f57b1b0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 29 09:14:38 2011 +0100

    ivykis: upgrade to latest version to pull in iv_list changes

commit 96246affdea7a3d5ebc41603415255b175c0d2d0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jan 28 10:15:01 2011 +0100

    test_logqueue: fixed & reenabled threaded feed/consume test

commit 363bd9c5819c019145b62f935914a526f28939b7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 25 08:58:38 2011 +0100

    fixed segfault filter() expression evaluation
    
    This patch fixes a segmentation fault and improves the performance
    of filter() evaluation. Earlier the filter() expression always did a hash
    table lookup in the fast path, instead of doing the lookup once and
    reusing the result.
    
    The patch introduces an "init" virtual function for filter expression nodes
    that gets called when the configuration is initialized, e.g. when all
    the filter expressions become available. This callback is then used
    to do the lookup.
    
    This way, the referenced filter rule need not be defined by the time
    we reference it, it can come later in the configuration just as earlier.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 55199b7f45c409fa1f64149e70166ba0909b2bc9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 25 08:30:25 2011 +0100

    MARK: fix y2k38 problem in the processing of MARK targets
    
    This patch changes the type of the mark target from "int" to "long" in order
    to avoid an y2k38 problem which causes syslog-ng to generate MARK messages
    in an endless loop.
    
    Reported-By: Roger <gaudet@verizon.net>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b4e4f06f7b693163013981d4bea893a2031f00c3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 23 17:21:49 2011 +0100

    ivykis: update submodule to the latest version

commit aea6c6c12a62a7b95a4361ad8bfa69fd41031195
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 23 10:44:36 2011 +0100

    configure.in: add ivykis as a submodule
    
    Make it possible to rely on an internal ivykis library.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f1d1c35bc0a1b559c3252886bd88820fe01cfa03
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 22 18:27:57 2011 +0100

    configure.in: make mongodb building conditional
    
    This patch reworks the way libmongo-client is detected and allows mongodb()
    destination to be built selectively.
    
    By default mongodb() is enabled if libmongo-client is detected.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b9b0b0d876486430944bf45051717cbcfa8ff298
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 22 14:37:07 2011 +0100

    libmongo-client: update to the latest commit

commit 82f595d53e4d21f560c22fc6ba0361f3cfc577fb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 22 14:35:01 2011 +0100

    autogen: submodules should be treated differently than the main syslog-ng executable
    
    Try the local autogen.sh & autoreconf and give up otherwise. The code
    for syslog-ng is specific to syslog-ng in some ways. The best solution is
    that submodules provide their own autogen.sh
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 80f77480e9e2fd23f43a41788710926e456fb330
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 22 14:34:04 2011 +0100

    use libmongo-client from git.balabit.hu instead of github.com
    
    In order to make it possible for me to push out changes should they become
    necessary.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d8cc268d6f17e47e45192dc7b297b6ae018b8fea
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 17 12:56:46 2011 +0100

    timeutils: handle non-ivykis threads

commit 1d56a7aa904ed854ceb7830749558314998d0301
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 18 18:09:32 2011 +0100

    afmongodb: lock the queue_mutex every time we change the queue.
    
    Though log_queue should be locking itself, and the pop / push
    functions indeed do, there is no such guarantee for
    log_queue_get_length().
    
    This means that unless we hold the same lock for all three operations,
    there will be a race condition, and this is why deadlocks could
    happen.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 872fdc152b610c2b94ce97604c2b67a8de6f48a7
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Jan 17 20:47:24 2011 +0100

    afmongodb: The basic driver.
    
    This changeset imports the basic mongodb driver, one without
    dynamic-variables support. The rest of the functionality is all there,
    though.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 6b7d909420c2645cae9afb348a429cece48d4940
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 18 10:57:16 2011 +0100

    afmongodb: Updated the libmongo-client library.
    
    The new version does not compile a shared library, which is good for
    us, so grab it.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 08abd8411db9e65b1f4eca34376a18bea2d37050
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Tue Jan 18 10:44:36 2011 +0100

    afmongodb: Made the included client library optional.
    
    Added an --enable-included-mongo-client option to configure. When
    specified (the default), the build will try to configure and build the
    included library. When turned off, the system library will be used.
    
    However, the system library is not checked for yet, because it doesn't
    have a pkg-config file yet.
    
    Adding such a check, however, is as easy as adding the appropriate
    line in the else branch just before the AM_CONDITIONAL that sets
    ENABLE_INCLUDED_MONGO_CLIENT.
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 8470236ec90d3f47e92b0daef2d21f5e729a03bf
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Jan 17 20:08:11 2011 +0100

    afmongodb: Client library import.
    
    With the changes below, we embed the libmongo-client library into
    syslog-ng gracefully, using git submodules.
    
    This means that after a fresh clone, one will need to run git
    submodule update --init --recursive, which will initialise and update
    every registered submodule, and check them out.
    
    The build system was updated to both run configure in the new
    submodule located at modules/afmongodb/libmongo-client, and to enter
    said directory during a build.
    
    Once the submodules are checked out, make all, install, check, dist
    and the rest work as if these modules were integral parts of the
    distribution.
    
    In the future, if more submodules are added, one needs to add them to
    autogen.sh (if appropriate) and to configure.in's AC_CONFIG_SUBDIRS().
    
    Signed-off-by: Gergely Nagy <algernon@balabit.hu>

commit 0ac859b34ed40da91a5ddc438d33056987ed1016
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 17 11:57:48 2011 +0100

    mainloop: updated to use the latest ivykis version
    
    The rename of list related functions from "iv_list" is gone, thus rename
    all their usage in syslog-ng as well.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 17dbe23aa885e9263c362fd34637969f5d8f75bd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 15 17:22:33 2011 +0100

    configure: always pull in gthread-2.0 as syslog-ng is always threaded
    
    The last related patch didn't pull in gthread-2.0 related dependencies,
    but they are needed. This fixes that.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1d3f396485eb47b1ff6aa18ac4f1c4cd51c0ea4c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 15 14:56:15 2011 +0100

    preparations for 3.2.2

commit b29859d5368f7a31de52976843756d7af8a0627d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 15 17:14:10 2011 +0100

    dbparser: Added missing patterndb-int.h to the dist
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 979449cc03029e502a92256426ceef7aca2fb90c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 15 17:14:37 2011 +0100

    Makefiles: check if -Wno-pointer-sign is available as an option for gcc
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 45ea08652a3944a9d0e73c611eb64c311bb048aa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 15 14:07:49 2011 +0100

    persist-state: ignore unsupported on-disk formats and overwrite the file
    
    In case syslog-ng crashes, the persist-state file can become empty, and in
    case we're downgrading the file will be in an unknown format. Accept
    this situation instead of failing at startup.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3aa3fc90285dcaf1339002ac6d7dee07f26830fd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 15 13:48:22 2011 +0100

    dbparser: create a separate library for core patterndb functionality
    
    The core patterndb functionality (e.g. everything except the syslog-ng
    glue code) was split into a separate library to make it easier to
    link pdbtool and possibly to make it possible to use patterndb from
    3rd party programs/plugins.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 901cae31f07ecffbe397d048d41a5630b9397fe9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 15 12:31:21 2011 +0100

    patterndb: keep correllation state when the database is reloaded
    
    Earlier the correllation state was forgotten when the patterndb database
    was reloaded, which happens automatically if the file is changed. This
    is certainly a grave problem and this patch fixes that.
    
    Since this was an API limitation, this patch refactores some of the
    patterndb data structures in order to avoid having to reallocate PatternDB
    on reload. Instead that detail is handled inside PatternDB.
    
    Also, this moves some of the internal API to a separate header file.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9e86fcc5064734181f95d1b7c17f87afa736693c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 11 17:09:51 2011 +0100

    afsocket: implement cipher-suite() option for TLS enabled sources/destinations
    
    This patch implements a new option for the tls() block named cipher-suite().
    It can be used to change the set of ciphers/hashes/keyexchange algorithms
    to be used with SSL.
    
    Signed-off-by: Brett Edgar <brett.edgar@truedigitalsecurity.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit bea0404382c0032c94f1cb04e927f8544e4d624a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 11 16:56:20 2011 +0100

    configure: remove ENABLE_THREADS define
    
    This patch removes the ENABLE_THREADS define from all files, since syslog-ng
    will always be compiled as a multithreaded application from now on.

commit 1c3a2dbb246625eacef91d3eda8d86cf710675d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 11 16:54:04 2011 +0100

    cygwin: updated cygwin postinstall script
    
    Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 251e1ff4a8c8204f046c99dd368e78b01c16007b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 11 16:50:00 2011 +0100

    Makefile: added -module option to libtool command line
    
    This patch adds -module (and -no-undefined) to all syslog-ng libtool
    options in order to make syslog-ng easier to compile on cygwin.
    
    Also, it fixes the -module related warning in pdbtool linking with a
    -dlpreopen option.
    
    Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 578c27fb815c230dd202aab61ee5b29e7ca4ec86
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 9 08:49:11 2011 +0100

    LogProtoTextClient: fixed struct name to match typedef

commit b999fd858b1eaa6defd6123411ecbf797a4d43a5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 9 08:48:53 2011 +0100

    persist-state: really ignore persist state files with an unsupported major version
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4315b74d15effdd57b97aa725af1c8a3927899e7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 9 08:48:26 2011 +0100

    worker threads: use 128k stacks by default
    
    This is needed for example by the Oracle client libs in some cases.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 9e75a415180d3705b122e2722de5b1cfeb811be4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 9 08:47:28 2011 +0100

    debian: aded reload-or-restart option to the init script
    
    This is a non-standard init script action, ported here only to
    sync with PE.

commit 9b4390a3b95ff7b90f96eaadd71fce5cf01f0cd3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 9 08:46:46 2011 +0100

    Solaris: sync SMF method script and XML description with PE
    
    This adds contract handling and avoids going into maintenance state when
    there's a stale PID file at startup.

commit 0229da004ee5b1811b0242da3bcad861e63af25b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 9 08:45:22 2011 +0100

    contrib: fixed up sample configuration files a bit
    
    Fixed up some of the biggest problems in the sample configuration files under
    contrib, like program_override() with a colon, which is not needed, etc.
    
    Also, removed deprecated log_prefix() options.

commit c329cfa52a8d3f1342c34ce2566f9656c45e6464
Merge: 148d00c 263fcd7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 4 07:00:55 2011 +0100

    Merge remote branch '3.1-local/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	configure.in
    	lib/cfg.c
    	lib/cfg.h
    	modules/afsocket/afunix.c
    	src/cfg-lex.l
    	src/logmsg.c

commit 148d00c664d3e9c7d618277b2c6e64b7e5a702c1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 2 17:34:33 2011 +0100

    dbparser: fixed a typo in correllation time updates
    
    The time in the correllation engine should not be past the current
    system time, but this had a typo in its implementation.
    
    This patch fixes that.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 263fcd78bd55bea6088e2400af1a0248544e72ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 2 17:32:26 2011 +0100

    preparations for 3.1.4

commit 3952403465128d2225ecd2c9581cc789550cb134
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 2 17:22:24 2011 +0100

    preparations for 3.0.10

commit d590d208b82e08ce10218c8a50f01417e1eab67d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 2 12:55:00 2011 +0100

    preparations for 3.0.10

commit 17531d911d544687fb9c5bd3b130dd5bf7903db0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 1 20:56:23 2011 +0100

    affile: fixed bogus permission bits on logfiles on platforms where mode_t is 16 bits only
    
    syslog-ng is creating files with bogus permissions on platforms where mode_t
    is 16 bits only. Such a beast is kFreeBSD.
    
    Credits to the Debian folks for noticing & tracking down the issue.
    The original reporter is in the "Reported-By" line, but also thanks for
    gcs@debian.org, algernon@debian.org and peter.czanik@balabit.hu for
    taking care of the issue.
    
    Reported-By: Steven Chamberlain <steven@pyro.eu.org>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cbcea8c95c3f07ed9eaa4d12f124db8f8ca2f74b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 1 20:56:23 2011 +0100

    affile: fixed bogus permission bits on logfiles on platforms where mode_t is 16 bits only
    
    syslog-ng is creating files with bogus permissions on platforms where mode_t
    is 16 bits only. Such a beast is kFreeBSD.
    
    Credits to the Debian folks for noticing & tracking down the issue.
    The original reporter is in the "Reported-By" line, but also thanks for
    gcs@debian.org, algernon@debian.org and peter.czanik@balabit.hu for
    taking care of the issue.
    
    Reported-By: Steven Chamberlain <steven@pyro.eu.org>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 1a4f8981802d307b0f3fc4e61b2a704592c8ddf4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 31 15:03:29 2010 +0100

    LogSource: don't wait for window to empty in case the source is not using worker threads
    
    In order to keep the messages in "flow", LogSource may add a little
    nanosleep() in case the window is full. This is performed in the hope that
    a minor sleep is enough to get some elements out of the window and a
    sleep is much cheaper than going back to the main loop.
    
    However this sleep() was introduced unconditionally for both threaded and
    non-threaded sources, which is certainly not the best. Now the threaded
    value is passed as an argument to log_source_set_options(). The sleeps
    won't be performed if we're in a non-threaded source.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit b8e0ba84f108e037fdde34a0b16e69decb70ff6c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 31 13:48:23 2010 +0100

    LogWriter: add thread safety to suppress() support
    
    The earlier patchset simply disabled suppress() as its locking was not
    trivial due to a timer update required on a per-message basis.
    
    This was now solved with a deferred main_loop_call() invocation.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 96c463540104996c6df02aec4c4d7874e6c7fd3f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 29 16:06:19 2010 +0100

    properly initialize GStaticMutex & GStaticRWLock instances
    
    If a given instance cannot be initialized with G_STATIC_MUTEX_INIT or
    G_STATIC_RW_LOCK_INIT, it must be done so at runtime using
    g_static_mutex_init & g_static_rw_lock_init respectively.
    
    Merely zero initializing these structures seem to work on Linux,
    but definitely won't break on AIX for example.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 2d336565969544882fcc0d333778cd28c1dc2812
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 29 16:01:07 2010 +0100

    LogMessage: use thread-local variable for temporarily stored macro values
    
    When a parser/rewrite rule uses a macro name as value, it resolves its value
    by storing it to a previously global variable. Change this to be a
    GStaticPrivate as otherwise multiple threads would overwrite the same spot.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 68b91e8ad80763760411d427fc43fd60c4f4cdfc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 29 15:41:08 2010 +0100

    db-parser: implement clone() method
    
    Instead of erroring out in case the same db-parser() instance is used in
    multiple paths, create a new db-parser() instance.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 836a6cc662db5a06bc02fab1df80405251249433
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 29 15:39:32 2010 +0100

    db-parser: implement locking
    
    This patch implements locking for db-parser(). The locking scheme is quite
    simplistic and could be improved a lot, but for now we're using a
    read-write lock. The read lock protects the radix tree used to look up
    the matching rule. The write lock protects db-parser() correllation state.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 78fcd73a44552ea3fd2dc1ab89e3666bec574c94
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 29 13:50:16 2010 +0100

    patterndb: keep correllation state when the database is reloaded
    
    Earlier the correllation state was forgotten when the patterndb database
    was reloaded, which happens automatically if the file is changed. This
    is certainly a grave problem and this patch fixes that.
    
    Since this was an API limitation, this patch refactores some of the
    patterndb data structures in order to avoid having to reallocate PatternDB
    on reload. Instead that detail is handled inside PatternDB.
    
    Also, this moves some of the internal API to a separate header file.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 000471e9d321ebf509815a2d2903dec8c11e624e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 26 14:07:27 2010 +0100

    LogWriter: don't suspend if the break handler closes the writer
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit d5113da116fe12527afd14ea63fc35a460224f0e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 26 14:04:52 2010 +0100

    mainloop: don't use deprecated ivykis functions
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit a3beae3fcecde5daf728e43d417900a61946d5e4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 26 14:04:37 2010 +0100

    afsocket: added main thread assertions where applicable
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit eeea6c2f9fac8dd634deb3934c22b304820d7b5e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 26 14:04:00 2010 +0100

    afsocket: don't use deprecated ivykis functions
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit f8a095582064fae31fd1b9c9c52d4343a12e5d77
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 26 14:02:55 2010 +0100

    afsocket: create separate afsocket_dd_init_watches() function call
    
    Instead of initializing the ivykis watches in start_watches()
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit cbcfb238b76c795d6171ee521648580d41447ee1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Dec 26 14:01:23 2010 +0100

    afsocket: fixed connect_fd unregistration
    
    This problem caused udp() destinations to abort on startup
    and TCP destinations not to be unregistered if an error occurred.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 8ce501df132809e2c984e597e1add2a75d7b46bf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 25 17:09:45 2010 +0100

    affile: implement locking for dynamically created files

commit 024cc781c84ae855468e4bde1a04c8cb016439cc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 25 10:51:36 2010 +0100

    LogWriter: removed unneeded log_writer_global_init() declaration

commit 11a1bdfee0f1cf21c8f1eddef8b8301d4ca7ff65
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 25 10:51:22 2010 +0100

    LogWriter: add log_writer_is_opened() call

commit cdfffd65dc463a11b7c28474df7b6a560f14b4d7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 22 17:11:44 2010 +0100

    loggen: add thread_id to the program name field
    
    This makes it possible to stresstest macro based filenames.

commit 00656741fd3f80971a4aaa170a170561bc96c5c2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 22 17:08:11 2010 +0100

    timeutils: added cached_g_current_time_sec() function
    
    Which returns only the second portion of the current time, since this is
    needed in a lot of cases.

commit 419441d7998df6199e1abc68211f14b708e9b92f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 16 16:58:39 2010 +0100

    LogPipe: implement soft flow control mode
    
    Soft flow control is used when the destination includes a local file and
    the user doesn't expect to lose messages. It is basically equivalent to
    hard flow control, but in case the destination becomes unwritable
    (e.g. disk full) messages can get lost.
    
    Currently it is not a user-visible feature (e.g. this cannot be enabled
    by the administrator), but file destinations automatically use this.

commit 54cb0433081b725c819117146d51e68e52847bdc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 14 12:53:29 2010 +0100

    func_test: use 3.3 as config version and enable threading

commit d82b706a3259bdeeab38e99492ae67954f055f37
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 8 20:56:45 2010 +0100

    Implement multi-threading and epoll
    
    This huge patch changes syslog-ng architecture a lot by getting away from
    GLib's GMainContext and by introducing worker threads to perform the actual
    work at hand.
    
    This patch relies on ivykis, a low-level main loop library by Lennert
    Buytenhek.  Currently I still have some patches against ivykis needed for
    syslog-ng to compile, but I also work with the author to get them integrated
    upstream.  Until that happens, you need to use my ivykis repository at
    git.balabit.hu. Upstream versions are at git.wantstofly.org.
    
    This patch is huge, I originally intended to break them to smaller steps,
    however it'd be a considerable amount of work, thus I've decided not to do
    it.

commit 606f2ae5afb7cdb7b2368c3226ebdb30c4cdd0bc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 7 14:09:59 2010 +0100

    configure: add checks for libivykis

commit fb05c8bd2e55562b42e5f896240234d4c9b73728
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 23 11:41:37 2010 +0200

    LogQueue: move throttle handling to LogQueue from LogWriter
    
    This is probably not a final state of affairs and as such may be rebased
    changed.

commit d6e73e3551ed7b4ccbfb78faf3679a756c19d21d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 23 11:15:39 2010 +0200

    LogQueue: make LogQueue multi-thread safe
    
    This patch simply encloses all LogQueue related function calls with
    lock/unlock. It is expected that some more clever locking scheme can
    be implemented later.
    
    NOTE: that some of the API is inherently multi-thread unsafe
    (e.g. log_queue_get_length() but that will be dealt with later).

commit fe541bcb0368342228eebbb8dcf08e7a5f5f6a05
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 7 15:02:05 2010 +0100

    LogProto: simplify prepare method
    
    The timeout parameter for the prepare method is not needed and doesn't
    play nicely with ivykis style I/O callbacks.

commit f9a59e43ee5e266c80b929c6260279f5faf5d3e0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 13 08:14:06 2010 +0100

    Use per-instance window counting
    
    Until now each connection shared the same window space for a tcp
    (or syslog() on tcp transport) source. However this would be a
    synchronization point if connections would be handled by different threads.
    
    Since this is the plan, I've reworked how the window works:
      * each connection has its own window
      * the tcp source divides log_iw_size() evenly between all
        of its possible connections (e.g the new window size becomes
        log_iw_size()/max-connections())

commit cca22b2e6ef7819c631d67cb1317663ac1403f49
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 23 22:27:03 2010 +0200

    LogSource: implement per-source wakeup functionality
    
    Previously only a global wakeup function was present, which was used by
    the SQL destination (the only multi-threaded destination in 3.2). This
    patch reworks this so that each LogSource instance can have its own wakeup
    method.
    
    This makes it possible for sources to react on the window opening, e.g. if
    reading was suspended because the window became full, the receipt of
    the wakeup can reenable reading.

commit acd4aa761eb59e9003966e1a42d7a29c5976c004
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 8 22:00:03 2010 +0100

    cfg: remove the possibility to specify log_iw_size/log_fetch_limit globally
    
    These were not documented and it makes more sense to specify these per-source
    anyway. Also it'd make it more difficult to provide different defaults
    for different source types.

commit 5e3d5dfba75bbcde21eec7b1b0930bd47c6bf7ed
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 13 08:16:46 2010 +0100

    cache current time everywhere

commit 26b70812cae04179c939dc8b1f323a24692a30f5
Author: NagyAttila <naat@balabit.hu>
Date:   Mon Nov 15 18:00:10 2010 +0100

    Performance improvement: file write uses writev instead of per-message write() to write larger chunks

commit 5f25ce47ab57774f8fe8df17bc96a006e535cb53
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 17 15:38:00 2010 +0100

    dbparser: don't initialize the same db-parser() instance multiple times
    
    Even if the configuration references the same db-parser() from several
    locations.
    
    This caused a difficult to understand config initialization problem in
    syslog-ng.
    
    NOTE: the current behaviour of the db-parsers() correllation state is going
    to change in 3.3. In 3.2, the state is shared in this case, in 3.3 each
    reference will use a private, independent state.
    
    Reported-By: Matthew Hall
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7a714138c373ed1b1b1e38834d34f40b44505580
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 17 10:14:07 2010 +0100

    wrapper: added proper error message if exec() returns an error
    
    In case the main syslog-ng binary is not found, print an error message to
    stderr before exiting with rc=127.
    
    Reported-By: Matthew Hall
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 0ab449d5190b58d60dc7b2647a0ac7ca05ea9144
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 17 10:10:26 2010 +0100

    configure: fixed the export of the libexecdir directory if overridden with a configure option
    
    Earlier, libexecdir was constructed in syslog-ng.h using the value of
    the PATH_PREFIX macro, exported by the configure script.
    
    This works OK as long as exec_prefix is not overridden on the
    configure command line.
    
    This patch only changes the instalation layout if exec_prefix is actually
    specified and it has only an effect if --enable-env-wrapper is also used.
    
    Reported-By: Matthew Hall
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 61181dca938d2cdd8233df2a07d6e0c76f049e6f
Merge: 3620daf f46ca40
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 17 10:04:20 2010 +0100

    Merge remote branch '3.0-local/master'

commit f46ca4021ce2c01bf6f30e912a5901632d807e9c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 17 10:02:26 2010 +0100

    configure: fixed the export of the libexecdir directory if overridden with a configure option
    
    Earlier, libexecdir was constructed in syslog-ng.h using the value of
    the PATH_PREFIX macro, exported by the configure script.
    
    This works OK as long as exec_prefix is not overridden on the
    configure command line.
    
    This patch only changes the instalation layout if exec_prefix is actually
    specified and it has only an effect if --enable-env-wrapper is also used.
    
    Reported-By: Matthew Hall
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6c3ec60f18299ac635a3856016e7253ea97b7233
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 18 14:43:51 2010 +0100

    timeutils: added check_nanosleep() function

commit 66a0e98b37b2217b90c3eb54d6805f555eb6143f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 16 17:00:07 2010 +0100

    timeutils: added new function timespec_diff_nsec
    
    This function calculates the diff between two struct timespec values in
    nsec.

commit d2d0fd2e58dfbf5d32ca39df94a332ae664146c6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 23 11:09:22 2010 +0200

    test_thread_wakeup.c: new unit test to test which system calls are possible to wake up

commit b60f411a3ed8b396705c54da4b9c5b9f93283381
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 8 22:01:29 2010 +0100

    atomic: added g_atomic_counter_exchange_and_add() function
    
    As this is going to be needed by LogSource ack function.

commit 78b23cf8d23ba04c98661d2a45d1d0bc6555c8d1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 8 20:43:37 2010 +0100

    test_logwriter: use log_writer_set_options instead of directly using a LogWriter member
    
    This avoids having to define the LogWriter struct public.

commit 88a2a660255147c5ebd35951d1ccead9fd779e13
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 7 15:03:27 2010 +0100

    LogProto: apply_state shouldn't allow file offsets over the end-of-file
    
    Assume that the file was truncated in this case.

commit 613c58c1b93c5815d0c4ba6eac5fa6bf20b4d6b1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 10 10:08:14 2010 +0100

    fixed leaking the message payload for internal messages
    
    Two one character changes, which cause the payload for internal messages to be leaked.
    
    Reported-By: Gergely Nagy
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 3690b915f6077b360d0a06fba71027d62e5b5327
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 18 09:46:12 2010 +0100

    cfg: change current config version 3.3

commit 62d09f6a346e36fc222474c095fff897f79eda39
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 8 22:00:43 2010 +0100

    lex-rules: fix warning regexp to really exclude uninteresting bison warnings

commit 13d91d1cd8d51e5746f0eb0e84fa96ebd4387ae3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 18 09:45:48 2010 +0100

    cfg-parser: make long_hostnames() a deprecated option
    
    It was missed earlier, but long_hostnames() has long been deprecated.

commit 3620dafc1f1cf2296ce899269023646c975838ef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 10 10:06:29 2010 +0100

    fixed leaking the message payload for MARK messages
    
    This is the backport of a fix in 3.2 which cause the contents of MARK messages to be leaked.
    
    Reported-By: Gergely Nagy
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit e0dfb05db1c28f7ac1c242ceff673c5db4d91993
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 10 10:02:59 2010 +0100

    fixed leaking the message payload for internal messages
    
    Two one character changes, which cause the payload for internal messages to be leaked.
    
    Reported-By: Gergely Nagy
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit ab88791c912bcba7b5ee9803682317404ea116cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 9 21:19:08 2010 +0100

    blocks: make it possible to use blocks inside log statements
    
    The original block implementation lacked support for blocks inside
    log statements. This patch addresses that, by creating the "log"
    context for blocks.
    
    This is how to use it:
    
    block log logblock() {
    	destination(something);
    	flags(flow-control);
    };
    
    log {
    	logblock();
    };
    
    Reported-By: Eric Berggren
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4d9f15ec70c86aace491527791b4304693f0222b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 9 21:18:57 2010 +0100

    blocks: allow the use of '{' character inside blocks
    
    This was an omission in one of the lexer rules, but with this fix it works fine.
    
    Reported-By: Eric Berggren
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit c2dbe6316c9b3afc7ff930c9ffa4cf190a699a09
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 9 21:18:30 2010 +0100

    log statements: allow several semicolons instead of one
    
    In order to introduce block support within "log" statements, it is convinient
    to allow several ';' everywhere where only one was permitted.
    
    This is needed in order to make it possible to close a statement inside
    a block with a ';', and then also use a ';' at the end of a block reference.
    
    This is more readable.
    
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 6c615df992bf6f83e99d47a77d3379e36749bfab
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 9 20:36:24 2010 +0100

    use_time_recvd: add slightly more clarification on the deprecated option
    
    use_time_recvd has been deprecated for a long time, but the warning only
    suggested the use of R_/S_ prefixed macros, while keep_timestamp() is just
    as good workaround, especially if someone doesn't care about the original
    timestamp and doesn't use templates at all.
    
    Reported-By: Craig Bell

commit 40c067135982c2f0ae66dcffee7498ed57e44882
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 8 21:35:29 2010 +0100

    afsocket: fixed Makefile rules to avoid using double slash at the beginning of a filename
    
    Issue reported by and fix proposed by Corinna Vinschen to make it possible
    to compile syslog-ng on cygwin.
    
    Reported-By: Corinna Vinschen
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 41b532be859cf161b926ff5fc8ececbdf7830659
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 8 20:42:24 2010 +0100

    system(): Added support for cygwin
    
    This patch adds support for the cygwin platform in the system() source.
    
    Reported-By: Corinna Vinschen
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 75e133f4c023be3140bc2b4925c39cb06a99e812
Merge: e90760f 795af24
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 4 13:51:56 2010 +0100

    Merge remote branch '3.0/master'
    
    Conflicts:
    	NEWS
    	VERSION

commit 795af24816f7de120fa43b7387522187ba32ef14
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 4 13:50:03 2010 +0100

    config: close connections belonging to a stale source after SIGHUP
    
    When syslog-ng is reloaded, the connections of a given source are
    kept around (unless keep-alive() is no). However, some sources
    may be removed from the configuration and the connections belonging
    to these source became stale. They should have been closed, but in reality
    they were not, because this code got broke somewhere in 3.0.
    
    In case a message comes in on such a connection, syslog-ng crashes.
    
    Reported-By: Zhengxiang Pan
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 7b52edc3d36ab881ed28558d2e141f3c69b55fdf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 4 13:38:03 2010 +0100

    config: close connections belonging to a stale source after SIGHUP
    
    When syslog-ng is reloaded, the connections of a given source are
    kept around (unless keep-alive() is no). However, some sources
    may be removed from the configuration and the connections belonging
    to these source became stale. They should have been closed, but in reality
    they were not, because this code got broke somewhere in 3.0.
    
    In case a message comes in on such a connection, syslog-ng crashes.
    
    Reported-By: Zhengxiang Pan
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 4a8296ef2228104cd230b411361a589862f38f75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 3 22:53:18 2010 +0100

    dbparser: make it compatible with glib < 2.13
    
    Reported-By: Owen Mann

commit 5edede4652935ee4171b9fc54cd7b52ff83153cb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 3 11:37:35 2010 +0100

    pdbtool patternize: don't generate proper UUIDs in case openssl libs are not found
    
    We still allow patternize to compile with a dummy uuid value, and also emit
    a warning during compilation.
    
    Reported-By: Peter Czanik

commit fedf384bf50e000048dcd5dbd2f226e1baa34329
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 3 10:54:14 2010 +0100

    configure.in: use ${exec_prefix} instead of ${prefix} in moduledir
    
    Reported-By: Sandor Geller

commit 16a94c57dd4e54e0e7aaf71bea36acf80245896a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 3 10:49:44 2010 +0100

    csvparser: fixed compilation warning
    
    csvparser.c:347: warning: implicit declaration of function ‘log_column_parser_free_method’
    
    Reported-By: Balazs Nemeth

commit b2841b577bae31667f0da8aa8a1ece22a728673a
Merge: 29a8713 a5d4d17
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 28 13:33:16 2010 +0100

    Merge remote branch '3.2/master'
    
    Conflicts:
    	VERSION
    	lib/filter.c
    	lib/logparser.c
    	lib/logparser.h
    	lib/logprocess.c
    	lib/logprocess.h
    	lib/logrewrite.c
    	lib/logwriter.c
    	modules/dbparser/dbparser.c

commit 29a871395174d4b2e6c00d99dd1cadd08b58e100
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 27 19:06:18 2010 +0100

    loggen: make it possible to send messages on multiple simultaneous connections

commit a5d4d1733125b1712bc072d812747ce17bf8bacb
Merge: edeefb9 e90760f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 26 19:40:01 2010 +0100

    Merge remote branch '3.1-local/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	lib/cfg.c
    	lib/templates.c
    	src/cfg-grammar.y
    	src/cfg-lex.l
    	src/logpatterns.c
    	tests/unit/test_template.c

commit edeefb94bbd53a227835c32e297a01479d564ca4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 26 18:26:37 2010 +0100

    preparations for 3.2.1

commit 5a4e61d1926a433c6bbd16ed65dfc7a94f250ec6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 17:19:55 2010 +0200

    afsql: fix port() option
    
    The port() option was passed to libdbi as a string option which libdbi
    interpreted as 0 (e.g.  default port) This patch fixes that.
    
    Reported-By: LEBRETON Philippe

commit e90760fb7f2e7c83b429df5d6cea85a27046b656
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 26 15:57:07 2010 +0100

    added a larger YYMAXDEPTH value into cfg-grammar.y

commit ff01083b04af4ce2cbc1f08a6e339604e475745f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 26 15:37:40 2010 +0100

    fixed configure --help on --with-module-dir
    
    Reported-By: Matthew Hall

commit f6efe1a82c3726c7f65ca0dd173af8d3f58824aa
Author: NagyAttila <naat@balabit.hu>
Date:   Thu Oct 14 17:54:14 2010 +0200

    HOST macro filled properly with chained_hostnames and normalize_hostnames (fixes: #02598)
    
    A fix was also proposed by Paul, but we also had an alternative
    implementation.  This one is closer to the PE branch, making it easier for
    us to keep the two in sync.
    
    Reported-By: Paul Krizak

commit 3361f72c6c35d198e174200780d9744604e2cdf6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 23 09:26:48 2010 +0100

    patterndb: added version check

commit bcd427f1f60539e1aa2f33be50341954692ff122
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 23 09:19:41 2010 +0100

    db-parser: added v4 db format
    
    This patch adds the v4 patterndb format in order to make it possible to
    distinguish patterndb usable with v3.1 and with v3.2. The two formats are
    otherwise upward compatible.

commit 4b5ff2aa74a79508dce21f6c452b89c6fa278358
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 20 12:21:13 2010 +0100

    db-parser: keep the correllation state properly through SIGHUP

commit 3c6f2f965b953286abef0e53430cc071c7a4a637
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 19 16:19:01 2010 +0100

    loggen: cleaned up somewhat
    
    This patch syncs loggen with the PE version and cleans it up somewhat:
      * use GLib option parser
      * fixes in input file handling
      * fixed up progress display on screen
      * fixed up CSV output (now the end result is output as well)

commit 3794604ffcb9e67a4739b669429f60acdf481fce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 19 07:27:45 2010 +0100

    avoid using sprintf/strptime/strftime
    
    ... and use hand-coded functions that improve performance a lot.

commit 49677053099c216cdb5f562c5583af47f2952c3e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 17 00:52:49 2010 +0200

    [time cache] cache the last 64 sec to improve the running speed of time requests

commit def34661b08109f8148904b860457d5747c425b3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 18 07:52:42 2010 +0100

    preparations for 3.1.3

commit 5944dc167b00995daa14f2701a02456832435e45
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 18 07:47:37 2010 +0100

    preparations for v3.0.9

commit 6a41ef57572f6f4cfcff22ef44763c1b3ddb6a71
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 14 13:18:53 2010 +0100

    pdbtool: adjust debug output
    
    dark red should be light red instead (revert a portion
    of the previous change). Also use an empty string instead of
    (null) in case a debug node contains a NULL value.

commit f2801031604150c9ad6d1bfe842b61ec79131e1e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 14 10:52:59 2010 +0100

    test_csvparser: added testcase to cover empty values

commit 7e651e2339c4d94d2bcab20cf8cac7003801de83
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 14 10:52:47 2010 +0100

    LogWriter: set msg_context to NULL in case of the failure path

commit a114e585a8d48eee27e14983fb93997f27db54c9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 7 09:33:06 2010 +0100

    patterndb: use unsigned char internally to avoid signed/unsigned comparisons
    
    This patch actually fixes a concrete utf8 handling problem, but goes further
    than that and changes all data structures to use unsigned chars.
    
    This caused a large amount of warnings, which I've silenced using
    -Wno-pointer-sign, which I consider suboptimal, but adding a lot of
    scattered casts was even less nice.
    
    The original patch was created by the PE team, which
    I reworked when integrating to the OSE tree.
    
    Signed-off-by: Viktor Juhasz <jviktor@balabit.hu>
    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>

commit 02e0f697151f38da43acbf366111ddcaf626da37
Author: NagyAttila <naat@balabit.hu>
Date:   Thu Oct 14 17:54:14 2010 +0200

    HOST macro filled properly with chained_hostnames and normalize_hostnames (fixes: #02598)

commit 15ec366222112bdb9623bd574fe9b34266062a2f
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Sat Nov 6 15:07:18 2010 +0100

    made tags() filter honor the "not" prefix

commit 80f1b374c702c3fd2d09bf006901583ea1320c8b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 6 14:44:50 2010 +0100

    pdbtool: fixed possible NULL deref in sprintf()

commit c99757171736dfe137fc0d6508b6df5525004120
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 6 14:32:43 2010 +0100

    patterndb: mark messages stored in a PDBContext as REFERENCED
    
    In order to avoid changes to the LogMessage behind our backs.

commit ec73d090321ec99d3e83214240a337368cc04c45
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 6 14:32:11 2010 +0100

    patterndb: fixed PDBContext->key members to become stale
    
    Previously key->host/program/pid are borrowed from LogMessage->payload,
    however as the message gets updated, those may become stale. strdup
    these strings for now, may need to find out something more clever if it
    proves to be a performance problem.

commit f242e5788102b52a2b0698e2a0c3a6b84687c0f2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 6 14:27:55 2010 +0100

    pdbtool match: make sure that all correllation state times out after the file processing is finished
    
    Earlier some state may be lingering and resulting messages will not get
    generated.

commit 915517f785ea8047e10d70dd36ee6926107e250b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 6 14:05:26 2010 +0100

    dbparser: watch the system time to move the correllation engine's idea of the current time
    
    The correllation engine has an independent idea of the current time than
    the system time, as it watches incoming messages and their timestamps
    to move its own idea of the current time.
    
    However if there are no incoming messages, time stood still until now.
    
    This patch basically adds watching the current system time to update the
    correllation's idea of the time.

commit 8d69c8449721fc246bd91dbc1e5901e98668ca15
Merge: e6ade3f fe9f208
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 5 23:09:24 2010 +0100

    Merge remote branch '3.0/master'

commit fe9f208b0fd6a8146e53c709bfa77bba32888824
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 5 23:08:25 2010 +0100

    fixed compilation warning
    
    /home/bazsi/zwa/work/syslog-ng-ose-3.0/syslog-ng-ose/src/logproto.c: In function ‘log_proto_plain_server_is_preemptable’:
    /home/bazsi/zwa/work/syslog-ng-ose-3.0/syslog-ng-ose/src/logproto.c:215: warning: unused variable ‘buffer_bytes’

commit 0dc662e60b265bf443f05f77c1c946db41c39733
Author: Fischhof Gyorgy <george@balabit.hu>
Date:   Tue Jul 13 11:20:43 2010 +0200

    Limited number of hexadecimal and octal digits interpreted as one character
    
    * Number of digits in case of hexadecimal: 1-2
    * Number of digits in case of octal: 1-3

commit 1d622f474463446a873c6df11dd9c31152f61ec7
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Mon Mar 8 11:13:40 2010 +0100

    fixed global configuration object possible use after free problem (fixes: #nobug)

commit 5fc46987de65a9f74fcd7ec3e520c8308556b43e
Author: Gergely Nagy <algernon@balabit.hu>
Date:   Mon Jun 28 13:17:45 2010 +0200

    [logreader] Request a reopen if the FD is stale.
    
    After we fstat() a file descriptor, if we get an ESTALE error, request
    a reopen (fixes #21104).
    
    The rationale is, that since the descriptor is stale, the file is more
    than likely moved or deleted, and there's no point trying to continue
    working with it.

commit e868b736dc255b136b8b1b9f9ebdbb64523fe5fb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 17 12:09:06 2010 +0200

    logwriter flush
    
    when syslog-ng is shutting down try to flush the queues

commit f76ebe2f6a827531823e40ff29da587df133757f
Author: Pallagi Zoltan <pzolee@balabit.hu>
Date:   Wed Jun 23 10:23:40 2010 +0200

    Fixed default permission if the opened file didn't exist

commit d24eb7f926c3eae0833f66addc90c8065d91a334
Author: Pallagi Zoltan <pzolee@balabit.hu>
Date:   Tue Jun 22 15:40:01 2010 +0200

    Fixed a typo of octal value encoding

commit ff30b3e8ece6272b8b6f7fc1c5ac898f6d1b5666
Author: SZALAY Attila <sasa@mochrul.balabit>
Date:   Tue Jan 19 09:13:10 2010 +0100

    Check in solaris 10 if syslog-ng really running, not just have left it's pidfile. (fixes: #20201)

commit 6b7b8f0c8024c9c88b2d40489a87c4d85df49317
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 20 18:32:38 2010 +0200

    cfg-lex.l: fixed hexadecimal number processing and added \xFF format character literals
    
    There was support for hexadecimal/octal numbers in the lexers, but in
    reality the hexadecimal one didn't work for digits in the 'A' - 'F' range.
    
    Also, since there was already requests I've added support for explicitly
    specifying characters by their numeric value. The syntax supported is similar
    what we have in C/Python:
    
      \xhh to encode a hexadecimal value
      \ooo to encode an octal value

commit a00dee5c1395b8b25e0f97733a00d00210a5ffa0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 16 10:38:13 2010 +0200

    templates: make it possible to include a literal '$' in the template
    
    by using two consecutive '$' signs a single $ is included in the template
    as a literal string.

commit 4dc785f287435e8fac1bf9431ba993cdd8a811f4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 20:25:38 2010 +0200

    LogSource: the window size of source connections was messed up if a new connection was established
    
    This patch fixes a window size calculation problem in case a new LogSource
    instance is initialized, which happens if a new connection is established.
    
    This may cause flow control to misbehave.

commit 7bcc56e88bab4ab66cc8c023a062ea49d7b676c4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 22:11:29 2010 +0200

    afinter: fixed possible flow-control problem
    
    The internal() driver could go off-by-one the LogSource window size, which
    causes an assertion to fail.
    
    This only happens if the internal() driver is on a flow controlled path.

commit ab89110035ecdfd84f90b46fc525994c876052a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 5 22:45:49 2010 +0100

    radix: fixed incorrectly populated dbg_info
    
    pdbtool match --debug-pattern uses the debug information to show which
    portions of the pattern matches what in the incoming string. In case a
    lookup fails because the parser doesn't match an incorrect debug entry
    remained on the list, which is now dropped.
    
    This may have caused string reads past the EOS character when displaying
    the --debug-pattern output.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>

commit 6ff34593cdf2d3dd4b0bce8d24be28f1ccf214f2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 5 21:51:03 2010 +0100

    pdbtool: fixed use-after-free error
    
    pdbtool was keeping a pointer to a possibly freed area when showing the
    results of --debug-pattern. This was fixed.
    
    Reported-By: Peter Czanik <czanik@balabit.hu>

commit e6ade3fbebb494ef0e0b9cadc2e7a13605871121
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 4 16:06:12 2010 +0100

    config file: accept 3.1 as a config version (or any other similarly well formatted value)
    
    Earlier the "3.0" config-version was hard-wired, and since 3.1
    didn't have a configuration file format change.
    
    Reported-By: Michael <codejodler@gmx.ch>

commit 4db7b2c48494d8bc8a13e3849641a1a44f8e20cb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 28 22:16:57 2010 +0200

    fixed a possible pdbtool crash
    
    Reported-By: Peter Czanik

commit da39e1c96f9746d1e0e0cac32359cc6ae547f679
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 28 21:58:42 2010 +0200

    debian: updated debian packaing to make syslog-ng compile
    
    This is far from a perfect debian packaging but it produced a working binary for me on Ubuntu Lucid.

commit f334d4363b2dd38190e74d502f8fc266628944a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 21 17:25:44 2010 +0200

    patterndb-3.xsd: do not require UUID format for rule/ruleset IDs

commit c1acbe69a93554ff13bfa50dc8a610c5ee8ec2e0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 21 16:38:26 2010 +0200

    refactor filter/parser/rewrite items to be LogPipes
    
    Until now filter/parser/rewrite elements were specialized structs which
    required separate adaptation classes to be inserted into the log processing
    pipeline.
    
    The reasons are:
      1) the dbparser() now needs to become a LogPipe (in order to be able
         to generate new messages)
      2) and I have a long term plan to make it possible to create inline
         filter/parser/rewrite objects defined on a logpath
    
    At the same time this simplifies the data structures somewhat and
    removes some code.

commit 79a9ae01c8d66e59df340f4489326011b904f050
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 21 16:31:28 2010 +0200

    LogMatcher: make this struct reference counted

commit 21a32c259b9928b907788f97238c26d0dc00534a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 21 16:29:16 2010 +0200

    FilterExprNode: make this struct reference counted

commit 089b09e9a75dffd560bcf690c436b6e98ec858b4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 21 16:06:15 2010 +0200

    VERSION: changed to 3.3.0alpha0 in order to differentiate from the 3.2 branch

commit 8228a579a0b0fc41c90c61644144fc38b3ca3476
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 21 10:42:14 2010 +0200

    configure.in: fixed the check for $LEX
    
    Due to a typo and the LEX check was bogus and generated a shell error message
    during configure.

commit bc30027f831365c573fc3c66ce1b216f0b836c2b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 21 10:40:52 2010 +0200

    added new man pages for syslog-ng-ctl & loggen, also updated the others

commit 5ae2eddeefe5c51450e21a1b1f75bed109f16501
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 20 09:54:45 2010 +0200

    log_pipe_free_method: renamed from log_pipe_free

commit 0801b39139fb0e48801e0405442cea062922b088
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 9 15:04:10 2010 +0200

    LogPipe: make init and deinit virtual functions optional

commit 1217ca65b5b42c3a215e8c28bca4683643b4a0c4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 19 17:26:00 2010 +0200

    check for flex at configure time and warn the user if it is not present

commit 967b1720c8487f3cbe49292c7e5ed3b871ab2de5
Author: Zbigniew Krzystolik <zbyniu@pld-linux.org>
Date:   Tue Oct 19 17:21:23 2010 +0200

    fix capability in the file() destination
    
    fixes for settings like owner(), group(), perm() and analogous dir_* if create_dirs=yes
    for destination files
     - CAP_DAC_OVERRIDE force changes if parent dir has 000 perm, ie vservers (is inerhitted for dir_* too)
     - CAP_CHOWN - needed if dir_owner() or dir_group() are in use
     - CAP_FOWNER - to force chmod() for dirs with owner != root

commit abce2bfa9c59b4290609056da590277c1a8e50f9
Author: Zbigniew Krzystolik <zbyniu@pld-linux.org>
Date:   Mon Oct 18 15:51:49 2010 +0200

    fix capability operations on unix-stream() source
    
     - CAP_CHOWN - needed if owner() or group() are in use
     - CAP_FOWNER - to force chmod() for sockets with owner != root
       (yes, that enough to switch succession of chown and chmod but who cares)
     - CAP_DAC_OVERRIDE - force changes if parent dir has 000 perm, ie vservers

commit 9aab25ac9f02abaf4fc23db2f353a6a1229734e7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 16 13:41:08 2010 +0200

    added dist/arch information to install.dat

commit 4157ae21668cf57f3507da60399631a6025b7a59
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 16 09:29:27 2010 +0200

    tests/collect-cov.sh: fixed coverage collection

commit 466620ea8ad0bbdea13b88deda8c5e30596245bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 16 09:29:10 2010 +0200

    plugin: fixed plugin resolution (udp6 was found instead of udp)

commit 17c602be2c2d685f782499c8730ae54387f3c4bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 21:57:21 2010 +0200

    change the compilation order to satisfy in-module dependencies

commit 51b476a56618f8229f5351a1f34da8a9c41e978a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 21:52:53 2010 +0200

    really prepare for 3.2beta1 this time
    
    This patch adds some notes to the NEWS entry.

commit e9c52b8ad1b10ad1ba0892e916735cd5f85801d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 12:34:26 2010 +0200

    patterndb: increased test coverage with some simple correllation unit tests

commit ccb25558dfd6495184d3ed736068e5c3133bd43a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 12:33:29 2010 +0200

    patterndb: fixed rate-limit related memory leak

commit db5e9e24698e05a90a4e92fbe9be5c1005dacb8e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 10:02:34 2010 +0200

    configure.in: a statement couldn't be properly run by Solaris /bin/sh this was fixed

commit 2f297dd7656ea1bc86cbf9583651139b6da1a53d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 10:02:13 2010 +0200

    dbparser/patternize.c: fixed compilation warnings by including string.h

commit 8b7c5af1d8e0bf5eed1a7f985ac40a12fda0b44b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 10:01:54 2010 +0200

    timerwheel: update self->num_timers properly on timer removal

commit e1038b53045351b1c327c0a8c2b6caefae8b0d74
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 10:01:39 2010 +0200

    msg_post_message: parameter is a converted to borrowed reference instead of a consumed one
    
    This makes the code easier to read.

commit 6aaf8f6b42a4f98246580af6096eac5b7c99f96b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 15 09:59:58 2010 +0200

    timerwheel: fixed twlist corruption because of the bogus insert function
    
    tw_entry_prepend() didn't properly update the pprev pointers causing a
    corrupted linked list.
    
    This patch fixes that and also updates the unit test program to check for
    this possibility. Also if ENABLE_DEBUG is defined the linked lists
    are validated on almost all updates.

commit c76d102f4ec539a5de29a6d10a553405ad575b00
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 11 16:15:34 2010 +0200

    db-parser: check that the patterndb was successfully loaded before trying to use it
    
    Fixes a possible crash.
    
    Reported-By: Martin Grauel

commit bc1fdd96df752f155edc2c2e09f735d6de665ac5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 11 14:25:33 2010 +0200

    preparations for 3.2beta1

commit 058e8499e2d2513b1da7fccf694b60f4b25dfbaf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 11 14:50:10 2010 +0200

    patterndb: temporarily add the message being generated to the context

commit ad65086c0b3d6ade55d0a03ad68a19939e8d0dce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 11 10:14:40 2010 +0200

    tgz2build/rules: change the invocation of syslog-ng during build as the path was changed

commit 492b0fb59897123062dc4db6de1ff0d35cc26e54
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 11 10:14:16 2010 +0200

    patterndb: don't free self in case pattern_db_load() fails
    
    This causes multi-free in case the database has a syntax error.

commit 300458262e0112873f715f33ed051c437756441c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 11 10:13:47 2010 +0200

    patterndb: reworked + greatly enhanced how correllation works
    
    An early proof-of-concept correllation implementation was done earlier, this
    patch enhances that with a lot of new functionality while changing some of the
    details to make room for new stuff.
    
    Correllation between patterndb rules work as follows:
    
     * <rule> tags now how context-scope, context-id and context-timeout
       attributes
     * once a message matches a rule with a context-id attribute it associated
       with the correllation state identified by context-id (no separate
       join/store like in the earlier implementation).
    
    context-scope is basically a "namespace" that specifies portions of the
    session ID that's most probably needed in a lot of cases. These are
    the valid values of context-scope:
    
      * process: correllation is done for messages with the same
        host/program/pid (e.g. the same process). Any messages
        having mismatching values are not even considered.
      * program: correllation between messages of the same host/program
      * host: correllation between messages of the same host
      * global: correlation between the complete message stream,
        no specific filtering
    
    Basically context-scope could be implemented alternatively
    using $HOST/$PROGRAM/$PID macros in the context-id, but since these would
    often be used, these are built into syslog-ng, and the implementation
    is optimized for this. (e.g. faster than having separate macros).
    
    Once a rule matches, additional "actions" can be specified using the <actions>
    tag:
    
    <actions>
      <action condition="<filter expr>" rate="<num>/<period>" trigger="<trigger>">
        <message>
          <value name="MESSAGE">foo</value>
          <tags>
            <tag>bar</tag>
          </tags>
        </message>
      </action>
    </actions>
    
    Right now the only possible action is to generate a new message, specified
    by the <message> tag (in the future other tags can be permitted here).
    
    The attributes of the <action> tag are as follows:
      * condition: specifies a syslog-ng filter expression that needs to
        be matched in order to really perform the action. It is evaluated
        on the current message that matched the rule.
      * rate: <num>/<period> specifies how much messages are to be
        generated (num), in the specified time period (period). Excess messages
        are dropped. For example: "1/60" allows 1 message / minute. Rates
        apply to the given scope for the given rule/action. E.g.
        context-scope="host", rate="1/60" means that one message gets generated
        for _each host_ per minute.
      * trigger: specifies when to execute the action, there are two possible
        triggers right now:
          * match: execute immediately once the rule matches
          * timeout: execute when the correllation timer expires
    
    Messages that are generated by patterndb are emitted by the
    internal() source for now. THIS IS TO BE CHANGED IN THE FUTURE.

commit 5b3757aa7186b82e172120247ea3ed087c5540f1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 10 14:13:57 2010 +0200

    timerwheel: added timer_wheel_get_time() function

commit 4783f08095454d742d9c0e6fcfd099e6b94c0a27
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 10 14:13:25 2010 +0200

    messages: make it possible to inject LogMessage instances to internal()
    
    This patch makes it possible to inject a LogMessage instance directly into
    the internal() queue even if it is redirected to the console.
    
    This is used by db-parser() to inject locally generated messages.

commit 623d5f17513e12ef0b65a3b1f54105d3c8b66265
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 10 14:12:19 2010 +0200

    templates: fix memory leak in template functions
    
    Memory leaks were fixed both in syntax error reporting and in the common
    code path.

commit 0ab4aa18fe1bb05256e8e62e4d07e2999ff34c51
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 10 14:11:41 2010 +0200

    cfg.c: free self->plugins list
    
    Fixes a minor per-SIGHUP memory leak.

commit 715ed5c20530f22ea7bcb2b68adf14d1fcfe854b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 10 14:11:21 2010 +0200

    cfg-parser: fixed possible read overrun in syntax error reporting
    
    In case the parsed buffer has no EOL, report_syntax_error may overread its
    buffer.

commit 0ea3c90a022deb1a022ce3ce6965a2d467912dab
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 8 23:04:33 2010 +0200

    timerwheel: fix memory leaks and a double-free in timer_wheel_free

commit 27bc3fe4509e677fcbbc237663b5d501495a39d2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 8 23:04:02 2010 +0200

    func_test: fix version detection code to use the proper path to the syslog-ng executable

commit fe95b9c19b06801c98f1942528a4d80c2377e928
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 7 20:02:46 2010 +0200

    cfg-lexer: fixed memory leaks
    
    This patch fixes lexer related memory leaks occuring whenever a configuration
    file gets parsed.

commit e1ab58fccde375c2c067e3c8487a263e5cc84e3b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 7 20:00:43 2010 +0200

    plugin: fixed memory leak on plugin load
    
    The name of the init function was allocated and not freed when a new plugin
    was loaded. This leaked about 30-40 bytes for each loaded plugin.

commit ced153e7345c8ece121d02506c6fca134730c9f8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 7 15:19:55 2010 +0200

    dbparser: rename logpatterns.{c,h} to patterndb.{c,h}

commit b5b603d1ff80976e39ed1d817b901afa3d3e579b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 7 09:22:11 2010 +0200

    dbparser: refactor PatternDatabase related structs

commit 3357fbf3519a1252bd68a52b0ecf461a5508dd39
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 6 16:10:28 2010 +0200

    misc.c: implemented g_string_steal
    
    This function steals the allocated portion of the GString instance holding
    the actual characters of the string.

commit 897368cfe976c4596de075e893c4f91af1c9b63d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 6 15:48:27 2010 +0200

    cfg: fixed recursive parser calls with different lexer instances
    
    This may happen if a template function is using the filter grammar during
    the parseing of the main configuration file.
    
    Reported-By: Martin Grauel

commit fbf7b280f2341674e37f22fbe0e0e3db202f55a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 6 15:34:02 2010 +0200

    added module basicfuncs to scb/modules.cofn

commit c1f49b4d094a9b3811fa715068cd7d13ad1f767f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 5 06:55:13 2010 +0200

    fixed program_override() setting
    
    There was a typo in the code processing program_override which caused it to
    
    Reported-By: Nat Baldwin

commit b9de54b0f367ca282dc8f511def354817335a2d3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 4 17:21:06 2010 +0200

    pacctformat: fixed typo in Makefile conditional from ENABLE_SUN_STREAMS

commit af75f8f510a8484805e3922f7dd01ed3a8e6ccb6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 1 15:32:10 2010 +0200

    syslogformat: fixed date parsing in syslog -> rfc3164 fallback

commit 4441d2ca78d437cd4e0f1a69537560a3085c957a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 30 18:12:50 2010 +0200

    afsql: added erroneously removed dbi_intitalize() call

commit 66d5f10c70e3246a45bde2a341c1799ee6f927ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 30 17:10:51 2010 +0200

    dbparser: moved unit tests from tests/unit

commit 5b24eadfc268948bd25f65d613da85d7f55ef4f4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 30 17:03:05 2010 +0200

    dbparser tests: added libsyslogformat.la to the list of dependencies

commit 8f2e3a86c63a055bf6c8249ba247f810dc8aff39
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 30 12:23:49 2010 +0200

    SCL: added syslogconf plugin
    
    This patch adds the syslogconf plugin which automatically converts
    /etc/syslog.conf into a running configuration file.
    
    Kudos to Jonathan W. Marks who originally wrote the script in AWK, I just
    fixed (and possibly added) a couple of bugs here and there.

commit fea892889dc5d48e96a6c0273076a064d56c5c0d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 30 12:21:38 2010 +0200

    lexer: define the root context
    
    This patch is needed to create confgen instances that generate their
    output into the root context of the configuration file.

commit f267c1deebb6926e8b534243e684715673b0dabb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 29 12:10:32 2010 +0200

    dbparser: fixed a possible NULL deref when exiting/reloading the database

commit 877d13493e567d20a81a00f4ca3643ddd915bb84
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 29 12:10:09 2010 +0200

    plugins: ignore '-' and '_' ignore differences in plugin names
    
    This was the old behaviour too and people are both using the underscored
    and hyphen versions of various plugins in their config file.

commit 3c14f47f26541e1a192ca0d1b6a18f87712feff8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 29 11:47:44 2010 +0200

    syslogformat: the new protocol automatically falls back to the old format
    
    If the version field is missing, the new-style parser automatically
    falls back to the legacy format. Makes it easier to use command line
    utilities like pdbtool patternize, regardless of the file format.

commit 6361068d132c7f6946cfe8882f5b8a39656f80c4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 29 11:38:54 2010 +0200

    configure: added bison version check as syslog-ng now seems to require 2.4

commit a6fe7a48b94026c526085e190614c8826c89a8a6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 29 10:43:28 2010 +0200

    modules/afsocket: remove libafsocket.la on uninstall
    
    Reported-By: gcs@debian.hu

commit 465cd8e6235213c0f5884058dcb8cf85fc1ca061
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 29 10:39:59 2010 +0200

    cfg-lexer: make sure that only one cfg_set_version() is called
    
    As otherwise a lot of ugly warnings flood the display.

commit 6c546d131012ef843451e4d6dfd5f4ece027a3b0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 29 10:13:10 2010 +0200

    SCL: Don't load the pacctformat plugin unless the pacct snippet is used

commit 3c0f06470f3a34f0f2d4d5ca55526ced6583a93f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 28 15:12:11 2010 +0200

    test_patterndb_v2: fixed segmentation fault

commit 143cc2bf989c5bd99471616b2721e77b724c00af
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 28 15:11:58 2010 +0200

    patternize: code cleanup, decrease memory usage, remove leaks
    
    This is a larger patch doing many things at once:
      * adds a proper copyright header
      * use a global "cluster_tag_id" id, instead of passing the same value around
      * make ptz_load_file a global API to make it possible to load multiple files
      * remove explicit "number-of-elements" style parameters where
        the GPtrArray contains this information in its "len" member
      * removed ClusterData structure
      * added cluster_free function to properly free a Cluster instance,
        use this as destroy_notify callback for GHashTable containing
        cluster instances
      * don't leak the constructed "cluster_key" value in find_clusters_slct
      * don't move string values around in find_clusters_slct, but rather
        construct the value directly in cluster_key
      * don't allocate 3000 elements for Cluster->loglines, but rather start
        with 64 and grow as necessary
      * don't leak memory when merging results if multiple iterations
        are performed
      * don't iterate the hashtable to find out how many elements are there,
        use g_hash_table_size() instead.
      * don't leak the elements member of GPtrArray when freeing them
        in find_clusters()
      * don't add publisher, and class to generated rules. newer
        patterndb does not require those.
      * pdbtool should handle multiple input files the name of the file
        is passed either as positonal arguments or the -f option

commit 5b9f9d41a8ecb6852be3e34e113df188b9b38efd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 28 15:00:20 2010 +0200

    patternize: remove libuuid dependency
    
    Instead of relying on a Linux specific library, use a built-in, simple
    random based UUID generator to make it easier to compile syslog-ng.

commit 835f3951eacc3c7673659ab873a95a0a4cecb876
Merge: 794bb6c b704475
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 27 20:29:35 2010 +0200

    Merge patternize from git://git.balabit.hu/gyp/syslog-ng-3.2.git
    
    Conflicts:
    	modules/dbparser/Makefile.am

commit 794bb6c046e048fbea32fc1b30b820631090c1bf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 27 15:51:39 2010 +0200

    functest: use the syslog-ng binary from the syslog-ng directory instead of src

commit 948776e50991121b248160d5f7c43b2f74341c8e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 27 15:51:22 2010 +0200

    modules: don't use -module libtool option
    
    As it causes a libtool warning when linking the module explicitly to
    a program and it worked without that on all of our platforms anyway.

commit 65c93ecf84891b96156d0a40431071580c0d624e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 27 14:48:20 2010 +0200

    dbparser: added timeout handling to correllation

commit 11ae9e68930b3068af7e82ad28647c4614627389
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 27 14:47:39 2010 +0200

    dbparser: LogPatternDatabase constructor
    
    This patch changes LogPatternDatabase users to use a proper constructor
    instead of inline-allocating the structure embedded into another.
    
    The log_pattern_database_new() constructor will be able to allocate state
    properly.
    
    In a similar spirit, the free method was changed to actually free the instance.

commit 0f32bc1f71206a5d36dd37c850b4172c8ad70b66
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 27 14:43:31 2010 +0200

    syslogformat: fixed compilation warning related to the "construct" prototype

commit 1278c2968f879740a3795b703f55efcf6f0a11fc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 27 14:43:06 2010 +0200

    dbparser: added timerwheel implementation for correllation timers
    
    We need a lot of timers for correllation, basically each correllation
    state has its own timer. Calculating with 30k msg/sec means that we have
    roughly about 15k/sec timer addition and 15k/sec timer deletion
    during.
    
    Therefore it is important to use a timer mechanism that is as fast
    as possible. This implementation mimics the timerwheel mechanism of
    the Linux kernel.

commit b70447534af62eac051b87326df4e879a4670c78
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Sun Sep 26 12:27:06 2010 +0200

    patternize: fixed a memory leak

commit 54c50b6437ac07b47d0fefce2f420187984fe95e
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Sun Sep 26 12:21:17 2010 +0200

    patternize: fixed the prototype of ptz_find_clusters_slct() in the unit test

commit 966bcc73a3bc7990470efa3288ac3f7d270ce29a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 23 09:53:25 2010 +0200

    convertfuncs: fixed a typo in Makefile.am

commit a22180fd0a361b04d3ed216d3de03daf72303767
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Wed Sep 22 12:51:54 2010 +0200

    doc: fixed a trivial typo in pdbtool's man page

commit a10f831d3b7d4d6c14d1651ec9e61f8a0cc06ca2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 22 10:34:10 2010 +0200

    filters: make it possible to use compare operators
    
    This patch adds support for '>', '>=', etc for numeric comparisons and
    gt, ge, etc for string comparisons.

commit 14e665668735202ca4018072272c5fb25d68e513
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Tue Sep 21 17:08:21 2010 +0200

    patternize: added --samples option to control the number of examples for a pattern

commit f40e9c1091d80a420d7cb95e89452c8cbd592193
Author: Balint Kovacs <blint@balabit.hu>
Date:   Tue Sep 21 13:48:31 2010 +0200

    patternize: moved the included sample string to the <examples> subtree

commit 309c00f697c9aa73c09f25f37aee2d5631e3bce1
Author: Balint Kovacs <blint@balabit.hu>
Date:   Tue Sep 21 13:06:56 2010 +0200

    patternize: fixed missing check on the input file parameter

commit cdc47d92a1275397d2f6e7ef5aa59d328ec933cc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 17:19:55 2010 +0200

    afsql: fix port() option
    
    The port() option was passed to libdbi as a string option which libdbi
    interpreted as 0 (e.g.  default port) This patch fixes that.
    
    Reported-By: LEBRETON Philippe

commit 70e91556b6af8724334443347fd6488745405344
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 17:12:27 2010 +0200

    convertfuncs: new plugin to contain conversion template functions
    
    The plugin now only contains ipv4-to-int which converts an IPv4 address
    to a long integer.

commit f575dbb26290b92fc27f23e01811166f0e124c4c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 17:06:28 2010 +0200

    test_template: restructured, move 3.2 expansion to the front
    
    and testcases for older config versions to the back of the testcase.

commit 384b6d964a0348a98dfcda75f59222ac343d32c5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 16:29:25 2010 +0200

    lexer: add include-path to include-file-not-found error message

commit 9d07e274bdf2ba00b0e697a13299140f4bf04ed3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 15:54:37 2010 +0200

    db-parser: initial support for simple message correllation
    
    This feature is not yet complete, will probably leak memory, but if not leak
    will probably use a _lot_ of memory, but still makes it possible to use
    simple log event correllation for those who want it.

commit 6ad2ab2db7eeac67ba457107d2506fcfa913dde5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 15:48:56 2010 +0200

    basicfuncs: new plugin to implement some basic template functions (echo, if, grep)

commit ff9a7e7f90397d3742231cb68320448dec69b460
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 15:52:02 2010 +0200

    templates: rework the template function system to allow more complex functions & message contexts
    
    This patch changes the template function system to allow:
      1) function specific preprocessing and evaluation rules
      2) support for multiple messages as context
    
    The first one makes it possible to create $(if cond) function where cond
    is not a template but rather a syslog-ng filter.
    
    The second makes it possible to reference name-value pairs for messages
    other than the current one, used when correllating events.

commit d9c3bdbd85819d662439feb12956a68343df83ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 15:39:36 2010 +0200

    LogTemplateOptions: refactor template formatting options into a single structure
    
    Also use the global settings in templates where the options cannot be
    specified (for example frac_digits) etc.

commit a15ac6a341c890ddc769a1f4d10f6c0bebc309ec
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Mon Sep 20 15:22:33 2010 +0200

    pdbtool: added patternize support
    
    NOTE: this commit is a merge of multiple patches from
    git://git.balabit.hu//var/local/git/gyp/syslog-ng-3.1.git
    
    Due to the plugin-based refactoring it'd have been too problematic to
    keep the original commits. Authors of the original patches include Viktor
    Tusa, Balint Kovacs and Peter Gyongyosi.
    
    The following commits have been merged into this patch:
    
    65db0e320cd68fa2d837bf95dc079cf38608444e [patternize] initial commit of the automatic pattern generator utility
    ff91a81ccad3e889d8f2019d0ae18e7e6e839ae1 [patternize] avoid a double free of a GPtrArray in iteration mode
    d23b3b9c4f52eb3ff175cd70a1ed6cbf05f84c1b [patternize] add a default support treshold value of 4.0
    5069d4f3474302f954253ed42dcdb5564a6df030 [patternize] using a nonprintable separator char instead of "|" to avoid problems with logs containing "|"
    0cc0f67500f994fea19dac5280fbdd0ec7ccfe4e [patternize] fixed a typo in patternize command line help
    61618c0cfb6264a7d40c72ce6132632230317719 [patternize] added the option to name the parsers in the patterns
    bbbe099b6f419e64bc702d9f7bc24a8c28c4d786 [patternize] removed some unused variables
    8dd022d882aa45064d54da564028a6699ed28fb8 [patternize] eliminated the compile-time warnings in patternize.c
    f38e982b498a8614fa802abef5c7fbf050f6bb27 [patternize] added support for reading the logfile from standard input
    1305cf82088c6245afb98f618a2517aa5bfbe219 [patternize] escape literal "@"s in rules
    58b7688c903f5a16530e9799ac811a751801fc3e [patternize] escape special characters in the XML output

commit 249977b4b23e557679e045fca4c3090a003ec61e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 14:24:02 2010 +0200

    Removed the deprecated use_time_recvd() option.
    
    This has been deprecated for years and kept back an
    important refactorization (the LogTemplateOptions which is in a followup
    patch).

commit cf888996a1ad9aa6119da5ddc4e3f825bb8d671b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 20 14:14:41 2010 +0200

    afsql: don't require an unreleased libdbi version

commit c913bd84653defce772f901c8d4415ee946c9281
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Mon Sep 20 14:12:29 2010 +0200

    messages: added msg_progress macro
    
    This macro works just like msg_info, but prepends the message with a timestamp.
    It is useful in interactive tools (such as pdbtool) to provide a feedback for
    the user when something takes a long time to complete.

commit 9c3b1a49a00b0af0da3a2867739bf16a7aa02fd7
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Mon Sep 20 13:33:42 2010 +0200

    patterndb: fixed a comment typo in pdb v3 xsd

commit ebc65faf7e076da61bb7a1d152ce44c68713cc2e
Author: Peter Gyongyosi <gyp@balabit.hu>
Date:   Sun Nov 1 02:27:23 2009 +0100

    added eclipse-related things to gitignore

commit d5ed039024efe290143066d7a6b13aec8652f4b9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 16 13:18:16 2010 +0200

    dbparser: move all patterndb tag/nv pair processing into logpatterns
    
    Instead of returning information in LogDBResult, move all processing
    into the patterndb lookup path, which simplifies the test programs
    and makes them more reliable by using the same code path as
    syslog-ng itself.

commit 63feb5aaca22f29b0ea023393bc037e603931d75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 16 09:50:04 2010 +0200

    db-parser: make it possible to use multiple application name patterns

commit d3104894be40e122f0714b78ae47436ab7bf4186
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 16 09:49:12 2010 +0200

    db-parser: automatically assign tags to classified messages
    
    Until now the "class" attribute in a patterndb rule only associated a
    name-value pair to the message (.classifier.class), with this change
    we also associate a tag named '.classifier.<class>' to make it easier
    and faster to match against the class of a message in filter expressions.
    
    Also, this patch makes the class attribute optional, in which case
    it defaults to "system".

commit 0e4d3acb87482024591d9d9dca6d0087cf1789d6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 16 09:45:53 2010 +0200

    pdbtool: fixed segfault when the patterndb fails to load

commit 3bdd3ca8ca4100ed20571a216d4490741c30e2d2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 16 09:45:34 2010 +0200

    db-parser: follow up LogTagId change, fixes tagging in db-parser()

commit 9aca29d70716a18942a7ffebdaf2722a7f68277e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 16 09:44:15 2010 +0200

    pdbtool: use datadir instead of datarootdir for xsd paths

commit aa519435accb17b4c7921955ff7538d3e96da119
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 15 10:45:00 2010 +0200

    configure: don't create static libs
    
    As it seems AC_DISABLE_STATIC is not enough, pass 'disable-static' to
    LT_INIT which seems to do the trick.

commit e8343ee37692e82125f401c79eeb845876608a16
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 15 10:44:35 2010 +0200

    SCL should be installed under datadir instead of datarootdir
    
    This patch adjusts the paths to be relative to datadir, this way it is
    possible to install syslog-ng in / and put SCL into /usr/share/syslog-ng
     (instead of /share/syslog-ng which doesn't usually exist).

commit f437439a9c28555271b1298eeaf6e962ec626cc1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 15 10:43:22 2010 +0200

    use -avoid-version for modules
    
    Since these are not publicly installed shared objects we
    don't need versioning. SUSE rpmlint complains otherwise.
    
    Reported-By: Peter Czanik

commit 0c17271d47cd70ae50cb292a2fe13f3a7b476f32
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 12 08:28:34 2010 +0200

    configure.in: fix mixed linking and cleaned up configure.in contents
    
    This patch overhauls configure.in a little to make it more readable and
    also fixes mixed linking while completely wiping out static linking (which
    wouldn't work together with plugins, right?)

commit b9d59b71016f0efa15a478fc658f1a747f5272e5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 11 17:44:25 2010 +0200

    cfg-lexer: added missing "template-func" context to lexer-contexts[]
    
    which fixes a failed assertion.

commit af82037eaa8b3daf183b092fd3951f393c5591c8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 9 17:17:04 2010 +0200

    Makefile.am: include m4 macros in the distributed tarball

commit ee1d0d7f0720c3ded0d2bfaf22ca6e42d669b7a6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 9 13:48:42 2010 +0200

    separate directory hierarchy into lib/, modules/ and syslog-ng/
    
    It was more and more cumbersome to compile syslog-ng during development, since
    a core change always recompiled (or just relinked) the modules as well
    even when that was not strictly necessary. (make install in src/)
    
    This patch reorganizes the directory hierarchy, lib is where the core lives
    modules where plugins are and syslog-ng is where the main program resides.

commit c4ca6bd5cd5087ae8a6f3710c732100727f1844a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 9 13:12:04 2010 +0200

    implement template function plugins
    
    This patch implements plugins for template functions and creates a place
    for functions that are provided by the core.

commit d884939e546e57ff42754b51c083732a23befd5c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 9 13:09:37 2010 +0200

    unit tests: use a properly initialized GlobalConfig instance
    
    Instead of using a dummy one.

commit 33f55ca243eb68dad353c8c47be7c0bc6df6c380
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 9 11:01:26 2010 +0200

    pdbtool: make it possible to load plugins from the command line
    
    Since template functions are used by the patterndb and those can reside in
    plugins it may be needed to load plugins before doing pattern recognition.

commit 86233eb1de15c913dd4661aa810346b1c569d724
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 9 10:59:54 2010 +0200

    templates: pass the GlobalConfig instance to templates
    
    Since templates will need the configuration instance in order to resolve
    template functions we need to pass them this information.

commit 17fd4fa0dc7ebb5ff30ed9e0a4ed38f8dca0d636
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 9 10:11:47 2010 +0200

    template-functions: implement $() syntax in templates
    
    The new $(func arg1 arg2 arg3) can be used to transform the contents of
    a macro-expression to a different value at expansion time.

commit bb18e484eb9defe177e1af9302481f27f45f72fc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 5 12:48:58 2010 +0200

    tags: introduce LogTagId type
    
    Instead of open-coding "guint" everywhere, use an explicit type and change
    it to guint16.

commit 016e589853aa1447f037344c09f722bdc14574d4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 3 20:40:48 2010 +0200

    pdbtool merge: added recursive merging and glob pattern support
    
    This patch implements support for recursive patterndb directories and an
    option to specify a glob-like pattern to select which files to include.
    
    The default update-patterndb script was modified to use these options and
    to do the sane thing.

commit 3e59a105ee55523669f76c9e0874cef6e102b6cb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 3 20:08:14 2010 +0200

    pdbtool: fixed possible infinite loop if a patterndb sample has no command or program name

commit 08bebc2ac9df270a0acece10cd05c2657da18637
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 15 08:04:50 2010 +0200

    pdbtool test: added validation support
    
    This also changes the pdbtool command line to expect pdb files as
    positional arguments instead of options.

commit e732cb39259b60b4b1f09183ba0b380f328b73f3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Aug 12 10:04:42 2010 +0200

    remove patterndb-4.xsd
    
    it is not yet needed and it was not commited on purpose.

commit 0703daba1c354bdb92b4e7f8bbebfa5c0c31050c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 7 17:20:00 2010 +0200

    preparations for 3.2alpha2

commit 5f1121a198c03334bb16d30edab84cbc62f8a555
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 21:36:47 2010 +0200

    syslog-ng.conf: added internal() source
    
    It was somehow missed.

commit 20c5b7131b9d2e488469c2ce7955c92e411947eb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 21:36:31 2010 +0200

    cfg-lex.l: use the same \o123 syntax for octal numbers embedded in strings

commit 3e188ee64804b10e92a75d832ac7ebaeb271a39c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 20:54:48 2010 +0200

    pacctformat: use ".pacct" prefix again

commit d4c72ca3a41c3d6f5ca56fb66cb511da6c1c8383
Merge: 9ef35ed f308d2f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 16:06:56 2010 +0200

    Merge remote branch '3.1-local/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	src/logparser.c
    	src/logparser.h
    	tests/unit/test_csvparser.c

commit f308d2f7a63edc117d9f70c03770183ccb1f1370
Merge: 8bf13c3 79de86e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 14:24:50 2010 +0200

    Merge remote branch '3.0/master'

commit 79de86eb23f7ca06cfe8abd1ebfcd72c419bd2cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 13:36:21 2010 +0200

    mark_freq: fixed 100% CPU usage when mark_freq() is changed to 0 during a SIGHUP
    
    If mark_freq() is set to 0 from a non-zero value and syslog-ng receives
    a SIGHUP, it started spinning and emitting MARK messages like crazy.
    
    This patch reinitializes the next_mark_target variable on SIGHUP which causes
    it to behave normally.
    
    Reported-By: Yann Ilas, Marius Tomaschewski

commit f8a8ae5ba67a4add7ed8905fba7c2118d4349b5d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 13:49:59 2010 +0200

    csvparser: remove the need to explicitly specify an escaping mode
    
    csvparser will not default to escape-none if it is not specified explicitly.

commit 9ef35ede5beefff0004916b28230c63f83dcc83b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 13:36:21 2010 +0200

    mark_freq: fixed 100% CPU usage when mark_freq() is changed to 0 during a SIGHUP
    
    If mark_freq() is set to 0 from a non-zero value and syslog-ng receives
    a SIGHUP, it started spinning and emitting MARK messages like crazy.
    
    This patch reinitializes the next_mark_target variable on SIGHUP which causes
    it to behave normally.
    
    Reported-By: Yann Ilas, Marius Tomaschewski

commit 114842158f557b397ce02fe5385a503267b41699
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 06:25:43 2010 +0200

    plugin: use the global module_path variable as a fallback instead of the compiled default
    
    Instead of PATH_MODULEDIR, use the global module_path, which defaults to
    PATH_MODULEDIR, but can be changed (with the --module-path parameter).

commit 3653d50d9c561ac063e68665f5d81ba9cf1e59f0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 06:24:28 2010 +0200

    func_test: wait 5 seconds for syslog-ng startup
    
    AIX needs more time in OSE 3.2

commit 660c5a1d5e2380fc24834ef850f4ada319cd5f21
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 06:23:57 2010 +0200

    test_resolve_pwgr: use a group that exists on AIX too

commit 4925812c9670e95c5da48b885714cfa6d5de09bd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 06:23:40 2010 +0200

    csvparser: fixed compilation warning about undeclared csvparser_lex

commit be66f9d95fd0ce97492e905f3ed5c671b94f6c5d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Aug 6 06:18:25 2010 +0200

    AIX: fixed linking problems on AIX
    
    AIX has an arcane linker, which behaves slightly differently from other
    UNIXes. Since syslog-ng became plugin based, this broke AIX support, which
    this patch hopefully restores.
    
    The changes required were:
      * all modules have to link against libsyslog-ng.la explicitly,
        the reference through the main program is not enough
      * all programs have to link against all @DEPS_LIBS@, the reference through
        libsyslog-ng.la is not enough
      * the runtime-linker must be enabled (-Wl,-brtl)

commit 90a8afb22de8c31d9fe14b6cd5e649fb98f8d823
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 3 14:38:44 2010 +0200

    pdbtool match: added an empty line between name-value pairs of a single message

commit 9f8651bad14a38a73c6edd247a5b4053bb47575a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 3 14:38:20 2010 +0200

    main: fixed compilation problem if ENABLE_SUN_DOOR_MODULE is not defined

commit bb3ab007ebfb4f66fa4cec0658382092c9f65392
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 3 14:13:27 2010 +0200

    pdbtool test: fixed possible NULL derefs in case no example is supplied

commit 64169292ac247fb493b74951af54e82d00ddf4b4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 3 14:07:13 2010 +0200

    pdbtool: whitespace fixes

commit f0721979fda3ab601b615e089fb64c2d6dea5307
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 3 14:07:07 2010 +0200

    pdbtool match: fixed possible NULL deref in case --debug-pattern is specified

commit 105f3008066bbf1ed3256b77aff1e8309e219244
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 3 12:55:19 2010 +0200

    afstreams: use LogProtoDGramServer instead of the old LogProtoPlainServer
    
    This patch follows up the refactoring of LogProto modularization which
    was missed last time as no Solaris compilation took place. But better late
    than never.

commit 01f3ce7052089b98ce76ea40725fc7c327349893
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 3 12:54:33 2010 +0200

    afstreams: fix door compilation issue
    
    This patch also removes the explicit --enable-door argument, it is always
    compiled in when STREAMS support is enabled and door.h is detected.

commit 8bf13c304b6ab5fc1a372b49d55c78370efe14ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 2 17:26:10 2010 +0200

    preparations for 3.1.2

commit f41cab6e4d4d2b1f1f14bd826fd0393624d45b94
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:17:39 2010 +0200

    tgz2build/rules: reenable make check

commit d280ea5be34f05434b4879c760f8939c577aefb1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:16:52 2010 +0200

    func_test: use --module-path parameter to make syslog-ng run from the build directory
    
    This patch finally solves the problem of running "make check" when syslog-ng
    is not yet installed.

commit 5a2dc516e68d265ac4a26bfebaa2946018135ac8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:17:23 2010 +0200

    afsocket: create libafsocket.la in the build directory as well
    
    In order to make it possible to run the func_test in the build dir.

commit 62714f9ca53cf6eb8fd26f5a03ae2707f5bd7906
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:14:49 2010 +0200

    LogMessage: fixed NULL deref in case the format handler module is not available

commit 638f377478ff99f6391c8e75a132e0c213bb7773
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:13:23 2010 +0200

    main: make it possible to configure the module-path variable from the command-line
    
    This patch adds a --module-path command line variable, which lets you
    override the compiled in value.

commit 9c2e282ec6409e879d963c423809a4f7445b2078
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:10:16 2010 +0200

    plugins: make it possible to link a module directly into the executable
    
    With this change, it is possible to link a module directly into the main
    executable. This is used for example with unit test programs, but would also
    make it possible to create a statically linked syslog-ng binary.
    
    The only change in the modules is that the name of the init function has
    changed, from "syslogng_module_init()" to a module specific function:
    "<modulename>_module_init()".

commit a773b503619f8f2aa00bf8f527d9844af780b913
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:04:45 2010 +0200

    configure: plugindir renamed to moduledir
    
    A module may contain multiple plugins, thus it is not correct to use the
    term "plugindir", "moduledir" fits better. This is also more consistent
    with the global variable "module-path".

commit 6477051f0eca34cc1521f6548ae9bd3a2a7f8218
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 29 10:16:52 2010 +0200

    configure: use local "m4" directory
    
    This avoids a warning at automake time and includes libtool
    macros in the package.

commit 850b734f8e6bbdcbcec62c25eabea253dffbf47e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 31 15:14:03 2010 +0200

    unit tests: update test_patterndb_v[23] to work with the changed API

commit 00cc47a0d34fcabc1e38e26882866f486fa7eb9e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 29 10:13:30 2010 +0200

    pacct: use "pacct" as value prefix for process accounting name-value pairs

commit e6318c7cb13335c7cfcac36b5babc47e28ff6f60
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 29 10:13:01 2010 +0200

    pacctformat: make compilation configure dependant, disable by default
    
    This module is not enabled by default as it doesn't compile on all supported
    platforms yet.
    
    Use the --enable-pacct configure option to enable it.

commit b3f4c03473a0f77bf7d87abf3f00b46e035bbbe8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 29 09:59:53 2010 +0200

    rewrite: implement condition() option for rewrite expressions
    
    This patch implements condition() option for rewrite expression, which
    makes it possible to only apply a given reply rule if the
    message matches the filter.
    
    For example:
    
    	set("something new" condition(facility(auth)));

commit aeab9e22207cb7700a0e0cfb359e2f1adc221301
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 29 09:57:28 2010 +0200

    logrewrite: cleaned up naming of subst specific methods
    
    Also, the type() and flags() options were processed for set as well, where
    they do not make sense.

commit f059e7202c8709966e0559273ebd2f54d9d38508
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 28 11:28:08 2010 +0200

    afsql: added "dont-create-tables" flag
    
    This patch adds a dont-create-tables flag to the SQL destination to inhibit
    automatic table creation.

commit fb5c1444177e520124d578049dd53546faeaeb7c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 28 09:58:10 2010 +0200

    cfg: report too new config versions as well

commit 021ca88602ea04628ad426923215aeb7adfae8a3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 28 09:57:53 2010 +0200

    cfg-grammar: save the original formatting of LL_NUMBER/LL_FLOAT tokens
    
    Previously such tokens were reformatted in the case of the "string_or_number"
    rule, causing problems when the version number in the @version directive was
    parsed as 3.20 instead of 3.2.

commit 52a74c9a9b54adfa2186e7b48d80e35fef177999
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 26 17:35:07 2010 +0200

    pdbtool match: fixed glib warning at exit

commit 1e9efc2facab0f942b530d412e9394d9a2e708d0
Author: Marton Illes <marci@balabit.hu>
Date:   Mon Jul 26 15:33:26 2010 +0200

    pdbtool: added test command
    
    This patch implements "pdbtool test" a command to evaluate the test
    patterns associated with patterndb rules.

commit 39e7ad6f31484e43af1b1ce1cefa9b35ffe270e9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 26 15:28:01 2010 +0200

    fixed compiler warnings on FreeBSD
    
    
    persist-state.c: In function `persist_state_load_v4':
    persist-state.c:546: warning: long unsigned int format, int arg (arg 3)
    
    cfg-grammar.y: In function `main_parse':
    cfg-grammar.y:385: warning: null format string
    cfg-grammar.y:393: warning: null format string
    cfg-grammar.y:399: warning: null format string
    
    block-ref-grammar.y: In function `block_ref_parse':
    block-ref-grammar.y:307: warning: implicit declaration of function `strdup'
    
    pragma-grammar.y: In function `__process_version_string':
    pragma-grammar.y:286: warning: implicit declaration of function `strchr'
    pragma-grammar.y: In function `pragma_parse':
    pragma-grammar.y:374: warning: implicit declaration of function `strdup'
    
    rewrite-expr-grammar.y: In function `rewrite_expr_parse':
    rewrite-expr-grammar.y:364: warning: implicit declaration of function `strcmp'
    
    csvparser-grammar.c:2697: warning: implicit declaration of function `csvparser_lex'
    csvparser-grammar.y:314: warning: implicit declaration of function `csvparser_error'

commit 66d916210541f6bb509afc1531be54d43937232e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 26 14:33:13 2010 +0200

    contrib: updated openbsd configuration file
    
    This patch adds an OpenBSD compatible default configuration file for syslog-ng.
    
    Reported-By: Steven Mestdagh

commit d6fbea2ec5d67492f6a9ec632564390bf0964265
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 20 11:14:09 2010 +0200

    pdbtool: make it possible to read/process an existing log file
    
    This patch adds the -f (or --file) option to pdbtool along with --filter
    that produces a patterndb aware grep on steroids.
    
    This command line produces a CSV output of login failure events, getting
    information from an existing logfile, using patterns from a patterndb
    ruleset file:
    
    pdbtool match -p access/sshd.pdb \
                  --file ~/tmp/logfile \
                  --filter 'tags("usracct") and match('REJECT' type(string) value("secevt.verdict"));' \
                  --template '${usracct.type};${secevt.verdict};${usracct.username}\n'

commit df8ac88550c0bffc56097f5376233aacef43a383
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 20 11:04:42 2010 +0200

    cfg: make it possible to create a config-file-less GlobalConfig instance
    
    Sometimes no configuration is parsed, but the syslog-ng library code
    requires a GlobalConfig instance. This patch makes that possible,
    reading the configuration file itself has been put into a separate
    cfg_read_config() function.

commit 744ff8647e65730553b5560c2baa802c09f43fd2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 20 11:02:42 2010 +0200

    filter-expr-parser: added missing keywords
    
    In order to make the filter parser usable outside of the config file
    context, its keyword list must be complete with all keywords
    that can be used inside a filter expression.
    
    This patch adds "tags", "type", "value" and "flags" keywords that were
    previously inherited from the main parser.

commit bf1437d5834890807cb9a341f06e6718843f810a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 20 10:13:52 2010 +0200

    cfg-lexer: fixed a memory leak
    
    This patch fixes a memory leak in the lexer, some of the state wasn't freed
    properly.

commit a9ddb27de735f8a18b86de66a5f29252390ca83a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 20 10:13:00 2010 +0200

    cfg-lexer: make it possible to run the lexer from a memory area instead of a file
    
    In order to make it possible to parse strings the lexer must be extended
    to support lex analysis from strings. This patch implements that.

commit 1cd5dbb7da15cb3ee0f97dd7ee14030f6546442d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 20 10:10:52 2010 +0200

    log_msg_global_deinit: new function to destroy global LogMessage state
    
    This function can be used to deinitialize the LogMessage state, to be used
    by pdbtool. This patch makes it easier to check for memory leaks.

commit 684449e86e19e5dda5804fed77632c414b5ebc1d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 20 10:09:26 2010 +0200

    logmsg: added _clear method
    
    log_msg_clear() resets the LogMessage structure to an empty state, while
    keeping reusable memory allocated in order to reuse the LogMessage
    structure. This decreases the burden on the memory allocator.

commit 42c842c5415bfbbd4d0ca804740735b39715b4e1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 15 16:12:09 2010 +0200

    fixed signedness problem when producing the debug info with relative offsets
    
    The debug info contains a 32 bit number whereas the match structure contains
    16 bits only.  Since there can be negative numbers at the moment the parser
    returns its value (to indicate relative length/offsets), operations on 16
    bit values "properly" overflow but the 32 bit value in RDebugInfo doesn't,
    which causes invalid output produced from pdbtool.

commit 830232d3421837af772006bd8f13ea87a7eb4313
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 22:04:24 2010 +0200

    fixed makefile issues

commit 88b0951bb84fda2b9d39b60fc426191d6c69af54
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 21:28:00 2010 +0200

    comment out make check from the build process
    
    This patch removes "make check" from the build process as it'd require make
    install prior it could run as the unit tests need functional plugins.

commit cb9bdff2e25359928a60e9f17d691f3191555553
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 21:26:50 2010 +0200

    preparations for 3.2alpha1 release

commit 2335e2ca0c1afe2d6c343e9bcf7356ad096b7055
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 20:24:03 2010 +0200

    cfg_lexer_subst_args: fixed compilation warning about uninitialized variable

commit 71dbdc05d94aaa3b639eabf29e89c524a4ec8e75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 20:23:46 2010 +0200

    make sure everything is in the dist tarball needed to recompile the package

commit 26b00a7f6c9f3bf77f9c3de2d963f1c67270cbad
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 20:22:48 2010 +0200

    fixed linker error in non-debug mode
    
    ./.libs/libsyslog-ng.so: undefined reference to `pragma_debug'
    ./.libs/libsyslog-ng.so: undefined reference to `block_ref_debug'
    ./.libs/libsyslog-ng.so: undefined reference to `rewrite_expr_debug'
    ./.libs/libsyslog-ng.so: undefined reference to `parser_expr_debug'
    ./.libs/libsyslog-ng.so: undefined reference to `filter_expr_debug'
    ./.libs/libsyslog-ng.so: undefined reference to `main_debug'

commit 60b6bffc5e1fa915a6ad2318ce62ed39c5de6c58
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 18:57:06 2010 +0200

    relicense syslog-ng to a combination of GPL/LGPL

commit fc10d0b006a128c7d3dbab4facd1fc5431dad326
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 10:50:35 2010 +0200

    pacctformat: a new plugin to handle Process Accounting files
    
    This plugin makes it possible to read/follow process accounting
    files on Linux.

commit c9dbb50c4790da11f0f33577853154e57b2f1d1b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 10:50:06 2010 +0200

    msg-format: make it possible for a format plugin to specify a factory for LogProto
    
    Some format plugins (notably the upcoming pacct) will possibly need a
    custom LogProto instance when reading binary file formats. This
    patch adds a construct_proto() virtual function to the MsgFormatHandler
    class for exactly this purpose.
    
    NOTE: this callback only works for file sources as of now, but may change in
    the future.

commit b106b2b29c100804980c9e24a7cb488bbfe2ddd1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 10:41:21 2010 +0200

    update unit test programs to run with latest syslog-format plugin changes

commit c26c2333deb7adb7cb189ce1b9c94643f5265e1d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 13 23:05:48 2010 +0200

    syslogformat: new plugin which handles "syslog" style message format
    
    This is the current message format as supported by syslog-ng, now loadable
    from an external plugin.

commit 5d68fe36796f05804ed503ce6f84489110391a48
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 13 16:44:27 2010 +0200

    msg-format: new API for message format plugins
    
    This is a preparatory step for message format plugins. Configurable options
    are delegated to a format-independent MsgFormatOptions structure, now
    only containing the syslog format options.

commit efe1d3b09b7a771744f80e2e61b9898db516e136
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 10:43:28 2010 +0200

    cfg-lexer: fixed variable substitutions inside block contents

commit 6d657afc0333186a8c311d611725b9729f66ead4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 13 16:39:49 2010 +0200

    plugin: rename plugin_new_instance to plugin_parse_config
    
    This patch also introduces plugin_construct() API for plugins which do not
    have configuration input.
    
    This is a preparatory step to introduce message format plugins.

commit e60d01601e64639e6a35c0012bd75619fb29633e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 10:42:57 2010 +0200

    center: fixed log message about "unresolved destination"
    
    It used the term "filter" for destinations mistakenly which made it
    difficult to understand.

commit 55380122e9366e1294dcf125e5e7e72242ae0b93
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 14 10:44:42 2010 +0200

    LogReader: schedule an immediate check of the input file if the complete fetch-limit sized block could be read

commit 150a39e4749027902388fad3ce976a3f990f6b4c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 13 09:52:32 2010 +0200

    LogProto: split LogProtoPlainServer into a set of smaller classes
    
    This patch tries to remove the large number of conditionals from the
    LogProtoPlainServer implementation by splitting it to a set of smaller
    classes, each with a better defined function.
    
    The aim for this patch is to make it easier to support binary file
    formats (like process accounting files).

commit 2255afb8219da0b65030afb618ef525e39d37fa7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 26 13:21:52 2010 +0200

    LogProtoFileReader: new LogProto class that remembers file positions in PersistState
    
    This patch is quite complex and is the most important part of the
    atomic file position updates function.
    
    First of all, it separates LogProtoPlainServer state into a separate
    structure, in order to make it possible to store in plain memory (sockets)
    or in the PersistState file. This state information represents everything
    that is needed to reopen the file exactly at the current position.
    
    NOTE that it is not generally possible to ensure that two independent
    memory accesses will survive a crash/asynchronous signal, thus it is
    possible to kill syslog-ng right in the middle of such a state update
    operation. However memory accesses were ordered to ensure that in this
    case no message loss occurs, rather syslog-ng will duplicate messages.
    
    This generally means that internal buffer positions are set to 0 _before_
    updating the file position. If syslog-ng crashes before the file position
    gets updated, then the old buffer will be sent twice (since buffer_pos is
    0, while file_pos still refers to the old buffer).
    
    Second, this patch reorganizes state load/save/reset into a simple
    restart_with_state method, that allocates the state, restores the file
    position and lets the syslog-ng core and the kernel to do the rest
    by storing variables in an mmapped memory region.
    
    Third, the persistent state allocation and old persist file conversion
    functions are moved to a separate LogProtoFileReader class, which is
    basically a LogProtoPlainServer but ensuring that state is in PersistState.
    
    Fourth, this patch changes affile.c to use this infrastructure, thereby
    completing the 'atomic-file-position-updates' functionality.

commit dc7d07b5881c4f6c94e6f747f4a44779d42b1d20
Merge: 836be62 c88009f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 9 11:27:07 2010 +0200

    Merge remote branch '3.0/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	src/logparser.c

commit c88009fc97b5014e330ecc8ead747691a05b7e97
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 9 10:26:06 2010 +0200

    preparations for 3.0.8

commit 6d1ce4e5bdb517941235f059b556fb6dc9d45363
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 9 10:25:31 2010 +0200

    csv-parser: fixed drop-invalid handling
    
    drop-invalid was not handled properly and caused valid messages
    to be dropped.
    
    The parser drops messages if:
      * not all columns are processed
      * there are leftover characters at the end of the parsing
    
    Greedy columns can be empty though.
    
    Testcases were extended to hopefully cover all cases now.
    
    Reported-By: andrewn at locus.net

commit 836be625d8ab1cfcbf26069bc9cb7b2f083d3fdf
Merge: 89fecc1 9c2c2be
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 6 18:00:33 2010 +0200

    Merge remote branch '3.0/master'
    
    Conflicts:
    	src/logparser.c
    	tests/unit/test_csvparser.c
    	tests/unit/test_template_speed.c

commit 89fecc1529fce074b5339be334f7ab0425bf8b82
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jul 3 12:37:13 2010 +0200

    pdbtool: added setlocale in order to accept accented characters in the command line

commit c6bca8d0643a4e1d31ef378546a43115ebefe4f6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 19 20:55:52 2010 +0200

    LogProto: added queued method
    
    The new queued method indicates that the last message fetched
    got successfully queued to the destination FIFO. This is going
    to be used as a feedback when recording the current file position.
    
    e.g. if the message gets lost while being delivered to the destination
    queue because of a crash, it will be resent again because the current
    file position is not recorded in the persistent state until queued is
    called.

commit bf4d37faa2b02e74080f7516a452650284c6dc50
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 26 13:10:10 2010 +0200

    tests/unit/Makefile.am corrections for dynamic linking

commit ffee9e91ed40310ae93535e584e748bb0e458a94
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 26 13:02:04 2010 +0200

    csvparser: fixed plugin conversion omissions
    
    Some constructs were improperly copied when csvparser was converted to
    a plugin, this patch fixes those.

commit 4df92033467bd1bfb1d0fce64f333d21015973e9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 26 13:01:00 2010 +0200

    cfg: added PersistState object to the configuration

commit bd027376f4a7702623769d0da60446f78c4942df
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 26 12:56:46 2010 +0200

    persist-state: new module which implements mmap-ed storage of key-value pairs
    
    This is the basis of the new state-recording mechanism that works even
    if syslog-ng crashes in the middle.
    
    This is going to be used for tracking file positions and the queue file
    names for disk buffered destinations.

commit 9c2c2be8b95add3789a91cec25ea92a3bd6ceedb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 30 17:41:06 2010 +0200

    logwriter: fix memory leak if the suppressed message doesn't fit into the queue
    
    In case a suppressed message couldn't be inserted into the destination FIFO,
    it was leaked. This patch correctly disposes of the message in this case.
    
    Reported-By: Andy Kitchingman

commit 674a569c470dd01435c044c4b26ce4afe000d3fa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 29 17:41:57 2010 +0200

    test_template_speed: decrease the number of iterations
    
    in order to make the unit test go faster.

commit b6ff55b0955cfe285ac7afe2063f832daed078a9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 29 17:41:36 2010 +0200

    csv-parser: fixed greedy + drop-invalid combination
    
    greedy & drop-invalid never really worked well in combination, if they both
    were specified, the message always got rejected. This patch fixes this
    issue.

commit 4dd3134944e8e175deda47752b698c9026f2da01
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 26 06:52:17 2010 +0200

    remove support for "surviving" entries in PersistentConfig
    
    This is a preparation step to migrate to using the new
    PersistState framework. This patch doesn't work on its own, it merely
    contains trivial changes so that the more complex upcoming one is
    more readable.

commit 6be52375905b2a50fc6b3153eb423fcdebde0334
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 25 20:28:40 2010 +0200

    serialize: fixed potential GError leak in SerializeArchive

commit 3e6a337301b46bd58036b3307e02f9bf4e94e62e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 25 20:27:45 2010 +0200

    serialize: added SerializeBuffer archive
    
    SerializeBuffer is similar to the SerializeString, but instead of storing
    the stream in a GString instance, it stores it in a preallocated buffer.

commit 0d19036c44501cfb4977bd627cffd2108879a543
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 17:47:35 2010 +0200

    csvparser: white space cleanup

commit 4aecb1fb1219b33fddb4c564ed47c9fd8ec9e05f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 17:46:51 2010 +0200

    csvparser: separate functionality to a new module

commit 745586b4b3b312bd963f7f639cb65d122953063e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 17:28:57 2010 +0200

    dbparser: removed white space from end-of-lines

commit 34272baaa9cc299a92e8fa026db7f22fe4d9e873
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 17:27:51 2010 +0200

    dbparser: move to a separate plugin

commit 1cdf31c98da152e54f9d726735e422b7d0aa73a5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 17:25:05 2010 +0200

    func_test: use 3.2 config version

commit 04e040af1605ad6b885d6064599b1767ac6802e3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 11:05:02 2010 +0200

    afuser: move to a separate module

commit 9ad87585748027cb5dca9fe8e4c28869e69dd4c4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 10:46:51 2010 +0200

    afprog: move the functionality to a separate plugin

commit ee2945e6bbc335b7d3aeea758dda2629e2a6bba5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 10:44:49 2010 +0200

    Makefile: make libsyslog-ng a shared library
    
    Instead of using a non-installed static library, create an installed shared
    library. This change is needed because some of the core functionality is
    only used by plugins. Plugins do not link directly against libsyslog-ng.a,
    rather they only link against the main program. Since without
    a reference contents of the .a file get only linked partially, some plugins
    were rendered unusable, as the required functions were not linked
    into the main program.

commit 7c23835c397d8fea0ad34b7e1a27cdaa95c9c169
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 09:25:51 2010 +0200

    rewrite-expr: move rewrite expression parsing to separate bison module

commit 4880550fc0032f75dd2f0c3796621c965e89b530
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 09:14:18 2010 +0200

    parser-expr: move to a separate bison module
    
    Parser expressions will be parsed by the "parser-expr" bison module just
    like filter is.
    
    Later on, the parsers themselves will probably be moved into their
    separate loadable module.

commit ff4c68991710edc83e674f54cf6d69a06a7055a0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 08:38:28 2010 +0200

    afstreams: follow CfgArgs name change
    
    This was missed in the last round.

commit f2711d274d1bf4a9599801e53d3b4144c42fc63c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 22 08:37:37 2010 +0200

    affile: move file/pipe source & destination drivers to a plugin

commit 8c87164ac40257aceaba37ebbc4987c7868ac251
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 21 20:04:59 2010 +0200

    affile: fixed flush_timeout() processing for destination files
    
    The patch "logwriter: fixed flush_timeout handling on non-file destinations"
    broke flush_timeout() processing for file destination, this patch fixes that.

commit 1abff81e8da4cb0d767a0d7f7f5f7e36ceb43ab4
Merge: 92bdb39 d85c015
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 17 08:57:15 2010 +0200

    Merge remote branch '3.0-local/master'
    
    Conflicts:
    	NEWS
    	VERSION

commit d85c0159fc6cd1dcab2ba19439406e29042b6cf7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 6 13:49:52 2010 +0200

    preparations for 3.0.7

commit ed1363ac6c36f6d91a43523eff7ed7ac6a017f9b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 6 13:24:48 2010 +0200

    logwriter: fixed flush_timeout handling on non-file destinations
    
    Non-file destinations may not always be willing to accept messages, which
    means that even if the flush_timeout elapsed, the destination may not be
    ready to accept messages.
    
    However log_writer_fd_prepare() basically assumed that once the timeout
    elapses we can immediately start writing messages (which is true for
    file destinations but false for others).
    
    This patch fixes this case.
    
    Kudos to Evan who helped me to track down this issue.
    
    Reported-By: Evan Rempel

commit 221298b0331d517391c8312c4b38d0603fd2425e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 4 12:53:17 2010 +0200

    plugins: Added plugin support for parser/rewrite/filter constructs
    
    This effectively completes plugin support for all main configuration objects:
      * source
      * destination
      * filter
      * parser
      * rewrite

commit c070d35632559db88f5eac3a7e62ec6765f30b99
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 4 11:43:56 2010 +0200

    fixed include processing
    
    The previous include-path handling patch broke include processing, because
    it removed a needed stat() system call. This one adds that back.

commit 95bb4e83a89a074aa3e60887fc4c4f83c6175a75
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 4 11:43:19 2010 +0200

    added preprocess-into command line argument
    
    This patch adds a new command line argument --preprocess-into which creates
    an expanded version of the configuration file (e.g. post-block and define
    expansion) in order to make troubleshooting easier.
    
    With the new blocks/plugins framework it may not be so easy to see what
    syslog-ng actually processes, this output file makes that easier.

commit 287993339599deac0442e26355c600b5aee63583
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 3 09:26:35 2010 +0200

    SCL: the beginnings of "syslog-ng configuration library" aka SCL
    
    This patch redefines "contributions" for syslog-ng. The work up until
    this patch essentially creates a new level of flexibility for syslog-ng.
    
    SCL is a set of scripts, configuration files and other related information
    that will make it easier to integrate applications to syslog-ng for
    log collection.
    
    Also, it contains a new, default configuration file for syslog-ng, that will
    work on all currently supported platforms. This ends an era where you had to
    create syslog-ng configuration file from scratch, because it contained
    platform specific stuff.
    
    The supplied configuration files will not overwrite the ones you already
    created, but in order to use the new framework, it is advisable to check
    scl/syslog-ng.conf and include the following in your configuration file:
    
    @version: 3.2
    @include 'scl.conf'
    
    With this boilerplate, you get a new "system()" source that will expand
    in a platform specific way, as necessary. The actual result of this "macro"
    is the output of the shell script /scl/system/generate-system-source.sh
    5

commit 5248ef6c49ff3af0b3c896448360073606c9c7d7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 15:03:14 2010 +0200

    confgen: new plugin to insert the output of a program into the configuration file
    
    The confgen plugin makes it possible to run an external program to generate
    a configuration file snippet, which gets pasted into the configuration
    file, just like if it was a "block".

commit 3ea1f3f28b93e8dfc844e60130802be1a73391f0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 15:04:27 2010 +0200

    CfgArgs: implement cfg_args_validate
    
    This function validates the set of arguments passed against a set of
    arguments defined at a given entry point.

commit 891938b6abd25ecdf434c4920423626970e8877b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 14:38:30 2010 +0200

    lexer: added include-path support

commit d9c4b4701286156338909e405ae2e1cb9d1bc8b2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 14:37:33 2010 +0200

    plugins: added module-path support
    
    The module-path define contains the list of (colon separated)
    directories to be consulted for loadable plugins. This patch adds
    support for this variable in the plugin load path.

commit 4373f22fcd5722644acc7d4398ec11797c22cde4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 14:33:15 2010 +0200

    cfg-grammar: enabled bison verbose error reporting
    
    This patch adds %error-verbose as a bison option that enables more
    verbosity in syntax error messages.

commit 52098762f27cde059e8b8ecda67691df85364e6d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 14:32:21 2010 +0200

    pragma-parser: instead of using a hand-crafted parser for pragma items, use a bison generated one
    
    The pragma stuff became more and more complex: it originally served only
    to specify the configuration version, then the @module pragma was
    introduced and now I want to add support for syslog-ng.conf global
    variables with the @define keyword.
    
    This patch reimplements the pervious pragma functionality using a bison
    generated parser, which also lifts the restriction that pragma statements
    must be the fist lines of the configuration file.
    
    The complete set of pragmas understood are:
    
    @version: x.y
    @define global value
    @module mod name(value) name2(value2) ...
    @include filename
    
    The preferred format of the include statement became @include to indicate
    that it's not a usual statement as it can happen anywhere (unlike the
    pre-3.2 include which could only be on the topmost level)

commit 323641b5da87c98566888182bf962be7c6777e72
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 14:15:07 2010 +0200

    plugins: convert plugin instances made configuration specific
    
    Previously plugins were loaded into a "global" namespace, this patch
    changes that to be configuration specific. Plugins get registered into
    a list defined in GlobalConfig, just like generators.

commit 1203267c465256c99e622edf11e226301170f1c7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 13:59:57 2010 +0200

    config parser: lay the foundation of syslog-ng.conf global variables
    
    syslog-ng.conf wide global variables are introduced by this patch, which
    can be referenced from anywhere in the configuration file, using a syntax
    similar to the block argument passing mechanism.
    
    This patch only creates the foundations, variable assignment will only
    follow in an upcoming patch.
    
    Syntax:
    file("`log-directory`/messages.log");
    
    Where `log-directory` is enclosed in backticks and can name:
      1) a block argument if we're in the middle of a block
      2) a global variable (anywhere)
      3) an environment variable (anywhere)
    
    This backtick syntax can be used inside strings, but also in non-strings,
    basically the backticks will be expanded before the lexical analysis phase.
    
    In the future the backtick syntax might be extended in the future in the
    format: `cmd params`.

commit ecf14bb80011f66c17002c65c692552b1c2d5084
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 13:39:38 2010 +0200

    cfg-lexer: added CFG_KEYWORD_STOP support for keyword lookup
    
    Instead of open-coding the various contexts that do not need keyword
    lookup (block contents, block references, etc) introduce a special keyword
    defined using the CFG_KEYWORD_STOP macro, that will cause the keyword
    lookup mechanism to stop looking for further keyword items.
    
    This means that if a keyword table contains this item, the items in the
    parent context are not checked.

commit 2e2e07888138f51791941af9ce2eaced9f338e48
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 13:33:33 2010 +0200

    CfgArgs: rename from CfgBlockGeneratorArgs
    
    This class is going to be used from other places too
    (like plugin instantiation & configuration-wide defines), so give it a
    more general name.

commit 58cea74bafe0fca9a6484e15c54365d22fd8ca8c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 13:18:32 2010 +0200

    main: readded compile-time feature settings, even if those features were compiled as modules
    
    SQL/SSL/sun-streams are now compiled as modules, however it is useful to
    know that they were detected during compile time, even though if they are
    not present in the main executable. Readded this information.

commit 8ae033e59fdf26a436dbd64d60a770129c40d1ff
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 2 13:17:18 2010 +0200

    configure.in: use PKG_CHECK_MODULES instead of AM_PATH_GLIB_2_0
    
    We've used an ancient Glib specific macro to parse the glib pkg-config files,
    use pkg-config's native automake macro instead.

commit 576fa55ca0712c390857e0deb489cc85b3080e1d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 16 21:22:58 2010 +0200

    loggen: clarified error message about missing server or port

commit 77c50cd5df39b481a0cb2c1d1cbc3bf4f6964b12
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 12 09:30:15 2010 +0200

    parsers: make it possible to use mulitple parser expressions in a single parser declaration
    
    This patch makes it possible to include multiple parser expressions
    in the same parser statement.

commit 07b73dec692f4de1bf30d4dc340563e69da8f4c2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 12 07:46:41 2010 +0200

    lex-rules.am: don't output warnings about unused rules
    
    This may have a more intelligent solution in the future (like we shouldn't
    include unneeded rules in the plugin grammars), but for now this suffices,
    and at least lets me see other warnings emitted by bison.

commit 1604200b3672c3b33566ee3860f504c7e4f08abf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 11 21:39:30 2010 +0200

    cfg-lexer: fix line number tracking for commented out lines

commit 103c2a796eb4a6556dd3168522b2876a74f41f6d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 11 21:39:06 2010 +0200

    cfg-grammar: fixed location tracking bug
    
    the location of a given token could become corrupted if rule reduction
    was performed, because I didn't supply an YYLLOC_DEFAULT macro that
    would propagate the "level" pointer in YYLTYPE.
    
    This fixes a segfault if a syntax error happens while parsing a
    unix-dgram() flags option.

commit d0920fd7e96f38294edb8b92dedf19f1bcdec9cb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 11 21:36:46 2010 +0200

    report more problems as syntax errors
    
    Previously a syntax error was very sparse and lacked a lot of important
    information, therefore a lot of error cases were reported not via
    yyerror(), but rather via log messages.
    
    This was changed with the last grammar modularization. This patch converts
    various error cases to be checked by a new macro, which triggers a
    syntax error if something goes wrong.

commit 8fc91409809ca57a56d908e85016ff2a2c24a312
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 11 21:32:03 2010 +0200

    move keyword definitions to the plugins
    
    Each plugin should have all of its relevant keywords in its own keyword
    lookup table. This patch moves in that direction, however it is still
    not complete, but solves some immediate bugs (e.g. not being able
    to define syslog() source/destinations)

commit a1d4465f70dac441fcd8b68dcef9e741a9fa2550
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 11 21:29:36 2010 +0200

    logmsg: don't expect a hostname for local transports in the log message
    
    syslog-ng expected the same message format for both local and network
    transports and used heuristics to determine whether the message contained
    a hostname or not. This seems to cause problems for applications that
    embed a space in their $PROGRAM field, e.g.
    
    logger -t "alma korte" message
    
    Since we know that $HOST is always empty for local log transports
    (checked for Linux, FreeBSD, AIX, HP-UX and Solaris) we can simply
    assume that even if there's a space it is not a hostname, but rather
    an incorrectly formatted $PROGRAM.
    
    This will be recognized as:
    
    $PROGRAM = "alma"
    $MSGHDR = "alma "
    $MSG = "korte: msg"
    
    E.g. if it is formatted with the default template, it becomes the same as it
    was received.
    
    This is an incompatible change and syslog-ng warns about it when trying to
    use a pre-3.2 configuration.  The old behaviour can be reset by using the
    'expect-hostname' and as a bonus it is also possible to customize this
    behaviour even for network sources by using the 'no-hostname' flag.
    
    This patch is rather dirty and was implemented by refactoring the
    LogReaderOptions/LogParseOptions parsing code.  It'd have been a lot of
    work to separate the two, thus they are in the same patch.
    
    Summary of the refactorization:
    ==============================
    
    Instead of passing the same set of flags through multiple layers, let the
    "syslog parse options" be visible from under LogReaderOptions, which gets
    rid off a lot of LR_ defines accompanying the same message parsing option
    (e.g. LP_LOCAL & LR_LOCAL)
    
    Make the two set of flags completely distinct, LR_ refer to functionality
    in the LogReader, LP_ specifies parsing options. LRO_ was completely
    removed.
    
    Reported-By: Marius Tomaschewski

commit e7e5637340a92141ca139d81f36a4ad8e2cbae1c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 11 21:16:53 2010 +0200

    parse-syslog: separate syslog message parsing to its own C module
    
    There are basically two reasons to do this:
      * logmsg.c became rather large
      * the LogMessage class is becoming more and more untied from the
        syslog format
    
    Thus logmsg.c is split: one for the generic LogMessage stuff and one to
    parse syslog RFC3164 and RFC5424 style messages into LogMessage instances.

commit 5f82516db500209df040215c39da1b5adfc4d143
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 10 17:50:22 2010 +0200

    main: stay in foreground if syntax-check or debug is requested
    
    There's simply no reason to go into the background just to check the
    syntax of the configuration file.
    
    Likewise, debug messages may generate feedback loops in the configuration
    thus it is not safe to enable them unless internal messages are only
    going to the stderr and syslog-ng is configured to be run in
    the foreground.
    
    Reported-By: Corey Hickey

commit 4003dcee723f8344b3e34588e667f746ab9ea1a1
Merge: 0648883 92bdb39
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 9 20:25:52 2010 +0200

    Merge commit '3.1-local/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	configure.in
    	src/cfg-grammar.y

commit 92bdb39b2b2236deaf3e5915261419928dc16c79
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun May 9 13:32:58 2010 +0200

    Revert "logmsg: don't expect a hostname for local transports in the log message"
    
    This reverts commit d8e06f304206aaa9b9e9e62defc6d4f4cfab1505.

commit 13de2c5d1c2d4a6b7af7f7bb72eee7ba103405ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 8 14:19:56 2010 +0200

    loggen: added SSL support and the ability to read messages from a file

commit 595538c4b55a5e96b5de9f31fac037025679b548
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 8 14:04:58 2010 +0200

    [loggen] added -q (--quiet) option to loggen, to avoid clobbering the build output

commit 4406ecfbf6b5f1f89b46b2b4d1c6a8f1398e4301
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Mon Mar 8 11:13:40 2010 +0100

    fixed global configuration object possible use after free problem (fixes: #nobug)

commit 11cfa6cdec9073b7c0d33adba0733422d872449a
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Fri Feb 26 15:46:56 2010 +0100

    added upstart syslog-ng config file

commit bd85edb19f9f8f787b10162ab531b125aa5e7038
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 8 13:52:33 2010 +0200

    [unitests] added patterndb v3 unit test (fixes: #nobug)

commit 9db07a83047cc6a665f2152ae8c16cd9e5a669a4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 8 13:47:59 2010 +0200

    [tests] renamed patterndb unit test to reflect the patterndb version

commit e742d478f4a9ac7cb53f31893ea167c24a4e4e07
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Tue Feb 23 10:05:19 2010 +0100

    [patterdb] fixed patterdb reload function (fixes: #TK-06589)
    
    If the new pattern db file is not loadable,
    then syslog-ng will not drop the old one.

commit d2bf600b0565412b2737755a640cfab1c7140f8c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 8 13:27:36 2010 +0200

    [control socket] the control socket can set with a parameter

commit 01808d5accf701979c9410d9aed07ea71449c25d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 8 12:45:12 2010 +0200

    update-patterndb: new command to generate the patterndb from a set of patterndb snippets
    
    The update-patterndb script can be used to generate the pattern database
    file to be used by syslog-ng based on a set of patterndb snippets stored in
    /etc/syslog-ng/patterndb.d

commit 36ec94f2acd0bf53124c89b92955c57d71bbee43
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Wed Feb 10 11:39:23 2010 +0100

    [test_performance] use tail -n +1 instead of tail -1 because this doesn't work in hpux-11
    (fixes: #nobug)

commit f8a2de9a7aea5b6b8d9923e57f453592103d18ab
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 7 09:52:18 2010 +0200

    remove all syslog.h references

commit e7b7bb1aa43a9ee8e477c1f425a951d4f5965382
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 8 13:48:46 2010 +0200

    test_resolve_pwgr: fixed compilation warnings
    
    .../tests/unit/test_resolve_pwgr.c: In function ‘main’:
    .../syslog-ng-ose/tests/unit/test_resolve_pwgr.c:8: warning: pointer targets in passing argument 2 of ‘resolve_user’ differ in signedness

commit 644d3453ccd050a9fb929a90ba0174c967a02b19
Merge: d8e06f3 6113023
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 5 12:04:41 2010 +0200

    Merge commit '3.0-local/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	src/misc.h
    	tests/unit/Makefile.am

commit 6113023acd0ebb3a91c98e7d733952afb12e598d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 5 11:38:48 2010 +0200

    introduce a new syntax to skip owner/group/perm setting on a per-file basis
    
    This change was originally an intended behaviour, but due to a design
    problem how global options were inherited to a per-destination basis
    at the end it wasn't.
    
    The documented behaviour to skip owner/group/perm setting on a given file
    is to use "-1" as the value, however this only gets applied if _both_
    the per-destination and the global values are "-1".
    
    E.g. if you want something like:
    
    options { owner("adm"); };
    
    destination d_file_def { file("/var/log/default-owner"); };
    destination d_file { file("/var/log/no-owner" owner("-1")); };
    
    The intention with a config like this is ambigious:
      * the logical outcome would be to tell syslog-ng not to touch the
        ownership of the "no-owner" file in any way
      * the reality however is that "adm" ownership would be applied to
        "no-owner" as well, since the "-1" value is used internally in syslog-ng
        to indicate that no per-destination value was specified.
    
    The only way to tell syslog-ng not to touch the ownership of a file is to
    set the global setting to -1 and either set -1 for the destination, or omit
    the setting (which defaults to -1).
    
    Since it would be tricky to fix this without incompatibilities, I've decided
    not to make any, and introduced an additional syntax, which I think is
    easier to understand than the original trick with "-1":
    
    destination d_file { file("/var/log/no-owner" owner()); };
    
    This means that the file ownership shouldn't be changed regardless of the
    global setting. Internally this is equal to "-2", so the above is equivalent to
    
    destination d_file { file("/var/log/no-owner" owner(-2)); };
    
    But that's an implementation detail, you don't need to know.
    
    Please note that this patch depends on the parent patch as well, without
    it, it won't function properly.

commit 8eac35f1a66d7775a00e309ad0e7b1a745e2e608
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 5 11:27:40 2010 +0200

    Make sure that negative values never get resolved using getpwnam/getgrnam
    
    Originally reported by the SUSE maintainer, syslog-ng is sometimes resolving
    invalid usernames using getpwnam/getgrnam. Before this patch,
    syslog-ng first attempted to resolve usernames using NSS, then if that failed
    tried to interpret them as numeric values.
    
    This logic was reversed, now we first check if it is a number, then if that
    fails do we proceed with resolving the username using getpwnam.
    
    Once here, I've also did some cleanups to make the bed for a follow-up patch:
      * change all uid_t/gid_t/mode_t variables to "gint" instead of their
        respective types, to make sure that we can represent negative values
        there
      * all occurences which tried to interpret uid/gid/mode information was
        changed to interpret all negative values the same as -1 (do nothing).
        This makes it possible to use further extremal values in the future.
    
    The original report came with a patch, but the original goal
    was completely reimplemented using a different means by Balazs Scheidler.
    
    Reported-By: Marius Tomaschewski

commit cb6f0452fc5748fdfa64fdbd5ec01f41cb83170f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 5 10:10:05 2010 +0200

    SIGHUP handling: block SIGHUP while reload is being carried out
    
    Reported by the SUSE maintainer that it is possible for syslog-ng to receive
    multiple SIGHUP signals while the reload operation is being carried out.
    
    This patch changes SIGHUP/SIGCHLD processing to block these signals while
    handling the signal is being done.
    
    Reported-By: Marius Tomaschewski

commit d8e06f304206aaa9b9e9e62defc6d4f4cfab1505
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 3 16:51:52 2010 +0200

    logmsg: don't expect a hostname for local transports in the log message
    
    syslog-ng expected the same message format for both local and network
    transports. However this seems to cause problems for applications that
    embed a space in their $PROGRAM field, e.g.
    
    logger -t "alma korte" message
    
    Since we know that $HOST is always empty for local log transports
    (checked for Linux, FreeBSD, AIX, HP-UX and Solaris) we can simply
    assume that even if there's a space it is not a hostname, but rather
    an incorrectly formatted $PROGRAM.
    
    This will be recognized as:
    
    $PROGRAM = "alma"
    $MSGHDR = "alma "
    $MSG = "korte: msg"
    
    E.g. if it is formatted with the default template, it becomes the same as it
    was received.
    
    Reported-By: Marius Tomaschewski

commit 29ce812d5047021eb0269996df389d1d6b250cde
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 3 16:43:35 2010 +0200

    logmsg: always store the legacy message header (MSGHDR)
    
    This patch essentially makes the 'store-legacy-msghdr' behaviour
    the default and creates a new 'dont-store-legacy-msghdr' flag to return
    to the 3.0 compatible behaviour.
    
    This patch introduces some incompatibility, however I feel that since the
    'store-legacy-msghdr' flag is the assumed behaviour, it is best to make it
    default. The only reason it existed in 3.0 is the expected performance
    drop, but the 3.1 NVTable refactorizations solved that issue.
    
    It is also needed for the follow-up patch to work properly.

commit bf76c1bef8a62d5eec7f59ec22349aba5d931c0b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 3 10:02:43 2010 +0200

    don't cache the local hostname accross SIGHUPs
    
    Reported by the SUSE maintainer, syslog-ng caches
    the local hostname accross SIGHUPs, which causes problems when
    dynamic hostname configuration is in use (e.g. DHCP). This patch
    relookups the local hostname when a SIGHUP is received.
    
    Also, there was a bug in the per-source use_fqdn() processing which
    is fixed by this patch: earlier, if two sources used use_fqdn()
    differently the one which received the first message won and the
    hostname was set according to its settings, even if the message
    was received on the other source.

commit 06488834b3bf8a5780b0d4ce3bc430d12289fe48
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 09:13:30 2010 +0200

    lexer: remove dead code

commit 207045da5335cad22df9214897e1380f36d6ce7c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 09:13:01 2010 +0200

    blocks: added experimental support for user defined configuration snippets named "blocks"

commit 63fae86101822b0d8593168d660058035a7f97d8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 09:11:35 2010 +0200

    cfg-lexer: added some function headers

commit bbb55283fee3b14386756510158e59cf2b5c4252
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 09:09:50 2010 +0200

    blocks: added generator support in the lexer
    
    Generators are functions that get called whenever a configuration snippet
    needs to be generated programmatically. It is going to be used by
    an upcoming patch implementing blocks support.

commit 2c150be47ff8411e052c4e2e6ad7fac6b8e9461e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 08:59:45 2010 +0200

    cfg-lexer: properly dup tokens when processing TokenBlocks

commit 539155179a0bc6b0b99d35f7dcbd0e54ad13faf1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 08:57:19 2010 +0200

    blocks: implement buffer based includes and location tracking in the lexer
    
    In addition to including files, the new "blocks" framework makes it
    possible to create configuration snippets that can be included to
    places in the configuration. This is implemented by making it
    possible to include buffers as well as files.

commit d468efc463ceb0a8117fe18d789361f6c3ce7724
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 08:45:10 2010 +0200

    blocks: make it possible to use any number of ';' between drivers
    
    When including a block it is quite easy to miss whether we need to
    include/omit a semicolon in a given context. This problem is somewhat
    mitigated by allowing several ';' characters between drivers.
    
    This patch solves this problem for source/destination/rewrite/parser/filter
    
    This also extends the filter syntax to make it possible to use ';' as
    an AND operator with low precedence. E.g. expressions between ';'
    are evaluated first and at the end they are ANDed together, just
    like with filter references embedded in log statements.

commit 93ad00c2873d21f96999d9f4719888fe5a0fbce2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 09:17:40 2010 +0200

    blocks: add LL_BLOCK token support to cfg-lex.l
    
    In a special lexer state parse a complete contents of a block definition.
    This only kicks in if _cfg_lexer_force_block_state() is called explicitly.

commit 4720c62984b8e4ae687d15ed8abc56ac0dd90cdb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 08:12:17 2010 +0200

    cfg-lex.l: fixed handling of comments on the last line that are not EOL terminated
    
    If the last line lacked an EOL character, the regexp to match comment lines
    didn't match. Replace that with an action that handles this properly.

commit b6cb6203ea902328f86addabd5696a665781e1fc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 09:17:35 2010 +0200

    cfg-parser: move the keyword table to the lexer context
    
    This patch is a refactorization that adds the keyword table to the
    CfgLexerContext, thus a push_context() call can add further keywords
    to be recognized. The keyword lookup code now considers all stacked
    keywords, instead of only two of them (the context specific
    and the global).
    
    This patch also removes _set_current_keywords() and moves the automatic
    addition of new keywords to the cfg_parser_parse() call, instead
    of the parser specific lexer function.
    
    This patch also contains a minor plugin.c change (to make it possible to
    look up Plugin first, then instantiate it in a separate function call)
    for improved error reporting.

commit 235afc2e7d15053b21c39a81d5f3e922cab3d691
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 26 07:45:16 2010 +0200

    cfg-lexer: move include statement processing to the lexer
    
    Instead of complicated handling of the include statement in the parser
    move the whole thing to the lexer, which in turn makes it possible to use
    'include' anywhere in the configuration file, not just as a top-level
    statement.

commit 4ce4475056378b7aacd51901dda1e7d343821dec
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 20 18:34:14 2010 +0200

    cfg-lex: use the state stack provided by flex
    
    Instead of managing state transitions by explicit "BEGIN" statements,
    use the "stack" support of flex which makes it trivial to go back
    to the previous state.

commit 6bf02852f02dd3297984adf3385a6a34aebaf3bd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 20 18:32:38 2010 +0200

    cfg-lex.l: fixed hexadecimal number processing and added \xFF format character literals
    
    There was support for hexadecimal/octal numbers in the lexers, but in
    reality the hexadecimal one didn't work for digits in the 'A' - 'F' range.
    
    Also, since there was already requests I've added support for explicitly
    specifying characters by their numeric value. The syntax supported is similar
    what we have in C/Python:
    
      \xhh to encode a hexadecimal value
      \ooo to encode an octal value

commit ede3df3bdb846298e748e8e2a4af4e6426e374f4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 16 10:38:13 2010 +0200

    templates: make it possible to include a literal '$' in the template
    
    by using two consecutive '$' signs a single $ is included in the template
    as a literal string.

commit 14ae99a753c882fddba774181c87e78df637a05b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 16 10:34:56 2010 +0200

    trim linked libraries on the main syslog-ng process
    
    Only link required libs to the appropriate plugins, the main syslog-ng
    binary is not linked against openssl, libdbi and similar stuff.

commit 2f434e287cc02d00473e9977ca5f843986ddd208
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 20:46:12 2010 +0200

    VERSION: update to 3.2alpha0

commit d30110528e6e006662c50c2605d6886cdeaf8d03
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 20:44:38 2010 +0200

    afstreams: move to a separate plugin

commit 7bbdb4e6eb18bbbe267ca6ea4d264996633cfd2c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 20:18:29 2010 +0200

    afsql: move afsql to a separate plugin

commit a755c3a6a6dfbfb629d8ef85c28fee95fc2931e2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 19:54:03 2010 +0200

    afsocket: compile the module twice with and w/o SSL support

commit da75cdb90290d3cde26df210a4514a0ef888b996
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 19:50:20 2010 +0200

    removed unused keywords

commit c4676b077b7ea07d2759c9bfa3aa95f5477f551e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 19:49:37 2010 +0200

    move plugin specific keywords to the plugin keyword set

commit 47f060602b6eecbd0721340216475bf028aae103
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 19:42:34 2010 +0200

    cfg-grammar: make keyword lookup configuration version aware
    
    This patch changes the lexer to only recognize new keywords if
    the configuration version is good enough. Older config versions simply
    assume a given keyword is an IDENTIFIER, newer config versions will
    emit a syntax error if a reserved word is used at the improper location.

commit 6a26d56d45400c9b8001050cd9eb518b1daf9e6a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 14 21:37:17 2010 +0200

    cfg-parser: improve error reporting and added context stack support
    
    This patch adds context stack support to the lexer, which enables us to
    
      1) adjust the lexer behaviour based on the context
      2) give better error messages

commit 84287849d20add00029d5b8b722039d403c5dd0b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 15 17:04:15 2010 +0200

    Makefile: use a separate lex-rules.am file for flex/bison rules
    
    Instead of having to code them into all Makefiles.

commit 496ecebf75cfdc1c0f25cb731ff9693135f50abf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 22:12:31 2010 +0200

    nvtable: increase the maximum NVEntry size to 255k

commit 04039a2d5dbf3d0bbe1ececee29d4f24253d0139
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 22:11:29 2010 +0200

    afinter: fixed possible flow-control problem
    
    The internal() driver could go off-by-one the LogSource window size, which
    causes an assertion to fail.
    
    This only happens if the internal() driver is on a flow controlled path.

commit 707aea8f5e248270ef7a69d9a983de9db00287a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 20:25:38 2010 +0200

    LogSource: the window size of source connections was messed up if a new connection was established
    
    This patch fixes a window size calculation problem in case a new LogSource
    instance is initialized, which happens if a new connection is established.
    
    This may cause flow control to misbehave.

commit 7a9507294f308172c986ca76e7339e4f049d06cf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 20:21:33 2010 +0200

    afsql: whitespace cleanup

commit 67e6c128880f6a0edc7ffffdab42f8ef728a161d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 20:21:24 2010 +0200

    afsql: support flush-timeout for SQL destination & explicit-commits enabled
    
    This patch adds flush-timeout support for SQL destinations. Albeit it
    doesn't seem to add too much complexity, it is in reality a quite large
    reorganization of the SQL code.
    
    Instead of one global thread which handles all SQL destinations, this patch
    creates one thread for _each_ SQL destination, in order to make
    destination specific timing easier.
    
    Honestly I don't know why I wanted to use only one thread originally,
    the code is simpler and I doubt anyone would have thousands of
    SQL destinations that would require some kind of thread pooling.

commit 07ae29ea4499519e07cd428ed19537ce6c723f85
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 12 18:20:37 2010 +0200

    threads: set thread stack space to 64k
    
    Since we're now creating more and more threads, it'd be wise to
    set the thread stack size to a low value in order to make syslog-ng
    run fine with many threads on 32 bit platforms. (where the stack size
    can consume immense amounts of address space, think of 1000 threads
    with 2MB stack for each)

commit 8747d74491eac3fdf5052194f47a68e659633ca9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 11 15:52:46 2010 +0200

    fixed linker error in syslog-ng-ctl on Solaris
    
    gcc -std=gnu99  -g -m64 -I/opt/syslog-ng/include -Wall  -Wl,-R/opt/syslog-ng/lib -L/opt/syslog-ng/lib -o syslog-ng-ctl syslog-ng-ctl.o gsockaddr.o gsocket.o -L/opt/syslog-ng/lib -lgthread-2.0 -lpthread -lthread -lrt -lglib-2.0 -lintl -liconv   -lpthread
    Undefined                       first referenced
     symbol                             in file
    bind                                gsockaddr.o
    accept                              gsocket.o
    socket                              syslog-ng-ctl.o
    setsockopt                          gsockaddr.o
    connect                             gsocket.o
    inet_aton                           gsockaddr.o
    inet_pton                           gsockaddr.o
    inet_ntop                           gsockaddr.o
    ld: fatal: Symbol referencing errors. No output written to syslog-ng-ctl

commit d9fd45fc6f8f09099f34c1a7008c4ccc57c398f5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 11 10:55:29 2010 +0200

    preparations for 3.0.6

commit 600a42ace1c34d011b58a0e7059b407b5dfa13da
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 11 10:34:20 2010 +0200

    preparations for 3.1.1

commit 17eec8b3d0710d2e9496e05725694210676e87be
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 10 16:36:44 2010 +0200

    afsql: accept '.' as a valid character in SQL identifiers

commit d41bc26a63986e9ce06a9a9b0fa50fa82eae2002
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 10 16:36:19 2010 +0200

    afsql: Added explicit COMMIT support
    
    Instead of committing all INSERT statements separately, use flush_lines
    parameter to control transaction size. e.g. with the following configuration
    
    destination d_sql { sql(... flags(explicit-commits) flush-lines(100)); };
    
    The SQL driver will generate a transaction for every 100 lines.
    
    This patch was originally contributed by Patrick Hemmer, was somewhat
    modified by me.
    
    The patch is not yet complete, time based transaction closure is
    commented out as its submitted implementation was not thread safe.
    
    Submitted-By: Patrick Hemmer

commit a0a51d1ab0e5205e67a368deed56ae3119a3d653
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 5 21:13:32 2010 +0200

    simplify bison/flex Makefile rules
    
    Rename .y.in files to .ym (=yacc module) extension and added
    automatic Makefile rules to generate the yacc module for them.
    
    Also added .l.h and .y.h rules.
    
    This will fix dependency tracking and simplyify the Makefiles.

commit 8151e17ab1d64dc736621cdd05b35d048b6c09c6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 5 10:58:19 2010 +0200

    afsocket: move tcp/udp/unix-dgram/unix-stream functionality to a separate module
    
    This patch moves the afsocket related functionality to a separate module,
    outside the core. This makes it possible to decide at runtime whether
    syslog-ng supports SSL or not.

commit 3059c6cf8df4b3f94ac63a4059b574bfaad331d5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 5 10:51:03 2010 +0200

    implement plugin framework with a dummy plugin
    
    The dummy plugin implements a destination driver that does nothing but
    print a message to the log if a log message arrives to it.
    
    Not very useful, but hopefully it can be extended to be a proper example
    in the future.

commit f5671d07e5d105465c77846ae9aaa394171c6f8e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 5 10:20:06 2010 +0200

    filter grammar: break down the filter grammar as a separate parser
    
    This patch moves the portion of the grammar to parse filter expression
    to a separate parser module. Both as proof that even this is possible
    with the new framework and because I think using filter expressions
    outside the configuration file would be useful later.

commit f88c1c3e1bf65c29451e97cf55048e0f82066703
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 5 10:07:28 2010 +0200

    grammer/lexer: Generalize parser/lexer code, generalize them to make it more modular
    
    This patch introduces CfgParser and CfgLexer classes which lay
    the foundations for a more modular configuration file parser that makes
    it possible for plugins to carry their own configuration file grammar.
    
    This patch was broken down from a larger patch set, thus may or may not
    compile, the primary reason for committing it separately is to make it
    easier to review.

commit 0fed21453d7adb2a2befd534d1dea72b1d5599ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 4 11:09:22 2010 +0200

    template: added TAGS macro support
    
    which expands to a set of comma separated tag values

commit 9c5b0c1edba671876fe50c5dad38fef675f92892
Merge: 47256a0 0038c47
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 4 10:50:24 2010 +0200

    Merge commit '3.0-local/master'

commit 0038c47121e6b00e2b8b986750b06a2b634d4431
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 4 10:42:38 2010 +0200

    [csv stats] if a column contains ';' or '\n' character put the column between quotes.  (fixes: #20454)
    
    if the column must be quoted then escape the quote chars.
    SSB has to use this csv format.
    Escape the quotes if it begins with quote.

commit 76fba26d259036f0b6ffc6aafb5ca24a2d186594
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Sun Oct 25 02:15:17 2009 +0100

    [timestamp] solving the daylight saving problem (fixes: #20182)
    
    The problem was that the local services (CRON, dnsmasq) sends BSD timestamp
    which hasn't any zone information and we assumed that there wasn't daylight
    saving, so set the tm.tm_isdst to -1.
    
    The solution is that let's assume that the correct tm_isdst value is what we
    get from the current local time.
    
    If timezone isn't set, use the local one
    and calculate the correct time

commit 47256a01a99af3e43674cbb663fb6ae7cda854cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 29 17:09:11 2010 +0200

    [affile] pipe/file mismatches are reported as warnings instead of errors

commit ea4329defd058078fab614caeebc044249640603
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 29 17:08:45 2010 +0200

    added missing tgz2deps file

commit 2328040fc2f953bb1e93d7755e251ce56ea2f931
Merge: 3cf6259 81f27c2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 22 10:12:59 2010 +0100

    Merge commit 'mainline--3.0/master'

commit 81f27c22e3f6b0f8f6148bdc6e98d1491b80d128
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Mar 19 13:27:39 2010 +0100

    affile: fixed a possible infinite loop if pipe driver is used for a non-pipe device
    
    In this case the file descriptor representing the pipe is not initialized,
    but success is returned. This causes the main poll() call to return with a
    failure condition repeatedly, which in turn tops up the CPU at 100%

commit f837b6ec4773bce242c2bfe14ca18b38710b8383
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 22 10:04:55 2010 +0100

    [solaris init scripts] save the coredump into the $DUMPADM_DEVICE only if it exists
    
    when this environment variable is valid (not 0 length and device exists)

commit 563fd7f7a76016d0bc7902d23902bba7deadd801
Author: SZALAY Attila <sasa@mochrul.balabit>
Date:   Tue Jan 19 09:14:02 2010 +0100

    Remove pidfile if syslog-ng not ronning to make it sure that start_daemon start it. (fixes: #D-01423)

commit 359eeb4796831f1eca746177eeaee60488057457
Author: SZALAY Attila <sasa@mochrul.balabit>
Date:   Tue Jan 19 09:13:10 2010 +0100

    Check in solaris 10 if syslog-ng really running, not just have left it's pidfile. (fixes: #20201)

commit 3cf6259b1f808068299aa0a6eed054789cb803d1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 18 09:14:10 2010 +0100

    explicitly enable PCRE support and specify pcre as a tgz2 build dependency

commit 7fe014876f116b815127ead2860ab906740d0b9a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 18 08:33:03 2010 +0100

    enable PCRE support

commit 6f987f9e24bf1c19544528ae017eb52c4ba00db0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 16 17:21:03 2010 +0100

    preparations for 3.1.0 release

commit e5f26732a5b72710c440d29e02b5e55b69d2da92
Merge: 0b7d5ee 8495031
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 15 07:12:16 2010 +0100

    merge 3.0 fixes
    
    Merge commit '3.0-local/master'
    
    Conflicts:
    	NEWS
    	VERSION
    	src/apphook.c
    	src/logmpx.c
    	src/logmsg.c
    	src/logmsg.h
    	src/logpatterns.c
    	src/logqueue.c
    	src/logwriter.c
    	tests/functional/test_sql.py
    	tests/unit/Makefile.am

commit 0b7d5eef24d02eedeb3b266b2e1d554fc5025bf9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 18 22:37:36 2010 +0100

    added globals.o to the link command line
    
    This seems to solve an issue with MacOSX linker, probably some kind of
    circular dependency that other linkers handle, but this one isn't.
    
    Hopefully this doesn't break other platforms.
    
    Reported-By: Mark Duling

commit 7b446e59111e6d0edb4e45a42dc620e5e89bf050
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 14:09:44 2009 +0100

    test_sql: hopefully the final sleep() adjustment to make the test pass
    
    As it seems the sleep() encoded in the check_sql_contents() function
    is skipped if the daemon is already stopped, thus syslog-ng didn't
    have enough time to flush the sqlite tables before the testprogram
    checked it.

commit 89577325b191f6ca029826971bf0744d495ef3a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 13:36:30 2009 +0100

    The flow-control flag was sometimes enabled even if not requested by the user
    
    In case a final or fallback flag was enabled on a log statement, it could enable
    the flow-control on the same level.

commit 59397522c3c7fe5b9affcff3c5a499dfb66db623
Author: Tamas Pal <folti@balabit.hu>
Date:   Mon Nov 30 13:27:48 2009 +0100

    Added version checking for pcre.

commit 0fb7348dd5625be5b38e55107f1615246d4bfe45
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 14 10:32:37 2010 +0100

    log_msg_format_sdata: fixed possible segfault for incomplete SDATA variables
    
    SDATA variables are in the form: .SDATA.ID.PARAM, and the formatting code
    didn't handle if a dot was missing from the expected format.
    
    This could only happen via a user-specified rewrite rule, otherwise the
    protocol parser always ensured that the .SDATA variable is in the
    proper format.

commit 84950319f09d76bed8d2f98397d25c9d813cabe3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jan 29 12:22:52 2010 +0100

    Fixed a possible segmentation fault in AF_UNIX destinations
    
    This bug affects platforms which crash on NULL reference
    in sprintf strings (Solaris, Tru64).

commit d47259a388ed4beb30efe0f0e1da83a47f8ff074
Author: Tamas Pal <folti@balabit.hu>
Date:   Fri Dec 18 13:49:43 2009 +0100

    [configure.in]: configure checks for C99 compliant C compiler.
    (cherry picked from commit c07446119525aac2ec756539fcde91ce3109f856)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 2fcd309f18c2cb296d8963475c47d302eddf0538
Author: Tamas Pal <folti@balabit.hu>
Date:   Fri Dec 18 13:49:32 2009 +0100

    Ported to Tru64. tgz2build uses $(MAKE) everywhere and supports Tru64.
    
    (cherry picked from commit c7384d0785cf1ea65c4bfc2e790b2304ef83b094)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 8888899122ac79d37b54d2d8b778dd29bfb26353
Author: Tamas Pal <folti@balabit.hu>
Date:   Thu Dec 17 11:09:10 2009 +0100

    added solaris 10 refresh support (fixes: TK-05128)
    (cherry picked from commit 0b8848d4505d746af006edd23a1fa90dbc3d407a)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit a2826681a4fd123d4309265275d5f9bac1ae2325
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Wed Dec 16 13:25:00 2009 +0100

    [afsql] Don't get the error message from dbi because it can cause segfault

commit 2cba6f01ea4426f8148b8efc93ec4a77b622d522
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Tue Dec 15 16:22:29 2009 +0100

    [functest] fixed sql functest to use .so on ia64

commit 4d29dc81ec07b2175a6fb0715ceee06cefcf9e8f
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Tue Dec 15 11:40:32 2009 +0100

    [msg encoding] drop the connection on conversion error (fixes: #TK-05131)

commit be7736386ed6d0f326bffe7d2261c90b2f5e984b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Mar 12 09:26:46 2010 +0100

    [sdata parser] fixed off-by-one overflows in structured data parser
    
    When parsing SDATA ID, param and value from the input an off-by-one
    occurs which means that an extra zero byte is written on the stack.
    
    This is clearly a possible DoS situation, but further exploitation is
    not believed to be possible.
    
    The overwritten areas on x86 CPUs:
      * param becomes a zero string if value is overflown
      * ID becomes a zero string if param is overflown
      * the LSB byte of a read-only pointer becomes zero if ID is overflown
    
    Other CPUs may use a different stack ordering.
    
    Reported-By: András Tevesz

commit b63993405a2969fb38d6f1adf41792fe110edd3d
Author: Andras Mitzki <micek@balabit.hu>
Date:   Tue Dec 15 09:45:35 2009 +0100

    Changed in logwriter test case. Modified the template, and the expected result in BSD case.

commit fbbf3960197b2d2a6fe4890dae9f12efc0b73e5c
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Mon Dec 14 17:03:46 2009 +0100

    [afsql.c] If sql driver can't insert the message into the database it disconnects from database
    and reconnect after time_reopen time elapsed. After 3 attemps the message will be dropped
    (fixes: #16632)

commit 8457000d13404f38a94996914722c5f9a5f45d11
Author: Andras Mitzki <micek@balabit.hu>
Date:   Mon Dec 14 14:03:50 2009 +0100

    main: avoid using g_poll() symbol directly as it is not defined in glib 2.14
    
    Instead of referring to g_poll() directly, use g_main_context_get_poll_func()
    before setting it.

commit f6e59c7bba0d0a3ee4362becf1737c61581e928f
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Mon Dec 14 09:31:53 2009 +0100

    [unit test] added some sd data unit tests
    
    message part length validation
    sd invalid character validation
    sd escaped character validation

commit e2bbfc37e55a335f14aa7e532881cef277d2d74e
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Mon Dec 14 09:30:35 2009 +0100

    [sd parser] added ']' as ivalid character
    message parse will fail if the sd data value contains unquoted ]

commit fb87e597e4ea2e3841d5bd65e4c2e7b8658f6a32
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Fri Dec 11 14:26:25 2009 +0100

    [timeutils] replaced g_get_current_time with cached_g_current_time in the main thread
    
    added main_context_poll witch will do the poll and update the static timestam used in the log_msg_init
    this will reduce the g_get_current_time calls and add some speed up the centos

commit 8eacbbd9403972bdfeda87dc49c71089c0f42ea5
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Wed Dec 9 17:35:42 2009 +0100

    [test_logwriter] new unit test which tests the log_writer_format_log function

commit 6342244e702a04d5d6deb3a76b9e55bc4cb71c57
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 11 14:13:01 2010 +0100

    [logproto] Added structured data escape handling in RFC5424

commit c96f2cd8436781a1040af73a1176381e9511d387
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Wed Dec 9 15:25:13 2009 +0100

    [sdata] fixed sdata lookup to work with multiple "." in the name

commit 7f50b47daa5c4c5948e47e83430eeb6409b105b4
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Wed Dec 9 15:23:45 2009 +0100

    [compat] added memrchr implementation in compat.c

commit f250514126b8d63001015a36f13c5dd54f2253f8
Author: Juhasz Viktor <jviktor@balabit.hu>
Date:   Wed Dec 9 11:33:45 2009 +0100

    Fixed how syslog protocol parser/formatter handling empty lines (fixes: D-01200)

commit 428be867f75be1f8dc6aabd5511932e82ba2e673
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Fri Nov 13 16:55:36 2009 +0100

    [logproto] fixed posible message loss in framed message processing
    
    If the client sent us some data with full messages and a half message
    the framed server read it but some parts may not be parsed until the next
    fetch data call. If the syslog-ng is stoped in this state it may loose messages.

commit ab9aa3fb01f7baf42dc23db544cc5cba27a30f57
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Fri Nov 13 16:30:26 2009 +0100

    [logproto] fixed copy paste bug in log_proto_framed_server_prepare function

commit 90aca21eed47c3ae47c4e78cfb7c7a86942a5fd1
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Thu Mar 11 14:11:25 2010 +0100

    [func_test] added RFC5424 functional tests

commit 3bb6aee1a7448d9ec5e5436e7868fb62b1086a01
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 6 10:19:26 2010 +0100

    accept lower case letters as macro name even when not using braces
    
    To access all name-value pairs, the syntax ${macro_or_value} is preferred,
    especially if the value name contains a '.' character.
    
    However the old syntax $macro_or_value could also accept lower case
    letters, which it didn't without this patch.
    
    Reported-By: Patrick H.

commit 04d189e3df201b7173e4474b0be9e794514f76f1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Mar 5 13:07:02 2010 +0100

    fixed keep_hostname(yes) handling on local sockets
    
    Local applications do not send a hostname as they send it to syslog-ng on
    /dev/log. However syslog-ng should in this case automatically insert one,
    which it didn't since the NVTable reorganization.
    
    Reported-By: Peter Höltzl

commit e13d43f28ab2f4ea002cccd9d2d2a46c909c8f73
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 18 22:37:36 2010 +0100

    added globals.o to the link command line
    
    This seems to solve an issue with MacOSX linker, probably some kind of
    circular dependency that other linkers handle, but this one isn't.
    
    Hopefully this doesn't break other platforms.
    
    Reported-By: Mark Duling

commit b24e685f1ca6df2aaa46b3824fe93259b7983130
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 21 16:46:31 2009 +0100

    afuser: fix a possible buffer overflow if the utmp entry contains an overly long tty name
    
    This is theoretical as the utmp entry only contains 32 characters
    (at least on Linux, other platforms unchecked) and the contents of
    the utmp is already managed by root anyway.
    
    But better safe than sorry, thus it is fixed.

commit bb2985925eed6532388eb899f7c25231ddb9c9a2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 14 10:44:56 2010 +0100

    syslog-ng-ctl: added command to query, enable/disable syslog-ng debug/verbose/trace flags

commit 4f97ae3b764ab2fb477cfa63029cef7ef33c2eb1
Author: Marton Illes <marci@balabit.hu>
Date:   Wed Dec 23 15:23:55 2009 +0100

    syslog-ng-ctl: handle EOF on control socket

commit 0bd1b2fdd391eca6a04ba5624c9c2f3ac5d84414
Author: Marton Illes <marci@balabit.hu>
Date:   Wed Dec 23 14:14:34 2009 +0100

    syslog-ng-ctl: create syslog-ng-ctl command to run-time control syslog-ng

commit f92de6e0321456ef18e6ab0c39c1965482f04784
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Dec 22 17:55:16 2009 +0100

    [pdbtool] added pattern match debuging with colorized and parsable output

commit 4ae11c2ac36b7dd9ece371727793f6585be1c377
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Dec 22 17:53:29 2009 +0100

    [pdbtool] added logging command line options using msg_add_option_group

commit 052e1ca96bccf48af542ba69b86bb32324e38397
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 14 10:34:25 2010 +0100

    [pdbtool] added tags and stat initialization

commit 487de7d4a1e31510d938c99410881beb4b147f6e
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Dec 22 17:47:53 2009 +0100

    [patterndb] created a debug version of radix lookup to troubleshoot patterns

commit 4d6b4afccf51789e6c2a612ed1a66cc8c5f7d845
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Dec 22 17:29:27 2009 +0100

    [pdbtool] fixed "Error parsing command line arguments" message

commit bbc248bc8a577a299036d2ab6898d72f657fc7a0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 14 10:11:33 2010 +0100

    logproto: added log message about EOF in the new style syslog protocol handler

commit e719988e0e0716f2366b8d4faa340bbf42aacf3a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 14 09:59:03 2010 +0100

    config parser: accept comments/empty lines before the version mark
    
    This patch implements functionality to accept empty lines and lines beginning
    with a '#' before the "@version" mark.
    
    Reported-By: Paul B. Hanson & Guillaume Rousse

commit 4c436b2b3689832de4ce3b2a476b657850bfb674
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 18 09:25:43 2009 +0100

    preparations for 3.1beta2

commit 9ef6062c1cf72a3f7da880ac245f9ee080bea992
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 15 17:09:50 2009 +0100

    fixed another memory leak, patterndb had an unused GPtrArray allocated
    
    The match_names array is not used in the new LogMessage payload structure
    however an allocation has been missed when deleting the unneeded code.
    
    Reported-By: Martin Holste

commit bb3301baa8c3324cbb899e1a8b08a1955fe47d39
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 15 14:08:27 2009 +0100

    Fixed memory leak when resolving the sender's hostname
    
    Thanks for the reporter for producing a valgrind log, it was a trivial
    memory leak that was caused by the fact that one of the internal APIs
    were changed: instead of requiring a caller-allocated string, it now
    only requires read-only access to the string.
    
    Reported-By: Martin Holste

commit ce0943c87b1e40e362b1466ffd6e29c5dde833e2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 11 10:22:08 2009 +0100

    logproto.c: fixed compilation warning
    
    /home/bazsi/zwa/work/syslog-ng-ose-3.1/syslog-ng-ose/src/logproto.c: In function ‘log_proto_plain_server_is_preemptable’:
    /home/bazsi/zwa/work/syslog-ng-ose-3.1/syslog-ng-ose/src/logproto.c:215: warning: unused variable ‘buffer_bytes’

commit 8c7349439344abef821426c7be6f41bcdc419088
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 11 10:23:49 2009 +0100

    pdbtool: only link against libs that are strictly necessary
    
    flex (more precisely -lfl) caused linking problems as that requires yylex()
    as a defined symbol, which pdbtool doesn't define.
    
    Make sure that we only link against the libs that are strictly necessary to
    avoid this.
    
    Reported-By: Marvin Nipper

commit e74825508d0067352647b9001ec56182db829d70
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 17:47:35 2009 +0100

    added some late-minute changes to the NEWS file

commit 57ca727378d2c78192a338a5bf3e55a45e09d436
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 17:23:24 2009 +0100

    pdbtool: fixed date header in the converted database to contain zero padding

commit e6e0427db4e771b388acad996bacf6f2c0ceb8f5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 17:22:55 2009 +0100

    fixed SDATA handling in case the SD-ID or SD-PARAM uses a dot in its name
    
    Enterprise assigned SDATA fields can have dots in their names, which prevent
    the proper formatting of structured data fields.
    
    I've used a trick in this case: since the ${.SDATA.xxx.yyy} format used
    to reference structured data fields becomes ambigous once xxx or yyy contain
    a dot, we need to store the length of the SD-ID. This is now stored
    in the NVHandle flags space.
    
    The problematic case is for example:
    
    .SDATA.Events.1234.Param
    
    In this case it is not possible to tell from the value name alone whether
    it is "Events.1234" . "Param", or "Events" . "1234.Param", however it is
    not realistic to have a real-life collision.

commit 81b52d4aa0ea14f513e5aac2191e82a1e811a520
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 17:18:38 2009 +0100

    fixed structured data escaping on output
    
    SD values were not properly escaped on output, this patch fixes that.

commit 1601a95cdceb0bd48ca16a241efa5fca46ab3da5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 17:16:51 2009 +0100

    fixed structured data escaped character handling

commit f2fd7457627a88eb9602a73a5c16cd8b2434b667
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 14:09:44 2009 +0100

    test_sql: hopefully the final sleep() adjustment to make the test pass
    
    As it seems the sleep() encoded in the check_sql_contents() function
    is skipped if the daemon is already stopped, thus syslog-ng didn't
    have enough time to flush the sqlite tables before the testprogram
    checked it.

commit d1235e5226a72eca44738a3d65edaed8d3f3ac84
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 13:47:54 2009 +0100

    fixed rewrite rule processing
    
    In some cases rewritten messages could propagate over branches where they
    shouldn't have been changed.
    
    This patch introduces a new message flag "LF_REFERENCED" that indicates that
    a given log message was cloned _or_ is sitting on a message queue waiting
    to be processed. Whenever we encounter such a message, we always clone that
    instead of refing it.

commit 495bdc3690fe1c01ed95b29f16e97829444973ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 7 13:36:30 2009 +0100

    The flow-control flag was sometimes enabled even if not requested by the user
    
    In case a final or fallback flag was enabled on a log statement, it could enable
    the flow-control on the same level.

commit f90b66797412a7a52bbda76e69190a916b5c33fb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 4 09:59:35 2009 +0100

    func_test: increase SQL timeout

commit 2a7d4e08c20603601ecc4dbc2ea5fd96c2ce58b6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 3 18:22:21 2009 +0100

    updated NEWS file with the latest changes

commit caa6c716f8261e3a53ca5e11033d2e5cb23d9ed9
Author: Tamas Pal <folti@balabit.hu>
Date:   Mon Nov 30 13:27:48 2009 +0100

    Added version checking for pcre.

commit f111f885fc3e6ad35826447e1aa66eb59019d0b9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 3 18:20:35 2009 +0100

    preparations for syslog-ng 3.0.5

commit 981c5dac7e7732d7f314f0766e16ced7ce4c2b95
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 3 18:10:06 2009 +0100

    Fixed heap corruption problem in a more workable way
    
    The previous fix (196223af64d2bd09f41123313884b71cdd41bbd5) does not work
    because that patch remove state->current_program in situations when it is
    needed.

commit 3412dce0235e8d65bc3bebedffe8ff6bed02f45b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 1 17:12:38 2009 +0100

    fixed a memory leak in test_clone_logmsg

commit 838c4f544202f8ffa6c36019fabcbadc30d3e9e4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 1 17:02:25 2009 +0100

    nvtable: don't store static NV name part
    
    Instead of storing the NV pair name in case of static entries, assume those
    will be looked up using the NVRegistry. Since static entry IDs will
    not be dynamically assigned, this information is redundant, and spares
    us a few bytes/memcpys.

commit ec49dcdf31d293bbd11ac9c84a7040e3a7919643
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 1 16:46:56 2009 +0100

    logmsg: fixed possible leak when storing the LEGACY_MSGHDR value
    
    Since the LogMessage reorganization, log_msg_set_value() only needs a
    borrowed reference, no need to strdup it.
    
    This means that if you enabled store-legacy-msghdr flag on the source,
    it'd leak memory for every message.

commit e34e041467686fc14cb6868e376bd08c68d9838c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 1 16:45:27 2009 +0100

    added updated manpages.

commit e07709da9cbc3b946d11a35e5ce2c35053edf021
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 30 10:47:10 2009 +0100

    LogParser: make sure the LM_V_MESSAGE pointer remains valid accross parsing
    
    Since parsers add values to the LogMessage being parsed, it is perfectly
    normal to have their payload reallocated in case the parsed values do not
    fit into the currently allocated payload.
    
    log_parser_process() passed a borrowed reference to the parse function,
    which in turn could be invalidated in case this reallocation took place.
    
    The solution is to add a reference to msg->payload, and unref it at the end
    of the parse call, which makes it unnecessary to copy the message.

commit 748987fcaad126fbb0c7f5bb7772e7bf1c5725bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 30 10:45:04 2009 +0100

    nvtable: make NVTable reference counted
    
    As a preparation of a LogCSVParser bugfix, NVTables need to be reference
    counted. This patch implements that.

commit 4a2555590f2191d9eda90dfb99b340086e45b064
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 29 16:25:57 2009 +0100

    updated NEWS for 3.1beta1

commit 7bc779fdf281de0021e6e49e5efc592505c7220e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 29 16:24:21 2009 +0100

    pdbtool: stylistic changes

commit 20dd89661ced807b1b78ee7acd8378a2457d44ef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 29 16:24:10 2009 +0100

    pdbtool: call NV registry init and db_parser init functions

commit 90f2677deada4e915fc548372305c53651aabf65
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 29 16:22:54 2009 +0100

    radix: do not try to register zero-length name-value handles

commit 97c9d23b3d14ecebeedf6db76d81bd46d8642831
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 29 16:22:39 2009 +0100

    logparser: new log_dbparser_global_init() function
    
    Earlier the class and rule_id values were registered in a post_config
    hook, however pdbtool doesn't have that, but still it needs to have
    these handles registered.

commit 922e5c0d6a2dcc1ee4e3bdf4841a9df1b8cf1ff8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 29 16:20:51 2009 +0100

    logmsg: create a separate log_msg_registry_init()
    
    pdbtool doesn't have the stats subsystem initialized, thus it cannot call
    log_msg_global_init(). Separate the two functions so that pdbtool
    can call log_msg_registry_init()

commit f4c317fba0283dd06bdcb0e056851d5c629f3b0d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 28 19:16:04 2009 +0100

    preparations for 3.1beta1

commit 7c485e74a9e72e63e1b4b12fe6a14e77338894b6
Merge: 07a51cd c41bda9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 28 19:15:24 2009 +0100

    Merge commit 'mainline--3.0/master'

commit 07a51cd6a811ab8f7d007a21734e672174f9b9af
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 28 19:10:49 2009 +0100

    test suite: small fixes to avoid test failures on some platforms

commit c41bda9a49544d68662b170a859a63f9a7d5ad59
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 28 19:07:58 2009 +0100

    afsql: keep the message queue upon SIGHUP processing
    
    Earlier the queue was dropped if a SIGHUP was received, possibly
    causing messages to be dropped.

commit f619551a37b360542d981dfb77f09f0c8d21d8a9
Merge: 381c3b6 2e93a54
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 28 18:23:40 2009 +0100

    Merge commit 'mainline--3.0/master'

commit 2e93a54d46dd65bca0e0e96440ca376afc1215e4
Author: Tamas Pal <folti@balabit.hu>
Date:   Mon Nov 23 15:04:29 2009 +0100

    Fixed: syslog-ng fixed HP-UX 11iv2 compilation
    
    An earlier untested patch was published on the mailing list, but wasn't
    confirmed by the user in question and it turned out it didn't work.  With
    this patch it should be better.

commit d9595c13adcf864d21ea062d4b9bdd6bcda5b593
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 28 17:21:32 2009 +0100

    tgz2build/rules: modified to allow build on legacy Linux systems. (fixes: TK-03864)

commit a478ef1fdc291def28e87a222069579c51f52f9d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 28 17:15:17 2009 +0100

    test_zone: do not fail on ancient libc versions
    
    The timezone files on Debian potato are not yet updated with the latest US
    zone changes being effect since 2007.  These tests failed on Debian potato,
    comment them out.

commit caa14b6469a80ca2fe62b144914d70d11442793d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 27 17:18:53 2009 +0100

    [test_zone]: test no longer fails, if timezone file missing(fixes: TK-03849)
    
    (cherry picked from commit 8b1b8ca0805e8cdfe0981b5b47a528cc6dbf5f48)

commit 381c3b67e3762579cbcec4e8641aff12c4700fef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 27 17:11:42 2009 +0100

    fixed some compilation issues on various platforms
    
    This patch fixes some warnings/errors after compile testing it on a bunch
    of different systems.

commit 02ba8525c9147a9c7d8a0aa8b17ebf0ff982b703
Merge: 64670df 1d7aafd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 27 15:27:40 2009 +0100

    Merge commit 'mainline--3.0/master'
    
    Conflicts:
    	src/compat.c
    	tests/unit/Makefile.am
    	tests/unit/test_template_speed.c

commit 1d7aafd4ebfc7c18ed4402148febb44b274e9ab9
Author: Viktor Tusa <tusa.balabit.hu>
Date:   Wed Nov 11 13:22:24 2009 +0100

    Fixed a possible race in file driver preemption, where wildcard driver couldn't change
    file, if it read message without EOL larger than buf / 10.

commit e8b1226b5381c5c0ad5f8094bd12e45b2d53a49c
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Thu Nov 5 15:34:54 2009 +0100

    [afsocket] fixed syslog over udp and framing issue (fixes: #19639)
    syslog-ng used framing in dgram transports

commit d25ad4f5373a6a4bf2f1f5ed37147a10412fe30d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 20:36:26 2009 +0100

    [test_sql]: properly checks the existence of sqlite3 and libdbd-sqlite3.

commit 5c9f64be5b6655e465b7ef5f3c8e5622ef8fd8e9
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Thu Nov 26 20:45:30 2009 +0100

    [init-funtions] added lsb/init-func include to fix the log_*_msg calls
    
    If the /lib/lsb/init-functions file exist on the system, it will override
    our log_*_msg functions and the other management functions will overriden
    by our functions

commit e14326465d58618df290cdbb87cfae225e3f4721
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 16:43:25 2009 +0100

    [main] display installer version along with syslog-ng binary version number
    
    Sometimes the binary packages are re-released with the syslog-ng binary
    unchanged. Thus it is important to display the installer version in
    this case as well.
    
    This patch reads this information from $prefix/etc/install.dat which
    is created by the installer.

commit caf78edb0ea13ccd0f200451bc6e73268c0ba17e
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Fri Oct 16 11:28:15 2009 +0200

    [ASA timestamp] fixed ASA timestamp parser bug on HP-UX
    
    strptime returned NULL on HP-UX because of the last whitespace character

commit 9f1fad96b65e4ccf0f483ac0d985a5991fdf407e
Author: Tevesz Andras <ghost@balabit.hu>
Date:   Tue Oct 13 14:42:06 2009 +0200

    [compat] added __strtollmax function to run on AIX 6

commit 64670df2d2ff75bebec917e327806d5578b739ea
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 16:07:32 2009 +0100

    misc.c: fixed C99ism that prevented compilation on old C compilers

commit e294e79912fbe69535ea60fdb55eaf079ff76aa5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 16:07:14 2009 +0100

    doc/Makefile.am: added all patterndb version XSDs to the dist

commit fe626dbd20e4b1a360d8c2c741944af4d83b4216
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 16:05:59 2009 +0100

    added template formatting benchmark

commit bb7d986b8a68b61c5525e04480fedfdbc9ecb92d
Merge: f7bc3f8 45566d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 12:51:31 2009 +0100

    Merge commit 'mainline--3.0/master'

commit f7bc3f8f9043f3258dfa249a87039f61ec8799dc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 10:31:51 2009 +0100

    cfg-grammar.y: remove trailing whitespace

commit 185cfab34bcd6e41ff4b4d430bd9309e2a4e9e87
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 10:31:39 2009 +0100

    grammar: added warning message about '$' prefixes at value references in the grammar
    
    Dollar sign is not needed in this case as value() options are not
    templates, two important differences:
    
    1) macros in templates are not writable
    2) template expansion is slower performance wise

commit 17cc0b279fed0311aea8bf7df781905d945697ce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 09:44:57 2009 +0100

    LogMessage: add read-only macro support to log_msg_get_value()

commit 694af8ace960ea81b69470fcc5acd48ca6e75faf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 26 09:43:15 2009 +0100

    NVRegistry: change memory layout to avoid one pointer deref
    
    Since the NVHandle flags are going to be needed in the log_msg_get_value()
    fast path to support macros as values, I want to avoid the extra deref. Also
    functions taking part in the fast path are moved to the header and
    marked as inline.
    
    Among other things this means that the handles are stored in a GArray instead
    of a GPtrArray.
    
    This patch also contains some function renames for consistency and the
    extension of the handle flags to 16 bits.

commit 32c572675f8854c30c0a231e4e846ee2d8b06a2e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 25 10:04:02 2009 +0100

    added some global counters
    
    Some log message related global counters were added to make it possible
    to recognize potential performance problems.

commit f33e7d72228f3d78f75e58f0f6df884baef96806
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 25 10:02:28 2009 +0100

    logmpx: fixed message cloning logic
    
    Some changes were improperly propagated along invalid branches of the
    log pipe tree, which is fixed by this patch.
    
    Basically sometimes a log message was refed instead of being cloned while
    there were some changes still applied to the LogMessage instance.
    
    Since some clones/log queues still referenced the same message, this caused
    some changes to be propagated along branches where they shouldn't have.

commit 26d3f13dca746cfd3f7a6ecbb7ae29ad208d1623
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 23 17:18:55 2009 +0100

    nvtable: remove qsort() and use insert-sort when a new entry is inserted
    
    An external test program was used to prove that occasional qsort() is
    way slower than doing the insert in sorted form in the first place.
    
    Thus the nv_table_reserve_table_entry() was extended to look for
    the proper entry in the NVTable

commit a08aeda79ed3fed54892009800c5ed3df0b10ea6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 23 17:16:07 2009 +0100

    nvtable: added some G_LIKELY/UNLIKELY and inline annotations
    
    Also broke log_msg_update_sdata into two smaller functions, one inline
    taking care of the fastpath and the other non-inline which does
    the slow path.

commit 80dcd73657f5dcd0fcc35a2b11cb66388daf96e9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 23 14:28:10 2009 +0100

    added ltmain.sh to gitignore

commit f947721f7278ecda16c874cecab3af67b37617f9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 23 14:27:53 2009 +0100

    implement SDATA support on top of NVTable
    
    Structured data is a little bit more than simple name-value pairs in the new
    LogMessage/NVTable model as it requires proper ordering in order to
    reconstruct the structured data field in the log message.
    
    This is accomplished by using an array in the LogMessage that contains the
    handles of the SD elements in the original order. Thus the original
    SDATA field can be recovered even after putting them in NVTable.
    
    This algorithm is about 6% slower in microbenchmarks than the original
    with linked lists, but overall it should be a win because of the less
    number of memory allocations and the more cache-friendly layout. I still
    need to run a test or two to confirm that though.

commit 9d40268fed8624354b54d08ee2b1fe3187ddacc4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 22 18:35:56 2009 +0100

    added memrchr implementation in compat.c

commit 17821a660af589d2bc3319eca75f7221a7b3ddb2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 21 16:47:52 2009 +0100

    pdbtool: fixed a possible format string bug
    
    one of the g_string_append_printf()s appended a "buff" using the
    format string argument, which is obviously not very good.
    
    This has no security implications as pdbtool is ran as a user, but could
    be a problem if pdbtool is used behind a web application, feeding data
    unchecked to pdbtool.

commit 931f125540aebe0bfb07540b6510acde20de1b59
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 21 16:46:31 2009 +0100

    afuser: fix a possible buffer overflow if the utmp entry contains an overly long tty name
    
    This is theoretical as the utmp entry only contains 32 characters
    (at least on Linux, other platforms unchecked) and the contents of
    the utmp is already managed by root anyway.
    
    But better safe than sorry, thus it is fixed.

commit fa099e33572a7b56be6cf971b8cf0974a121c320
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 21 16:43:29 2009 +0100

    Implement NVTable to store name-value pairs
    
    This patch is the first of the reorganization to use the same data structure
    API to access all string-like fields of a LogMessage. Instead of having
    4 different implementation for:
    
      * standard fields of a log message (HOST, PROGRAM, MESSAGE, etc)
      * regexp matches ($1, $2, ...)
      * structured data
      * name-value pairs
    
    This patchset aims to uniformize all of these while still keeping the
    performance up. It is believed (and some evidence has shown) that
    accessing standard fields is not slower, while name-value pairs become much
    faster (up to 4 times speedup). It is just an added bonus that all
    client code can use the same APIs, thus the difference between name-value
    pairs and macros can fade even more.

commit 45566d957609026abe41a3292003909b23615124
Author: Anthony Lineham <anthony.lineham@alliedtelesis.co.nz>
Date:   Tue Nov 3 20:44:59 2009 +0100

    cfg-lex: fixed a possible segmentation fault in HUP processing if included files have syntax errors
    
    This patch fixes several use-after-free problems if a file with a
    syntax error is included and syslog-ng is reloaded multiple times.
    
    Thanks for Anthony Lineham for tracking this down.

commit ea34eee9a1172c213aeccbf68ed4fa2881c97b29
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 2 10:59:30 2009 +0100

    affile: set follow_freq to 0 on FreeBSD kernel messages
    
    FreeBSD uses /dev/klog character device for kernel messages. But
    since the file source driver set follow_freq to 0 only on Linux,
    this meant that FreeBSD config files needed an explicit
    
    follow_freq(0) in their /dev/klog source definition.
    
    This patch makes this the default on /dev/klog if the __FreeBSD__ macro is
    defined.

commit ee5421998284021e565a26e869348f4d9e9450c7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 31 14:32:18 2009 +0100

    test_template_speed: new unit test program that measures template formatting speed

commit d1d26ce4eaf4c7f29b54cdb3e72e3347d779bc39
Author: Marton Illes <marci@balabit.hu>
Date:   Wed Aug 19 01:59:10 2009 +0200

    [patterndb] ESTRING parser can match till multi-character string instead of a single char
    
    if ESTRING is given just one char as an end marker it uses strchr to find end
    otherwise it uses strstr to find the end marker which is a string in that case
    the markers are not part of the match in any case

commit cb7249d130f684fb85258a35c678a9fbbb39b1e8
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Aug 13 17:51:22 2009 +0200

    [patterndb] added merge command to pdbtool to merge and upgrade (if required) patterndbs into one
    
    version 1 patterndbs are converted into version 3
    added empty version 1 patterndb for testing/example purposes

commit 3150bdccf9bdf8678b8644908df01729700948dd
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Aug 11 15:53:14 2009 +0200

    [patterndb] fixed ipv4/6 parser to handle patterns where address is followed by a '.' or ':'

commit fb91e721b0a575b61033e323dd23e5911fa796cb
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Aug 11 11:38:47 2009 +0200

    [patterndb] fixed value unicity check in xml schema to check value value name uniqnes

commit 3b59ae56dc78b397839f7833d77ba71ae08f44f4
Merge: b28af21 34b9c4e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 30 09:34:19 2009 +0100

    Merge commit 'mainline--3.0/master'

commit 34b9c4eb6d14d69f0700bb9cd196063ef2bae3b6
Author: Tamas Pal <folti@balabit.hu>
Date:   Mon Oct 26 15:42:13 2009 +0100

    [init.d.freebsd]: start action adds $SYSLOGNG_PREFIX/sbin to PATH.
    Reportedly needed on FreeBSD 7.x, but can't reproduce it. (fixes: #57)

commit b28af21364a97205abc44b5a620c7cd0077f21c3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Oct 23 18:31:17 2009 +0200

    added Solaris specific cron facility

commit e4136cb1f6ac507cf265cb3614af170c301e4a88
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 5 13:28:03 2009 +0200

    [logwriter] fixed a 100% CPU usage if a udp destination is down
    
    Sometimes when a UDP destination is down we get POLLERR from poll. This
    was not always propagated to the dispatch handler by GLib if
    pollfd.events was 0.
    
    This patch makes sure that at least G_IO_ERR is present in the "events"
    field in logreader/logwriter.
    
    Reported-By: Sandor Geller

commit 9848a0ffedb68c2ce0417b8c9ac13c7f99c2bf8b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 29 13:45:23 2009 +0200

    added explicit --enable-sun-streams and --enable-sun-door options
    
    As it seems older autoconf worked with these options without having to declare them.

commit 09708b791005f86fea04c288cc92609353950f46
Merge: 8a02601 2fc30ef
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 16 10:02:04 2009 +0200

    Merge commit 'mainline--3.0/master'
    
    Conflicts:
    	src/logpatterns.c
    	tests/unit/test_radix.c

commit 2fc30ef531d085e4a937909c3a3fbb94ea973783
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 14 09:49:22 2009 +0200

    [syslog-ng spec] removed some more, unneeded PE related stuff

commit 0836f9098d4e4884f7efa4ec6e027c4e48e1f3b1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Sep 7 19:39:54 2009 +0200

    [stats] updated API entry point docstrings

commit 86d3fa605cd1fbf2dd7a78b3a23cba8c3f6c57bd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Sep 6 09:21:19 2009 +0200

    [test_zone] don't attempt to use the SystemV timezones as they may not exist
    
    On Gentoo the testsuite failed because it lacks the SystemV timezones:
    
    Failed to open the time zone file;
    filename='/usr/share/zoneinfo/SystemV/CST6CDT', message='Failed to open file \'/usr/share/zoneinfo/SystemV/CST6CDT\': open() failed: No such file or directory'
    Bogus timezone spec, must be in the format [+-]HH:MM, offset must be less than 24:00; value='SystemV/CST6CDT'
    unixtimestamp: 1252119277 TimeZoneName (SystemV/CST6CDT) localtime offset(0), timezone file offset(-1)
    
    Removed the offending timezones from the testprogram.

commit 8a02601f81791a519de568f900276ceedd3ca6c9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Sep 4 09:55:18 2009 +0200

    [syslog-names] decouple the facility/severity codes known by syslog-ng from the system defined codes
    
    Until now syslog-ng depended on the values defined in <syslog.h> to implement
    the severity/facility name lookups.
    
    Since BSD uses a couple of new facility codes which are not defined on
    other system, this patch removes this dependency and hard-codes the
    values defined by RFC3164, the Linux syslog.h header and the BSD syslog.h
    header.
    
    This makes syslog-ng know about "ntp", "security" and "console" facilities.
    Even on non-BSD systems.

commit 0d6e9ca2afba9b7d78b94b8684fc001acd76b6d8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 2 22:56:22 2009 +0200

    removed old cruft from syslog-ng.spec.bb

commit 8a131a0f250c0b54ce59874383f8d85fa87c59ff
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Aug 31 19:19:43 2009 +0200

    [LogSource] fixed broken program_override/host_override settings
    
    The length for program/host_override strings were initialized to zero and a
    recent performance improvement (in commit 7f9603c) makes uses these length
    values. However the on-demand length calculation of these fields checks if
    the lengths are below 0, which they are not if those are 0 initialized.
    
    Reported-By: Imre Lazar

commit c2e8aa58763a89cab58d05fb7a2b2a18021413b4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 30 12:25:17 2009 +0200

    [logmsg] added support for ASA timestamps
    
    ASA timestamp, expected format: MMM DD YYYY HH:MM:SS

commit 51d40371d5e2abf636220470c8257b8426fa648c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 30 11:41:24 2009 +0200

    [afinter] don't block on the internal_msg_queue even in the threaded case (fixes: pub#48)
    
    A hang was reported in bugzilla ticket #48 which seems to have
    been caused by MARK messages interfering with local messages:
    
      * if the MARK is due in the same poll iteration as a local message
      * the MARK timeout is checked and the internal source is marked as having
        input available
      * then the local message comes in pushing the mark timeout further ahead
        in time
      * then the internal() dispatch callback checks the mark timeout again,
        but at this time it is already in the future ->
      * the dispatch callback falls back to fetching the internal message from
        internal_msg_queue, assuming it was that which caused the dispatch
        callback to be scheduled
      * this blocks indefinitely.
    
    The solution is very simple: use g_async_queue_try_pop() instead of
    g_async_queue_pop(), the dispatch code already takes care about a
    NULL message value.
    
    Thanks for the helpful reporters to hunt down the issue.
    
    Reported-By: Arkadiusz Miśkiewicz, Elan Ruusamäe

commit 2e03c0ea300abc8f727e00981182b0e907194472
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 9 09:21:14 2009 +0200

    [debian] added pdbtool to the syslog-ng package

commit 0195be8fefdce7b090a5fbbda8bce390cad1a2e9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 9 09:18:24 2009 +0200

    [test_patterndb] fixed compilation warning about undefined g_unlink()

commit 167df969c1cc690cfc51359aca1c064f7749be4b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 9 09:18:07 2009 +0200

    [tag filter] fixed compilation warning in the filter_tags_add invocation

commit 1ad4da07d5305ba0140ac385d661ab6de25fc5f3
Author: Marton Illes <marci@balabit.hu>
Date:   Fri Jul 31 17:17:13 2009 +0200

    [patterndb] estring parser length calculation must include ending quote
    
    Also added relevant testcases.

commit 51de3882ee873d9e8a555aef74b5c4eb8ec9a71b
Author: Marton Illes <marci@balabit.hu>
Date:   Wed Jul 29 18:00:07 2009 +0200

    handle unclosed macro/variable references in template compilation

commit 29ff0aa9e23b90cc543df9f8ef74fee818a6cffb
Author: Marton Illes <marci@balabit.hu>
Date:   Fri Jul 31 17:17:13 2009 +0200

    [patterndb] estring parser length calculation must include ending quote

commit 4cc5bd0136f0dd18e59d82129584dbf5b1664691
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 30 13:09:16 2009 +0200

    [patterndb] pdbtool match exits with zero exit status if match is found

commit 26333c9978dd48bae5ac46ae0a838cd275ba5ca0
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 30 12:18:32 2009 +0200

    [patterndb] added patterndb version 3 to support values and test examples
    
    version 3 is backward compatilbe with version 2

commit b1e0cf65c5cae33f7e0a69febfa8ac1693acac93
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 30 11:54:06 2009 +0200

    [patterndb] added dump command to pdbtool to dump pattern database

commit 95879375ff6d5ad90dfa622cd703ea2f14b0885f
Author: Marton Illes <marci@balabit.hu>
Date:   Wed Jul 29 23:19:28 2009 +0200

    [patterndb] added pdbtool utility to handle patterndb related tasks

commit 98dabd4d62cf8871837674fa726939b4a94b3396
Author: Marton Illes <marci@balabit.hu>
Date:   Wed Jul 29 18:00:07 2009 +0200

    handle unclosed macro/variable references in template compilation

commit fa8e3c66e9dce34fa44ec01933949c7f2ef65dc5
Author: Marton Illes <marci@balabit.hu>
Date:   Wed Jul 29 17:58:43 2009 +0200

    [patterndb] name/value pairs can be attached to LogMsg from patterndb rules
    
    values are evaluated as templates on attaching values to a LogMsg

commit 176755ba7f8e0c28d5dd94d76e46b60be4ad0b94
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Jul 28 20:15:19 2009 +0200

    [patterndb,tags] added tags support to patterndb
    
    tags can be specfied for each patterndb rule which are added the matched
    message

commit 8bac54730640452bd68719268baedd8a8958d3bd
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Jul 28 13:50:01 2009 +0200

    [patterndb] added version 2 patterndb XML schema

commit cdc2d13ecbf61a9d00b87900de542540affaa155
Author: Marton Illes <marci@balabit.hu>
Date:   Fri May 1 17:55:27 2009 +0200

    [tags] the message is taged automaticaly with the source group name as ".source.name"

commit 6c76d96f2c89590302dfd374e186d2479ea38992
Author: Marton Illes <marci@balabit.hu>
Date:   Tue Jul 28 13:37:59 2009 +0200

    [tags] tags() option added to source drivers to tag messages
    
    tags(comma separated list of tags)
    the listed tags are added to messages received on that driver

commit 5a78871b340fb9bdc9e315d751297069303bfa44
Author: Marton Illes <marci@balabit.hu>
Date:   Fri May 1 17:50:36 2009 +0200

    [tags] added tags() filter to match taged messages
    
    tags(list of comma separated tag names)
    could be used to match any of the listed tags of the message

commit d31f14cb81dfb5708f0ff76ea535a7b52fe3118e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Aug 9 07:47:23 2009 +0200

    [tags] tags can be attached to LogMessages
    
    Currently maximum 8159 tags could be defined and attached to a LogMessage. The structure
    holding the tags in a LogMessage is allocated automatically as new tags
    are attached. Tags could be set, unset and tested for presence.

commit 9c9ddfba10b26e213712fe2135ed1e327d8770e3
Author: Marton Illes <marci@balabit.hu>
Date:   Fri May 1 17:40:47 2009 +0200

    [tags] created tags framework
    
    Tags could be attached to messages and later tested for tags presence. Each tag is
    represented by its name and unique number which is attached run-time. Run-time
    ids are used for fast lookup and matching.

commit c1645750f7086591ca64817188763a6c015c6fc4
Merge: 64a7fdd 1b5d618
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 8 17:24:56 2009 +0200

    Merge commit 'mainline--3.0/master'

commit 196223af64d2bd09f41123313884b71cdd41bbd5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Aug 8 17:05:16 2009 +0200

    [patterndb] fixed possible heap corruption in case of a parse error
    
    state->current_program wasn't set to NULL whenever it was inserted in the
    radix tree, which means that it could possible be reused later.

commit 1b5d618e301ad94aa20e692ffba16469dece8d10
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Aug 5 16:06:08 2009 +0200

    fixed link error if ipv6 is disabled
    
    ccache gcc  -g -I/opt/syslog-ng/include -Wall -U_XOPEN_SOURCE -U_XOPEN_SOURCE_EXTENDED -D_HPUX_SOURCE  -Wl,+b/opt/syslog-ng/lib -L/opt/syslog-ng/lib -lcl -o syslog-ng  main.o libsyslog-ng.a   -lrt -lnsl  -pthread -L/opt/syslog-ng/lib -lgthread-2.0 -lglib-2.0 -lintl -liconv   -L/opt/syslog-ng/lib -levtlog   -Wl,+s -L/opt/syslog-ng/lib -lssl -lcrypto -ldld   -lz -lnet  -L/opt/syslog-ng/lib -ldbi
    /usr/ccs/bin/ld: Unsatisfied symbols:
       g_sockaddr_inet6_get_port (first referenced in libsyslog-ng.a(afinet.o)) (code)
    collect2: ld returned 1 exit status

commit c7d6f1236a3608c1f91c0b5829ded3192956ac23
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Aug 5 12:55:53 2009 +0200

    preparations for 3.0.4

commit 64a7fdd28cf8e6582c190724a8c3052724db3430
Merge: a4d7533 0fb065c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Aug 5 12:39:51 2009 +0200

    Merge commit 'mainline--3.0/master'
    
    Conflicts:
    	NEWS
    	VERSION

commit 0fb065c45dde64e834196781e6bfc8dcef40709e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 4 09:38:57 2009 +0200

    [afstreams] fixed failure handling in door initialization
    
    Sometimes syslog-ng could close the door fd multiple times, causing
    problems in other drivers if the same fd was reopened for a different
    purpose.

commit 7f9603cd4c8a899570f2df93a08d72dec8a5d85e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 17 10:03:12 2009 +0200

    [LogSource] improve host_override/program_override performance
    
    Since we do have the length of the overridden fields, don't recalculate it
    with g_strdup(), use g_strndup() instead.

commit a69902316b52fcff6d611574baf71604c2960fb1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jul 13 09:26:59 2009 +0200

    [patterndb] fixed error handling
    
    GError instance was not properly initialized to NULL and it might have
    printed garbage in the error message in case GLib returns failure
    with error == NULL.

commit 63ab6b0cbdcf0309212ed816bd221d4444d19453
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 9 18:34:53 2009 +0200

    [afsocket] make sure self->transport is initialized (fixes: #19609)
    
    This causes possible NULL derefs under Solaris when the stats
    name is formatted

commit a13c140ab95643635887dd7b9137179f6968a370
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Aug 5 12:34:32 2009 +0200

    [config parser] use the string non-terminal instead of STRING for bad_hostnames()
    
    this allows the user to use both the quoted and non-quoted string forms in the
    bad_hostnames() option.

commit 6fb048334d2859c319914cdf1c97bc0f8a5403af
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Aug 4 17:27:54 2009 +0200

    fixed negative window size problems
    
    the source window can go sometimes under 0, causing a possibly failed
    assertion during SIGHUP processing. Fix proposed by Sandor Geller and
    rewritten completely for 3.0 by me.
    
    Reported-By: Sandor Geller

commit d2158b87895fd7cc7a044af0bbad4df37db19015
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 31 21:14:00 2009 +0200

    don't reset the destination port number to 0 in ipv6 address resolution
    
    resolve_host() zeroes out the port number if an ipv6 address is resolved.

commit 741dcea9e98fe4a7543f0ab705b3a52eab99332c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 31 12:00:03 2009 +0200

    fixed possible abort when using tcp6() destination

commit a4d7533d9c826dcf405d94aa6644587feacf9e96
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 16 22:41:55 2009 +0200

    [patterndb] fixed parser node first char match handling
    
    the mask/match combination is switched to a range

commit 9e7a729f6b450c7ef5bf0b22943771f040fd110e
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 16 22:38:55 2009 +0200

    [patterndb] Consider the value of the parameter when checking if two parser nodes are equal
    
    Earlier only the name and the parser type was checked, but the
    parameter is also important when determining if two parser nodes
    are equal.

commit 73fe61c0dccd0453cb18d41e3bdca54a2525fba1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 16 22:34:06 2009 +0200

    [patterndb] use strcmp instead of prefix match when looking up parser name
    
    Because of historic reasons r_parser_new() used prefix matching instead
    of complete string matching. This was obviously wrong.
    
    Updated a bogus testcase that only worked because of this wrong behaviour.

commit 8c9e4099477866829b9de8dbdbcca97806856f00
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 16 22:31:01 2009 +0200

    [patterndb] added FLOAT radix parser
    
    This patch originally added a parser named "DOUBLE", but since I've found
    that to C specific, I've changed the parser name to "FLOAT", while still
    recognizing the old name "DOUBLE".

commit ae1b7fd8f386c141056247264ccd06da78614136
Author: Marton Illes <marci@balabit.hu>
Date:   Fri May 29 15:03:28 2009 +0200

    On error r_insert_node displays more information about the node that caused the problem
     in logpatterns.c for rules, the rule_id is displayed

commit 6be05a55fcfd55b4efa106e5c507ad3fad9cbdbc
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 16 22:03:21 2009 +0200

    [patterndb] adapted db_parser configuration loader to new syntax with rulesets
    
    This patch introduces the v2 patterndb format.

commit b0869709f98566d39b5b3d8bd793cdf12ccc1996
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 16 22:00:49 2009 +0200

    [patterndb] db_parser NUMBER parser now handles hexadecimal numbers in 0xXXXXX form

commit 60dc446418bcb9e41436d5ab287f66a604172a6f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 16 21:57:04 2009 +0200

    [unit tests] white space cleanup

commit 32e346803c04c8454ae7f9313ebf5f9fdac83553
Author: Marton Illes <marci@balabit.hu>
Date:   Thu Jul 16 21:56:03 2009 +0200

    [patterndb] added IPv6 and IPvANY parsers to db_parser

commit a2b156f67a4cb7c5ee9438864c6d93870e668ac1
Author: Marton Illes <marci@balabit.hu>
Date:   Sat Apr 25 19:02:53 2009 +0200

    fixed a memory leak around parser match storing, check for parser node name length
    
    
    Reported by: Martin Holste

commit 53c07dc8bba32dab918d6ab782e0e1dfc6b210ff
Author: Marton Illes <marci@balabit.hu>
Date:   Fri Apr 24 19:24:40 2009 +0200

    fixed a memory leak in db-parser() dynamic value handling
    
    Reported by: Martin Holste

commit 1c31f647245df4e6f8773d49c04ca32deb9d9bfc
Author: Marton Illes <marci@balabit.hu>
Date:   Fri Apr 24 19:23:33 2009 +0200

    added testcase for real log radix parsing

commit 08c9bf9d98e4e021756adc12c42605840140ba8b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 25 08:57:09 2009 +0200

    [func_test] make func_test run with Python2.6
    
    Under Ubuntu jaunty, Python 2.6 socket.ssl is not imported into
    the importing module if '*' is used for import symbols.
    
    Make the import explicit, this works.

commit 6d44bfd8085a6ef11f6d208397cc22cb32bc971b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 25 08:27:45 2009 +0200

    [VERSION] preparations for 3.0.3

commit 453407a16e41da145308019867b3bcf6715b4c70
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jun 25 08:26:41 2009 +0200

    INCOMPATIBLE: fixed command line argument incompatibility with syslog-ng 2.x
    
    syslog-ng 3.0 was changed to use the command line parser from Glib instead
    of the system getopt() which does not support long arguments on some
    platforms.
    
    However there was an unintended conflict in the processing of the -C
    (chroot) and -R (persist-file) options, which caused an unintended change of
    meanings of these options.
    
    Since these options are quite rarely used and it is expected that more users
    are yet to be upgraded to 3.0, it was decided to keep the compatibility
    since 2.x, thus it is an incompatible change within the 3.0 series.
    
    Reported-By: Leonid Chaichenets

commit 82f593ac78a62cfe49b64642cca77b02dada06d8
Merge: c22ee8d 75c5000
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 13 10:32:30 2009 +0200

    Merge commit '3.0/master'

commit c22ee8dad59b56b9f2d4f85282570d77e931d2be
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jun 13 10:30:37 2009 +0200

    [radix] implemented ANYSTRING parser
    
    the ANYSTRING parser eats everything up to the end of the string.

commit 75c5000a4d6ea6ab04e4f2158e6008dec0a1cdcd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jun 7 11:47:51 2009 +0200

    [afuser] open the tty in nonblocking mode to avoid blocking on serial lines
    
    Reported-By: Jean-Baptiste Quenot

commit 455011d067635100e05168783b54d219fb207108
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 3 13:15:54 2009 +0200

    [logprocess] fixed log_process_queue to handle NULL "next" pointers (fixes: pub#49)
    
    With a configuration which had a filter() but no destination, it can happen
    that the next pointer of a filter() node points to nowhere.  This patch
    handles that case without causing a crash.
    
    Reported-By: Jan Schaumann

commit bbc122dad8a7256368ab8cb95c133895478100c7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 30 19:18:10 2009 +0200

    Changed version number and cleaned NEWS file for syslog-ng 3.1

commit fe8965b5c78cdccaac474c4a8d51961f9aa7b715
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 25 11:28:00 2009 +0200

    [templates] fixed omitted parentheses in the previous patch

commit 32949aaf9a241411f63953926898b5f1e33064ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 25 10:30:58 2009 +0200

    [templates] fixed compilation problem if ipv6 is disabled
    
    templates.c:(.text+0x658): undefined reference to `g_sockaddr_inet6_check'
    
    Reported-By: Michael Sterrett

commit e1c8e7f086f5c5b73727cfef6d351614d87574ed
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 8 18:05:45 2009 +0200

    [func_test] func_test problem fixes on various platforms

commit b2eba9087c5a5c7b2789654d24bba6070fe24cb1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 8 10:55:04 2009 +0200

    [test_zone] omit posix/ and right/ subdirectories from the test
    
    And remove timezone names that are not supported on Debian/etch, e.g
    Kolkata
    San_Luis
    Ho_Chi_Minh

commit 28c88c157b584ea698b0e546aaccd62d864685bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 8 10:48:26 2009 +0200

    [test_zone] always call putenv() on the new TZ string as the current code didn't work on FreeBSD

commit dc6717b358db08fdb1f2a8be2cc7f6388acd79dc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 7 21:58:40 2009 +0200

    preparations for 3.0.2

commit 691c7a3a49eb3f5d019bfa753b80aabd875af1fd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 7 16:57:55 2009 +0200

    [affile] restore changed caps unconditionally (fixes: pub#42)

commit 7218abcbc4c6fbb29491e9140946b47f5795998d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 4 15:40:04 2009 +0200

    [config parser] use LL_ prefix for non-keyword tokens in the parser
    
    To avoid namespace collisions with openssl.
    
    Reported-By: ruiyen@gmail.com

commit 355f1bdce9f86df5d2ad85e1a0a250ff317c107d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 2 13:42:49 2009 +0200

    [func_test] readded default syslog-ng options to test_performance

commit f86c598f2e74e4e8b7ae893de233d17d842d1fd0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 2 13:42:22 2009 +0200

    [func_test] added validation to SQL test case

commit 9ac94e61a387da76c420d17202b148fb409f0c99
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 2 13:41:48 2009 +0200

    [func_test] added PID information to the generated messages

commit 2a6fa5bf06620358d3acc369b4fc601f022119d6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 2 13:41:31 2009 +0200

    [func_test] iterate test cases inside a given module in alphabetical order

commit 14d87e003ed1b3b4f814115147d0d588bd212270
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 2 13:22:16 2009 +0200

    [func_test] messagecheck was generalized somewhat to cope with SQL

commit cfc62e755a339c732a26a24fa5486f185993a38b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 2 13:20:38 2009 +0200

    [func_test] fixed start/stop logging in case syslog-ng is stopped in the testcase
    
    also fixed FAIL logging, in which case test case ends were printed twice.

commit 001214236f7c94280a3ffe259cb032927bc60df3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 1 14:34:29 2009 +0200

    [gitignore] added .pyc files

commit b911e8b288691060dde0e085a4b66db238448efe
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 1 14:32:05 2009 +0200

    [func_test] split func_test program into several more maintainable modules
    
    instead of having one thousand line script, split func_test into small,
    more maintainable modules.

commit 679a70e10bb1953d7c47ee68431ec492d8f83862
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 22:45:53 2009 +0200

    [func_test] added primitive SQL test
    
    it does not yet validate the contents of the SQL table after inserting
    logs, but it starts it nevertheless.

commit 354136667130a7ceb058aeab0a6a4e84be7e7c49
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 22:44:44 2009 +0200

    [func_test] added test cases for SSL
    
    This requires SSL support in Python's socket module, but for now we will
    simply fail if it's not available.

commit b6e9ea617567b9da300adfc8b2462a6bf5efd892
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 22:41:23 2009 +0200

    [func_test] added some basic performance testing
    
    Run loggen against a simple syslog-ng configuration. The baseline still
    has to be found, we currently require 1000 msg/sec everywhere, an 10000
    on my development box.
    
    I plan to specify more exact numbers for all of our build hosts.

commit bbd987cb2d21899e79c277eec2bfe8df0e291a6c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 20:15:17 2009 +0200

    [func_test] readded port number randomization
    
    The previous patch dropped an OSE feature in func_test namely to
    randomize the port numbers used while testing. This patch readds
    this functionality.

commit a0e2e7e889dd1a9c1e40475a0c1e6a33e2888bb7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 19:53:32 2009 +0200

    [test_zone] on Linux always run all tests
    
    fixed up tests with long zone names (> 32 chars), also fixed
    timezone setup by adding clean_time_cache() to all cases.

commit 1b0b2a1fbb3cbadbec7774e48ae6f2f759da80b9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 19:51:44 2009 +0200

    [tests] added the collection of test coverage data

commit eb0baa34450681d1cf7ca23ed8fc28b251258a35
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 12:54:34 2009 +0200

    timezone related variable naming cleaned up for readability, added support for local_timezone() (fixes: pub#44)
    
    This patch clarifies time_zone related variables by adding "recv" or "send"
    prefix to indicate the information that was previously implied.
    
    Also added a 3rd time zone named "local" which controls the timezone to
    be used for naming files/SQL tables. The local timezone is supported by
    the SQL and the file destination.

commit 7d21d16bae466094cf9ac3cfb652c3ffe9d5296d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 11:06:56 2009 +0200

    [afsocket] added shutdown call prior to closing fds (fixes: pub#21)

commit 10c11e65fcf02aca60b05d265be694d771fa57ad
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 14 13:16:04 2009 +0200

    [afsql] implemented NULL value support
    
    Reported-By: Liam Kirsher

commit 3672c6a2daff166fa358e079ba79e8ba4eb4d055
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Apr 30 10:30:14 2009 +0200

    [afsql] added warnings about the use of default values for columns/values/indexes
    
    The same set of defaults will not work on all SQL databases, so it's
    preferable to rely on the admin to specify values explicitly.
    
    For now I added a warning, but the defaults will be removed in the future.

commit 62dd98b5a803275954a09fc04feb6cea9ac7f5d1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 29 17:45:59 2009 +0200

    [config parser] don't use facility/level keywords for specifying the default values for file sources
    
    There was an experimental feature to add support for controlling the
    default facility/priority values for sources in case the incoming
    message lacked this value.
    
    This used the same 'facility' and 'level' keywords but this was misleading
    as it does not override the value received if it was present.
    
    This patch changes it to use distinct keywords.

commit f96ae94df8abdc92402247682537404613db26b9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 29 17:38:49 2009 +0200

    [affile] fixed capability management around file opens (fixes: pub#42)
    
    caps are always saved not just in case of "privileged" operation.
    instead of using DAC_OVERRIDE use CAP_CHOWN and CAP_FOWNER for
    changing file ownership.
    
    Reported-By: Zbigniew Krzystolik

commit fcf037d02d5f1711badea1d090932da0ccedb688
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Mar 27 16:31:09 2009 +0100

    [configure] fixed error message caused by an uninitialized variable

commit cd01226254a4f8f7233fd8fcd5628c5b945facfa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 29 16:11:23 2009 +0200

    [affile] fixed default follow-freq() value for regular files
    
    This was broken since fraction of a second support in follow-freq was
    introduced, ever since the default follow_freq was 1ms and not 1 sec.

commit 651744055916ec867d30e28354056e09a5fa2403
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 14 18:23:01 2009 +0100

    [string matcher] fixed a string matcher bug which causes bogus matches (fixes: #17990)
    
    Since the value can be shorter than the pattern, limiting the length of the
    strcmp() with the value_length may cause a success to be returned even of
    only the first couple of bytes of the pattern & value match.
    
    Added a couple more testcases to cover this as well.

commit da1045cff8e28f27ee2c16c82e4b42437d8fcb08
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 21:35:31 2009 +0100

    [loggen] fixed compilation warnings
    
    loggen.c: In function 'gen_messages':
    loggen.c:151: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'time_t'
    loggen.c:151: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'suseconds_t'
    loggen.c:210: warning: format '%ld' expects type 'long int', but argument 5 has type 'time_t'
    loggen.c:210: warning: format '%03ld' expects type 'long int', but argument 6 has type 'int'

commit 2bed92d17169636cdde0fd6d01e2a552cd634a49
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 29 16:06:18 2009 +0200

    fixed compilation warnings on Solaris
    
    by adding a couple of #include <string.h> instances here and there

commit a3761351df4d8c389abf0d7cafa062693b28b5d4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 17:01:46 2009 +0100

    [logproto] fixed compilation warning

commit 2893eaa54bc5ff683e414968322d4bdd041d0123
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 29 16:00:39 2009 +0200

    [func_test] backport functional test programs from PE, make it PE/OSE aware

commit da4fbcd19371ad091094faa929dae7032ebc2508
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 22 13:20:57 2009 +0200

    [templates] fix SOURCEIP macro expansion for IPv6 addresses
    
    Reported-By: Michael Granzow

commit 642880801b5d8f2cb25b310724ca758e4d1f671f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 22 13:12:34 2009 +0200

    [compat] fixed HP-UX portability issue
    
    the __pread/__pwrite symbols might clash with system supplied names. Use
    bb__ prefix instead.

commit 57b737be8b9b0a319f62f36dfa6eaf973d661ba2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 22 13:03:26 2009 +0200

    [logreader] print a log message if a polled file source does not exist

commit b014fcb2dafc358c2f7b7f62fef7eed65eb1fe57
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 14 21:57:35 2009 +0200

    [debian] added delaycompress option to logrotate configuration file

commit 34adcc3bd04fbd966369bee600e0a9f88ab3c9d8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 14 13:15:15 2009 +0200

    [func_test] randomize TCP/UDP port numbers (fixes: pub#41)
    
    In order to make it possible to run several func_test instances
    in parallel, randomize TCP/UDP ports somewhat to avoid collisions.

commit 8e484f873046bff64cbfc43f3170d9e5920fd1d0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Apr 7 12:52:41 2009 +0200

    [cygwin packaging] fixed version information in the generated config file
    
    Problem reported and patch submitted by Corinna Vinschen.
    
    Reported-By: Corinna Vinschen

commit 70d758fe40ad64f78e28e87b629c54fbd1fdc09e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 1 10:00:35 2009 +0200

    [LogStamp] make it possible to use frac_digits with non-ISO timestamps

commit 6fbea222dd8b8531db12c14d23120cfcc3150f5d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 25 11:27:28 2009 +0100

    [afsocket] clarified logging about rejected connections
    
    Liam reported that the error messages generated when tcp wrapper
    rejected the connections can easily be misunderstood. This behaviour was
    fixed. Also, when connections are rejected, the closure of the
    file descriptor was refactored to a single spot instead of closing it
    in all failure branches.
    
    Reported-By: Liam Kirsher

commit 0a5d52a70ec47e0e3e2a29a3c427afbad1cae2d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Mar 14 11:02:29 2009 +0100

    [csv-parser] implement greedy and drop-invalid flags
    
    greedy:: the new greedy flag makes the last column of a csv-parser() greedy,
    e.g. it gets all the remaining characters at the end of the parsed line.
    
    drop-invalid:: the new drop-invalid flag makes the parser drop all messages
    that do no have enough columns to fill the required number of fields.

commit 555574a984eaef9410a2869db0af1be0d52b269b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 17:27:03 2009 +0100

    [configure] minor updates

commit 451f5f5b251d73ab8314c5402605c6ad76d8739a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 16:30:50 2009 +0100

    updated copyright notices

commit 1eb58c252f1e2122d6dfa94586a089608ddac3a6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 15:50:49 2009 +0100

    [compat.h] include config.h instead of syslog-ng.h

commit bd6f232410b1d42b2aaa9fa37cd0e6fe643a0ebb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 15:50:31 2009 +0100

    [tgz2build] accept 1 successful "make check" run out of 3 enough for success
    
    Since the func_test can fail if the timing is bad, accept 1 successful run
    as success out of the three that is performed at build time.

commit 4766533b4d965c747da47d06bb0ad490a3c47e19
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 15:49:31 2009 +0100

    [func_test] removed time.sleep() calls scattered around the code

commit 5cd2423b2f5ab96c15136664ca3af5a462a592e1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 15:07:53 2009 +0100

    [templates] removed dead code
    
    there was a g_assert_not_reached() call without a label in the macro expand
    switch() statement. It was removed.

commit b44bacd3fd121c8cd0b166c7794ba68fe5cea9ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 15:02:09 2009 +0100

    [loggen] report the effective bandwidth used at the end of the run

commit e887174d1c4ecea92f7d06747298cabe85eb3fc9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 15:01:31 2009 +0100

    [loggen] don't allow message sizes that'd cause stack overflo

commit a0cec40eff22be0d825e28fe7bb893ef4a9f8d60
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 14:57:38 2009 +0100

    [loggen] readded sequence number & timestamp generation
    
    It was commented out for some testing and remained there.

commit 55f47d79174af753a67beaa16676e66615fde083
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 14:56:54 2009 +0100

    [radix] stylistic changes

commit 15bd73e8d5dccbc5135d613614a976fd299bc552
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 14:55:38 2009 +0100

    [messages] added support for sending the internal messages to syslog()
    
    also delegated up logging related parameter parsing to the messages
    module.

commit e0224fd96f01278d920441db76bf351700625f81
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 14:49:57 2009 +0100

    [logwriter] fixed write suspend in case the GSource instance is replaced

commit 15779d4095ee1e150589fc666f30e8a4230b6c5d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 14:48:07 2009 +0100

    [db-parser] move the patterndb file checking into log_db_parser_reload_database()

commit 8d851472e9a81cae91313f55adbafb119d7499d9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:47:08 2009 +0100

    [logmsg] rename log_msg_ack_func and remove static
    
    mostly to sync up with PE.

commit 56c60c3967dcf032570e8d29109897058fab0d06
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:46:49 2009 +0100

    [logmsg] fixed signed comparison problems

commit 58086421b09eab362cae7989ab586fc83c8a9d65
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:44:28 2009 +0100

    [child manager] don't call destroy notify if one is not set

commit 53b2c3143c687c0449502e2d3ac4738d88b8cd55
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:44:00 2009 +0100

    [config parser] add an error message if the user requests to rewrite using "glob"

commit ae6398ac8d97f165f115d3f21b9e9b7b3b4de282
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:42:34 2009 +0100

    [afsql] recognize "mssql" as an alias to "freetds"
    
    It is not very intuitive to call MSSQL as FreeTDS, thus an alias was added.

commit 6a63cd91b31fbb06c55a14836fee02369dc16353
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:41:36 2009 +0100

    [afsocket] clarified log messages
    
        The messages, parameters and log levels were cleaned up.

commit 25b374973049d013d4f7287fdb6a9c3bd3be9717
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:41:18 2009 +0100

    [afsocket] properly drop connections in case SSL handshake fails
    
        This patch was missed previously in OSE and is now backported from PE because
        I'm reviewing the differences between the two.
    
        The bug that is present in OSE is, that if an SSL handshake fails, the
        connection is not properly closed and also the connection is counted when
        checking max-connections(). Therefore it is quite easy to DoS the SSL
        enabled listener.

commit 3bbec6667431bd1f46d2d6d7d437aa78323c256a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:40:22 2009 +0100

    [afsocket] the member used to hold target hostname was moved to afsocket
    
    This is mostly serves to sync up with PE where the target hostname is used
    by both afsocket & afinet.

commit 59c2da10acbc70833d14e20b875f7e714e15d9d5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:29:43 2009 +0100

    [init script] balabit-initscripts fixes
    
    there were some missing initscripts patches that I forgot to backport from
    the PE branch:
    
      * killproc implementation in init-functions
      * the LSB implementation was not always included by the init script

commit eadda4c403a8b0942f6bc6ee69c7c13b8357a1ce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 12 12:27:40 2009 +0100

    [unit tests] udapted to the changed log_msg_new() prototype

commit a1fa9b022563dcae4cf5ef3b6e262946f5ec5907
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 10 22:44:20 2009 +0100

    [func_test] enhanced functional test program
    
    now it also covers filter/facility filters

commit 2bddf91e2dc3b1f590f3cff2f735cb6ccd5531a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 10 22:41:00 2009 +0100

    [logreader] added support for specifying the default priority for those messages that lack one
    
    Instead of using a hard-coded default, make it possible to specify the
    level/facility information on a per-source basis. A patch was submitted
    by Xavier Lapie and was significantly modified by me:
      * the old file-specific mechanism was generalized to be LogReader specific,
      * the common code in the configuration parser was merged

commit b758e95702f642e2c343539b4c8e250a6bc9aba1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 10 07:19:12 2009 +0100

    [tgz2build] fixed etc/install.dat generation

commit 7ff35ea7621f5bf375c27a88f3ecc5f4a640b215
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 10 07:18:51 2009 +0100

    [func_test] use SNDTIMEO on Linux platforms only as it does not work everywhere
    
    Solaris for instance does not support SNDTIMEO for UNIX domain sockets.

commit c8a231b573283fcd7204ff402f186acb25c980a5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Mar 6 13:51:36 2009 +0100

    fixed a segfault in SSL support
    
    Due to a typo some parts of the SSL compilation were not compiled in,
    causing a segmentation fault during startup.

commit faa9bee7610594bcced5b439f1fa38487a2f20c5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 4 18:20:14 2009 +0100

    [debian] fixed build-dependencies to work with packages in lenny
    
    The reference to libdbi-dev was fixed, as this package is called libdbi0-dev. Also libssl-dev was added.

commit 731a28515dffa4f5de09fd1de3b3c7b262fc6093
Author: ILLES, Marton <marci@balabit.hu>
Date:   Wed Feb 25 22:56:10 2009 +0100

    only stat dns_cache_hosts file once in a second and not at each lookup
    On my dual-core 2.4GHz x86_64 laptop it yields 10%
     while on an 2way quad-core 1.9GHz x86 Opteron server it yileds 100% gain

commit dd7b45a8f230ceb204fb7de5f48a2d03ced97ab7
Author: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date:   Sat Feb 28 14:39:39 2009 +0100

    fix file descriptor leak when using includes
    
    When using the newly introduced includes feature the files that are
    included are not closed and cause a file descriptor leak.
    Depending on the system ulimit, number of includes and frequency of
    re-configuration this can cause configuration not to be applied.
    
    To address this it is necessary to close the included file after
    processing it.
    
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>

commit 765516b8d04fcc5cff0fe9eb432a3bc9b7f08a25
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Feb 27 23:34:44 2009 +0100

    [logwriter] only report POLLERR as "idle" if num_elements is zero
    
    Only handle POLLERR flag as an indication of broken connection in case there
    are no messages pending. The reason is that the write() failure is handled
    with better error messages, e.g. you'd get
    
    Feb 27 23:34:31 bzorp syslog-ng[19131]: I/O error occurred while writing; fd='11', error='Connection refused (111)'
    Feb 27 23:34:31 bzorp syslog-ng[19131]: Connection broken; time_reopen='1'
    Feb 27 23:34:31 bzorp syslog-ng[19131]: Suspending write operation because of an I/O error; fd='11', time_reopen='1'
    
    instead of
    
    Feb 27 23:30:11 bzorp syslog-ng[18855]: POLLERR occurred while idle; fd='11'
    Feb 27 23:30:11 bzorp syslog-ng[18855]: Connection broken; time_reopen='60'

commit 857c2576c4247755e60bd6f8c1f414c87978fbeb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 28 09:41:41 2009 +0100

    [apphook] fix run_application_hook to run _all_ hooks registered at a given point
    
    due to a bug in the loop in run_application_hook() the next pointer was
    always null after running the first registered entry. This was fixed.
    
    This fixes a problem with multiple SQL destinations reported by Liam Kirscher.
    
    Reported-By: Liam Kirscher

commit 865261fd2c6332f7da390a466b06aef6a1bf3806
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 17 10:07:46 2009 +0100

    [autogen.sh] use -i instead of --in-place
    
    BSD sed does not understand --in-place, use -i instead.
    
    Reported-By: Csaba Szep

commit 41f77f536a4e442d8dd2e0b6276987c07ac09b45
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 15 09:46:35 2009 +0100

    [logreader] implement 'empty-lines' flag
    
    This new flag allows the transmission of zero-length messages.

commit bcabf5b4985d7360cce20403d5ff36a033b9ee26
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 15 09:27:18 2009 +0100

    [configure] clarified error message about missing static openssl libraries

commit 6b299cf2c9e577acd6b48eb686cec45ff209aa6a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 19:10:54 2009 +0100

    [configure] fixed LIBDBI detection, the previous change always enabled SQL support regardless if libdbi was installed or not

commit 2960e61a46bdb3414dd1ad334251e1176c5a1117
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 18:20:45 2009 +0100

    [configure] change default linking mode to "dynamic"
    
    This patch forward-ports functionality that was already present on the
    syslog-ng OSE 2.1 branch. It gives the following three linking option to the
    configure script:
    
         * dynamic: are libraries are linked in dynamically, requires dynamic
           libraries on all hosts (--enable-dynamic-linking))
    
         * static: all libraries are linked in statically, requires static versions
           of all libs on the build host (--enable-static-linking)
    
         * mixed (used to be default for 2.0): most 3rd party libraries are linked
           in statically, but the system libraries are linked dynamically.
           (--enable-mixed-linking)
    
    The patch also changes the default linking mode from 'mixed' to 'dynamic' as
    it is much easier to compile syslog-ng that way.

commit 3d3aafe4f3ec3799676ad987874f4912937c973f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 10 10:30:37 2009 +0100

    [config parser] removed unused KW_FRAMED keyword

commit ddc2b2cd0948dd8d4861b0ab0c9dc0fe1735175e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 18:03:16 2009 +0100

    [config parser] accept newly introduced keywords as identifiers (fixes: #17653)

commit f94fe1c758d7ad31d044c8b11e63f4dc88dd5541
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 9 19:56:47 2009 +0100

    [templates] use the correct timezone offset when time_zone_info_get_offset() returns -1
    
    sometimes a time_zone_info_get_offset() returns -1 even for
    zone_info != NULL. Use timestamp->zone_offset in this case.
    
    Also updated the unit test program to use such a TimeZoneInfo instance to
    discover this case in the future.

commit ef216e489d0237a7cab5ff165a4fd090382de504
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 8 15:51:19 2009 +0100

    fixed compilation error on FreeBSD
    
    cfg.c: In function `cfg_reload_config':
    cfg.c:512: warning: implicit declaration of function `kill'
    cfg.c:512: error: `SIGQUIT' undeclared (first use in this function)
    cfg.c:512: error: (Each undeclared identifier is reported only once
    cfg.c:512: error: for each function it appears in.)

commit 0e6f3b03f8eba405a77cacf454607b4a88ba26be
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 8 15:13:12 2009 +0100

    kill the syslog-ng process if reverting to the old config fails
    
    When the configuration is reloaded, syslog-ng attempts to init the new
    configuration and reverts to the old one in case it fails.
    
    However reverting to the old one can fail too, this case was not
    really handled previously. Now syslog-ng tries to kill itself
    using SIGQUIT, in order to have itself relaunched by the supervisor.
    
    There's really nothing else to be done here.

commit 42cb9aa80cf76f71954d32ce6720e0106f38cb87
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 8 15:07:19 2009 +0100

    [main] never initialize the configuration in the supervisor process
    
    Earlier versions of syslog-ng 3.0 initialized the configuration in the
    supervisor process (as root) on non-Linux platforms. However this
    causes trouble on FreeBSD: /dev/klog is kept opened in the supervisor
    which prevents the child process to open the device.
    
    Also, the fds initialized early during startup might be completely bogus
    by the time syslog-ng crashes and the supervisor relaunches syslog-ng.
    (e.g. the fd to /dev/log might already be stale). Thus this behaviour to
    support initializing the configuration as root is changed: now everything
    is done as a non-privileged user if that is requested by the user
    (with -u/-g command line options).
    
    This is somewhat incompatible but I can see no other solutions (except maybe
    supporting other capability-like systems on other platforms).

commit d1b0a90e484c53ddef050836b9f850d3ab340c93
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 8 15:03:57 2009 +0100

    [afsocket] fixed a possible reference of invalid file descriptors

commit 4d8ace150deef4798b0fabf8b2bc1a9444c66932
Author: Tamas Pal <folti@balabit.hun>
Date:   Thu Feb 5 16:37:34 2009 +0100

    Fixed: on linux, dash no longer prinst -e (fixes: #17559)
    
      * contrib/balabit-initscripts/init-functions: if /bin/sh isn't bash on linux,
      use /bin/echo instead of shell buildtin.
    
      * contrib/balabit-initscripts/init-functions: all logging functions use the ECHO variable in an uniform way.
    
    (cherry picked from commit 25d78dcdc57369b63674f86f8d4eba3dd91fea4b)
    (cherry picked from commit d5f8318a272be8571f185f55de4648fb18cf0499)
    (cherry picked from commit e22028a405a8081a74f0c93d60aa159d7754c4d1)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 7836be882431a14602ad162b0062901b9e43c2ea
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 3 20:56:55 2009 +0100

    [tlscontext] added basicConstraints validation even for trusted CA certificates
    
    OpenSSL does not require basicConstraints.CA == TRUE for CA certificates
    that are imported to the trusted certificate store. This check was
    added to syslog-ng's tls_session_verify() callback.
    
    Also clarified added some log messages to make certificate related
    troubleshooting easier.

commit 52ffcead354aeb17b7ee26af53c7123083f450ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Feb 3 09:53:26 2009 +0100

    [tlscontext] reorganize cert validation somewhat, fixed "required-untrusted" (fixes: #16671)
    
    Earlier the certificate verify callback was only enabled if the application
    code called tls_session_set_verify(). This was changed in order to always
    enable tlscontext callback, even if app callback was not enabled.
    
    The verify_mode combination previously used for 'required-untrusted'
    (SSL_VERIFY_NONE | SSL_FAIL_IF_NO_PEER_CERT) was not working, in case
    SSL_VERIFY_MODE is set, no validation is performed at all. This was changed
    to use the same value es 'required-trusted' and then the exception is
    handled from the verify callback.

commit d7bbd122ad39e7833ba42a748a568f452ecae091
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 17:58:23 2009 +0100

    [security] enable SSL X.509 policy check

commit 9e1b9e5187837dff059c721073f63092afdba764
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 2 18:07:38 2009 +0100

    Fixed: init script on solaris 8 links /etc/syslog.pid to pidfile. (fixes: #16710)
    
      * contrib/balabit-initscripts/init.d: On Solaris 8, /etc/syslog.pid is
      symlinked to pidfile instead of /var/run/syslog.pid
    
    (cherry picked from commit 9a251ec58f8aab38b2a24abd089000ea8124329d)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 2c58d431c63f76299c775d3bd79b90aa608fd5a6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 2 17:06:29 2009 +0100

    [logproto] don't let the conversion buffer increase to unlimited sizes
    
    the buffer used for converting the incoming byte stream to utf-8 characters
    was not limited in any way, thus making a DoS possible. this patch
    enforces a limit of (max_msg_size * 6) bytes and closes the input stream
    if that number is ever reached.

commit 57498ae22f7a8170e2de30674eba1fb9859c6320
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 2 12:32:20 2009 +0100

    [logproto] properly handle incomplete encodings (fixes: #15680)
    
    since characters can span multiple reads, it is not guaranteed that a single
    read will always result in a completely successful character conversions.
    
    this change makes the char conversion code to remember the leftovers of
    character conversion and uses those during the next read.

commit 04e58c803f896d70c84720e40c2c79aeafe9a6a8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 17:57:11 2009 +0100

    [logproto] remember "encoding" value, so that log messages can contain it

commit b4261ba6ea83ee7a79fe2c3e625deb7785b93b6f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 2 11:09:15 2009 +0100

    really only move to the newly rotated logfile if the new one already has data
    
    The patch 2952187fc67067023870bea565072d78b3162e1a contained a bug which
    caused it to be ineffective, thus the previous behaviour remained. This
    patch fixes this issue, and syslog-ng now properly switches to the new file
    only in case it has received the first chunk of data.

commit 5f57e4de88435638298bd71cc61f28ff77334acf
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 29 13:18:55 2009 +0100

    Fixed: init script don't start syslog-ng when it doesn't run (fixes: #16011)
    
      * contrib/balabit-initscripts/init.d: Added extra check for pidofproc's
        return value in syslogng_start function.
    (cherry picked from commit 1d1e56b9e822107bee9484ca4de0b7be7d571bdb)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 6d1438447d3bb6e590aa179672f85147aec25183
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 29 13:18:38 2009 +0100

    Fixed: init.d  script uses different syslogd pid on redhat (fixes: #16710)
    
      * contrib/balabit-initscripts/init.d: init script links pidfile to
        /var/run/syslogd.pid on redhat.
    (cherry picked from commit 9d27665de284656ab9033ee07ec98dcee421e90b)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 92e2d3963dd0ec67b05e051b9a595f0c8369129d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 29 13:18:07 2009 +0100

    fixed LogMessageMatch structure layout on big-endian 32 bit machines (like PA-RISC)
    
    	this also fixes a failed testcase on HP-UX (test_msgparse).

commit 6a890229568f42fb3f5e5a764b4e91acd1075397
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 17:51:05 2009 +0100

    fixed compilation warnings

commit cacd87d3f7ba9f7974703afa2f59ae7836caf360
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 28 13:40:49 2009 +0100

    [security] user names were not resolved properly, do it right this time

commit 7795bc986773df585a7fccb7d9b173963e430ade
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 28 13:32:01 2009 +0100

    [config parser] fixed a failed assert in case an include directory does not exist

commit c39967aebf1ff969be6990ac7b85edee9ba00e6c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 27 11:48:22 2009 +0100

    Fixed: Solaris 10 method script links /var/run/syslog.pid to syslog-ng's pid. (fixes: #16710)
    
      * contrib/balabit-initscripts/init.d: fixed tabulation.
      * contrib/solaris-packaging/syslog-ng.method: method script makes symlink to
      syslog-ng's pidfile as /var/run/syslog.pid
    
    (cherry picked from commit c2688150fbaf1a2bcdac55c75afc6b5b3e0b58ee)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 73fa6a5f8a5c1c1b7545dd6d1f74ee503cdca59d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 27 11:47:41 2009 +0100

    Fixed: Init scripts link /var/run/syslog.pid to syslog-ng's pid. (fixes: #16710)
    
      * contrib/balabit-initscripts/init.d: Script creates/erases
      /var/run/syslog.pid symlink to the real pidfile. Added reload-or-restart
      target to allow script to be a drop-in replacement to Debian/Ubuntu's
      sysklogd initscript.
      * contrib/balabit-initscripts/init.d.freebsd: Script creates/erases
      /var/run/syslog.pid symlink to the real pidfile.
    
    (cherry picked from commit 94a6d3ccd2ddea2a788028e074386921492b1e3f)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 92842550b763242bbd240d46058d4e8377a3e6b5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 27 11:46:02 2009 +0100

    Fixed: obscure missing file error on HP-UX (fixes: #16710)
    
      * contrib/balabit-initscripts/init-functions: silenced head(1) in
      _pid_from_pidfile. It no longer complains about missing pidfile on a slower
      machine.
    
    (cherry picked from commit e20345664b0a6d9345b7edcb0da549f076cfd674)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit f9099b29dfc1d6f59d63dda4ac430e2ff7c26b27
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 27 11:45:25 2009 +0100

    Fixed: On SuSE -n no longer echoed (fixes: #16025)
    
    init-functions:
      - Changed handling of special characters.
      - echo paramters and bash's string handling changed according to OS
    
    (cherry picked from commit 3ecde3fad10c3d3d4fae11ba02cb46294950afc1)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit a0e6a4eb944c8517bf662f9b7c1510fa3fc320c3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 27 11:43:57 2009 +0100

    Fixed: logic error when checking whether an instance already running. (fixes: #16011)
    
    after `pidofproc -p ${PIDFILE} ${SYSLOGNG} | head -1` $? contains the exit value of head, not pidofproc.
    
    (cherry picked from commit ebae5fdc72aa7e07251c314a4f2679bbda18481c)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit b4c9cac53af79f82d0937f3fb2e22d4914ea5832
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 27 11:42:46 2009 +0100

    Fixed: slng_start checks whether syslog-ng already running before starting a new session. (fixes: #16011)
    
    Some start_daemon implementations don't check if the applicatioin in
    question already running before they blindly start a new instance.
    
    (cherry picked from commit 8389befeca97d26fe9dda2a64a0987e2252b80ba)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 3c5799cf3772c52a080e9568c72dcb0487b6d7a2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 17:49:12 2009 +0100

    [tgzbuild] fixed --with-pidfile-dir configure option
    
    	it lacked the '=' character and therefore the configuration was
    	broken.

commit 5a23b54e3c8cf6f02cfdaba3659f68fed36e040d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 22 11:50:39 2009 +0100

    don't use long double in the parser
    
    	strtold is not portable, thus use a simple double when floating
    	point is needed.

commit 07f7721de85e6c6ca5860d515ff571b4eb73f7b8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 17:31:32 2009 +0100

    [configure script] allow the use of OPENSSL_LIBS/CFLAGS environment variables
    
    Earlier the configure script nulled out these values. This was removed.

commit 0844f9fdfdd12461e09fe8516e3054f3b9363bf4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Feb 14 17:25:58 2009 +0100

    [afsocket] ignore zero sized packets for incoming UDP listeners
    
    This is a regression over 2.1, upon the receipt of a zero size UDP
    datagram syslog-ng interpreted it as an EOF and gave up listening
    for messages.
    
    Added automated testcase to cover this.
    
    Reported-By: ffs@ccn.net

commit 6ca874d7ea362e4f0286245542f7ea601743c72d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Feb 9 11:44:09 2009 +0100

    [configure] added kludge to recognize libdbi without an installed dbi.pc file
    
    libdbi does not always install a pkg-config file, work without one, assuming
    it was installed to the default location.

commit 8ad0edb1e4198bbf657708d07360bbac8b30b55a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 5 11:26:18 2009 +0100

    [affile] validate file type before opening
    
    report an error if a file is opened using the pipe() driver, OR a
    fifo is opened using the file() driver. named pipes should really be
    driven by the pipe() driver.

commit 44fbc3f955755d6772f5a8919b647d61b10bccd5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 5 11:09:17 2009 +0100

    [affile] allow the use of macros in the case of named pipes
    
    previously syslog-ng did not allow the use of templates in naming
    destination named pipes. now it can do that.

commit 5f5d4bd914798c10eef01f6baaf575bc0e3c1557
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 5 11:08:11 2009 +0100

    [affile] make it possible to create named pipes
    
    As reported on the mailing list, syslog-ng is not currently capable of
    creating named pipes on its own. This patch will make syslog-ng
    autocreate pipes when needed.

commit 60aeab750e952b3a69714ea47e2aa31683c761fd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 5 10:50:45 2009 +0100

    fixed the references for non-inline templates
    
    this patch fixes template expansion for non-inline templates. The parser code
    caused these templates to be compiled as many times as they were referenced,
    which in turn concatenated the previously compiled value and the currently
    compiled value.

commit 0a7e892b1a045f9dadeb6650f94639b4f8f22cbe
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 27 11:29:58 2009 +0100

    define TLSSession/TLSContext structures even if SSL is disabled

commit f0bae201b2e9f71f862db170b309aa7a14b4e0c1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 26 12:22:46 2009 +0100

    fixed compilation error in tlstransport.c if SSL is disabled

commit 734890b89722889b601600226135e8fea007de0c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jan 23 13:21:08 2009 +0100

    set the default fd limit to 256 on cygwin
    
    	As Corinna Vinschen reports, cygwin does not support very high
    	values for RLIMIT_NOFILE, and the default of 4096 that syslog-ng
    	ships with is too high. This patch uses 256 on cygwin and 4096
    	everywhere else.

commit f7c5cdc40035ddd53aed4aa7032ebd6e3d280af3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 22 20:55:00 2009 +0100

    cygwin packaging updates
    
    	These patches update the cygwin packaging files. Contributed by
    	Corinna Vinschen.

commit ac991448a631bacaea41cf7d255dcb47113d9d8d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 22 10:39:55 2009 +0100

    use #if instead of #ifdef in tlscontext.h to decide whether SSL is enabled

commit 733b0c008a6ced11d92acde1b3ba11d8f24216cc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 22 10:35:40 2009 +0100

    added documentation link to the "syntax error" message

commit 1c37f96d5fcc71e982685a7af530cd8fb4fb2055
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 17 10:33:22 2008 +0200

    don't write pidfile in case only --syntax-check was requested (fixes: #15374)

commit 11f8d45b016107a686dbfa29497960ae3f6145ac
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jan 16 14:44:53 2009 +0100

    [config parser] "syslog" became a reserved word, make it possible to use that as a facility name
    
    	In syslog-ng 3.0, "syslog" became a reserved word, thus the facility()
    	filter couldn't use it as name for the facility named syslog.
    
    	To avoid having to quote this word, I added a kludge to the
    	config grammar, to make it recognize syslog as a facility name
    	based on context.

commit 2454c75fdc19cf5861cb15e4016b8d31fae662ba
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 14 17:47:31 2009 +0100

    [memtrace] fixed GStaticMutex initialization

commit 239056c762d4ebd41041e6d6ebaabe9c09efae86
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 14 17:47:16 2009 +0100

    [test_logqueue] added threaded testcase for logqueue
    
    	This is currently commented out as some synchronization would be needed
    	between the threads, but as the current problem is now solved,
    	and the synchronization is not trivial, I leave it commented out for
    	now.

commit c62e656554681f365429f317fb93f2eb257145ca
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 14 17:42:56 2009 +0100

    [afsql] fixed crash on AIX where zero-initializing a GStaticMutex renders the mutex useless (fixes: #16306)
    
    	G_STATIC_MUTEX_INIT is not equivalent to zero initializing the
    	mutex on AIX. self->queue_lock has only been zero-initialized
    	and this causes races on the LogQueue instance used to transfer
    	messages between the main and the SQL thread.

commit a60105885c223a879d22f2a41b4a0972061085f9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 14 13:13:55 2009 +0100

    [configure] make pidfiledir default to ${localstatedir}

commit dc7d42b61462c280f945a9bb5a01971d04e79dab
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 14 12:19:06 2009 +0100

    [affile] disable NOMREAD for regular files
    
    	The LPPF_NOMREAD flag is present to prevent multiple reads on
    	/proc/kmsg, however regular files do not need this flag enabling
    	it causes a major limit on the number of messages syslog-ng
    	can read from a regular file.
    
    	With this patch, file sources can fully saturate destinations, and
    	the only limit on the number of messages read from a file is
    	log-fetch-limit() and the flow control window if that is enabled.

commit 701cf5868a75c1531d873a55a7b0a3d15adb1049
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 14 12:06:02 2009 +0100

    allow follow_freq to be a floating number
    
    	This makes it possible to poll files more regularly by specifying
    	a number smaller than 1.

commit 762b961c1aad377e9deb355b70c7d3e7042f3e93
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 11 23:30:25 2008 +0100

    added support for include files/directories
    
    This patch adds support for include files and directories. The syntax to be used
    is simple:
    
    	include "something.conf";
    
    or to include a run-parts style directory (the same filename
    restrictions apply):
    
    	include "conf.d";
    
    Relative paths are relative to the value of ${sysconfdir} and not relative to
    the directory the current file was read from.

commit 6a1313a2158c1e4f98b808dc1b2024ee9c8d3d7f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 12 20:16:47 2009 +0100

    fixed an uninitialized variable warning
    
    The warning message is right, when a non-IPv4 & non-UNIX peer sends a
    message is received, then the "netmask()" filter uses an uninitialied
    variable. However the function probably was returning the right value even
    in this case as well by accident.
    
    filter.c:452: warning: 'addr.s_addr' may be used uninitialized in this function
    
    Reported-By: Chanchal Verma <cverma2@csc.com>

commit 781aaab52d397536f4d7dbf8480062a31ebf17f4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 8 21:02:11 2009 +0100

    [parser] implemented store-legacy-msghdr
    
    	for compatibility reasons the original value of the $MSGHDR macro
    	should be saved as otherwise syslog-ng might change this value by
    	adding/removing a space. In some environments this is not
    	permitted.
    
    	This patch implements the 'store-legacy-msghdr' flag which does
    	what the name implies: saves the original value of the MSGHDR.
    
    	Any reference to MSGHDR will pull this value transparently.

commit 266147d51822d7e844c93101787df8dd607a01f2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 8 20:54:55 2009 +0100

    [LogMessage] added support for 32 bit flags field
    
    	The flags field in LogMessage was constrained to 16 bits, and
    	all flags were already taken. This patch expands that field to
    	32 bits.

commit 498b873beb414aeab7579cbb5ed6503e84642fd3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 21 11:52:36 2008 +0100

    make user/group name resolution prior to calling chroot
    
    	Otherwise the chroot would need to have an
    	/etc/passwd & /etc/group file.

commit 1e9761eb06574538a0c0991221912c8504bd1c30
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 19 10:59:04 2008 +0100

    fixed user resolution
    
    	in 2.1.2 a patch was added to properly error-check username
    	resolution. in this patch a typo was present which prevented
    	usernames to be resolved properly.
    
    Conflicts:
    
    	src/misc.c

commit bef64c6b17d54c0e9dea13fd75c32901710a313b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 8 09:27:55 2009 +0100

    fixed compile error: use gint64 instead of off_t in some logreader declarations
    
    if cc -DHAVE_CONFIG_H -I. -I. -I..    -I/usr/local/include/glib-2.0
    -I/usr/local/lib/glib-2.0/include -I/usr/local/include/eventlog
    -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -O2 -pipe -Wall
    -MT logreader.o -MD -MP -MF ".deps/logreader.Tpo" -c -o logreader.o
    logreader.c;  then mv -f ".deps/logreader.Tpo" ".deps/logreader.Po"; else rm
    -f ".deps/logreader.Tpo"; exit 1; fi
    logreader.c:537: error: conflicting types for `log_reader_update_pos'
    logreader.h:89: error: previous declaration of `log_reader_update_pos'

commit ef5eb95d26fcfe3746b78bba8d39cfa2cdb9eeeb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 30 15:22:00 2008 +0100

    [LogReader] only assume that a file was moved if the size of the file is non-zero
    
    If an external logrotate program is used to rotate a logfile, a
    small race still exists when using syslog-ng to read that logfile,
    as described by Evan Rempel:
    
    "
    1. Application is writing to log file named "A".
    2. External log rotation renames "A" to "A.1"
    3. External log rotation touches/creates file named "A" and sets appropriate
        permissions.
    4. Internal timer of syslog-ng is triggered by follow_freq() setting. Syslog-ng will
        switch to the new file "A" because it exists, even though it was created only
        milliseconds earlier.
    5. log rotation signals the application to switch log files (reload or restart).
    6. Application flushes log buffers to current file which is now A.1, but syslog-ng
        is no longer reading this file.
    7. Application closes current log file "A.1" and opens new log file "A".
    
    This sequence will result in the last buffer flush (step 6) from the application to
    be missed by syslog-ng.
    "
    
    This patch makes syslog-ng to switch to the new log file if it already
    received some data.

commit 93a342dae3a2b0cb15811d0c34ea7f58b3fba14e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 24 12:29:34 2008 +0100

    preparations for syslog-ng OSE 3.0.1

commit cbe5443187421a8e43cd14f2608e4e95a7478c36
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 24 12:06:08 2008 +0100

    [macros] changed MONTH_WEEK to mimic strftime week number semantics
    
    	The first week of the month is the one with the first monday in it,
    	everything before that is the 0th week.
    
    	Implementation contributed by Vijay Ramasubramanian
    
    	Also updated test_templates.c to cover this change.

commit c98dda5238a45e8d9881cc908447bfdbdd931446
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 9 22:44:55 2008 +0100

    added implementation of new time related macros
    
    	Patch originally contributed by Vijay Ramasubramanian and reworked
    	by Balazs Scheidler.
    
    	This patch adds the following new macros:
    		YEAR_DAY - the number of the day in the year (1-366, zero padded to 3 digits)
    		MONTH_WEEK - the number of the week in the given month (1-5)
    		MONTH_ABBREV - the English abbreviation of the month name (3 letters)
    		MONTH_NAME - the English name of the month name
    		WEEK_DAY - numeric day of the week (1-7)
    		WEEK_DAY_ABBREV - the English abbreviation of the name of the day (3 letters)
    		WEEK_DAY_NAME - the English name of the day
    
    	Day and month names don't use the locale setting and always expand
    	to the English names.

commit 3716f3fbfffbf219c39bdbe96df299a027cad935
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 9 09:30:25 2008 +0100

    fixed path to the syslog-ng-failure script

commit 2daf3c79cf961d6cf1ab423b99c54c65118caacb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Nov 23 16:34:55 2008 +0100

    rewrite: fix up reference matches before changing the referenced value
    
    	syslog-ng tries hard to store regexp matches as references to
    	the values the match was parsed from. However in case the
    	referenced value gets rewritten, these matches become corrupt.
    
    	This patch basically duplicate the referenced values before those
    	are overwritten.

commit 02a9e580135dfae55bdbcbdf0fd2c509ed3d88ac
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 18 15:04:59 2008 +0100

    fixed compilation error in tlscontext.c if SSL is disabled
    
    	Modified patch by Joe Shaw, tlscontext.c used various openssl
    	references which should not be compiled if SSL is disabled.

commit e1cc669c935c20aad18ca613cb2923679f42113b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 18 14:43:01 2008 +0100

    fixed compilation error because of a bogus forward-port of the last HP-UX fix
    
    /home/bazsi/zwa/work/syslog-ng-ose-3.0/syslog-ng-ose/src/logwriter.c: In function ‘log_writer_fd_dispatch’:
    /home/bazsi/zwa/work/syslog-ng-ose-3.0/syslog-ng-ose/src/logwriter.c:241: error: ‘LogWriterWatch’ has no member named ‘fd’

commit af3885097c3e65c708bf3d69e62ca26550aee3b4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 18 14:40:37 2008 +0100

    when TLS support is not enabled and no openssl libraries are present

commit 3cc8403d03f1e1125f69f17fb0969779af776f59
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 18 10:25:41 2008 +0100

    added chdir call after chroot, fixes CVE-2008-5110
    
            syslog-ng did not change the current directory after
            restricting itself to a chroot jail, which makes it
            possible to break out of the jail.
    
            Please NOTE that this does not constitute an exploitable
            vulnerability on its own. It only means that _if_ there'd
            be a vulnerability, it'd be easier to break out of the
            chroot jail.
    
            Please also NOTE that if syslog-ng is running in the chroot
            as root, the same vulnerability still exists. Please use
            --user and --group command line options in combination with
            --chroot.

commit 962745eab12396da117586c0c4ea8d9abeea0f81
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 6 12:04:28 2008 +0100

    fixed 100% CPU spinning on HP-UX upon a connection break
    
    As I see the problem seems to be caused by the fact that HP-UX returns
    POLLERR only without the other bits (e.g. POLLHUP) syslog-ng would
    handle this gracefully if either the other bits would be set, or there'd
    be some pending messages to send, in which case a normal write() error
    would occur.
    
    Conflicts:
    
    	src/logwriter.c
    
    Conflicts:
    
    	src/logwriter.c

commit 4baf320d71ad3419d7ecd7e41614a35080a36ed7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 6 11:44:47 2008 +0100

    add x permission to debian/rules

commit e31a593a0b184409246a0c9a9c0e7a27713b3741
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 6 11:44:37 2008 +0100

    removed flex 2.5.34 dependency
    
    	an AIX compilation issue was fixed by using the flex directive
    	%top, but that's not supported in older flex.
    
    	however the same can be achieved by defining the _LARGE_FILES
    	macro on the command line, and then no %top is required.

commit 8ee7d72e8c8015e214edd39629af7779e5167d74
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 6 11:06:08 2008 +0100

    updated AUTHORS file

commit f53550471db700ea94037f60f562f4e3338b50f6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 5 09:54:32 2008 +0100

    don't redefine the MIN macro in loggen if it is already defined
    
    loggen.c:26:1: warning: "MIN" redefined
    In file included from /usr/include/netdb.h:90,
                     from loggen.c:12:
    /usr/include/sys/param.h:192:1: warning: this is the location of the previous definition

commit 0e630ceddfa345a39c2971d715f573f4c820a92e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 5 09:12:30 2008 +0100

    added inclusion of <string.h> into cfg-grammar.y to fix compilation errors on OpenBSD (fixes: nobug)

commit a58cf918685201d06a4efec7f746beb9f7338b7e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 6 18:31:48 2008 +0200

    fixed filter() evaluation operators, evaluate LHS and then RHS instead of the other way around
    
    	Problem reported by Csaba Martha, an expression like this:
    
    	  match(a) AND match(b)
    
    	is evaluated in the order match(b) and then match(a). This ruins the concept
    	of extracting fields from a message with regexps.
    
    	This patch fixes the issue and also might improve performance as
    	it is usually recommended to use less-expensive filters first.

commit d92cf796bacbe1b378a4e83bdd8389019ff32581
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Sep 23 10:22:32 2008 +0200

    handle non-numeric user/group names as errors instead of silently falling back to the root user
    
            Heath N. Caldwell contributed a fix to report invalid numbers as
            errors. This patch is a slightly modified version.

commit 0cf087192ae79351ec3df75ca467e51241ae4950
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 5 20:56:55 2008 +0100

    added log message about peer connections

commit 81090c4610cf9259819a63b961a237a9033784d3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 5 20:54:26 2008 +0100

    configure.in: make sure enable_env_wrapper is either set to yes or no
    
    	previously "auto" was also possible, but that's not a valid value.

commit 24465c23c3b365fb3863018dae08c05359f45c81
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 9 15:25:54 2008 +0200

    Fixed: Use BalaBit's LSB implementation on all redhat platforms. (fixes: #16012)
    
    RHEL 5's start_daemon implementation accepts only the -f (force) and -n
    <level> (nice) options. Any other option causes an infinite loop...
    
    (cherry picked from commit 46e63ce6d29e650201689e28aad7d61b85aaa68b)
    (cherry picked from commit 3fe55754cfcea2c24b702d76c4a45b114b143567)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 94f36fa8b2c273d6f8f1623a2e8aa2459b817fda
Author: Tamas Pal <folti@balabit.hu>
Date:   Thu Oct 9 14:17:16 2008 +0200

    Fixed: stopping daemon now works on solaris 10 (fixed: #16013)
    
    (cherry picked from commit 6f433b36a64942c93e2386fdb419b4fcbc6aa5f8)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 686c9d87b28e5463c54fbe46a16b04a038f40e12
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 9 14:11:19 2008 +0200

    Fixed: waiting for syslog-ng to shut down now works. (fixes: #16009)
    
    slng_waitforpid's second parameter is the binary's name, not the pidfile....
    (cherry picked from commit cb14d763c3c6e4574c71a7e09c8cdaa346553f73)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit e1f99ceca5e13ec69819e24c151dea5b7a2aa885
Author: Tamas Pal <folti@balabit.hu>
Date:   Wed Oct 8 19:17:52 2008 +0200

    Fixed: initscript on SuSE uses BalaBit's init-functions (fixes: #16008)
    
    SuSE's LSB function implementation is broken throughly. Init script now uses our implementation of init-functions.
    
    (cherry picked from commit 1e9c224a3d489aaa2a823b7d819bd90df83504d5)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 90326afb417f4fa1f12f1550b91e0c87bac0f2e9
Author: Tamas Pal <folti@balabit.hu>
Date:   Wed Oct 8 14:31:04 2008 +0200

    Fixed: initscript checks whether syslog-ng runs before it tries to stop it. (fixes: #15961)
    
    Amalagated init script now checks properly whether syslog-ng runs before it tries to stop it.
    (cherry picked from commit e3fdfe91249f50347d5af059de1e410d7c898afc)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 020699ddc821075beb9dcf73dc7b5991fbaf1dac
Author: Tamas Pal <folti@balabit.hu>
Date:   Wed Oct 8 14:30:35 2008 +0200

    Fixed: Restart now works properly when init script uses our init-functions. (fixes: #15238)
    
    _pid_of_proc() always initializes the pid variable in the BalaBit's init-functions.
    (cherry picked from commit 7ad7d62c04feaf4877f8bc3594b29f0eecfa0cdc)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit bd6ae15b38b11eb68c1896c2dec271e5d2b1e17f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 8 14:01:08 2008 +0200

    fixed syslog-protocol receiver related leak, the buffer was not freed (fixes: #15976)

commit 25723391baab06bf294e217dfc133b607603c591
Author: Tamas Pal <folti@balabit.hu>
Date:   Wed Oct 8 10:41:08 2008 +0200

    Fixed: Pass pidfile to pidofproc in syslogng_status(). (fixes: #15963)
    
    (cherry picked from commit 5f07d7b9868d306934bcfd6bbc631cd26dd39294)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 1d4e72ad6a60f61c4a5d4e60e356a4e1465af46d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 8 10:33:00 2008 +0200

    search local timezone files first, then the system supplied files (fixes: #14860)

commit b607d0c2dffcfa86e075e1ff73c6a7cded756cb6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 8 09:57:54 2008 +0200

    block TERM/HUP/INT/CHLD signals in worker threads (fixes: #15109)
    
    	HP-UX delivers these signals to a random thread unless they
    	are blocked in the given thread. Block these signals in all
    	threads except the main thread, this ensures that the main
    	loop wakes up if it needs to.

commit 3ddbcd73dc98a9611c9ff54dc67a095270559735
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 7 22:29:24 2008 +0200

    fixed wrapper related regressions
    
    	the wrapper related changes caused syslog-ng not to be built
    	on some platforms, these were fixed in this patch.

commit 0acacd3a3d9008cbe09bbc65bd5b1f47e1c7080d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 6 13:50:01 2008 +0200

    added support for a separate env setup wrapper program (fixes: #15828)
    
            Solaris does not allow a process to set its own LD_LIBRARY_PATH
            before calling dlopen(), thus we need a wrapper for that purpose.
    
            This patch introduces --enable-wrapper flag that will generate
            syslog-ng in libexec, and a small program in sbin that executes
            libexec/syslog-ng once environment variables are set up.

commit dfd8a71cbfbb7cf0632bacb8afd1ad42e72dd999
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 7 12:07:54 2008 +0200

    added some more termination points to the SQL thread to make exit faster (fixes: #15109)

commit 17603d1aedf691403595993b62c4b0cbf4a6e341
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 7 11:44:10 2008 +0200

    fixed a possible partial initialization/deinitialization problem (fixes: #15957)
    
    	In some cases the configuration could be initialized/deinitialized
    	only partially which may cause segfaults. For instance on
    	FreeBSD if /dev/klog is opened, the config after the HUP cannot
    	be initialized. In that case the new configuration will only
    	partially be initialized causing possible segfaults.
    
    	See the bugreport for more information.

commit add67657ef3b527260aceb3e7e00c316ce20bc2d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 7 10:25:52 2008 +0200

    link against libcl.so on HP-UX to solve Oracle dynamic loading problem (fixes: #15959)

commit c46a218111023dafb044fc608549448dd3080122
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 6 16:29:25 2008 +0200

    added AIX support for LD_LIBRARY_PATH setup (fixes: #15828)
    
    	For some reason AIX uses LIBPATH instead of LD_LIBRARY_PATH.

commit d33c496e672c12a8d27ae31fff1c09b961e86327
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 6 13:50:01 2008 +0200

    set LD_LIBRARY_PATH explicitly from the syslog-ng binary in order to find database library dependencies (fixes: #15828)

commit b65e81cae60ac18ec92ba6d37937641272d3ccfc
Author: Gabor Palasti <pala@balabit.hu>
Date:   Sat Oct 4 16:05:50 2008 +0200

    Added the xml and method file for solaris-10 install. Fixes: 15822
    
    (cherry picked from commit 0ec597b32b84a7ea0b388c67eeef37d36b5b5661)
    (cherry picked from syslog-ng-pe--dev-pala--3.0)

commit fa3cbe0744ca1e16a0db0548c7dd7f16bb210ff6
Author: Pal Tamas <folti@balabit.hu>
Date:   Sat Oct 4 13:35:15 2008 +0200

    init scripts wait while syslog-ng exists before exiting/restartting.(fixes: #1306)
    
    (cherry picked from commit 2aaf8fdae488e04acc43cd5efa65081f144c0eb8)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 5c5bffe24f13d9c4521c4f98d9c628aec6aae184
Author: Pal Tamas <folti@balabit.hu>
Date:   Sat Oct 4 13:33:20 2008 +0200

    fixed solaris unfriendlyness init init-functions. (fixes: #15907)
    
    (cherry picked from commit 4ce6fda9b5282ea6eb935e15c48a782796fb7b96)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 0acb421e6bf41a7d105834b7ea3b028f43655816
Author: Pal Tamas <folti@balabit.hu>
Date:   Sat Oct 4 13:31:38 2008 +0200

    fixed LSB typos in init.d. (fixes: #15826)
    
    (cherry picked from commit 5090872d9ce65efeece16fa6d0c06edfd18571b9)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 892d4672552771fe1a7f3d4fedeeb79806eeff33
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 4 13:27:00 2008 +0200

    fixed logic error in killproc. Added reading check for slow machines. (fixes: #15238)
    
    (cherry picked from commit 40215a8d5aa24001ce7a14fd5eb2d1ef27d55a96)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 5f2faa7fd09ec66c3d1336133e65657020a65dd9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 4 13:12:25 2008 +0200

    fixed evt_tag_printf() format string problems (fixes: #15904)
    
    	after telling gcc to validate evt_tag_printf() calls, some
    	warnings were triggered, one of them causing a segfault.
    	this has been fixed.

commit 559e160efd9a4f5ed608533c3f3884cde9de02dd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 2 17:08:52 2008 +0200

    fixed possible corruption of the afsocket source connection list in case the TLS context couldn't be initialized (fixes: #15872)

commit 11611b12aea3f5a2528413535ed6d0370e7d0683
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Oct 2 16:06:14 2008 +0200

    fixed possible read-only use after-free in log_writer_flush_log (fixes: #nobug)
    
    ==29313== Invalid read of size 2
    ==29313==    at 0x43898F: log_writer_flush_log (logwriter.c:655)
    ==29313==    by 0x437714: log_writer_fd_dispatch (logwriter.c:222)
    ==29313==    by 0x45A617: g_main_context_dispatch (in /home/bazsi/.zwa/install/syslog-ng-pe-3.0/sbin/syslog-ng)
    ==29313==    by 0x45D515: g_main_context_iterate (in /home/bazsi/.zwa/install/syslog-ng-pe-3.0/sbin/syslog-ng)
    ==29313==    by 0x45D999: g_main_context_iteration (in /home/bazsi/.zwa/install/syslog-ng-pe-3.0/sbin/syslog-ng)
    ==29313==    by 0x406DBB: main_loop_run (main.c:144)
    ==29313==    by 0x4076F4: main (main.c:489)
    ==29313==  Address 0x7d5b218 is 8 bytes inside a block of size 184 free'd
    ==29313==    at 0x4C22B2E: free (vg_replace_malloc.c:323)
    ==29313==    by 0x40ECE4: log_msg_free (logmsg.c:2323)
    ==29313==    by 0x40EDAA: log_msg_unref (logmsg.c:2352)
    ==29313==    by 0x43898A: log_writer_flush_log (logwriter.c:654)
    ==29313==    by 0x437714: log_writer_fd_dispatch (logwriter.c:222)
    ==29313==    by 0x45A617: g_main_context_dispatch (in /home/bazsi/.zwa/install/syslog-ng-pe-3.0/sbin/syslog-ng)
    ==29313==    by 0x45D515: g_main_context_iterate (in /home/bazsi/.zwa/install/syslog-ng-pe-3.0/sbin/syslog-ng)
    ==29313==    by 0x45D999: g_main_context_iteration (in /home/bazsi/.zwa/install/syslog-ng-pe-3.0/sbin/syslog-ng)
    ==29313==    by 0x406DBB: main_loop_run (main.c:144)
    ==29313==    by 0x4076F4: main (main.c:489)

commit ea31745c38b32673807075d13ada7a21632280c3
Author: ILLES, Marton <marci@balabit.hu>
Date:   Fri Sep 26 19:41:17 2008 +0200

    only store pattern db matches if match has a name (fixes: nobug)

commit 6896291f3003f9495aea056cc5eeed3d45bf1b0a
Author: Tamas Pal <folti@balabit.hu>
Date:   Fri Sep 26 09:55:04 2008 +0200

    _checkpid works on solaris. (fixes: #15585)
    
    (cherry picked from commit 1811aaaf7d2ace681634c4563d6bdeb6d7c3b9ab)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit bcd8d1c19511f139cc1dabf3ddec4b7b47809159
Author: Tamas Pal <folti@balabit.hu>
Date:   Fri Sep 26 09:54:11 2008 +0200

    use our roll of init-functions on hardy (fixes: #15584)
    
    (cherry picked from commit 3ea8e0dbc238ddfd5d8424175140dd1dcad21abf)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 7c172d3747f62f2a1035994afeff2fff07636aa7
Author: Tamas Pal <folti@balabit.hu>
Date:   Fri Sep 26 09:44:59 2008 +0200

    reload passes pidfile to killproc. (fixes: #15582)
    
    (cherry picked from commit 1b7015e60cca595e68137260a0f784af0cadf7d3)
    (cherry picked from syslog-ng-pe--dev-folti--3.0)

commit 64ea922915759b9aa723b8c53eb2829d781fa807
Author: Tamas Pal <folti@balabit.hu>
Date:   Fri Sep 26 09:44:07 2008 +0200

    install only the needed directories from contrib
    
    (cherry picked from commit f887b600f6c253611bf47fc31f8fc888e30f61e4)

commit b3fad5f844f91746aee269f8542ca97f1736e27d
Author: Gabor Palasti <pala@balabit.hu>
Date:   Fri Sep 26 09:39:30 2008 +0200

    Save buildopts at the end of the build
    
    (cherry picked from commit d9ba59a50f7a1b035da10a23d4bd4ae543515282)
    (cherry picked from syslog-ng-pe--dev-pala--3.0)

commit 517b3f041b89e64937d4c52784ff0c4c6c59c196
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 25 17:49:14 2008 +0200

    fixed SEQNUM processing (fixes: #15791)

commit 81eaecb6cdf76d9249bf7db291345a2f886ee69b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 5 17:32:34 2008 +0100

    changed VERSION to 3.0 to avoid confusion

commit b0770b9706a9f99ba91d9927379de286e0cd30ee
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Oct 18 13:27:03 2008 +0200

    fixed multiple compilation problems in afsql.c

commit 4ec847a1cf5557b1c84990923922cca6de898ecd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 6 09:47:24 2008 +0200

    fixed tgz2build/Makefile.am not to reference a syslog-ng-premium-edition.files file
    
    It fixes make dist failing with this error message:
    
    make[1]: *** No rule to make target `syslog-ng-premium-edition.files', needed by `distdir'.  Stop.
    make[1]: Leaving directory `/var/etalon/compile/snapshots/syslog-ng-3.0/syslog-ng/tgz2build'

commit e5cc770d7c6d29060929789549120d9c8c1fccbd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Oct 6 09:25:47 2008 +0200

    removed remaining refguide rules from doc/Makefile.am

commit da034a9e5b2e1db46954ebeb2d39c40f2ac514c7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Oct 5 14:59:55 2008 +0200

    removed unnecessary rnd.in file from unit tests

commit 0a287bd61240503a970e6431d4ebfb65d42b469d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Oct 1 15:06:34 2008 +0200

    backport most of the 3.0 PE features into OSE

commit 1bffb002ab3ef4b9854e1379cd9dc329523059df
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 4 09:12:37 2008 +0200

    fixed port number in tcp statistics messages (fixes: #nobug)

commit ab7b55509881f0bfb76ba76a2e8d5fe762b92b96
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 3 12:36:40 2008 +0200

    changed GAtomicCounter type to gint instead of guint16 to allow window sizes larger than 65536
    
    	This also synces syslog-ng with the 3.0 branch, where this is already gint instead of guint16.

commit 71becaa9f5aad8f82a43284dfec34e769dfd6b9e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Aug 28 09:29:25 2008 +0200

    preparations for 2.1.1

commit fdfe73646fdd8aa91ec1380c38cd5b0cb5720f9c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 29 15:13:37 2008 +0200

    the netmask filter matches messages with no sockaddr as if they came from 127.0.0.1 (fixes: #nobug)

commit 49416f5e605cc8778ed5ba0c2ec5945198e763e8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jul 20 20:37:09 2008 +0200

    added "suppressed" type to stats_generate_log()

commit 45c5c3cd2e4c40759606a011dd056884598d9f08
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 2 12:49:46 2008 +0200

    loggen: fixed compile issue for platforms which lack the AI_ADDRCONFIG flag

commit a52b518aef79c95b07a1e50e98dff866d2a0e7b8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jun 13 14:44:17 2008 +0200

    preparations for syslog-ng 2.1beta2

commit 521fa3d0d1fd7e0f3b1075616c216d248c96e625
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 10 15:38:48 2008 +0200

    fixed $PID macro evaluation to only parse pid information in the syslog header (fixes: pub#22)
    
    	Earlier $PID attempted to seek for a '[]' enclosed string within
    	$MSG but that may include non-pid values if the message payload
    	contains a bracket enclosed string and the application does not.

commit f29847f042fb40e54f10b36bc0ef8dc8612f9b08
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 9 14:08:01 2008 +0200

    make dynamic linking the default
    
    	Some users have trouble compiling syslog-ng in the default
    	semi-static build as several operating systems lack a proper, static
    	glib library. Therefore the default was changed to use dynamic
    	linking and the previous behaviour can be used by passing
    	--disable-dynamic-linking to the configure script.

commit f39e60ac40e3a980039aae50b216e7afad5d80fa
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 9 12:27:50 2008 +0200

    don't suppress messages that are too long apart
    
    	My changes to the suppression patches caused it to suppress messages
    	even if two messages came in in a longer time than was specified for
    	suppress(), the reason is that I missed an additional condition in
    	the if that checks for suppressions.

commit a9c4e45f22162ca8bd450897c0280b8a88458e88
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 9 12:21:54 2008 +0200

    Implement "Last message repeated N times" functionality.
    
    	This behaviour can be enabled by adding the new "suppress(<num>)" option to
    	an output configuration e.g.
    
    	destination tologfile { file("/var/log/messages" template(t) suppress(30)); };
    
    	As a log message is added to the queue it is remembered as the last message
    	seen.
    
    	When a new message is added to the queue it is checked against the last
    	message. If its contents are the same the message is dropped and a counter
    	incremented.
    
    	A message summary indicating the value of the last message counter and a
    	snippet of the message will be inserted into the log queue if a new message
    	that differs is seen or if the configurable timeout period expires.
    
    	This patch was contributed by Chris Packham <chris.packham@alliedtelesis.co.nz>
    	and modified by Balazs Scheidler.

commit f7b9c007db6b0d472b5d11710b25f32b10c461ac
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jun 9 11:41:18 2008 +0200

    added lseek before write instead of O_APPEND as the latter is slow on NFS

commit bb4848d519f7156163590f2cb9e843562c0ad46c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 3 11:08:29 2008 +0200

    added setsid() and chdir to daemonize function
    
    	Become the session leader and chdir to root once syslog-ng is
    	daemonized. It will stay in the current directory if it is requested
    	to run in the foreground.

commit 6598835ec3e79017b8d18b9792a88fe0a41171db
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 26 17:11:38 2008 +0200

    attempt to resolve the target hostname during initialization (fixes: #13879)
    
    	The IP address might have been used by an old version of syslog-ng
    	in the naming of the peristent-config entry.

commit 74d469009cda865684dffdbb7f90fedfb73dac8a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 29 21:19:48 2008 +0200

    use destination hostname in statistics message in place of the numeric IP

commit 3eee0a4e0b9070cdceaaad092fe5119852cf6bd5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 22 15:41:29 2008 +0200

    removed testing code that injected write errors into syslog-ng
    
    	There was an error injection code to test the new destination file
    	write suspend patches. This code was removed.

commit c25daae97e7821f788f6cec66201838b618c8449
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu May 22 11:16:55 2008 +0200

    changed autogen.sh to force pkg-config dependency to 0.14 in distributed packages

commit 46d06a96cebcd76248a76b1c5d072acd7541834f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 21 19:06:12 2008 +0200

    fixed 100% cpu spinning for pipe destinations
    
    	Pipe destinations are handled the same as files, and a patch was
    	committed to 2.1.10 to avoid polling files, as they are always
    	writable. The problem that this also covered pipes, effectively
    	causing a spinning poll loop.
    
    	This patch turns off this new feature if the destination is a pipe.

commit dc59a79522ebf37ba80c08d47a9bca4b14b966d0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed May 21 18:31:50 2008 +0200

    ignore CR in line endings

commit e2e266c0d6c9480c3b9321d2bb89322469093a45
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 21 12:50:59 2008 +0200

    added the creation of the /var/lib/syslog-ng directory to RPM postinst (fixes: #13031)

commit 4e7bb9e47c0f11614f91d0d7335ef8ebd7d1ded7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 18 18:15:36 2008 +0200

    Preparations for syslog-ng 2.1beta1

commit d1d497b9654a6ede2a9bfb1541a12058ad194e07
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Apr 18 18:12:25 2008 +0200

    fixed year recognition heuristics
    
    	When the syslog sender's clock is too fast, the heuristics used to
    	determine the year value in timestamps that do not contain one, was
    	wrong. The extracted year value was one year before the actual year.

commit a583ac77ce3f6228d86230c248fee93ecc4e8932
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 13 18:39:45 2008 +0200

    suspend writing a destination file when an I/O error occurs
    
    	Instead of continously looping on a failed file destination, log I/O
    	error once and retry writing after some time elapses. Solves the
    	problem with disk full problems.
    
    	Fixes public bugzilla #3.

commit 56f6115c623f793a75a37ba9af6e505d7c781907
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 12 19:27:51 2008 +0200

    do not fail startup if connection to the server fails
    
            Do not fail startup if connection to the TCP server fails for any
            reason, like DNS resolution errors or any other TCP problem. Also,
            DNS names are automatically re-resolved for further connection
            attempts.
    
            Fixes public bugzilla #19.

commit 476a72e1d927d3404e22866bd9310c6013938d1b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Apr 9 21:30:50 2008 +0200

    made LinkSys timestamp parsing stricter
    
    	Only take the year value as year if the timestamp is terminated with a space.

commit 1749c8abbea0ac917d1937bee1e0c8a9900bc392
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Apr 7 17:02:19 2008 +0200

    added support for the BSDTAG macro
    
    	This patch was contributed by Jung Christian to implement the BSDTAG
    	macro which produces facility/priority information in logfiles in a
    	similar format to what the FreeBSD syslogd can produce.

commit 22e09dad0914cc3487f55d8f919b213313eb3cae
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 31 14:53:27 2008 +0200

    added LD_LIBRARY_PATH to the svc manager method script

commit 3c5c5f03e3a73b1375141e5f8bfa10c3900c55f1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 31 09:42:44 2008 +0200

    Fixed svc method script permissions and added an export to LD_LIBRARY_PATH

commit 5858ccd9088285938017378f6e794302ee23219e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Mar 31 10:32:15 2008 +0200

    fixed compilation issue on freebsd, include stat.h in misc.c

commit 5c54b98e09f4d28da3795ff6a631aafcb87187d8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Mar 27 15:29:07 2008 +0100

    fixed compilation problem on AIX 5.2

commit f77b05e179e3be8e14998fb5778fe18552fef2eb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 25 11:03:16 2008 +0100

    added somewhat more user-friendly syntax error message in the configuration parser

commit eed3565599212161a4030acc8094bbce3906b834
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 23 22:32:39 2008 +0100

    ported to FreeBSD
    
    2008-03-07  Tamas Pal <folti@balabit.hu>
    
        	* configure.in: Added O_LARGEFILE checking macro. Removed linuxism.
        	  Added Freebsd specific options to GLIB_LIBS.
        	* contib/Makefile.am: Added the contents of freebsd-contrib to
        	  EXTRA_DIST
        	* contrib/freebsd-packaging/syslog-ng.conf.example: Added example
        	  config file.
        	* contrib/freebsd-packaging/syslog-ng.rc.d: Added rc.d
        	  file(/etc/init.d for you SysV types:)
        	* tgzbuild/configure_opts: Added --bindir options to install loggen
        	  to its proper place.
        	* tgzbuild/postbuild: Added FreeBSD specific postinst stuff. Added
        	  loggen to Linux's strip.
        	* src/affile.c: Moved O_LARGEFILE declaration to syslog-ng.h
        	* src/afsql.c: Added #include <string.h>.
        	* src/syslog-ng.h: Moved O_LARGEFILE declaration here.
        	* src/afuser.c: Includes util.h ig getutent missing on the system.

commit 6c212941197ba3ac709fd07391ed622facb564fc
Author: Tamas Pal <folti@balabit.hu>
Date:   Thu Mar 13 15:49:21 2008 +0100

    fixed solaris packaging. Binary statically linked on Solaris 8/9, dynamically on 10.

commit 0831d1d4a026e04e55144df2d0e61d122e7b8c82
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Mar 18 19:06:43 2008 +0100

    Added Solaris 10 specific svc manager files

commit 5a5439fccd3d5ae1db9ee073ed1043b15b756581
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Feb 21 17:10:09 2008 +0100

    file fds are always writable, don't poll them

commit 4de7f364ce8f29eb9b4cb56632060a7b0ed75acb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Mar 23 22:06:11 2008 +0100

    backported end-of-message search algorithm from PE
    
    	Backported the algorithm used in the Premium Edition of syslog-ng to
    	search for the end-of-message. This gives improved performance and
    	NUL is not preferred over NL in incoming connections.

commit 44ad59885a9244a1ec475b3006e68d688126bc07
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Mar 12 11:21:50 2008 +0100

    fixed possible segfault for non-existing optional source files
    
    	The file position of log sources is remembered accross
    	reloads/restarts, however if a file is optional, it might happen
    	that it is not opened, thus its position cannot be recorded. The
    	current code did not take this into account and might have
    	referenced a NULL pointer.

commit 5b65710e9781203d005e6f4bcb3f33bad4f827b6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Feb 24 12:28:54 2008 +0100

    Fixed door initialization on Solaris
    
    	The door used by Solaris log transport was initialized before going
    	into the background, however the door mechanism uses threads, which
    	were started before a fork() call, effectively rendering the whole
    	door part of syslog-ng ineffective.
    
    	This patch changes door initialization to be performed after the
    	initial fork.
    
    	Also the STREAMS device is changed to non-blocking mode and the
    	STREAMS read function was fixed to return EAGAIN to its caller.

commit 33f45d65490c2e8e3c52e468ec733266a0230b13
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 20 18:44:32 2008 +0100

    implement multiple accepts per poll iteration to address performance problems
    
    	The rate of incoming connections were limited by one per poll
    	iteration, which essentially limited the number of connections per
    	second to somewhere between 3-5000. To increase this number the
    	number of accepts were increased to 30 / poll iteration. This should
    	be enough so that the bottleneck will be elsewhere.
    
    	The accept limit is currently hard-wired, I doubt it's going to be
    	needed by anyone to tune, let me know if I'm wrong. :)

commit c36d980974dffa6324a62d0470d45af2fe222578
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Feb 13 20:10:45 2008 +0100

    don't call initgroups() if run_as_user is NULL
    
    	Reported and fixed by Roger J Meier.

commit 99c407f89068280f09284decd403a91693b4fe18
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Feb 8 16:44:21 2008 +0100

    fixed possible abort in DNS cache if the hosts file contains multiple lines with the same address

commit 081cc40c089cc6bf431606d8c2e28caef862600b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Feb 8 16:57:48 2008 +0100

    added --enable-sql in syslog-ng.spec.bb and removed from tgzbuild/configure_opts

commit a99b063fe0828630d4510e589b4ea9e4a0a4139b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jan 30 17:46:56 2008 +0100

    save mtime of /etc/hosts file once loaded

commit e070826ec5058e7a99bfedfce1f367617f70db6d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 28 16:33:03 2008 +0100

    added cygwin packaging files to the source distribution

commit 60a4a3f3d502378509c100c58338fe5856fa8675
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Jan 28 13:12:58 2008 +0100

    added execute permission to cygwin packaging files

commit 41e8384aaba781c5681d39634f82e49ce20e60cd
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 27 20:43:19 2008 +0100

    fixed checking the DNS cache size limit
    
    	Persistent entries were also counted into the dns_cache_size()
    	limit, this is not good as if you have a large /etc/hosts file, it
    	might deplete your cache space.
    
    	Spotted by Steve Bernacki

commit 258bdb41ad6350a19528fc36fc17b7e629d3b3f9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 27 20:19:14 2008 +0100

    added cygwin packaging files to contrib
    
    	Cygwin packaging files were contributed by Corinna Vinschen
    
            * contrib/cygwin-packaging/cygwin-postinstall: New script for
            packing Cygwin net distribution.
            * contrib/cygwin-packaging/syslog-ng-config: New script for
            run-time configuration of syslog-ng as part of a Cygwin net
            distribution.

commit 61c755e670f2771b56e6c6950aabae392e280c87
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 26 15:26:44 2008 +0100

    fixed RH configuration file sample in contrib
    
    	Fixed up some syntax errors in the RH configuration file. Fixes
    	submitted by Joe Fegan.

commit 2a9b2c6fe330c8b33b9f39441db2bbadadb8c2a0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 17 11:02:19 2008 +0100

    SIGHUP did not reopen files as needed for logrotation, fixed that
    
    2008-01-17  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_dw_init): don't create a new writer instance
    	  if one exists,
    	(affile_dw_deinit): don't free the LogWriter instance, only deinit
    	(affile_dw_free): free writer here,
    	(affile_dw_set_owner): be sure to change writer->control as well as
    	writer options, fixed potential use-after-free after SIGHUP,
    	(affile_dd_reuse_writer): call log_pipe_init for each dest writer,
    	(affile_dd_init): call log_pipe_init if no writer hash is used,
    	(affile_dd_deinit_writer): new function,
    	(affile_dd_deinit): call log_pipe_deinit for each destination
    	writer,
    
    	* src/logwriter.c (log_writer_set_options): added control argument
    	  as when the ownership of LogWriter is changed, both the Options
    	  and the control pointer needs to be changed

commit cdbf2c5b63d1a974c0be84e27c1fed644157b1ea
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 26 15:35:34 2008 +0100

    fixed gthread detection when SQL is enabled

commit e62f2bf98d68dfd26fd4722b8034fc4f0395cc09
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 26 15:35:50 2008 +0100

    fixed Solaris packaging to build on AMD64

commit 2a057fbc117c25bccfbe8e55ed28b927def9cff4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 15 19:56:31 2008 +0100

    packaging fixes on Debian

commit 9b20a77faae72d75c3d86758ef87948c9793b326
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 13 10:37:11 2008 +0100

    removed unneeded MARK tags from afsql.h

commit 84ff8c2b22bd75fcf81df40c1d06ad37d5019a44
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 13 10:21:25 2008 +0100

    preparations for 2.1alpha1 release

commit 13f1961d38280b7c5f69711bbdab22220acc08bb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 13 10:18:16 2008 +0100

    removed unused --seed-rng command line option

commit f77519b296eaa4420cf246e6fad30273d6202e21
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 13 10:17:03 2008 +0100

    removed some unneeded disk-buffer related declarations

commit 9fd942cf8f8dc81756b293cca46fe1e5462c724f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 13 10:06:50 2008 +0100

    fixed a possible race in func_test.py

commit 2a10d8f5140b9830def99f51a81896b8ea48c559
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Jan 13 09:05:53 2008 +0100

    added support for textual representation for service names to loggen
    
    	Loggen assumed the port number specified by the user in the command
    	line is numeric. This change suggested by Corinna Vinschen
    	implements service lookup from /etc/services

commit 196f130fb37d14d88c4533a8bc388c91293493a6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 8 16:33:52 2008 +0100

    avoid the use of getaddrinfo() in loggen if it is not present on the system

commit 0e7791823999ee699dbcec223972c12c907dedcb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jan 8 09:08:31 2008 +0100

    incorporated portability fixes by Corinna Vinschen
    
    2008-01-08  Balazs Scheidler <bazsi@balabit.hu>
    
            * src/afsocket.c (afsocket_sd_process_connection): Allow building
            with tcp_wrappers if AF_INET6 is unknown (patch by Corinna Vinschen).
            (afsocket_dd_format_stats_name): Guard AF_INET6 case with ENABLE_IPV6.
            * tests/loggen/loggen.c (usage): Fix typo in usage output.
            (main): Require argument for -s in getopt/getopt_long.

commit 048179b0ad11eab50382728f3767efb2e4a6314d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jan 3 13:00:34 2008 +0100

    fixed compilation warnings, RH + Debian packaging

commit 401468d9863f0c3798d5fb0ad36fcb12795f09fb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 29 18:48:12 2007 +0100

    added unit testcase for program name parsing in test_msgparse (fixes: #15)

commit 87c4312af53692b547fdb2735b0eea1b0d96b2b2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 29 18:42:05 2007 +0100

    don't terminate program name field by anything else but space, ':' and '['
    
    2007-12-29  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logmsg.c (log_msg_parse): the program name should not be
    	terminated by '/', this is used by postfix for instance (fixes: pub#15)

commit 5d33e05e204bac26ef6edc53c7091035c3f1ac0f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 27 18:56:12 2007 +0100

    fixed portability issues in the test programs

commit 348e32b36cf6523d9898240952ea63f04078f6a3
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 27 14:26:48 2007 +0100

    protect with possibly blocking operations with alarm() to avoid system deadlocks
    
    2007-12-27  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_sd_init): set a read timeout to avoid
            blocking on /proc/kmsg
    
    	* src/afuser.c (afuser_dd_queue): handle the blocking on write()
    
    	* src/fdread.c, src/fdwrite.c: added support for read/write timeouts

commit b4cb3f71cd4e2ad4886d4608163493fd8933c73f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 27 13:59:14 2007 +0100

    added loggen tool to generate messages at the specified rate

commit 01a70c2b68152f6d7d962182dd050fc50621fd6d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Dec 21 12:27:23 2007 +0100

    fixed parsing too long fraction of a second parsing, fixed ISO timestamp parsing that have no timezone information
    
    2007-12-21  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logmsg.c (log_msg_parse): if an overly long fraction of a second
    	portion was present in an ISO timestamp, the fraction part was
    	zeroed out,
    	(log_msg_parse): for ISO timestamps without timezone information,
    	the parsed date was wrong
    
    	* tests/unit/test_msgparse.c: added testcase for the changes above

commit 72e2dd4b9cf49f1b21a21f7c3375bc41206cf5f0
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 20 19:43:48 2007 +0100

    increase the poll priority of the "reaper" timer

commit ffd49bfb0db5ae72a62eebe5a11aec2ada830c23
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 18 10:27:53 2007 +0100

    use packet-terminated logreader for STREAMS log device on solaris
    
    2007-12-18  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afstreams.c (afstreams_sd_init): specify the LR_PKTTERM flag
    	  for the logreader to avoid STREAMS buffer overflows (and the
    	  STREAMS device gives us a complete message anyway)

commit ec8247bb730464490aae675605bbbd8769df9ac5
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 12 14:50:34 2008 +0100

    changed VERSION to 2.1alpha1 to ensure that the version for daily snapshots is less than 2.1.1

commit 9fcf6fb28697759ff1a0594697f8f8b1d56edc62
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Jan 12 14:48:54 2008 +0100

    backported SQL destination driver from the Premium Edition

commit b629b4f527284af76662c2dc5dab325435201ecc
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Dec 20 20:18:36 2007 +0100

    backported syslog-ng core changes from the Premium Edition

commit f4eebb57da3e947bbd4002933bceec03cbfae519
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 18 14:38:53 2007 +0100

    changed version number to 2.1.0 starting the GPL 2.1.0 branch

commit 93ede29f8d91a1d34eba485b80eb6f23c3bf196b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 17 15:12:35 2007 +0100

    added support for LinkSys RV style timestamps (year at the end) (fixes: pub#4)
    
    2007-12-17  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logmsg.c (log_msg_parse): added support for LinkSys RV-style
    	  timestamps (fixes: pub#4)

commit 761235af58ec24c4aa10c2b114b8008c4dfb492b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 12 09:16:21 2007 +0100

    fixed a possible segfault on incorrectly formatted dns-cache-hosts() file
    
    2007-12-12  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/dnscache.c (dns_cache_check_hosts): fixed possible NULL derefs
            in hosts file parsing

commit 39e54c9b7ad73d6863d345125eec6f8cf61d4451
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 10 13:16:19 2007 +0100

    allow specifying the name of the persistent configuration file (--persist-file)
    
    2007-12-10  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/main.c (main): added --persist-file option
    
    	* src/cfg.c (persist_config_save, persist_config_load): added
    	  filename option

commit 63ce1bba3dff8c0645035025d221349e3d5ec59c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 10 13:10:40 2007 +0100

    avoid "duplicate persist info" for non-existing file sources that cannot be opened
    
    2007-12-10  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_sd_init): retrieve persistent information
    	  even if the file does not exist to avoid a warning message

commit c29352e3a3b61d207106aafae305ba909d454b2a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 5 11:55:03 2007 +0100

    fixed possible null-deref for destination files not containing macros
    
    2007-12-05  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_dd_init): don't call affile_dw_set_owner if
    	  writer is NULL

commit e7fab310a71572405877ee1cf76ab8a7b23cff9a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Dec 1 17:07:35 2007 +0100

    remember destination file writers accross config reloads
    
    2007-12-01  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_dw_reapable): new function, returns whenever
            a destination file writer is allowed to be reaped (e.g. it has no
            messages buffered),
    	(affile_dw_set_owner): new function, since DW instances are
            remembered accross reloads, instances created for an old
            configuration need to be reattached to the new AFFileDestDriver
            instance, in the new configuration,
            (affile_dd_format_persist_name): new function, formats the
            persistent name for AFFileDestDriver,
    	(affile_dd_reap_writers): don't reap writers that return FALSE for
            affile_dw_reapable,
    	(affile_dd_reuse_writer): new function, used to reattach orphaned
            writers to the new AFFileDestDriver instance,
    	(affile_dd_init): recover writer_hash & writer from the persistent
            configuration,
    	(affile_dd_destroy_writer): new function, deinit & unref a writer,
    	(affile_dd_destroy_writer_hr): renamed from
            affile_dd_remove_writers, use the new affile_dd_destroy_writer
            function,
    	(affile_dd_destroy_writer_hash): new function, destroy-notify
            callback for the writer_hash,
    	(affile_dd_deinit): save both the writer_hash & writer as persistent
            config,
    	(affile_dd_queue): next pointer was changed from a generic LogPipe
            to AFFileDestWriter,
    
    	* src/affile.h (AFFileDestDriver): the "writer" member is changed to
            AFFileDestWriter,
    
    	* src/logwriter.c, src/logwriter.h (log_writer_set_options): new
            function

commit e3a2a25a989d191e5304f0398f38f0f01f3c8197
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Dec 5 11:52:16 2007 +0100

    added support for file sources that don't exist upon start-up
    
    2007-12-05  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logreader.c (log_reader_fd_check): only perform followed-file
            checks, if the file is already opened
    
    	* src/affile.c (affile_sd_init): defer file open if the file-follow
            mode is enabled  (patch contributed by Charles G Waldman)

commit b1e13c19053157713b5ae922f45cbe4b2902a42b
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 4 13:49:01 2007 +0100

    added support for fsync() option
    
    2007-12-04  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/fdwrite.h (FDWrite): added fsync member
    
    	* src/fdwrite.c (fd_write): call fsync() if self->fsync is set
    
    	* src/cfg-grammar.y: moved KW_FSYNC keyword to be affile specific
    
    	* src/affile.c (affile_dd_set_fsync): new function sets AFFILE_FSYNC
            flag if fsync is to be enabled,
    	(affile_dw_init): set fd_write->fsync if AFFILE_FSYNC is enabled

commit 9b563fe89063b4aeef93406236768ef9feb881ce
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Dec 4 13:46:38 2007 +0100

    added "mark" as an alias for "mark_freq" for compatibility with 1.6
    
    2007-12-04  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-lex.l: added "mark" keyword for compatibility with 1.6

commit 0c40dc606321d611b746f67a01c656985af336be
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 3 15:10:06 2007 +0100

    fixed flow-control problem related to source files
    
    2007-12-03  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logreader.c (log_reader_fd_check): recheck whether the source
    	  is permitted to generate more messages and always return FALSE if
    	  it is not.

commit c7a9126b57187899cf2fe8e4c39f82fd6e11288f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Dec 3 14:33:24 2007 +0100

    Solaris zero-length UNIX domain socket bind problem fixed
    
    2007-12-03  Balazs Scheidler <bazsi@balabit.hu>
    
            * src/gsockaddr.c (g_sockaddr_unix_bind): new function, avoids the
              bind operation if strlen(sock_name) == 0

commit 90772af11b469b9527a9d0b6673bd49200d71782
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 27 11:17:47 2007 +0100

    clarified NEWS for 2.0.6

commit df07ea70ada35e1f997e6a7c1936dc4ce1069ce1
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 27 10:46:43 2007 +0100

    preparations for 2.0.6

commit 1661ca746f13eacf3c5e0d08640dd00c71548d11
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 22 10:29:08 2007 +0100

    fixed ipv6 address resolution as only parts of the sockaddr_in6 structure were copied
    
    2007-11-22  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afinet.c (afinet_resolve_name): instead of copying only the
    	  in6_addr member of the sockaddr_in6 structure, copy the whole to
    	  allow propagating scope-id and flowinfo too.

commit 6b11b9d66387189206c1191f17450fda8d97b7e8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 19 10:33:54 2007 +0100

    fixed a possible segfault related to IPv6 stats-name
    
    2007-11-19  Philib Bellino <pbellino@mrv.com>
    
    	* src/afsocket.c (afsocket_dd_format_stats_name): Using IPv6 for a
    	destination of tcp6 or udp6: There was no case statement for
    	AF_INET6 and as a result, “driver_name” was never filled in with
    	either tcp6 or udp6.  The subsequent routine (g_snprintf) that used
    	“driver_name” caused a segmentation fault.  This is now fixed.

commit 093db87c4e57a912f4feb1e2144ef6c084280fb9
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 19 10:21:59 2007 +0100

    fixed stderr logging during startup, error messages should be displayed

commit 7be90e38b1f581282d74fbbca4eed856b63730d2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Nov 14 11:50:37 2007 +0100

    set LD_LIBRARY_PATH on Solaris8

commit 4b92a02ff8013519b4c5140914201bdb0fb6d2db
Author: Tamas Pal <folti@balabit.hu>
Date:   Thu Sep 27 15:29:22 2007 +0200

    Final tgzbuild update. Added LFS documentation and init.d script handler.

commit 0248af5d43a016fd985e4d4e1cb9a28c02bb1ef9
Author: Tamas Pal <folti@balabit.hu>
Date:   Wed Sep 26 18:30:25 2007 +0200

    Added Linux From Scratch support to tgzbuild. Updated tgzbuild to build the oldway tgz's on hpux.

commit 5fcbce2a536efc072c57589b0bccfd784b19f6a2
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon Nov 26 09:23:00 2007 +0100

    Backported Solaris build fixes from PE

commit 3126ebad217e7fd6356f4733ca33f571aa87a170
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Nov 22 15:39:14 2007 +0100

    fixed possible segmentation fault in input parsing (DoS possibility)
    
    2007-11-22  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logmsg.c (log_msg_parse): fixed possible NULL pointer
    	  dereference in log message parsing
    
    	* tests/unit/test_msgparse.c: added testcases for improperly
    	  formatted ISO timestamps that can cause a segfault

commit 09c462b997a2f34ce8bf541d20736cba47532911
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Nov 16 08:56:25 2007 +0100

    only enable gcc specific CC options when building with gcc

commit a848b4a7dc9edef724266f42d6ae88cf0bc308df
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Nov 13 09:20:30 2007 +0100

    added a sanity check to configure, checks whether glib bit number matches that of the compiler's

commit 429ead1e2c62ba30f1e7859e80067def248be136
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 3 22:39:36 2007 +0100

    adapted test_msgparse unit test program to the latest program name parsing changes
    
    2007-11-03  Balazs Scheidler <bazsi@balabit.hu>
    
    	* tests/unit/test_msgparse.c: an earlier change causes the program
    	  name to be terminated by space, adapted test program

commit 1d6aa2598fa5d16b53725fe6867c5a3cb0909f68
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 3 22:38:23 2007 +0100

    fixed a possible glib warning when freeing templates, triggered by glib 2.14

commit 98c081c4e02409adbf79fdea6960766065addf7f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Nov 3 22:37:41 2007 +0100

    fixed handling the time_zone() specification specified in the configuration file
    
    2007-11-03  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logmsg.c (log_msg_parse): make sure a timezone is set for
    	incoming messages even if they originally had -1 as timezone,
    	(log_msg_init): initialize stamp.zone_offset to -1 instead of the
    	local timezone offset value

commit 4a84d904fe0fc5b3627773bafe6966ad9037386d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 23 18:48:36 2007 +0200

    use the same algorithm for parsing program names when a date stamp is present and ommitted
    
    2007-10-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logmsg.c (log_msg_parse): program name was parsed differently
    	  whenever a date stamp was present or when it was omitted, the two
    	  cases were brought back together, reported by Tsurusawa Takeshi

commit 6cd4fdaea7d77f1facd36d6fde04ae57d3e51233
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Oct 23 17:04:46 2007 +0200

    unset destination/bind address if a name resolution error occurs (fixes: #12393)
    
    2007-10-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afinet.c (afinet_resolve_name): changed prototype to require a
    	  pointer to GSockAddr *, set the passed reference to NULL whenever
    	  a resolve error occurs (fixes: #12393),
    	  (various functions): changed all afinet_resolve_name invocations
    	  to use the new prototype

commit 3823310acc6d40e01457934b64295710661ef9c6
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Sep 26 16:34:23 2007 +0200

    fixed tgzbuild Makefile

commit 184d79fde77768f023a8077b1e63d35cd251cd52
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Sep 20 21:54:10 2007 +0200

    fixed a possible segmentation fault when parsing the PID value from the input
    
    2007-09-20  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/macros.c (log_macro_expand): fixed PRI macro expansion

commit f705d56940ded0c98113aaca8437c3d57743e1f8
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Sep 22 16:38:31 2007 +0200

    backported HP-UX related build and runtime fixes from syslog-ng PE
    
    2007-09-22  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: added HP-UX + gcc specific CFLAGS to get all symbols
    	  we need (_HPUX_SOURCE), also added a warning on a buggy system
    	  headers, fixed HP-UX link options
    
    	* tgzbuild/*: added tgz binary packaging for ZBS
    
    	* contrib/hpux-packaging/*: new files, default configuration files
    	  for HP-UX
    
    	* src/afunix.c (afunix_sd_init): fixed compilation warnings on
    	  HP-UX, added explicit casts for uid_t, gid_t and mode_t
    
    	* src/logreader.c (log_reader_iterate_buf): fix message processing
    	  on padded pipes that is used by HP-UX
    
    	* src/syslog-ng.h: added some macros for platforms that miss strtoll

commit f4a72eb785573e5a962ec5008735e149afcb585d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jul 31 21:47:59 2007 +0200

    fixed a memory leak in loading persistent config
    
    2007-07-31  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg.c (persist_config_load): always free "key" as it is not
    	saved in the persist config structure, thus it is the responsibility
    	of persist_config_load to free it

commit 61ca189fb227bf1bfe89e72e734232c67cb9ef5f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 26 12:46:40 2007 +0200

    fixed memory leaks reported by Anthony Lineham
    
    2007-07-26  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/templates.c (log_template_free): the compiled template was not
    	freed previously
    
    	* src/cfg-grammar.y: fixed a double-ref problem on templates which
    	caused a memory leak accross HUPs (reported & fixed by Anthony
            Lineham)

commit 8b8fd488a023c9b1f00545745ea334727867c07c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 20 14:43:34 2007 +0200

    preparations for 2.0.5

commit 6dc7e422950ae51e34921f7b0fd36e2a2673fd96
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 20 14:43:34 2007 +0200

    added unit testcases for BSD timestamps

commit 71d858ed1db047c4f12777d1c51a4fd7dbcdffdb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri Jul 20 14:43:34 2007 +0200

    fixed a possible segfault during exit when syslog-ng was reloaded
    
    2007-07-20  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/main.c (main_loop_run): pass GlobalConfig pointer by reference
    	  so that the main function can see the reloaded value when
    	  performing exit
    
    Conflicts:
    
    	src/main.c

commit 4e275da6e459b862f6d292b28f0b688116609262
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Thu Jul 19 23:25:18 2007 +0200

    added support for fraction of seconds in BSD timestamps (Cisco extension)

commit bb87003eb09e0735d233ed959a8cdb463f52ce4d
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jul 18 16:17:33 2007 +0200

    fixed possible blocking on /proc/kmsg during boot
    
    2007-07-18  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logreader.c (log_reader_fetch_log): bail out when we came in
    	because some data was still in the buffer and LR_NOMREAD is enabled

commit 1f7ffea1f87ee3f2bbbd876c06b87d9f795d2506
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 27 10:25:58 2007 +0200

    clarified verbosity for tcp-wrapper rejected connections

commit 81c6aa3123f2bd6131e8b75435d4f3ea8f399b0f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 20 10:42:55 2007 +0200

    fixed propagation of global log_fifo_size option
    
    2007-06-20  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logwriter.c (log_writer_options_init): use MAX instead of MIN
            to determine propagated log_fifo_size value

commit 3c583ba01e8c11bfcb7536ccaed47c5610b9268c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Wed Jun 13 13:35:51 2007 +0200

    added support for PIX timestamp format
    
    	* src/logmsg.c (log_msg_parse): added support for PIX timestamp
    	format
    
    	* tests/unit/test_msgparse.c: added testcase with a PIX timestamp

commit 0ace68b8ba708426cfc867933d0ad9e1952e1911
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue Jun 12 13:57:47 2007 +0200

    increased default 'max-connections' limit to 256 for UNIX domain socket sources

commit 538923cd725f54ba7aa89a8f339653e2a6e88a6e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 26 18:41:36 2007 +0200

    fixed localstatedir in the RedHat spec file

commit 82092d8b6ed3388c29c4523899c184fef2a2e669
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat May 26 18:41:11 2007 +0200

    configure fixes for easier compilation on systems which lack libnet/libwrap or IPv6

commit 112817e654f3795f5a18c93be8c0c3ab4895af3c
Author: Jan-Frode Myklebust <janfrode@tanso.net>
Date:   Fri May 25 23:11:18 2007 +0200

    Created syslogd_var_lib_t to label /var/lib/syslog-ng.
    
    Created labeling rule for /var/lib/syslog-ng.

commit e4e03d136da53dbcc22be671ac14620c42772d08
Author: Jan-Frode Myklebust <janfrode@tanso.net>
Date:   Mon May 21 23:19:23 2007 +0200

    Changed module to allow var_lib_t access, instead of var_t, since
    
    syslog-ng.persist should be located in /var/lib/syslog-ng/. Remember
    to use configure --localstatedir=/var/lib/syslog-ng/.

commit 599ad23de6fe40d50e067bfab2775ec5b212ec52
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 21 19:56:54 2007 +0200

    added syslog_ng SELinux module

commit 2288151086e2557c8a30e37c1b4a37a7b373fffb
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 21 18:47:34 2007 +0200

    fixed implicit declaration of strtol warning
    
    	* src/afinet.c: added include <stdlib.h> to fix
    	implicit declaration of strtol warning

commit 7a15aec9931e6f6f670029a08a194f3134522733
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 15 16:40:43 2007 +0200

    added libnet1-dev to build-depends in Debian packaging

commit f83425e224dc0c0fc7c033322bc3f392616b9791
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Tue May 15 16:14:10 2007 +0200

    AIX packaging fixes

commit 014f77e92260011e828f55ed0a74e766171c13ed
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 14 13:44:56 2007 +0200

    NEWS fixes

commit 5a6908187e37d583efa1113d944aafd2f6d9269f
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 14 12:08:18 2007 +0200

    preparations for 2.0.4

commit bc2a1807ed181b2e427b43a55c2c94b3bf56524a
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Mon May 14 12:04:16 2007 +0200

    added libglib2.0-dev to build-depends

commit 3425f2af9611deafc9c017437d7bee7514369076
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 28 16:21:48 2007 +0200

    fixed max_connections counting
    
    2007-04-28  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_sd_process_connection): fixed
    	num_connections counter

commit 7caa8e2ce5d98c93367ad85a7ed30e22730c6203
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Fri May 4 17:51:01 2007 +0200

    fixed timezone offset sign when parsing from the configuration file
    
    2007-05-04  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg.c (cfg_timezone_value): fixed sign parsing

commit ba918f857a7140efc2e35d6b1afa9da1024bf359
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 29 23:23:30 2007 +0200

    fixed segfault in afsocket when an unACKed message is still in the queue at deinit time
    
    2007-04-29  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_sc_deinit): remove self from the owner's
    	connection list at deinit instead of at free time, as if the

commit 47f53555268efb72ab8db2d620d7669b8e5dc7a4
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sun Apr 29 18:53:46 2007 +0200

    added support for Perl-like regexp flags to support case-ignoring matches
    
    2007-04-28  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/filter.c (filter_re_compile): parse '(?i)' at the beginning of
    	regexps as an ignore-case flag, just like Perl does

commit 0145307482375c8b0c027329e5a43ec4451f596c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 21 08:22:03 2007 +0200

    unit test cleanups
    
    2007-04-21  Balazs Scheidler <bazsi@balabit.hu>
    
    	* tests/unit/test_filters.c: added a testcase covering the facility
    	filter evaluation problem reported by Evan Rempel
    
    	* tests/unit/test_dnscache.c: decreased timeouts in order for the
    	test to run faster

commit bea9a79e6bed6fca15db5df1922a32935150ab7c
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 21 08:18:21 2007 +0200

    updated .gitignore files

commit 5d83cc6635768ea4948498862b27794c910c1c8e
Author: Balazs Scheidler <bazsi@balabit.hu>
Date:   Sat Apr 21 08:17:41 2007 +0200

    fixed facility filter evaluation problems
    
    2007-04-21  Balazs Scheidler
    
    	* src/cfg-grammar.y (filter_fac_list, filter_level_list): use
              bitwise or instead of addition to combine fac/level bitmasks
    
    	* src/filter.c (FilterFacility): the valid mask was changed, it now
              contains one bit for each facility instead of one bit for each
              facility ID, the latter made "auth" and "security" facilities
              differ, even though they have the same code,
              (filter_facility_eval): removed the bulk of the code because of
              the simplification mentioned above,
    
            * src/syslog-names.h (syslog_name_lookup_level_by_name): use an
              inline function instead of a macro,
              (syslog_name_lookup_facility_by_name): demacroized, return the
              facility code instead of the id

commit 04968fb70920b6c938a2f29df47579e8afa9c94a
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:24 2007 +0200

    use stat instead of seek to determine file size
    
    	* src/logreader.c (log_reader_fd_check): remove lseek based file
    	size determination and use lseek instead, it is not glibc that is
    	buggy, and although gdb reports invalid contents of the stat
    	results, the program sees them correctly

commit af843292d5b236e63048b719491fec8ea8291050
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:22 2007 +0200

    added support for logrotation in file sources
    
    2007-04-06  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_sd_open_file): new function, contains the
    	file open code for the source driver,
    	(affile_sd_notify): new function, registered as the notificatio
    	handler for an affile source, for NC_FILE_MOVED notifications
    	construct a new the log reader and drop the old one,
    	(affile_sd_init): use affile_sd_open_file,
    	(affile_sd_new): register notification handler, tell our LogReader
    	the filename that we are following

commit 132512fb18888c8680085f49ba4501907837cbd7
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:19 2007 +0200

    fixed expansion of utf-8 characters in templates
    
    	* src/macros.c (result_append): use guchar as the type of the
    	argument instead of gchar
    
    	* tests/unit/test_templates.c: use utf8 sequences in the message
    	string to ensure that syslog-ng handles them properly

commit 3781e41ba8f4aeaf741cef12eea6f9abae4aeffd
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:16 2007 +0200

    fixed numeric localport/destport specificatio
    
    	* src/afinet.c (afinet_set_port, afinet_sd_set_localport,
    	afinet_dd_set_localport, afinet_dd_set_destport): removed port
    	argument, always use 'service' and check if it's numeric
    
    	* src/cfg-grammar.y: follow afinet changes

commit 9f95aacd02bc0f57a518fec02cba955fc521bb02
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:13 2007 +0200

    grammar fixes for localport/port/destport parsing options
    
    	* src/cfg-grammar.y: fixed grammar to parse port related options correctly

commit 56198c7880d86361fca339480eaaf9f95d68985e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:11 2007 +0200

    preparations for 2.0.3 release

commit 4c036edb889e4e9f280117445e2af94d2ea11634
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:08 2007 +0200

    increased the minimum value for log_fifo_size to 1000

commit 7f5afab87fa20c643c5a6bfeb5edefaba5447ba4
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:05 2007 +0200

    fixed dns_cache_hosts() typo in documentatio

commit bf0d73e1e19679a94fb083d4f1d74e3c59f3ebb3
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:02 2007 +0200

    some more message clarificatio

commit 1500404018a4704234ef0cd1514a15aeab7b83ee
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:14:00 2007 +0200

    clarified internal message severities
    
    	* src/*.c: clarified the severity value of some log messages
    	generated by syslog-ng

commit 3457ead49a4969e9fc79cc6f94664c697ce19852
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:57 2007 +0200

    clarified message priorities

commit bab7ef259d12894e5dd903940974575fadeeef8e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:54 2007 +0200

    added support for remembering input file positions
    
    	* configure.in: added LARGEFILE_SOURCE & FILE_OFFSET_BITS to
    	CPPFLAGS, export localstatedir to syslog-ng,
    
    	* src/affile.c (affile_sd_format_persist_name): new function,
    	formats the persistent name associated with the file source,
    	(affile_sd_init): check if the current file position is available
    	and set it if it is,
    	(affile_sd_deinit): save the current file position,
    
    	* src/afsocket.c (afsocket_sd_kill_connection_list): new function,
    	frees a connection list,
     	(afsocket_sd_deinit): fixed a possible SIGSEGV, a GList was freed as
    	an AFSocketSourceDriver, I wonder how this got unnoticed so far,
    
    	* src/cfg.c (persist_config_add_entry): new function,
    	(persist_config_add): use the new add_entry function,
    	(persist_config_add_survivor): new function, adds a surviving entry,
    	(PersistentConfig): added saving/loading persistent config entries,
    
    	* src/logreader.c (log_reader_watch_new): don't seek the file to the
    	end-of-file now as proper file position is recovered,
    	(log_reader_set_pos, log_reader_get_pos): new functions
    
    	* src/main.c (main): added --ignore-persistent option, use a
    	persistent configuration object around stop/start to save/restore
    	file position informatio

commit c80638e3f0400695f5da1e17b1f5eecac1b44e84
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:51 2007 +0200

    tightened LogMessage struct, added support for more than 9 match groups
    
    	* src/logmsg.h (LogMessage): structure tightened a bit, avoid
    	double-referencing various message-parts by inlining GString
    	declarations, instead of allocating them at runtime to be more cache
    	friendly, use 8 bit values for ref_cnt, flags, pri; re_matches is
    	allocated at runtime to allow more matches
    
    	* src/filter.c (filter_re_eval): dynamically allocate the
    	msg->re_matches array, follow LogMessage changes
    
    	* src/templates.c (log_template_compile): support ${} syntax for
    	regex match replacements to allow more than 9 matches
    
    	* src/afuser.c, src/logreader.c, src/logwriter.c, src/sgroup.c,
    	src/test_msgparse.c, src/test_template.c: follow LogMessage
    	changes

commit 8f6af7e8174edbd1b779bc3726ed10661131e754
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:49 2007 +0200

    clarified SIGTERM message
    
    	* src/main.c (main_loop_run): clarified message about the receptio
    	of a SIGTERM or SIGINT signal

commit dd08565110c995e49caf36c12089b686afa7422e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:46 2007 +0200

    updated copyright strings

commit 7b38c6dc1b910a2e0d4a067bd4de4f8aa2886703
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:42 2007 +0200

    implemented TCP wrapper support
    
    	* configure.in: added tests for libwrap
    
    	* src/afsocket.c: added support for libwrap access control

commit f36bc3fd75693accf66e1b54b1e040aaa743eb8a
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:39 2007 +0200

    added endutent() to usertty destination
    
    	* src/afuser.c (afuser_dd_queue): added missing endutent call()

commit 2258cb1f463f8884e1e7eaa72e45911b4e58b78f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:37 2007 +0200

    removed 1024 byte limitation on internal messages
    
    	* src/messages.c (msg_send_internal_message): use a dynamically
    	allocated buffer instead of a buffer with a fixed size on the stack

commit 5f0c2f9e64c57a1c67427df91bf7b28f54614832
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:34 2007 +0200

    added testcases for 2007 DST changes
    
    	* tests/unit/test_zone.c (main): added testcases for 2007 DST
    	changes in the USA

commit 70e5fa5fe70d2145db26c818b229d6491e3588c0
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:31 2007 +0200

    added dist.conf to dist

commit 92f4e100faf74566de3b02665445ab49e4600046
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:28 2007 +0200

    further portability fixes
    
    	* configure.in: added check for -lresolv

commit e1e907e9af5b536ef9fe218e9270510b49d30c14
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:26 2007 +0200

    portability fixes for platforms without IPv6 support
    
    	* configure.in: added checks for struct sockaddr_storage
    
    	* src/cfg-grammar.y: make sure it compiles even if AF_INET6 is not
    	defined
    
    	* src/cfg-lex.l: don't define udp6/tcp6 keywords if ENABLE_IPV6 is
    	not defined
    
    	* src/dnscache.c: added conditional blocks for IPv6 related code
    
    	* src/misc.c (resolve_hostname): -"-
    
    	* src/fdread.c (fd_do_read): use plain "struct sockaddr" if struct
    	sockaddr_storage is not defined

commit 302c89262224c66a7cafd7f3103418fbe796c484
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:23 2007 +0200

    implemented spoof-source support for both ipv4/ipv6
    
    	* configure.in: added --with-libnet and --enable-spoof-source
    	options
    
    	* src/afinet.c (afinet_dd_set_spoof_source): new function, called
    	from the parser to enable spoof-source,
    	(afinet_dd_init): new function,
    	(afinet_dd_construct_ipv4_packet): -"-,
    	(afinet_dd_construct_ipv6_packet): -"-,
    	(afinet_dd_queue): -"-,
    	(affile_dd_new): register new init/queue methods,
    
    	* src/sgroup.h, src/dgroup.h: renamed ref/unref functions for
    	consistency
    
    	* src/cfg-lex.l, src/cfg-grammar.y: added spoof-source optio
    
    	* src/logwriter.c (log_writer_format_log): removed static as it is
    	directly used by spoof-source to format messages

commit b7a573f1a52c83bac2696cd900af11dd6d8d81f1
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:20 2007 +0200

    added netinet/in.h to afinet.c
    
    	* src/afinet.c: added inclusion of <netinet/in.h> as it caused
    	problems on HP-UX

commit b5d724d1eb78219176f845bf1a978c7343128ca9
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:17 2007 +0200

    added check for getutent in configure
    
    	* configure.in: added getutent() check

commit d2d3e560aefe98e0aadf85885fd01b6861eeb87a
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:13:07 2007 +0200

    integrated AIX packaging fixes from dev-folti
    
    Patches applied:
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-2
       Fixed: AIX5.2 packaging support. (fixes: #10375)
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-3
       Fixes: added libevtlog-dev build dependency. (fixes: #10375)
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-5
       Fixed: RPM packaging for 2.0. (fixes: #nobug)
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-7
       Refresh: Fixed: AIX5.2 packaging support. (fixes: #10375)
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-8
       Refresh: Fixes: added libevtlog-dev build dependency. (fixes: #10375)
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-9
       Refresh: Fixed: RPM packaging for 2.0. (fixes: #nobug)
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-10
       Fixed: removed duplicated install commanands from spec file. (fixes #nobug)

commit ae13d6ce4a965933088f208e44eb7621a82c5319
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:52 2007 +0200

    fixed possible crash in usertty() driver
    
    	* src/afuser.c (afuser_dd_queue): don't ack the message if flow
    	control was off (fixes possible crash reported by Bryan Henderson)

commit 79a769ad1f4d1999d809c5f5b8d51a5ad71d9dc5
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:49 2007 +0200

    Synced to test
    
    X-Sync-Point: test

commit 0911f2b844a100f27629cd52acb5da5f635928b5
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:45 2007 +0200

    missed version change

commit 91c2c608ee6e1c06f73b214173e67e62810794ec
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:42 2007 +0200

    preparations for 2.0.2

commit e6386d45fef17c89c50fe99a08fd70ed732503f6
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:40 2007 +0200

    fixed handling utmp entries where a full path is included as tty name
    
    	* src/afuser.c (afuser_dd_queue): check if ut->ut_line starts with a
    	'/' and use it directly if it does, otherwise prepend '/dev/' as before.

commit d34bb6d0b143acde47f05ec5c36903d410c2049e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:37 2007 +0200

    fixed trailing 0 and n characters in messages received on dgram transport
    
    	* src/logmsg.c (log_msg_parse): remove trailing n and 0 characters
    	which are often added to the end of incoming datagrams

commit bd3499aa214088789dc06b80c0a004e05bc63ec2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:34 2007 +0200

    fixed parsing group information when not enclosed in quotes
    
    	* src/cfg-grammar.y (string_or_number): use non-terminal string
    	instead of STRING to support non-quoted group specificatio

commit f5afdfc2597aae25396b6e531544182396a58b31
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:32 2007 +0200

    fixed IPv6 related portability problem in DNS cache
    
    	* src/dnscache.c (dns_cache_key_hash): don't use the unportable
    	s6_addr32 member in struct in6_addr, use an explicit cast instead

commit c84ef1e0bdaab8f1f62edb7f1d53883d0494109e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:29 2007 +0200

    added tcp-keep-alive keyword for compatibility

commit dc7ad1e4c7d396a314eb11a977fe49ab1cccf628
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:26 2007 +0200

    updated documentation with so_keepalive optio

commit 36a3d22cce9a5a7abe08d02b49ba8245164c687e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:24 2007 +0200

    added so_keepalive support
    
    	* src/cfg-grammar.y: added KW_SO_KEEPALIVE keyword,
    	(socket_option): added KW_SO_KEEPALIVE rule
    
    	* src/afsocket.h (SocketOptions): added keepalive member,
    
    	* src/afsocket.c (afsocket_setup_socket): set SO_KEEPALIVE socket
    	option based on the keepalive parameter

commit 837e9fb74fd2385d3bb2ed4f933a13a54ad005d6
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:21 2007 +0200

    fixed XML syntax error in refguide

commit 0c67a9c30bb818811570c0c0db74dfafb9868fe1
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:18 2007 +0200

    bumped version to 2.0.1

commit fe62df2bfd8f063c80b9771555319ddbba184b58
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:15 2007 +0200

    updated documentation with new dns cache options

commit 42cb6d9b4c9c9e755e4ab4abeb68b38c2e888dab
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:12 2007 +0200

    NEWS preparations for syslog-ng 2.0.1

commit dc199ade8614bdf70d70cf8b11de128dc2064142
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:10 2007 +0200

    obsoleted remove_if_older option in favour of overwrite_if_older
    
    	* src/affile.{c,h}: renamed remove_if_older references to
    	overwrite_if_older
    
    	* src/cfg-lex.l, src/cfg-grammar.y: -"-
    
    	* doc/reference/syslog-ng.xml: added overwrite_if_older
    	documentation, added note about obsoleted remove_if_older()

commit 17c6cf3177faf8f25f4e8f811bc7ceace536e3ca
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:07 2007 +0200

    documentation updates on remove_if_older()

commit 651180d405df42084a96a762a238adec30a1f698
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:04 2007 +0200

    added include misc.h to afstreams.c
    
    	* src/afstreams.c: added #include "misc.h"

commit 168ce84fffabed5a5c5ae953565941a90747c39b
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:12:01 2007 +0200

    removed bogus timezone error message for correct timezone values
    
    	* src/cfg.c (cfg_timezone_value): readded erroneously removed retur
    	statement which caused an error message for all timezone values

commit c4d9b1d50d6d81bb32bb20d5c84ed397ed36a4ce
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:58 2007 +0200

    removed 12 hour limitation from timezone offsets
    
    	* src/cfg.c (cfg_timezone_value): removed 12 hours limitation as
    	offsets may well exceed that value (maximum is 24 hours)
    
    	* doc/reference/syslog-ng.xml: removed non-existing timezone()
    	optio

commit 269453d0168f833358acf862fbac207f7bf6d598
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:56 2007 +0200

    added minimum version checking for glib/eventlog, also fixed a portability problem with non-gcc compilers in configure

commit ae0b1a488e671d3beb10a420aa1dcc0cb9bb034f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:53 2007 +0200

    fixed a typo in the documentation, added sys/socket.h to dnscache.c

commit f0b3b522131453508feab4cc6a8caf44dc6e1bad
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:50 2007 +0200

    fixed the previously messed up commit

commit 75c5ec41f8404f8825f1e396cd79901f41420d4c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:47 2007 +0200

    fixed a compilation problem in logmsg.c
    
    	* src/logmsg.c (log_msg_parse): fixed a bad assignment

commit 4c6fc4e4f781e80cd02772d090f048d814d28d7a
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:44 2007 +0200

    timezone offset calculation fix
    
    	* src/logmsg.c (log_stamp_format): don't use the absolute value of
    	timezone offset,
    	(log_msg_parse): initialize tm.tm_gmtoff using a call to localtime()
    	instead of using memset(), fixed tv_sec calculation as it was not
    	really UTC which it should've been.
    
    	* tests/unit/test_msgparse.c: fixed time parsing testcases

commit 0b463b2bd1907ac8bf6df1a3afbcc4530d325dba
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:41 2007 +0200

    fixed GLib static link configure test to work with non-gcc compilers
    
    	* configure.in: fixed GLib static link configure test to work with
    	non-gcc compilers

commit 572da98f35f90dac2f5528e826f1a629e3c5409a
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:38 2007 +0200

    fixed up dnscache unit test program

commit 6a00cfd778a7880e0401cef2b8184fd6737babc5
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:11:28 2007 +0200

    implemented DNS cache and custom hosts file support
    
    	* src/cfg-grammar.y: added KW_PERSIST_ONLY, KW_DNS_CACHE_HOSTS keywords, dnsmode rule,
    	removed tripleoption and related options, added
    
    	* src/cfg-lex.l: added dnscache specific new keywords,
    
    	* src/cfg.c (cfg_init): added a call to dns_cache_set_params,
    	(cfg_free): free dns_cache_hosts,
    
    	* src/main.c (main): call dns_cache_init() and dns_cache_destroy()
    
    	* src/misc.c (resolve_hostname): added DNS cache and persistent-only
    	resolution support
    
    	* src/sgroup.c (log_source_group_init): save dns cache params,
    	(log_source_group_queue): pass use_dns_cache param to resolve_hostname
    
    	* src/dnscache.{c,h}: new files

commit 808ee443a08dd0e3243df79df92762aaedc7a73b
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:08:38 2007 +0200

    don't fail at startup if network connection is dow
    
    	* src/afsocket.c (afsocket_open_socket): added an error message if
    	socket creation failed,
    	(afsocket_dd_start_reconnect_timer): new function, deregisters and
    	starts a new reconnect timer,
    	(afsocket_dd_connected): use afsocket_dd_start_reconnect_timer,
    	(afsocket_dd_start_connect): renamed from afsocket_dd_reconnect,
    	removed explicit timer registration,
    	(afsocket_dd_reconnect): new function, calls _start_connect and
    	registers the reconnect timer if that fails,
    	(afsocket_dd_init): afsocket_dd_reconnect does not return a value now

commit da6693cef16b2c027d327e593aa185e987936a98
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:08:35 2007 +0200

    increased listener source priorities
    
    	* src/syslog-ng.h (LOG_PRIORITY_LISTEN): increased priority to match
    	LOG_PRIORITY_READER as otherwise a continous input flow can starve
    	accept()

commit b2bd3a54f50b36bcbf057b3c49c3f3384dd7eb81
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:08:32 2007 +0200

    set the pipe for program destinations to nonlbocking mode
    
    	* src/afprog.c (afprogram_dd_init): set the pipe fd to nonblocking
    	mode to avoid a possible hang

commit 042dbb5b89bc9404e3be3c66e0bf92af4870eae1
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:08:29 2007 +0200

    implemented the missing remove_if_older optio
    
    	* src/affile.c (affile_dw_init): check if the file exists and is
    	older than the value for remove_if_older, if it is unlink it,
    	(affile_dd_set_remove_if_older): new function to set remove_if_older
    	value,
    
    	* src/cfg-grammar.y (dest_affile_option): added KW_REMOVE_IF_OLDER rule
    
    	* src/cfg-lex.l: added keyword for KW_REMOVE_IF_OLDER

commit ca9515e44bf68a709a8e21ca789f061a1b0f2158
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:08:26 2007 +0200

    preparations for 2.0.0

commit 951be690d70c68364a6f25474e6fd657ba667468
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:08:23 2007 +0200

    fixed process restarting and some other minor fixes
    
    	* src/afprog.c (afprogram_dd_exit): check that the current pid is
    	equal to the process that was exited, as the EPIPE handling code
    	might have already done our job,
    	(afprogram_dd_init): don't leave the read side of the pipe twice
    	with the process, removed a call to g_fd_set_cloexec() as it's not
    	needed and was too late anyway, should've been before fork,
    
    	* src/gsockaddr.c (g_sockaddr_unix_format): the kernel sometimes
    	returns only an address family for unix socket names, and we printed
    	a lot of garbage instead of "anonymous" in this case
    
    	* src/logwriter.c (log_writer_broken): move log_pipe_deinit() before
    	log_pipe_notify(), this was changed in rc3 with a changelog that it
    	should not matter, however it does matter :P as it might have left
    	the writer in an unpolled state

commit a5ad384024fa24203713d0e78e09abd1e71df145
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:08:12 2007 +0200

    integrated solaris build scripts from dev-folti (fixes: #10358)
    
    Patches applied:
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--base-0
       tag of devel@balabit.hu--other-1/syslog-ng--mainline--2.0--patch-87
    
     * devel@balabit.hu--other-1/syslog-ng--dev-folti--2.0--patch-1
       Added support for solaris 8/9 and rhel 3/4 packaging. (fixes: #10358)

commit 9b68bc5cae141add7cf2b124f3d394cf5a9fa856
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:07:55 2007 +0200

    fixed some compilation warnings under gcc4
    
    	* src/affile.c (affile_dd_init): added some casts to suppress some
    	warnings
    
    	* src/gsockaddr.c (g_accept): use socklen_t instead of int as a
    	second argument to accept

commit 34ce56620d0afcba122370ea0465a7b3ce3f13dd
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:07:52 2007 +0200

    documentation updates merged from the tech-writer team
    
    Patches applied:
    
     * devel@balabit.hu--other-1/syslog-ng--documentation--2.0--patch-1
       Updated reference guide, still needs work, see FIXMEs
    
     * devel@balabit.hu--other-1/syslog-ng--documentation--2.0--patch-2
       Updates and fixes from Bazsi

commit 8209550d567870d243da92307528287958b7cffd
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:07:49 2007 +0200

    updated VERSION number

commit b65ab131fcfd720f2e4ce69c024166b8f960ff65
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:07:46 2007 +0200

    preparations for 2.0rc4

commit 54e9315754c452b30a0a574f928ad4c854e1d105
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:07:44 2007 +0200

    fixed possible NULL deref on destination connection broken, fixed EOF detectio
    
    2006-10-21  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logwriter.c (log_writer_fd_prepare): when EOF detection is
    	enabled specify G_IO_IN and G_IO_HUP in addition to normal flags,
    	(log_writer_fd_dispatch): input on the destination fd is taken as EOF,
    
    	(log_writer_broken): _deinit is moved after the call to notify,
    	should not matter at all however the reference counting depends o
    	the fact that log_pipe_notify() will not be called after _deinit
    	finishes, in this specific case it would not really matter,
    	(log_writer_deinit): remove unref of self->control,
    	(log_writer_new): self->control is a borrowed reference, don't
    	increase refcount

commit 009401cd1acb83c459c0e1893590250a30119b5c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:07:24 2007 +0200

    added syslog-multicast client to contrib

commit 29bcd9f22829e40a26f47610fe505a0ceffab2dd
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:07:03 2007 +0200

    preparations for 2.0rc3

commit 3c6e92274af21d8eb6621349b5eb7572de4e360d
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:59 2007 +0200

    fixed a possible SEGFAULT caused by one of the leak fixes, when output templates() are used
    
    2006-09-14  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logwriter.c (log_writer_options_init): save options->template
    	before calling log_writer_options_destroy and restore it afterwards
    	as that is never initialized based on the configuratio

commit eef2f144e47c25370c7c71770a57c6872a5263e7
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:55 2007 +0200

    NEWS update

commit a6eac5185e09cb1f763b3140f0fee6aa460559fe
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:52 2007 +0200

    preparations for 2.0rc2 release

commit b61e0d46672bf41407172f20e2d0aca77835aee3
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:48 2007 +0200

    fixed name resolution for unix domain socket peers
    
    2006-09-11  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/misc.c (resolve_hostname): for UNIX domain socket peers don't
    	try to resolve the sender address, fixes a possible abort,
    	introduced by patch-76

commit 4adcea2b0844ffe1e89936c8452448b4163b9882
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:45 2007 +0200

    added stats counter orphaning to fix "duplicate stats counter message" for program destinations
    
    2006-09-11  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logwriter.c (log_writer_deinit): call stats_orphan_counter,
    	(log_writer_free): removed stats_unregister_counter, fixed a memory
    	leak by freeing all elements in the logwriter queue,
    	(log_writer_options_init): fixed a possible memory leak by freeing
    	the option structure contents before overwriting it with new values,
    
    	* src/main.c (main_loop_run): added stats_cleanup_orphans() call
    
    	* src/stats.c (stats_counter_free): new function,
    	(stats_register_counter): added special case for orphaned counters,
    	save "shared" value in the StatsCounter structure,
    	(stats_orphan_counter): new function, orphanes a counter that ca
    	thus be reused by a new configuration upon the receiption of a HUP signal,
    	(stats_unregister_counter): use stats_counter_free instead of
    	open-coding it,
    	(stats_cleanup_orphans): free all orphaned counters, to be called
    	after a reload

commit f15b08d80fb331abab89d194e21dafb27a72fa8e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:41 2007 +0200

    fixed IPv6 name resolutio
    
    2006-09-11  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/misc.c (resolve_hostname): added IPv6 specific name resolutio

commit c395e96241fc5fdc2f059cefbb2f42db44931216
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:37 2007 +0200

    fixed NL handling in DGRAM transports
    
    2006-09-11  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logreader.c (log_reader_iterate_buf): flush input buffer
    	regardless of embedded NLs in the case of DGRAM transports

commit f1f8a76145faa54248392223d0cabb094c7e20c0
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:33 2007 +0200

    fixed another memory leak that might happen during exit
    
    	* src/messages.c (msg_send_internal_message): don't allocate a
    	LogMessage if internal_msg_queue is NULL as that can't be sent
    	anyway

commit cc9e3e642281681d1516a2e162b861aba8815d4d
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:29 2007 +0200

    various memory leak fixes
    
    	* src/affile.c (affile_dw_deinit): check if self->writer is NULL,
    	(affile_dd_free): call log_writer_options_destroy as
    	LogWriterOptions might contain dynamically allocated memory,
    
    	* src/afprog.c (afprogram_dd_exit): removed log_pipe_unref, it is
    	performed by the children handling framework,
    	(afprogram_dd_init): use the new GDestroyNotify argument of childre
    	manager,
    	(afprogram_dd_free): added log_writer_options_destroy call
    
    	* src/afsocket.c (afsocket_dd_free): added
    	log_writer_options_destroy call
    
    	* src/children.c (ChildEntry): added callback_data_destroy member,
    	(child_manager_child_entry_free): new function, frees a ChildEntry,
    	(child_manager_sigchild): removed g_free, it is done by the
    	GHashTable automatically,
    	(child_manager_init): use g_hash_table_new_full and specify destroy
    	notify callback for the data stored in the hashtable
    
    	* src/logreader.c (log_reader_iterate_buf): assume that saddr is a
    	borrowed reference and handle it as such,
    	(log_reader_fetch_log): iterate_buf borrows the reference so it is
    	our duty to free sockaddr, do so in all branches,
    
    	* src/logwriter.c (log_writer_deinit): drop reference to
    	self->control to break a circular reference,
    	(log_writer_free): removed log_pipe_unref self->control,
    
    	* src/messages.c (msg_send_internal_message): check if
    	internal_msg_queue is null,
    	(msg_deinit): free internal_msg_queue

commit 420db97e1db928229a690e9f808caf369fb12e8c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:25 2007 +0200

    Fixed possible DoS when a 0 sized packet is received via UDP
    
    	* src/logreader.c (log_reader_fetch_log): don't take 0 sized packets
    	as EOF for packet based transports like UDP
    
    	* src/afsocket.c (afsocket_sc_notify): don't close the input
    	connection on read errors for non-stream based transports

commit 7ac1fd1174671b83ff92e0c5ad7aa3818128d080
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:22 2007 +0200

    fixed facility filter evaluation problem on platforms with unsigned chars (powerpc)
    
    	* src/filter.c (filter_facility_eval): Fixed filter evaluation o
    	platforms which have unsigned character type by default (powerpc)

commit bccdfaf2e7ec0ec942a35813abb2c543c15bdbfa
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:18 2007 +0200

    added clarification of the output format of program()

commit 5d929e60b06c290000d399721f822e655c457721
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:15 2007 +0200

    NEWS update

commit a05a7cce17c70054c1a0d6f17f73fc1270b32f01
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:11 2007 +0200

    preparations for 2.0rc1 release

commit 944338ec57c607c9bc4bca42c190117b01d1ae3e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:08 2007 +0200

    fixed unix domain destination handling
    
    	* src/afunix.c (afunix_dd_new): initialize bind_addr as the afsocket
    	code assumes that it is not NULL, fixes a possible SIGSEGV

commit 927a27ed0fc114fe3e05f9dc4ce01c310c77eff9
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:05 2007 +0200

    fixed dir_group processing
    
    	* src/affile.c (affile_dd_new): dir_gid was not initialized because
    	of a typo, thus dir_group() did not take effect, fixed

commit 07e54e3f8e309e099a71c519f04c71ccb0f095b7
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:06:01 2007 +0200

    bumped version to 2.0rc1

commit 6f74563eeb36d3e98bf9b70aa84b6b38ad76e3e5
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:55 2007 +0200

    documentation updates, flush_timeout changed to use msecs
    
    	* doc/reference/syslog-ng.xml: documentation updates
    
    	* src/logwriter.c (log_writer_fd_prepare): assume that the
    	flush_timeout parameter is in msecs
    
    	* src/cfg.c (cfg_init): use 10000 as default for flush_timeout()

commit f54c0e1280af66cb691909d4448a27e8aa76cfc7
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:50 2007 +0200

    support optional() for file destinations, optional destinations are only reopened after time_reopen() time has elapsed
    
    	* src/affile.c (AFFileDestWriter): added time_reopen and
    	last_open_stamp members,
    	(affile_dw_init): store the time_reopen value from cfg, save the
    	current time in last_open_stamp, don't fail the initialization if
    	optional is enabled,
    	(affile_dw_queue): reopen the destination if time_reopen() time has
    	elapsed, drop the message if we are without a destination,
    
    	* src/cfg-grammar.y (dest_affile_options): added KW_OPTIONAL parsing

commit 7b3a9152772fd618d46950260f04ba4d6074db63
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:45 2007 +0200

    fixed evaluation of priority range filters
    
    	* src/syslog-names.c (syslog_name_find_name): new inline functio
    	used by various lookup functions,
    	(syslog_name_lookup_id_by_name): renamed from syslog_lookup_name,
    	(syslog_name_lookup_name_by_value): renamed from syslog_lookup_value,
    	(syslog_name_lookup_value_by_name): new function,
    	(syslog_make_range): renamed parameters to make the code more readable
    
    	* src/syslog-names.h (syslog_name_lookup_level_by_name): changed to
    	return the _VALUE_ for syslog message levels,
    	(syslog_name_lookup_facility_by_name): follow name changes
    
    	* src/cfg-grammar.y: use the new, more readable function names i
    	syslog-names.c
    
    	* src/filter.c (filter_level_eval): we store a bitmask of the value
    	of priorities instead of our internal ids, thus the function body
    	was simplified a lot (and it works now :)
    
    	* src/macros.c (log_macro_expand): follow function renames
    
    	* tests/unit/test_filters.c: added level range tests

commit 7adba5df5b209a642c8ea995107b99b241775d82
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:41 2007 +0200

    portability fixes
    
    	* configure.in: detect AIX and HP-UX using uname -s, instead of
    	trying to extract platform information from the linker's versio
    	number (proved not to be reliable on HP-UX)
    
    	* src/misc.c (getlonghostname, getshorthostname): use 256 characters
    	array to store hostnames
    
    	* src/sgroup.c (log_source_group_queue): -"-

commit 8e4b664578296f509e49e49ee7f387368ceca18c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:37 2007 +0200

    fixed pointer conversion macros on 64 bit platforms
    
    	* src/macros.c (log_macro_lookup): use GINT_TO_POINTER and
    	GPOINTER_TO_INT macros instead of casting values directly to avoid
    	warnings on 64 bit systems

commit 707f5e07ab94bffc9dd8c9b8c172058d62e0f1a2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:33 2007 +0200

    do not reconnect to target immediately but wait for time_reopen first
    
    	* src/afsocket.c (afsocket_dd_notify): instead of immediately
    	scheduling a reconnect, start the reconnect timer to avoid excessive
    	number of reconnection requests in case of a going up-and-dow
    	connectio

commit 0ab7910ad03bbf1b31d1670eb0b2fe07a697df60
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:29 2007 +0200

    fixed IPv6 portability problem
    
    	* src/afinet.c (afinet_setup_socket): use the "official"
    	IPV6_JOIN_GROUP name instead of IPV6_ADD_MEMBERSHIP as the latter is
    	not defined on all platforms

commit 46c46070f72a4a70ffac94209aa74895ebb0ccae
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:24 2007 +0200

    fixed HP-UX portability problem
    
    	* src/afinet.c (afinet_setup_socket): fixed IN6_IS_ADDR_MULTICAST
    	call as struct in6_addr definition differs on HP-UX (thanks go to
    	Albert Chin)

commit 52255cd7027c14270c6723f9e913d8052abd58c8
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:05:19 2007 +0200

    removed C99ism from stats.c
    
    	* src/stats.c (stats_generate_log): remove C99 initializers from the
    	initialization of tag_names to make syslog-ng compatible with vendor
    	compilers of various commercial UNIX platforms

commit 28292e7384897fb25a68390b25dfc4ffa44f5a27
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:59 2007 +0200

    compatibility fixes for Solaris/AIX
    
    2006-05-26  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afinet.c: define SOL_IP and SOL_IPV6 on platforms which use
    	IPPROTO_* for this purpose, added the inclusion of <string.h> for
    	the definition of memset()

commit 997c8bea79a48094d118c0f541b99c3e82e84bae
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:54 2007 +0200

    added LEVEL_NUM and FACILITY_NUM macros to follow 1.6.x changes
    
    	* src/macros.c (log_macro_expand): added code for LEVEL_NUM and
    	FACILITY_NUM macros
    
    	* tests/test_template.c: added testcase for LEVEL_NUM and
    	FACILITY_NUM macros

commit b2b2cf848972839507e6bbcab34a49b9c73af719
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:50 2007 +0200

    guard LOG_CRON with ifdef as it might not exist on some platforms
    
    	* src/syslog-names.c (sl_facilities): some platforms do not define
    	LOG_CRON

commit 0d55d7ea44e090d87bac7823bc3a63fa406b7dbe
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:41 2007 +0200

    preparations for 1.9.11

commit 7fc980fe4e861fa257513de5f08e11b8033a2097
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:37 2007 +0200

    fixed dropping input/output/error fds when going to background
    
    2006-05-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/main.c (setup_std_fds): fix inverted check for errors after
    	opening /dev/null, also close stderr when log_to_stderr is not
    	specified
    
    	* src/afprog.c (afprogram_dd_init): removed setsid call

commit b24f6be0a3c4d170648c388faf365f3f0c71bafc
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:33 2007 +0200

    add program exit status information to 'child program exited' log message
    
    2006-05-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afprog.c (afprogram_dd_exit): added program exit status
    	information to 'child program exited' log message

commit 24578ac50f32e0faaf96ac2ed0d282a6cca97680
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:29 2007 +0200

    added direction to socket setup code, fixed multicast setup
    
    2006-05-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.h (AFSocketDirection): new type, specifies the future
    	communication direction on a socket, used to determine which socket
    	options to set on a socket,
    
    	* src/afsocket.c (afsocket_setup_socket): added direction parameter,
    	(afsocket_sd_setup_socket, afsocket_dd_setup_socket): pass value for
    	'direction' parameter
    
    	* src/afinet.c (afinet_setup_socket): added direction parameter,
    	fixed multicast check for IPv4 addresses

commit 40f7c6a247862166c6b9421d958ca32b4b8e7e3c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:25 2007 +0200

    check that the value for time_sleep is less than 500msec
    
    2006-05-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-grammar.y (options_item, KW_TIME_SLEEP): check if the
    	value is more than 500, and maximize its value in this case
    
    	* src/main.c (main_loop_run): calculate timespec properly if
    	time_sleep is more than 1 sec

commit 48acaa5b7b6368657e74778d1b28676831b38ee9
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:20 2007 +0200

    added options to control various socket parameters and added multicast support
    
    	* src/gsockaddr.h (g_sockaddr_inet6_get_address,
    	g_sockaddr_inet6_set_address): use pointers to struct in6_addr
    	instead of passing the structure by value
    
    	* src/afsocket.c (afsocket_setup_socket): new function, set generic
    	socket options,
    	(afsocket_sd_accept): call setup_socket for new fds,
    	(afsocket_sd_init): -"-,
    	(afsocket_dd_reconnect): -"-,
    	(afsocket_sd_setup_socket): new function, default setup_socket callback,
    	(afsocket_sd_init_instance): added sock_options argument, set
    	default setup_socket callback,
    	(afsocket_dd_init_instance): added sock_options argument, set
    	default setup_socket callback,
    
    	* src/afsocket.h (AFSocketSourceDriver): added setup_socket callback,
    	(AFSocketDestDriver): added setup_socket callback,
    
    	* src/afinet.c (afinet_resolve_name): follow g_sockaddr_inet6_set_address change,
    	(afinet_setup_socket): new function to set AF_INET & AF_INET6
    	specific socket options,
    	(afinet_sd_setup_socket): new function, used as the setup_socket callback,
    	(afinet_dd_setup_socket): new function, used as the setup_socket callback,
    
    	* src/afunix.c (afunix_sd_new, afunix_dd_new): adapted to afsocket changes,
    
    	* src/cfg-grammar.y (socket_option, inet_socket_option): added
    	socket option parsing
    
    	* src/cfg-lex.l: added new keywords for socket options

commit 19e92a0d2991851594ec363fbde0c43581c4bbfc
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:15 2007 +0200

    fixed Solaris portability problems, avoid multiread on STREAMS sources
    
    	* configure.in: check for -lrt for nanosleep
    
    	* src/afstreams.c (afstreams_sd_init): pass LR_NOMREAD flag to
    	log_reader_new()

commit e3468c38c309e2bd19710c07d0a95a307b780823
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:09 2007 +0200

    fixed fetching kernel messages which was broken by the multi-read patches
    
    	* src/logreader.h (LR_NOMREAD): new flag, indicates that the log
    	reader should not use multiple read() calls in a single poll loop
    
    	* src/logreader.c (log_reader_fetch_log): break out of the loop if
    	LR_NOMREAD is specified
    
    	* src/affile.c (affile_sd_init): specify LR_NOMREAD

commit 4cebafe98afba7e1e8882004c048f11f87aba744
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:05 2007 +0200

    fixed endless-loop and CPU spinning if a non-existing filter is referenced in the internal() path
    
    	* src/filter.c (filter_call_eval): only log the "not-found filter"
    	error message once

commit 50be8c899953366c9024effb4b4ef06562e1536d
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:04:01 2007 +0200

    fixed possible memory leak
    
    	* src/logreader.c (log_reader_iterate_buf): drop self->prev_addr
    	reference if it exists, previously it might have been overwritte
    	with a new reference without dropping the old, fixes a potential
    	GSockAddr reference leak

commit 1f503817bc734221663f7cc3bcf29a3695bb7469
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:55 2007 +0200

    added IPv6 support
    
    	* configure.in: added --enable-ipv6 option, defaults to "yes",
    	added checks for getaddrinfo()
    
    	* src/afinet.c (afinet_set_port): added ipv6 support,
    	(afinet_resolve_name): renamed from afinet_set_ip, use getaddrinfo()
    	to resolve names where available,
    	(afinet_sd_new): added af argument, use afinet_resolve_name instead
    	of the removed g_sockaddr_inet_new_resolve() function, use a default
    	"bind address" value if the host argument is NULL,
    	(afinet_dd_new): added af argument, use afinet_resolve_name instead
    	of the removed g_sockaddr_inet_new_resolve() functio
    
    	* src/cfg-grammar.y: added KW_UDP6 and KW_TCP6 keywords,
    	(source_afsocket, dest_afsocket): added rules for KW_UDP6 & KW_TCP6,
    	(dest_afinet_udp_params, dest_afinet_tcp_params): added ipv6
    	support, adapted to the latest changes in afinet
    	(source_afinet_udp_params, source_afinet_tcp_params): -"-
    
    	* src/cfg-lex.l: added "udp6" and "tcp6" keywords
    
    	* src/gsockaddr.c (g_sockaddr_inet_new_resolve): removed this
    	function as it is an address family independent operation now
    	implemented in afinet.c,
    	(g_sockaddr_inet6_check): new function to check whether a GSockAddr
    	contains an ipv6 socket name,
    
    	* src/gsockaddr.h (g_sockaddr_get_sa, g_sockaddr_inet_get_sa,
    	g_sockaddr_inet_get_address, g_sockaddr_inet_set_address,
    	g_sockaddr_inet_get_port, g_sockaddr_inet_set_port): new inline
    	functions, ported from the Zorp sockaddr code,
    	(g_sockaddr_inet6_get_sa, g_sockaddr_inet6_get_address,
    	g_sockaddr_inet6_set_address, g_sockaddr_inet6_get_port,
    	g_sockaddr_inet6_set_port): new functions, similar to IPv6 counterparts

commit 8e0f3901d1218c8cd06aadd434f27fb26794ed58
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:49 2007 +0200

    fixed off-by-one in flush_lines() calculatio
    
    	* src/logwriter.c (log_writer_fd_prepare): flush_lines(1) required
    	two lines to be flushed, modified the condition so that:
    	flush_lines(0) that output buffering is off, flush_lines(1) is
    	basically equivalent, every single individual line is flushed,
    	flush_lines(2) flushes the output buffer if two lines are already
    	available

commit aa1fc46f9ac36fbae11e0cd331470a6509b48d4e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:44 2007 +0200

    added close-on-exec flag to all opened fds to avoid their inheritance to child processes
    
    	* src/af*.c: call g_fd_set_cloexec for all new fds
    
    	* src/misc.c (g_fd_set_cloexec): new function, sets FD_CLOEXEC flag
    	for an fd

commit 3b71308093695dd11a4a22b997a7d0dc3390d30e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:40 2007 +0200

    change file owner/group independently
    
    	* src/affile.c (affile_open_file): change owner/group independently

commit bfa8c13915450fe52161632e0194109c8f965fd2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:34 2007 +0200

    don't try to chmod/chown files that do not exist
    
    	* src/affile.c (affile_open_file): don't call chmod/chown whe
    	opening the file failed

commit 2b1848c738098752e4be1c46301da728fa6eb252
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:22 2007 +0200

    fixed a compilation warning

commit 37f1f01db9bb9a623d3925235a7cce2c7055dae4
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:17 2007 +0200

    preparations for 1.9.10, this time for real

commit bde8466597bf8a32ed25f1bb206b0a9c0ad3df1f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:12 2007 +0200

    display an error message instead of a failed assertion when the user specifies conflicting sources
    
    	* src/cfg.c (persist_config_add): don't store the value if it is
    	NULL, display an error message instead of a failed assertion if
    	the persistent name conflicts

commit eb412d509b2666af960d5d4625ca66bfd36f9a1e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:05 2007 +0200

    don't treat parse flags as keywords
    
    	* src/cfg-grammar.y: removed KW_NO_PARSE and KW_KERNEL tokens,
    	(source_reader_option_flags): use IDENTIFIER instead of using
    	separate keywords and call lookup_parse_flag to convert the textual
    	representation of parse flags to flag values,
    
    	* src/cfg-lex.l (keywords): removed no_parse and kernel keywords,
    	(lookup_parse_flag): new function, returns the flag value associated
    	with the text representatio
    
    	* src/cfg.c (cfg_init): fixed possible segfault when bad_hostname
    	regexp was not specified

commit d7acc4b6a4f1bf46c24422f2b97fab36a9465824
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:03:00 2007 +0200

    implemented bad_hostname and check_hostname options
    
    	* src/cfg-grammar.y: added KW_BAD_HOSTNAME and KW_CHECK_HOSTNAME tokens
    
    	* src/cfg-lex.l: added keywords for KW_BAD_HOSTNAME and KW_CHECK_HOSTNAME
    
    	* src/cfg.c (cfg_bad_hostname_set): new function, set global bad_hostname regexp,
    	(cfg_init): compile bad_hostname_re
    
    	* src/log.c (log_msg_parse): added bad_hostname regexp param, and a
    	implementation of check_hostname() and bad_hostname(),
    	(log_msg_init): avoid a time(NULL) call,
    	(log_msg_new): added bad_hostname parameter,
    	(log_reader_options_init): set options->options and
    	options->bad_hostname based on the values stored in GlobalConfig
    
    	* tests/unit/test_msgparse.c: added testcases for check_hostname()
    	and bad_hostname()
    
    	* src/*.c, src/*.h: followed changes

commit 518869d0ed238825f1b6e42d29636183f141595b
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:55 2007 +0200

    fixed timestamp calculation on timezone barriers
    
    	* src/logmsg.c (log_msg_parse): fixed timestamp calculation where a
    	timezone information was specified, see the comment for details,
    
    	* tests/unit/test_msgparse.c: added some more testcases with
    	timestamps around the DST switch
    
    	* tests/unit/test_template.c: fixed the timezone offset of the
    	arbitrary timestamp chosen in the testcases

commit 104862e44681b5ef7b07e679516ce35cc7452bda
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:51 2007 +0200

    accept negative numbers as NUMBER in the lexer
    
    2006-04-07  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-lex.l: accept negative numbers in the lexer

commit 0f4fd473efe4ef362a97f98e3923f7d50074d12f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:46 2007 +0200

    added a paragraph to the documentation clarifying pipe and /proc/kmsg

commit 8b294168d77d0eb3e18b4ee8144dcee1a148bb61
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:42 2007 +0200

    updated NEWS file, preparations for 1.9.10
    
    	* VERSION: bumped version to 1.9.10

commit 0b7b24c1485545a446951443e1b10dfe8c32c05e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:38 2007 +0200

    fixed large file support
    
    	* configure.in: check for O_LARGEFILE
    
    	* src/affile.c: use O_LARGEFILE when available

commit d4374c762d7ee08d67581cb4faa322c990baacf6
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:33 2007 +0200

    fixed priority level filtering
    
    	* src/cfg-grammar.y (filter_level): fixed priority level based
    	filtering, spotted and reported by Jakub Bogusz

commit 17b92119512444ae06b21b3d50020ecd4b2402e3
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:29 2007 +0200

    fixed a possible segmentation fault on write errors
    
    	* src/logwriter.c (log_writer_flush_log): return from the functio
    	on error instead of looping with line == NULL, this fixes a possible
    	SIGSEGV, when some messages sit in the queue while the destinatio
    	goes away

commit b44a6df851a100efcfc567dbfb235acaac8f5068
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:24 2007 +0200

    reimplemented netmask() filter which was missing from 1.9.9
    
    	* src/cfg-grammar.y, src/cfg-lex.l: added KW_NETMASK
    
    	* src/filter.c (filter_netmask_new): new function to construct a
    	netmask filter, cidr "address/prefix" and "address/address" formats
    	are accepted
    
    	* src/logmsg.h: fixed a warning by declaring log_msg_clear_matches functio
    
    	* doc/reference/syslog-ng.xml: added a notice on redefining
    	template() for network destinations
    
    	* tests/unit/test_filter.c: added unit tests for netmask filter

commit 0dea1df22244995edf4ceac6036dea4097b1f0fe
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:19 2007 +0200

    fixed regexp match space macro expansion
    
    	* src/filter.c (filter_re_eval): added msg parameter, instead of
    	using the re_matches array, use a per-message store
    
    	* src/logmsg.h (LogMessage): added re_matches
    
    	* src/macros.c (log_macro_expand): use per-message re_matches array

commit e80452ad2a450d1f78b735dffb9c537903ee541a
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:04 2007 +0200

    fail the testprogram if the pidfile could not be found

commit 482528c2c1c540266db7d069fd46dcaaf36e55dd
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:02:00 2007 +0200

    stats_freq is only taken into account if the value is larger than 0
    
    	* src/main.c (main_loop_run): take changed stats_freq into account
    	after a SIGHUP, stats_freq == 0 means to disable stats messages
    	altogether

commit a4d63bf4913b1ef4d8bef39e0f72dd18546a0027
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:01:54 2007 +0200

    added %option noyywrap to cfg-lex.l
    
    	* src/cfg-lex.l: added %option noyywrap to cfg-lex.l

commit d11e78759cd19d04469e09b8bf81ea397a50d995
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:01:50 2007 +0200

    fixed possible abort in program destination
    
    	* src/afprog.c (afprogram_dd_deinit): don't drop the reference to
    	self->writer, only deinit it,
    	(afprogram_dd_free): drop the reference to self->writer,
    
    	* src/main.c (main_loop_run): change the loop so that it actually
    	processes exited childre

commit 8e68dc99c809cc6894a3100878232252babecc7b
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:01:40 2007 +0200

    really release 1.9.9

commit 7fb9843b6d6ac2151fa14ad554c1cbfc0736894e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:01:34 2007 +0200

    fixed a possible heap overflow introduced by the patches from 2006-02-24
    
    	* src/logreader.c (log_reader_fetch_log): recalculate the available
    	buffer size before calling read() again, this is a possible heap
    	overflow which was introduced by
    	devel@balabit.hu--other-1/syslog-ng--mainline--2.0--patch-14
    	ChangeLog is in patch-15, this was never released however

commit 00ed97e645a52de05c2eb11f4c0e818332792347
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:01:26 2007 +0200

    preparations for an 1.9.9 release

commit 4ce788c5b6a5342a90d6905d7819be9cc7f2e036
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:01:21 2007 +0200

    added time_sleep() option to add a fixed latency to the poll loop
    
    	* src/cfg-grammar.y: added KW_TIME_SLEEP processing
    
    	* src/cfg-lex.l: added keyword for KW_TIME_SLEEP
    
    	* src/main.c: wait using nanosleep if time_sleep() is set
    
    	* doc/reference/syslog-ng.xml: added documentation on time_sleep and
    	a section in the tuning part to explain it a little further

commit 57ce551cbe48be50575a75f6933696ea25b5907a
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:01:16 2007 +0200

    added missing ChangeLog from previous patchset
    
    	* src/fdread.c (fd_do_read): added retrying on EINTR
    
    	* src/logreader.c (log_reader_iterate_buf): added msg_count argument
    	instead of the local variable as log_reader_iterate_buf might be
    	called multiple times and we do not want to fetch more tha
    	fetch_limit() messages in total,
    	(log_reader_fetch_log): added loop to iterate over up to fetch_limit
    	messages without going back to the mainloop

commit b59f3a22b290abb92048ab882716157dee06c341
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:00:43 2007 +0200

    added reference/syslog-ng.txt to EXTRA_DIST

commit 635ba5f99bfe95d3a3f5f42d9817ed567dfec5f7
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:00:32 2007 +0200

    added syslog-ng.txt generation to Makefile

commit e7e072950ef817b707c093b4f30233850790f171
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:00:19 2007 +0200

    fixed second fraction processing so that it actually shows up in output
    
    	* src/afsocket.h: removed AFSOCKET_PROTO_RFC3164, it might be
    	readded later when multiple protocols will be added, but for now it
    	only clutters the code
    
    	* src/cfg-grammar.y (KW_TIMESTAMP): moved keep_timestamp processing
    	to the readers, logwriters always reformat the timestamp based o
    	the parsed value, keep_timestamp(no) overwrites the timestamp in the
    	message with the received time,
    	(KW_FRAC_DIGITS): added a way to specify second fraction precision,
    	it now defaults to zero, e.g. no fraction information is added,
    
    	* src/logmsg.c (log_stamp_format): added support for unix and full
    	timestamps, added frac_digits argument
    	(LogStamp): removed frac_present member, if the user requests second
    	fragments one is always generated, if this information is not
    	available 0 is assumed
    
    	* src/cfg.c (cfg_ts_format_value): added support for unix and full
    	timestamps,
    	(cfg_new): frac_digits is initialized to 0, keep_timestamp to TRUE
    
    	* src/logreader.c (log_reader_handle_line): overwrite the message
    	timestamp if keep_timestamp if FALSE,
    	(log_reader_options_init): use the global keep_timestamp setting is
    	one is not specified
    
    	* src/logwriter.c (log_writer_format_log): always regenerate the
    	timestamp if no template was specified, as there's no point in using
    	the original date in the message as it clutters logs and might
    	confuse receivers,
    	(LWOF_FIXED_STAMP): removed, this is the default behaviour which ca
    	be overridden by using templates
    
    	* src/macros.c (log_macro_expand): use log_stamp_format for all
    	date/time formatting instead of open-coding them,
    	DATE uses the BSD timestamp, regardless of the value of ts_format
    
    	* src/test_template.c: fixed testprogram

commit cdd0a197bb625e52f3b90e42b3f234c13d1bd916
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:00:06 2007 +0200

    readded HOST_FROM, FULLHOST_FROM, SOURCEIP macros, extended unit test program
    
    	* src/gsockaddr.c (g_sockaddr_inet_check): new function, returns
    	TRUE if the specified address is GSockAddrInet
    
    	* src/logmsg.c (log_msg_parse): fixed timezone parsing in ISODATE
    	timestamps,
    	(log_msg_init): added host_from member,
    	(log_msg_free): free host_from
    
    	* src/macros.c (log_macro_expand): added FULLHOST_FROM, HOST_FROM,
    	SOURCEIP implementation, fixed DATE macros
    
    	* src/misc.c (resolve_hostname): instead of returning a newly
    	allocated GString, store the result in the one passed as parameter
    
    	* src/sgroup.c (log_source_group_queue): set host_from member in log message
    
    	* tests/unit/test_msgparse.c: fixed offset/timestamp value
    
    	* tests/unit/test_template.c: greatly extended to cover all possible
    	macros, resulting fixes are above :)

commit 38a3489816cdbb85602591284694452d6decd0e9
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 02:00:00 2007 +0200

    fixed possible segmentation fault on SIGHUP
    
    	* src/afsocket.c (afsocket_sc_set_owner): new function, changes all
    	references to a new AFSocketSourceDriver (this happens accross
    	SIGHUPs),
    	(afsocket_sd_set_listener_keep_alive): removed, there's no separate
    	LISTENER_KEEP_ALIVE setting,
    	(afsocket_sd_init): instead of simply changing the next-hop log-pipe
    	of connections call afsocket_sc_set_owner which changes less
    	explicit references
    
    	* src/cfg-grammar.y (yyparser_reset): new function, resets all
            'last_' variables as they are not referenced and might contai
            pointers to stale data
    
    	* src/logpipe.c (log_pipe_free_instance): function body moved to
    	log_pipe_unref to clear some clutter in backtraces and both
    	functions are only a couple of lines anyway
    
    	* src/logreader.c (log_reader_set_options): new function, allows the
    	caller to change the pointer to the options structure

commit 6fa49888a50c3db9085a9cf26a66a19595e3f577
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:53 2007 +0200

    memtrace improvements
    
    	* src/memtrace.c: added backtrace to add/delblock messages

commit cb4cdb2a7d893ba99016401d73b14bb8e1d64853
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:49 2007 +0200

    added some more unit testcases for filter testing

commit d0d13232912df37a2e20fdc4724b1b4d57913bde
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:44 2007 +0200

    added "kernel" flag to log reader flags
    
    2006-02-11  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-lex.l, src/cfg-grammar.y: added "kernel" keyword
    
    	* src/logmsg.c (log_msg_parse): default to kern.crit for kernel
    	messages
    
    	* src/macros.c: fixed PRI macro as it included the hostname as well

commit d71d9a2df3b7cfd25bb63cdf963096f2510662f2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:39 2007 +0200

    added PID macro and its documentation
    
    	* src/macros.c (log_expand_macro): added support for PID

commit 174f9e3c7429ab310d6fbbc8370ae37ae68c7665
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:33 2007 +0200

    added normalize_hostnames() option (fixes: #6294)
    
    2006-02-11  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-lex.l, src/cfg-grammar.y: added normalize_hostnames
    	optio
    
    	* src/sgroup.c: implement normalize_hostnames
    
    	* src/logmsg.c (log_msg_parse): removed STRICT check from RFC3339
    	timestamp parsing
    
    	* doc/reference/syslog-ng.xml: updated

commit 86a898f0049a8209a58e5092bb826a73eed37cf4
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:28 2007 +0200

    Added processed counters for source/destination groups and the log center (fixes: #5368)
    
    	* src/affile.c (affile_dd_format_stats_name): readded this functio
    	to generate a unique stats ID for the specific destination driver
    	instance,
    	(affile_dd_init): use NO_STATS for files only,
    
    	* src/center.c (log_center_init): added received/queued counters,
    	(log_center_queue): increment counters
    
    	* src/sgroup.c, src/dgroup.c: added processed counters
    
    	* src/stats.c, src/stats.h: added SC_TYPE_PROCESSED, make sure that
    	counters are interpreted in their proper namespace,
    	(stats_unregister_counter): added missing "type" argument

commit 14518063ff65e4885e34d9bf5e3de76536f9f7db
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:22 2007 +0200

    added optional() parameter to pipe/unix drivers (fixes: #4999)
    
    	* src/driver.h: added optional member (fixes: #4999)
    
    	* src/cfg-lex.l: added optional keyword (fixes: #4999)
    
    	* src/cfg-grammar.y: added optional keyword to pipe and unix domai
    	socket based source drivers (fixes: #4999)
    
    	* src/afsocket.c (afsocket_sd_init): do not fail if binding failed
    	and optional is TRUE (fixes: #4999)
    
    	* src/affile.c (affile_sd_init): do not fail if opening failed and
    	optional is TRUE (fixes: #4999)

commit b2525610aae7c7c2159cab694d17868bae1c77ef
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:15 2007 +0200

    implemented filter debugging (fixes: #3988)
    
    	* src/filter.c (log_filter_rule_eval): new function, previously
    	rule->root was manipulated directly which was not nice, filter rule
    	debugging messages are put here (fixes: #3988),
    	(filter_expr_eval): uninlined, added debugging messages (fixes: #3988),
    	(filter_expr_free): uninlined
    	(*_new): set self->type to be used in log messages properly (fixes: #3988)

commit c27315c9b0025c9c4697d5fcb9e14c988d1b50b9
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:59:05 2007 +0200

    started new ChangeLog
    
    	* tla archives were switched, syslog-ng now uses
    	devel@balabit.hu--other-1, the old ChangeLog file was archived as
    	ChangeLog.1

commit 4b674196545511a0f3132e2829ba622a48e13a4c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:49:36 2007 +0200

    fixed possible 64 bit compatibility problem
    
    	* src/logwriter.c (log_writer_queue, log_writer_flush_log): use
    	GPOINTER_TO_UINT/GUINT_TO_POINTER macros instead of casting the
    	values by hand

commit cfd2edcc203186ba4461b521ff654059ff0a3b3c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:49:32 2007 +0200

    added support for hostname resolution (fixes: #8036)
    
    2006-01-25  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afinet.c: support an optional self->dest_addr
    
    	* src/afsocket.c (afsocket_dd_init): fail if self->dest_addr is NULL,
    	(afsocket_sd_init): fail if self->bind_addr is NULL
    
    	* src/gsockaddr.c (g_sockaddr_inet_new_resolve): new function,
    	resolves a hostname and stores the result in a GSockAddr,

commit 48ac2629a7cdfda4dd89902b54b5438e6ee2f9d7
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:49:06 2007 +0200

    added stats counter sharing and a way to disable stats counter
    
    2006-01-20  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/stats.c (stats_register_counter): added shared parameter to
    	specify that the given counter can be shared
    
    	* src/logwriter.h (LogWriterOptions): added flags member and two
    	flags LWOF_NO_STATS, LWOF_SHARED_STATS
    
    	* src/logwriter.c (log_writer_options_init): converted fixed_stamp
    	parameter to a flag word, the actual value is LWOF_FIXED_STAMP,
    	(log_writer_init): don't register a stats counter if LWOF_NO_STAMP
    	is specified
    
    	* src/af*.c: changed the call of log_writer_options_init()

commit 0d7fb70db247f154c3436d39050591ed234369e4
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:49:04 2007 +0200

    added compatibility option for stats
    
    2006-01-13  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-lex.l: added a "stats" keyword to be compatible with 1.6.x

commit 24bb793cfb275df0bf3c17832a4a1a60c5245340
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:59 2007 +0200

    fixed EOF detected messages for UDP destinations where the target is unreachable
    
    2005-12-31  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_dd_init): don't set LW_DETECT_EOF for UDP
    	destinations
    
    	* src/logwriter.c (log_writer_fd_dispatch): EOF is detected only if
    	G_IO_IN is detected and not for G_IO_ERR as it might be set for UDP
    	destinations when they are unreachable

commit 3cab185e40fa492a013273cd094ec5d4df0ed5b5
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:55 2007 +0200

    perparations for an 1.9.8 release

commit 18940fed98275f63606a851226ffb1a4a323d048
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:54 2007 +0200

    fixed UDP destination driver initialization
    
    2005-12-20  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_dd_connected): only check socket error
    	state for stream sockets as UDP connections succeed immediately,
    	(afsocket_dd_reconnect): if g_connect returns immediate success (UDP
    	connections) set self->fd to sock

commit 5028bb3b12036eaa401e68d63f53798da8867d38
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:45 2007 +0200

    fix time conversion to the specified timezone
    
    2005-12-05  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logmsg.c (log_stamp_format): instead of substracting the
    	timezone offset substract it (credit for reporting goes to Andy),
    
    	* src/macros.c (log_macro_expand): -"-
    
    	* src/logmsg.c (log_msg_parse): time zone specifies can be more tha
    	12 hours, fixed.

commit ad8c87d448ff17ccf986276d77480f2b0a1a948d
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:43 2007 +0200

    include VERSION in the dist

commit 8146b3a80cbf3cf344ede024a5017327933b58d0
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:42 2007 +0200

    fixed MARK support
    
    2005-12-03  Balazs Scheidler <bazsi@balabit.hu>
    
    	* doc/reference/syslog-ng.xml: added some more words on mark_freq()
    	and stats_freq(), actually fixed the documentation as these options
    	were renamed for consistency
    
    	* src/afinter.c: move MARK implementation to here instead of
    	logreader, there's no point in creating MARK messages in the name of
    	all of our sources, we need to generate a single MARK message in our
    	name if there's no traffic
    
    	* src/main.c: removed the use of obsolete GLib functions

commit 297911fb6be3c4e510331c432cc8b8f5d4ef5bf2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:37 2007 +0200

    minor documentation updates, updated NEWS, bumped VERSION to 1.9.7

commit 3987ab6c3bb1c383291d7a99dcdba4147f874451
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:30 2007 +0200

    fixed a possible segmentation fault during HUPs
    
    2005-12-03  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_sc_init): fixed DGRAM socket
    	initialization to actually process incoming data in packets (the
    	LR_PKTTERM flag was missed),
    	(afsocket_sd_deinit): don't free the connection list items whe
    	iterating the list as connections are removed from the list whe
    	they are freed, the loop there only needs to break the circular
    	references

commit a3d374bb67d9be033315ea9345e0a29bdf49524f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:48:21 2007 +0200

    added VERSION file

commit b7287fa66ef424f454370ee9f15d2b3612f1699f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:47:59 2007 +0200

    added debianization files, misc build fixes
    
    2005-12-03  Balazs Scheidler <bazsi@balabit.hu>
    
    	* debian/*: added debianization files
    
    	* configure.in: added VERSION file instead of having the actual
    	VERSION inline, added CURRDATE to make it possible to generate
    	debian/changelog automatically

commit 89646a5f11db10ad1c921cdeba89d5cf3de77559
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:47:30 2007 +0200

    fixed Solaris STREAMS based log device support
    
    2005-11-25  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_dd_format_stats_name): fix compiler
    	warning about uninitialized driver_name, the switch statement
    	covers every possible case
    
    	* src/afstreams.c: fix compilation issues, it now actually compiles
    	and works on Solaris (tested on Solaris 9)

commit a716542cec00fcba9dca34f07551da97751a6f4c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:47:28 2007 +0200

    fixed timezone calculation
    
    2005-11-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/misc (get_local_timezone_ofs): fixed timezone calculation again,
    
    	* tests/unit/test_zone.c: added some missing testcases for timezones
    	over 12 hours (New Zealand)
    
    	* tests/unit/test_filters.c: fixed facility testing as the code was changed

commit 4beacc3fac3060875162c9888c3d8e0d1050b846
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:47:21 2007 +0200

    fixed the detetion of Solaris STREAMS support, fixed segfault when it was not compiled in

commit 8fbd6728c985a56f3324c4f179852e606a393da6
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:47:16 2007 +0200

    fixed log message concatenation in certain cases
    
    2005-11-03  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/templates.c (log_template_format): truncate the string before
    	formatting a log message

commit 6228449912dd42fff81b810e96f5a44463e6e640
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:47:12 2007 +0200

    readded syslog-ng.h as it was missed from the distribution

commit 1533fef767070d25a8a1ec023bb952a908e5a534
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:46:41 2007 +0200

    stats.c & stats.h were not commited in the previous patch

commit 7fe8a755dec2f67723e9d049ec9344ceb6214224
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:46:23 2007 +0200

    added per-destination dropped counters and some bugfixes
    
    2005-10-22  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/stats.{c,h}: new files, a simple framework for named
    	statistical counters, currently only used for per-destinatio
    	dropped counters
    
    	* src/message.c, src/messages.h (msg_event): the function was split
    	to msg_event_create and msg_event_send functions and macros were
    	changed accordingly, the reason is that the STATS message uses
    	dynamic message tags
    
    	* src/main.c (stats_timer): new function to issue statistics message
    	using the stats framework
    
    	* src/logwriter.h (LogWriterOptions): added stats_name member
    	which is used when registering the dropped counters,
    	(LogWriter): added dropped_messages member to point to our private
    	dropped counter
    
    	* src/logwriter.c (log_writer_init): register dropped counter,
    	(log_writer_free): deregister dropped counter,
    	(log_writer_options_init): store the name of the dropped counter,
    	added a warning message for the flush_lines > fifo_size case as this
    	will not work,
    	(log_writer_flush_log): call log_writer_broken when an error occurs,
    	(log_writer_broken): changed argument list to be usable from
    	log_writer_flush_log, log message moved out of the function as it
    	might be called from different places,
    	(log_writer_queue): increment dropped counter,
    	(log_writer_fd_prepare, log_writer_fd_check): fixed flush_timeout
    	handling
    
    	* src/Makefile.am: moved headers to SOURCES from EXTRA_DIST
    	(I like it better this way (tm))
    
    	* src/logpipe.h, src/logmsg.h: don't include glib.h directly, use
    	syslog-ng.h instead
    
    	* src/misc.c (format_zone_info): readded ':' to zone offset
    	formatting, which was missed in the previous patch, fixed the sig
    	for zone offsets
    
    	* src/logmsg.c (log_stamp_format): the buffer for the zone offset
    	was not large enough to hold the readded ':'
    
    	* src/cfg-grammar.y, src/cfg-lex.l: added global stats_freq optio
    
    	* src/afprog.c, src/affile.c, src/afprog.c: added
    	dropped stats support
    
    	* src/afsocket.c: added dropped stats support,
    	(afsocket_dd_connected): do not reinit the writer,
    	(afsocket_dd_init): do not create a new LogWriter instance every
    	time, but reuse the previous one instead,
    	(afsocket_dd_free): fix memory leak by freeing self->writer

commit 291f17aff0a460ba9bf2193c813c34780a1f1b62
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:46:14 2007 +0200

    do not use the LOG_FAC macro as it is not portable
    
    2005-10-22  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/filter.c: do not use the LOG_FAC macro, it is not available o
    	Solaris
    
    	* doc/reference/syslog-ng.xml: added documentation on the alternate
    	syntax of the facility() filter

commit 40fd68fc9016814bba5fe299a725c84d09edf8d3
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:45:56 2007 +0200

    test commit for syslog-ng-commit message

commit 9a798b46deba1c68ece9a936121143d6ac5c944b
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:45:43 2007 +0200

    added a note on empty source/destination statements

commit a70210d38e6c61f3abd55bb8934f292f78d16094
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:45:41 2007 +0200

    fixed non-null terminated utmp username handling
    
    2005-10-15  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afuser.c: instead of assuming that names in utmp are NUL
    	terminated (which turned out not to be true), limit the length of
    	comparison to sizeof(ut->ut_name)

commit 681d361bcdda4fbf59ca42b1c823cb9cb61d5c50
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:45:39 2007 +0200

    preparation for the 1.9.6 release

commit f9a99c40142973ed5a880795b3b66ad2b603fec9
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:45:27 2007 +0200

    fixed problems in syslog priority filter, added unit test for most built-in filters
    
    2005-10-15  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/filter.c (filter_facility_eval): added facility value ->
    	bitmap position cache for improved performance,
    	(filter_level_eval): fixed filter evaluation (the functio
    	erroneously used the same values for the internal valid bitmap and
    	the syslog header priority value), a similar search through
    	sl_levels is required as was already present for facility filtering, also
    	the same cache mechanism was added for improved performance
    
    	* tests/unit/test_filter.c: new unit test file, tests most easily
    	testable filters, AND/OR operations and negation

commit a8a3f73700f4c5e91dcad18c26df09157900c761
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:44:16 2007 +0200

    timezone DST fixes
    
    2005-10-15  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: removed check for the global timezone variable
    
    	* src/misc.c (get_local_timezone_ofs): use tm->tm_gmtoff if
    	available and the difference between the results of gmtime and
    	localtime if not, this should be a portable way to determine the
    	correct timezone offset,
    	(format_zone_info): new function to format a timezone offset in a
    	way similar to strftime %z
    
    	* src/logmsg.c (log_stamp_format): use the new format_zone_info
    	functio
    
    	* src/macros.c (log_macro_expand): always use the new
    	format_zone_info function instead of strftime
    
    	* doc/reference/syslog-ng.xml: TZ is now equivalent to TZOFFSET

commit 0f5500c5a410f6627300a1ec04530596f577b63b
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:43:52 2007 +0200

    added a missing "return"
    
    2005-10-07  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/misc.c (get_local_timezone_ofs): added a missing retur

commit 0140d28fa6e77c77763f56c35af1afdd0791c5ca
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:43:50 2007 +0200

    check for gmt_off in struct tm and detect timezone accordingly
    
    2005-10-05  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: added a test for tm_gmtoff in struct tm as it is not
    	present on Solaris
    
    	* src/misc.c: use the old global timezone based timezone detection code
    	if tm_gmtoff is not present in "struct tm"

commit e729578ec04ec9358dc491427faf09655b8e999b
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:43:41 2007 +0200

    fixed facility/priority filters

commit 1140c51b052c13ba55dbeac3a5de12ef5d29e7f8
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:43:09 2007 +0200

    contrib subdirectory and its contents copied from syslog-ng 1.6.x

commit 7625921981a0f50c8f4bd299adf9e91d034cd470
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:42:27 2007 +0200

    fixed template-escape processing for inline templates
    
    2005-08-30  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_dd_set_file_template,
    	affile_dd_set_template_escape, affile_dd_set_fsync): removed as
    	templates are logwriter specific options,
    	(affile_dd_new): do not allocate 'templates' variable,
    	(affile_dd_free): do not free 'templates'
    
    	* src/affile.h (AFFileDestDriver): removed template variable as it
    	was not used
    
    	* src/cfg-grammar.y (dest_writer_option): template_escape and fsync
    	were erroneously calling affile specific functions, fixed that
    
    	* src/logwriter.c (log_writer_options_set_template_escape): new function,
    	basically transformed from affile_dd_set_template_escape

commit 8019401e574bb12e967cbb9bd1eafa8f48e72bf2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:42:04 2007 +0200

    added configure test for regexec() function

commit e88d350df929ae9936fc4a00d5cbfe7376400bd6
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:42:01 2007 +0200

    fixed test_msgparse program to work on BSDs
    
    2005-08-08  Balazs Scheidler <bazsi@balabit.hu>
    
    	* tests/unit/test_msgparse.c (main): do not use "timezone" as a
    	global variable as it is a function on BSD derived platforms

commit b55720bd14ba14d94cf7674f1f9c98e86e298349
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:42:00 2007 +0200

    fixed file uid/gid setting and some gcc4 problems
    
    2005-08-07  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c: fixed affile_dd_set_{file,dir}_{uid,gid}
    
    	* src/*.h: added complete prototypes for all functions

commit c8fe8173dd187a172c21165600476eb1a443dbf2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:57 2007 +0200

    fixed mark_freq problem
    
    2005-08-04  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logreader.c (log_reader_fd_prepare): make sure make_target is
    	initialized before going to the poll loop first

commit 86451169b92a977574fb90ca657d91a321db4533
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:52 2007 +0200

    deprecated sync_freq, introduced flush_lines instead, fixed a faction of seconds formatting problem
    
    2005-08-04  Balazs Scheidler <bazsi@balabit.hu>
    
    	* doc/reference/syslog-ng.xml: added documentation on the new
    	flush_lines and flush_timeout options
    
    	* src/affile.c (affile_dd_set_sync_freq): removed sync_freq support,
    	did not work anyway, introduced flush_lines & flush_timeout instead
    
    	* src/afinet.c (afinet_dd_set_sync_freq): removed
    
    	* src/cfg-grammar.y: added flush options
    
    	* src/cfg.c: -"-
    
    	* src/logwriter.c: added flush_lines and flush_timeout support
    
    	* src/logmsg.c: fixed time fraction formatting

commit 10490933e2cd4ae3a5c5e15264d3839a229b0c46
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:40 2007 +0200

    further fixes to the previous patch to unify tcp/udp codepaths in afsocket, test program fixes
    
    2005-07-30  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afinter.c (afinter_source_dispatch): do not dispatch message
    	if it is NULL (might happen if several internal sources are defined)
    
    	* src/afsocket.c (afsocket_sc_queue): removed bogus internal error message,
    	(afsocket_sd_init): added error handling around listen()
    
    	* tests/functional/func_test.py: added AF_INET testing (udp & tcp)

commit 2456bb8bd9c5a901bff4e4758b74ffe31f0c7440
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:35 2007 +0200

    fixed stupid UDP initialization problem and updated a unit test program
    
    2005-07-30  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_sd_init): fixed stupid mistake in UDP
    	initialization code
    
    	* tests/unit/test_msgparse.c: adapted to the new timezone parsing
    	code (msg has the local timezone by default instead of -1)

commit 8a347a3cfb685f517afad187beed8c0b29fb0fa7
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:30 2007 +0200

    added cfg-lex.c and cfg-grammar.c to the distribution

commit 6781972a39647a433453f087dbcd147316692537
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:25 2007 +0200

    small Makefile fixes and a flex compatibility fix
    
    2005-07-28  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/Makefile.am: added cfg-lex.c and cfg-grammar.c to
    	 MAINTAINER_CLEAN_FILES
    
    	* src/cfg-lex.l: removed YY_NO_UNPUT as it was not standard
    	(reported by Roberto Nibali)

commit 15b0efe96f01e06e8331c6a69e943040f4643424
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:23 2007 +0200

    use the same code path for SOCK_STREAM and SOCK_DGRAM sockets
    
    2005-07-26  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_sd_init, afsocket_sd_deinit): unified
    	SOCK_STREAM and SOCK_DGRAM code-paths, do not use a separate reader
    	for SOCK_DGRAM, use AFSocketSourceConnection instead for both types,
    	(afsocket_sd_format_persist_name): new function, to format a
    	persistent config name, instead of doing it inline every time

commit 351ce5dea839151638b7adb0b7b4a586fd83aca6
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:21 2007 +0200

    timezone portability fixes for BSDs
    
    2005-07-26  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/misc.c (get_local_timezone_ofs): added a time_t when argument,
    	the timezone will be returned for that given time in UTC, the
    	algorithm to return a timezone does not rely on the timezone and
    	daytime global variables as those are Linux specific
    
    	* src/macros.c (log_macro_expand): pass the appropriate time for get_local_timezone_ofs()
    
    	* src/logmsg.c (log_msg_parse, log_msg_init): -"-
    
    	* src/affile.c (affile_dd_queue): -"-

commit 5b86dfbdd9e1b8c8e23a99a03be7801926c8b064
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:11 2007 +0200

    updated NEWS file and version number in configure.i

commit 32fc9b25af816227ce4dd467f5dab97a94b62584
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:10 2007 +0200

    fix match references
    
    2005-07-07  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/templates.c (log_template_compile): fix match references not
    	to include the reference number itself

commit 78319022047c5654d996a57fbadd020457ec9893
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:08 2007 +0200

    fixed possible memory/fd leak when a filename contains macros
    
    2005-07-07  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/logwriter.c (log_writer_deinit): fixed memory/fd leak, unref
    	self->source as well as destroy it

commit 3e4a93bb559083ad7ed6b310810e48a5a3a0fcea
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:06 2007 +0200

    fixed use_time_recvd() option handling, documentation updates
    
    2005-06-30  Balazs Scheidler <bazsi@balabit.hu>
    
    	* doc/reference/syslog-ng.xml: updated documentation, removed
    	non-existing template timezone option, separate Macros section,
    	added a table on common destination options, added prefixed time
    	related macros without documentation, added DEPRECATED notice to
    	use_time_recvd(), added documentation on ts_format
    
    	* src/affile.c: use the value for the global use_time_recvd() optio
    	when expanding a filename
    
    	* src/logwriter.c: use the value for the global use_time_recvd()
    	option when expanding the log message

commit 750066a2742d92d55d9439364e58f57bafd159e6
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:03 2007 +0200

    fix file/directory permission handling
    
    2005-06-27  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_dw_init): use the file/dir permissions set by the user

commit 716a0de6d90011220a8e516b30e56de57fe75e11
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:41:01 2007 +0200

    removed a nested function from affile.c
    
    2005-06-27  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/affile.c (affile_dd_reap_writers): gcc4 does not like nested
    	functions, do not use that

commit 7f99e304351cab96ddffe189542dae86c17e1b17
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:40:59 2007 +0200

    added sync() alias for sync_freq() to maintain 1.6.x compatibility
    
    2005-06-24  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-lex.l: added sync() alias for sync_freq() to maintai
    	compatibility with 1.6.x

commit 5c0d6c3b7fabf06bb7f747f3bb88e832fec42f51
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:40:56 2007 +0200

    added WEEK macro to macro expansion
    
    2005-06-23  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/macros.c, src/macros.h: added support for WEEK, R_WEEK and
    	S_WEEK macros
    
    	* doc/reference/syslog-ng.xml: added documentation on the WEEK macro

commit f132f2749614ed92fb6123155619458cff4d3358
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:40:45 2007 +0200

    timezone cleanup and fixes, fixed name resolving for socket sources
    
    2005-06-05  Balazs Scheidler <bazsi@balabit.hu>
    
    	* doc/reference/syslog-ng.xml: added a section on timezones
    
    	* src/cfg-grammar.y, src/cfg-lex.l: removed timezone options from
    	templates, removed zone_offset_set variables, a timezone value of -1
    	indicates unset state instead,
    	(tz_convert) use explicit timezone specification instead,
    	(recv-time-zone, send-time-zone): new keywords to specify default
    	incoming/outgoing timezones
    
    	* src/affile.c: adapted to the latest log_template_format() changes
    
    	* src/cfg.c (cfg_tz_convert_value): removed,
    	(cfg_new): initialize sent/recv timezones
    
    	* src/fdread.c: fixed a bug in recvfrom, the length for the sockaddr
    	structure was incorrectly specified
    
    	* src/logmsg.c (log_stamp_format): instead of tz_convert use
    	zone_offset, fixed a problem in zone formatting,
    	(log_msg_parse): a value of -1 indicates "unspecified" zone for
    	incoming messages, use get_local_time_zone_ofs() function instead of
    	referencing the timezone variable directly,
    	(log_msg_init): use get_local_time_zone_ofs()
    
    	* src/logreader.c (log_reader_handle_line): use only set the
    	timezone associated with the incoming message if it has no timezone setting,
    	(log_reader_options_defaults, log_reader_options_init): inherit
    	default value for zone_offset from recv_zone_offset in the global configuratio
    
    	* src/logwriter.c: adapted to log_template_format changes,
    	inherit zone_offset from send_zone_offset
    
    	* src/macros.c: added STAMP, R_STAMP and S_STAMP macros to represent
    	the message timestamp formatted as specified by the ts_format()
    	global option,
    	(log_macro_expand): added ts_format argument, and the implementatio
    	of the STAMP macro
    
    	* src/misc.c (get_local_timezone_ofs): new function, calculates and
    	returns the current timezone offset in seconds
    
    	* src/templates.c (log_template_format): added ts_format and
    	zone_offset arguments

commit bcfc5424f4e3bce06c912a6caccc5d59d671ea2f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:40:35 2007 +0200

    added static linking option to configure, small fixes
    
    2005-06-04  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: added --enable-static-linking option
    
    	* src/cfg-lex.l: fixed problem that caused keyword recognitio
    	problems, words that began with a reserved word were erroneously
    	recognized as the reserved word (user vs usertty)
    
    	* src/cfg.c: added error checking for file_template and
    	proto_template options
    
    	* src/logmsg.c (log_msg_init): always set frac_present to TRUE,
    	(log_msg_parse): frac_present is set to FALSE if there was a
    	timestamp which did not contain fractions

commit f248bbb5a175dcc538c96704666ccd7e40c1b626
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:40:27 2007 +0200

    configure.in and some warning fixes
    
    2005-05-19  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: removed no-define from AM_INIT_AUTOMAKE as this made
    	PACKAGE and VERSION preprocessor symbols undefined
    
    	* src/macros.c: fixed uninitialized variable for MSGONLY processing
    
    	* src/cfg.c: fixed two type-punned pointer references

commit 3406c4235ef2d3df52b94a22c798e79f33d50a4f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:40:24 2007 +0200

    treat use_fqdn correctly when getting local hostname
    
    2005-05-19  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/misc.c (getlonghostname): new function, returns the fully
    	qualified domain name for localhost,
    	(resolve_hostname): use the new getlonghostname, if use_fqdn was
    	TRUE

commit 02ba2b8824778668d2c4ed4dd0de30a73837795f
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:40:08 2007 +0200

    cleaned up tla inventory files

commit def0e7f55442d4a8af0a18a623b6516181c79edb
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:49 2007 +0200

    Solaris portability fixes
    
    2005-04-27  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: added ld detection code to discover static linking arguments
    
    	* tests/unit/test_msgparse.c: added <string.h>
    
    	* tests/unit/Makefile.am: instead of noinst, use check prefix to avoid
    	building the testprograms during regular builds

commit fe6565ac1344b764a9604d566ae272f06df10482
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:44 2007 +0200

    fixed a docbug in doc/reference/syslog-ng.xml

commit 474fa28df32c1d403e057e2fbccfdd20fe996c75
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:28 2007 +0200

    added dist.conf and added automatic substitution of some dynamic variables in the documentation

commit f0f2ae7ad743644d7812b6f7294e2799e2d5f4da
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:11 2007 +0200

    removed "reference/" the root path for the reference syslog-ng.html.tar.gz

commit 074c5dd72146cca94fba1f96c98bf0b2f04c55d1
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:10 2007 +0200

    Configure fix to --enable-dynamic-linking
    
    2005-04-15  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: do not enforce static glib if --enable-dynamic-linking was specified

commit cf811ecda2d57379a347e157683afcb4f4e6648e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:07 2007 +0200

    fixed release numbers in NEWS

commit 10fa27e9371d7b28974df7092eaf4707572c0c50
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:06 2007 +0200

    updated NEWS file, bumped version to 1.9.4

commit b6d2c44c68e9b2351940da10ca8b81d936d86058
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:37:03 2007 +0200

    improved configure tests

commit a2b4e66ac8378c16c12e7f3d7b44e3ebd4cad7bd
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:36:25 2007 +0200

    added template unit tests

commit f948571ab493cf2c9e72884eeb430cc776d04e2e
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:35:57 2007 +0200

    fixed reference documentation generation

commit 5081487abefbd8b12056854f2c06272f9abe0179
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:34:58 2007 +0200

    Fixed (filename, logoutput) template compilation
    
    2005-02-28  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/templates.c (log_template_compile, log_template_format): fixed
    	a problem in template comilation as it messed up the formatted string

commit 93d418a89a6db80c4fd45e22357256737c7d2517
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:31:14 2007 +0200

    Changed g_queue_get_length to g_queue_is_empty as it makes syslog-ng compatible with glib 2.2
    
    2005-02-28  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afinter.c: instead of using "!!g_queue_get_length()" use
    	"!g_queue_is_empty()"

commit 1b64e4f68899bfd13ec71939877d96befd495827
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:31:09 2007 +0200

    Updated documentation (manpages)

commit 86dd321a43078478f3d6c650e2110ccfa6d3d449
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:31:04 2007 +0200

    removed doc/reference/make.sh from dist as it is not needed

commit bd6598d1788be78a1b66a7aab15a92784a7ede88
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:28:16 2007 +0200

    added copyright info, beginnings of a testsuite, fixed some configure problems
    
    2005-01-16  Balazs Scheidler <bazsi@balabit.hu>
    
            * configure.in: take CFLAGS environment variable into consideration
            when running configure, link eventlog and glib statically
    
            * src/fdread.c, src/fdwrite.c: handle EINTR by repeating the read
            system call
    
            * src/logreader, src/logwriter.c: handle EAGAIN correctly

commit 484946f74569972c2ac9953545095896f4206e7c
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:22:38 2007 +0200

    Updated NEWS file, released syslog-ng 1.9.3
    
    2005-01-22  Balazs Scheidler <bazsi@balabit.hu>
    
    	* NEWS: updated with 1.9.3 release information
    
    	* configure.in: bumped version to 1.9.3

commit b0c3bbd42677be715ee4317be590f91a611dcf98
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:21:29 2007 +0200

    added automatic regeneration of the ChangeLog file

commit 7c7e2b3097b8acd9ffe33ae343ecdc50855136c8
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:20:58 2007 +0200

    Readded and updated documentation from 1.6
    
    2005-01-22  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/cfg-lex.l: renamed padding to pad_size to make it compatible
    	with 1.6.x, the '-' character in keywords is taken equivalent to
    	'_', fixed C code indentation to match GNU coding style

commit f2668375350b0d2bb4147d2f3a4730e66bdedf07
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:19:51 2007 +0200

    added some missing files to tla

commit 7adb02ac63148aa5d2bac56ccce6044b21b00fc2
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 01:12:56 2007 +0200

    added copyright info, beginnings of a testsuite, fixed some configure problems
    
    2005-01-16 Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: take CFLAGS environment variable into consideration
    	when running configure, link eventlog and glib statically
    
    	* src/fdread.c, src/fdwrite.c: handle EINTR by repeating the read system call
    
    	* src/logreader, src/logwriter.c: handle EAGAIN correctly

commit 4c75312d56a852cbe729e408c31e36dae72a6119
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:59:27 2007 +0200

    Set nonblocking mode for g_accepted sockets
    
    2005-01-15  Balazs Scheidler <bazsi@balabit.hu>
    
    	* src/afsocket.c (afsocket_sd_accept): added g_fd_set_nonblock for
    	new sockets

commit 1474947de5d34fe067fab4d85561a9a10ccee9a1
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:59:12 2007 +0200

    fixed possible deadlocking on the internal message pipe
    
    2005-01-09  Balazs Scheidler <bazsi@balabit.hu>
    
            * src/logsource.c: new file, separated flow control related
            functions from logreader
    
            * src/logreader.c: LogReader is derived from LogSource
    
            * src/afinter.c: substituted the pipe used for internal messages
            with a GQueue

commit 45e83edd0d9a606961c0ced0f5eb35acbbc04ab9
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:48:55 2007 +0200

    Fixed a couple of Solaris portability problems
    
    2005-01-05  Balazs Scheidler <bazsi@balabit.hu>
    
    	* configure.in: added checks for -ldoor, -lsocket, -lnsl and getopt.h
    
    	* other files: fixed a couple of Solaris specific warnings

commit 25a0f59a54fc47159cdda6ad416991200bc04b65
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:48:08 2007 +0200

    Updated NEWS file and released 1.9.2

commit 4e1896183d3f8cdc75ee75ba0a1484e1e5c6c192
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:29:51 2007 +0200

    added missing macros and brace support in macro expansion
    
    2004-12-31  Balazs Scheidler <bazsi@balabit.hu>
    
            * src/macros.c: added PRI and MSGONLY macros
    
            * src/templates.c: added support for braces around macros for
            $example: "{MSG}"

commit 4ce759ae084a6829e4851c66e9c9d49c3c49a6ab
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:26:56 2007 +0200

    fixed couple of bugs
    
    2004-12-29  Balazs Scheidler <bazsi@balabit.hu>
    
            * src/afprog.c (afprogram_dd_init): call setsid before launching child,
            (afprogram_dd_deinit): deinit & unref self->writer here instead of
            in afprogram_dd_free,
    
            * src/center.c (log_center_queue): do not supply self as user_data pointer to
            the ack_block callback as that would require adding a reference to self
    
            * src/dgroup.c (log_dest_group_queue): do not supply self as user_data pointer to
            the ack_block callback as that would require adding a reference to self
    
            * src/logreader.c: instead of using self->window_size use self->options->window_size
            so that the window is shared between all LogReaders using the same
            options,
            (log_reader_handle_line): add reference to self before supplying it as an argument to
            the ack_block callback function,
            (log_reader_msg_ack): unref the supplied logreader argument

commit 690c934f09837eb6ac20b1a26cba1897b05f7aaf
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:26:37 2007 +0200

    Added a lot of copyright header, docstrings, and some fixes
    
    2004-12-27  Balazs Scheidler <bazsi@balabit.hu>
    
            * src/afsocket.c (afsocket_sd_deinit): break circular reference
            between self->reader and self,
            (afsocket_sd_notify): do not destroy/unref sender in NC_CLOSE, as
            afsocket_sd_close_connection already does that,
            (afsocket_sd_init, afsocket_sd_deinit): removed static,
            (afsocket_sd_free_instance): renamed from afsocket_sd_free, removed
            static, created a new afsocket_sd_free function at the same time
            which is set as the free_fn of AFSocketSourceDriver
    
            * src/afunix.c: implemented user/group/perm settings
    
            * src/cfg-grammar.y: added support for log-prefix
    
            * src/cfg.c: changed default timestamp format to BSD for compatibility
    
            * src/filter.c: fixed AND and OR operator evaluation, the operands
            were not correctly saved at initialization time, thus NULL was
            referenced at evaluation time
    
            * src/logreader.c: added log_prefix support for all log readers
    
            * src/logwriter.c: use log_msg_drop instead of a simple log_msg_unref
    
            * src/main.c: fixed SIGCHLD handling, loop while waitpid returns > 0,
            added tzset() call

commit 662494a7b08fe32b94b063c7e66cb40b1179fd94
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:24:41 2007 +0200

    Fixed a lot of memory leaks
    
    2004-12-27  Balazs Scheidler <bazsi@balabit.hu>
    
            * src/affile.c (affile_sd_deinit): make sure to break circular
            reference between self->reader and self, fixes possible memory leak,
            (affile_sd_free): call log_drv_free_instance
    
            * src/afinter.c (afinter_sd_deinit): break circular reference
            between self->reader and self
    
            * src/afprog.c (afprog_sd_free): added log_drv_free_instance
    
            * src/afsocket.c (afsocket_sd_deinit): break circular reference
            between self->reader and self,
            (afsocket_sd_free): added log_drv_free_instance,
            (afsocket_dd_free): -"-
    
            * src/afuser.c (afuser_dd_queue): free queued message,
            (afuser_dd_free): added log_drv_free_instance
    
            * src/cfg-grammar.y: unref log driver after appending to avoid
            memory leaks
    
            * src/cfg.c (cfg_reload_config): fixed possible memory leak when
            cfg_init fails (free persist),
            (persist_config_free): added missing free for hashtable
    
            * src/dgroup.c (log_dest_group_queue): make sure each driver gets
            its own reference to msg as each will free it on its own, also
            added an explicit unref at the end of the function
            (log_dest_group_new): added missing call to log_pipe_init_instance
    
            * src/gsockaddr.c: removed all low-level g_message invocation,
            errors should be reported by the caller
    
            * src/logpipe.c: added assertions to _ref and _unref
    
            * src/main.c (main_loop_run): added a missing g_main_loop_unref to
            avoid memory leaks,
            (main): call msg_syslog_started at the end of initialization to force
            messages into the system log
    
            * src/messages.c (msg_syslog_started): new function to indicate
            that initialization is finished, messages will be written to
            stderr instead of the internal() source if syslog is not yet
            started to let the administrator see important
            failure messages,
            (msg_deinit): free the event log context, only close the error pipe
            if it was really opened

commit 41fb02f50abb10b56f8286b5a5ef7f5add41b899
Author: Balazs Scheidler <bazsi@bzorp.balabit>
Date:   Sat Apr 14 00:21:06 2007 +0200

    Initial import into git
