Hello community, here is the log from the commit of package rsyslog for openSUSE:Factory checked in at 2013-10-29 11:04:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rsyslog (Old) and /work/SRC/openSUSE:Factory/.rsyslog.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rsyslog" Changes: -------- --- /work/SRC/openSUSE:Factory/rsyslog/rsyslog.changes 2013-09-13 14:45:17.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rsyslog.new/rsyslog.changes 2013-10-29 11:04:24.000000000 +0100 @@ -1,0 +2,27 @@ +Mon Oct 28 22:36:04 UTC 2013 - [email protected] + +- update to 7.4.5 [v7.5-stable] +- mmanon: removed the check for specific "terminator characters" +- now requires libestr 0.1.8 +- omelasticsearch: add failed.httprequests stats counter +- bugfix: invalid property filter was not properly disabled in ruleset +- bugfix: segfault if re_extract() function was used and no match found +- bugfix: potential misadressing on startup if property-filter was used +- bugfix: omelasticsearch: correct failed.http stats counter +- bugfix: omelasticsearch: did not correctly initialize stats counters +- bugfix: omelasticsearch: failed.es counter was only maintained in bulk mode +- bugfix: mmanon did not detect all IP addresses in rewrite mode +- bugfix: mmanon sometimes used invalid replacement char in simple mode +- bugfix: memory leak in mmnormalize +- bugfix: array-based ==/!= comparisions lead to invalid results +- bugfix: omprog blocked signals to executed programs +- bugfix: doc: imuxsock legacy param $SystemLogSocketParseTrusted was + misspelled +- bugfix: imfile "facility" input parameter improperly handled +- bugfix: small memory leak in imfile when $ResetConfigVariables was used +- bugfix: segfault on startup if TLS was used but no CA cert set +- bugfix: segfault on startup if TCP TLS was used but no cert or key set +- bugfix: some more build problems with newer json-c versions +- bugfix: build system: libgcrypt.h needed even if libgrcypt was disabled + +------------------------------------------------------------------- Old: ---- rsyslog-7.4.4.tar.gz New: ---- rsyslog-7.4.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rsyslog.spec ++++++ --- /var/tmp/diff_new_pack.tz8MtE/_old 2013-10-29 11:04:25.000000000 +0100 +++ /var/tmp/diff_new_pack.tz8MtE/_new 2013-10-29 11:04:25.000000000 +0100 @@ -20,7 +20,7 @@ Summary: The enhanced syslogd for Linux and Unix License: (GPL-3.0+ and Apache-2.0) Group: System/Daemons -Version: 7.4.4 +Version: 7.4.5 Release: 0 %if 0%{?suse_version} >= 1210 %bcond_without systemd @@ -152,10 +152,10 @@ # but json check is unconditional %if 0%{?suse_version} >= 1210 BuildRequires: pkgconfig(json) >= 0.9 -BuildRequires: pkgconfig(libestr) >= 0.1.5 +BuildRequires: pkgconfig(libestr) >= 0.1.8 %else BuildRequires: libee-devel -BuildRequires: libestr-devel +BuildRequires: libestr-devel >= 0.1.8 BuildRequires: libjson-devel %endif %if 0%{?suse_version} >= 1220 ++++++ rsyslog-7.4.4.tar.gz -> rsyslog-7.4.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/ChangeLog new/rsyslog-7.4.5/ChangeLog --- old/rsyslog-7.4.4/ChangeLog 2013-09-03 12:32:05.000000000 +0200 +++ new/rsyslog-7.4.5/ChangeLog 2013-10-16 12:43:18.000000000 +0200 @@ -1,4 +1,68 @@ --------------------------------------------------------------------------- +Version 7.4.5 [v7.4-stable] 2013-10-22 +- mmanon: removed the check for specific "terminator characters" after + last octet. As it turned out, this didn't work in practice as there + was an enormous set of potential terminator chars -- so removing + them was the best thing to do. Note that this may change behaviour of + existing installations. Yet, we still consider this an important + bugfix, that should be applied to the stable branch. + closes: http://bugzilla.adiscon.com/show_bug.cgi?id=477 + Thanks to Muri Cicanor for initiating the discussion +- now requires libestr 0.1.8 as early versions had a nasty bug in + string comparisons +- omelasticsearch: add failed.httprequests stats counter +- bugfix: invalid property filter was not properly disabled in ruleset + Note that this bugfix introduces a very slight memory leak, which is + cosmetic, as it just holds data until termination that is no longer + needed. It is just the part of the config that was invalid. We will + "fix" this "issue" in the devel version first, as the fix is a bit + too intrusive to do without hard need in the stable version. +- bugfix: segfault if re_extract() function was used and no match found +- bugfix: potential misadressing on startup if property-filter was used + This could happen if the property name was longer than 127 chars, a case + that would not happen in practice. +- bugfix: omelasticsearch: correct failed.http stats counter +- bugfix: omelasticsearch: did not correctly initialize stats counters +- bugfix: omelasticsearch: failed.es counter was only maintained in bulk mode + This usually did not lead to any problems, because they are in static + memory, which is initialized to zero by the OS when the plugin is + loaded. But it may cause problems especially on systems that do not + support atomic instructions - in this case the associated mutexes also + did not get properly initialized. +- bugfix: mmanon did not detect all IP addresses in rewrite mode + The problem occured if two IPs were close to each other and the first one + was shrunk. + closes: http://bugzilla.adiscon.com/show_bug.cgi?id=485 + Thanks to micah-at-riseup.net for reporting this bug +- bugfix: mmanon sometimes used invalid replacement char in simple mode + depending on configuration sequence, the replacement character was set + to 's' instead of the correct value. Most importantly, it was set to + 's' if simple mode was selected and no replacement char set. + closes: http://bugzilla.adiscon.com/show_bug.cgi?id=484 + Thanks to micah-at-riseup.net for reporting this bug +- bugfix: memory leak in mmnormalize +- bugfix: array-based ==/!= comparisions lead to invalid results + This was a regression introduced in 7.3.5 bei the PRI optimizer +- bugfix: omprog blocked signals to executed programs + The made it impossible to send signals to programs executed via + omprog. + Thanks to Risto Vaarandi for the analysis and a patch. +- bugfix: doc: imuxsock legacy param $SystemLogSocketParseTrusted was + misspelled + Thanks to David Lang for alerting us +- bugfix: imfile "facility" input parameter improperly handled + caused facility not to be set, and severity to be overwritten with + the facility value. + Thanks to forum user dmunny for reporting this bug. +- bugfix: small memory leak in imfile when $ResetConfigVariables was used + Thanks to Grégory Nuyttens for reporting this bug and providig a fix +- bugfix: segfault on startup if TLS was used but no CA cert set +- bugfix: segfault on startup if TCP TLS was used but no cert or key set +- bugfix: some more build problems with newer json-c versions + Thanks to Michael Biebl for mentioning the problem. +- bugfix: build system: libgcrypt.h needed even if libgrcypt was disabled + Thanks to Jonny Törnbom for reporting this problem +--------------------------------------------------------------------------- Version 7.4.4 [v7.4-stable] 2013-09-03 - better error messages in GuardTime signature provider Thanks to Ahto Truu for providing the patch. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/configure new/rsyslog-7.4.5/configure --- old/rsyslog-7.4.4/configure 2013-09-03 12:32:49.000000000 +0200 +++ new/rsyslog-7.4.5/configure 2013-10-16 12:46:04.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for rsyslog 7.4.4. +# Generated by GNU Autoconf 2.68 for rsyslog 7.4.5. # # Report bugs to <[email protected]>. # @@ -570,8 +570,8 @@ # Identity of this package. PACKAGE_NAME='rsyslog' PACKAGE_TARNAME='rsyslog' -PACKAGE_VERSION='7.4.4' -PACKAGE_STRING='rsyslog 7.4.4' +PACKAGE_VERSION='7.4.5' +PACKAGE_STRING='rsyslog 7.4.5' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1594,7 +1594,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rsyslog 7.4.4 to adapt to many kinds of systems. +\`configure' configures rsyslog 7.4.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1664,7 +1664,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rsyslog 7.4.4:";; + short | recursive ) echo "Configuration of rsyslog 7.4.5:";; esac cat <<\_ACEOF @@ -1909,7 +1909,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rsyslog configure 7.4.4 +rsyslog configure 7.4.5 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2488,7 +2488,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rsyslog $as_me 7.4.4, which was +It was created by rsyslog $as_me 7.4.5, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3303,7 +3303,7 @@ # Define the identity of the package. PACKAGE='rsyslog' - VERSION='7.4.4' + VERSION='7.4.5' cat >>confdefs.h <<_ACEOF @@ -13211,12 +13211,12 @@ pkg_cv_LIBESTR_CFLAGS="$LIBESTR_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libestr >= 0.1.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libestr >= 0.1.5") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libestr >= 0.1.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libestr >= 0.1.8") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_LIBESTR_CFLAGS=`$PKG_CONFIG --cflags "libestr >= 0.1.5" 2>/dev/null` + pkg_cv_LIBESTR_CFLAGS=`$PKG_CONFIG --cflags "libestr >= 0.1.8" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -13228,12 +13228,12 @@ pkg_cv_LIBESTR_LIBS="$LIBESTR_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libestr >= 0.1.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libestr >= 0.1.5") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libestr >= 0.1.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libestr >= 0.1.8") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_LIBESTR_LIBS=`$PKG_CONFIG --libs "libestr >= 0.1.5" 2>/dev/null` + pkg_cv_LIBESTR_LIBS=`$PKG_CONFIG --libs "libestr >= 0.1.8" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -13254,14 +13254,14 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBESTR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libestr >= 0.1.5" 2>&1` + LIBESTR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libestr >= 0.1.8" 2>&1` else - LIBESTR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libestr >= 0.1.5" 2>&1` + LIBESTR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libestr >= 0.1.8" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBESTR_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (libestr >= 0.1.5) were not met: + as_fn_error $? "Package requirements (libestr >= 0.1.8) were not met: $LIBESTR_PKG_ERRORS @@ -20766,7 +20766,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rsyslog $as_me 7.4.4, which was +This file was extended by rsyslog $as_me 7.4.5, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20832,7 +20832,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -rsyslog config.status 7.4.4 +rsyslog config.status 7.4.5 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/configure.ac new/rsyslog-7.4.5/configure.ac --- old/rsyslog-7.4.4/configure.ac 2013-09-03 12:31:58.000000000 +0200 +++ new/rsyslog-7.4.5/configure.ac 2013-10-16 12:44:10.000000000 +0200 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT([rsyslog],[7.4.4],[[email protected]]) +AC_INIT([rsyslog],[7.4.5],[[email protected]]) AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) @@ -32,7 +32,7 @@ PKG_PROG_PKG_CONFIG # modules we require -PKG_CHECK_MODULES(LIBESTR, libestr >= 0.1.5) +PKG_CHECK_MODULES(LIBESTR, libestr >= 0.1.8) PKG_CHECK_MODULES([JSON_C], [json],, [ PKG_CHECK_MODULES([JSON_C], [json-c]) ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/debug.html new/rsyslog-7.4.5/doc/debug.html --- old/rsyslog-7.4.4/doc/debug.html 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/doc/debug.html 2013-10-16 12:41:49.000000000 +0200 @@ -160,7 +160,11 @@ SIGUSR1 and SIGUSR2 are completely ignored. <p>When running in any of the debug modes (including on demand mode), an interactive instance of rsyslogd can be aborted by pressing ctl-c. -<p> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/how-to-use-debug-on-demand/">How to use debug on demand</a></li> +</ul> +</p> <p>[<a href="manual.html">manual index</a>] [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p> <p><font size="2">This documentation is part of the <a href="http://www.rsyslog.com/">rsyslog</a> project.<br> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/impstats.html new/rsyslog-7.4.5/doc/impstats.html --- old/rsyslog-7.4.4/doc/impstats.html 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/doc/impstats.html 2013-10-16 12:41:49.000000000 +0200 @@ -81,6 +81,12 @@ set to off, legacy format is used (which is compatible with pre v6-rsyslog). </li> </ul> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/rsyslog-statistic-counter/">rsyslog statistics counter</a></li> +<li><a href="http://www.rsyslog.com/impstats-delayed-or-lost/">impstats delayed or lost</a> - cause and cure +</ul> +</p> <b>Caveats/Known Bugs:</b> <ul> <li>This module MUST be loaded right at the top of rsyslog.conf, otherwise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/imuxsock.html new/rsyslog-7.4.5/doc/imuxsock.html --- old/rsyslog-7.4.4/doc/imuxsock.html 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/doc/imuxsock.html 2013-10-16 12:41:49.000000000 +0200 @@ -180,7 +180,13 @@ queued by the OS if rsyslog is not running. </li> </ul> - +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/what-are-trusted-properties/">What are "trusted properties"?</a></li> +<li><a href="http://www.rsyslog.com/why-does-imuxsock-not-work-on-solaris/">Why does imuxsock not work +on Solaris?</a></li> +</ul> +</p> <b>Caveats/Known Bugs:</b><br> <ul> <li>There is a compile-time limit of 50 concurrent sockets. If you need more, you need to diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/manual.html new/rsyslog-7.4.5/doc/manual.html --- old/rsyslog-7.4.4/doc/manual.html 2013-09-03 12:32:13.000000000 +0200 +++ new/rsyslog-7.4.5/doc/manual.html 2013-10-16 12:44:29.000000000 +0200 @@ -19,7 +19,7 @@ <p><b>Please visit the <a href="http://www.rsyslog.com/sponsors">rsyslog sponsor's page</a> to honor the project sponsors or become one yourself!</b> We are very grateful for any help towards the project goals.</p> -<p><b>This documentation is for version 7.4.4 (v7.4-stable branch) of rsyslog.</b> +<p><b>This documentation is for version 7.4.5 (v7.4-stable branch) of rsyslog.</b> Visit the <i><a href="http://www.rsyslog.com/status">rsyslog status page</a></i></b> to obtain current version information and project status. </p><p><b>If you like rsyslog, you might diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/mmanon.html new/rsyslog-7.4.5/doc/mmanon.html --- old/rsyslog-7.4.4/doc/mmanon.html 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/doc/mmanon.html 2013-10-16 12:41:49.000000000 +0200 @@ -18,14 +18,7 @@ they exist. <p><i>How are IP-Addresses defined?</i> <p>We assume that an IP address consists of four octets in dotted notation, -where each of the octets has a value between 0 and 255, inclusively. After -the last octet, there must be either a space or a colon. So, for example, -"1.2.3.4 Test" and "1.2.3.4:514 Test" are detected as containing valid IP -addresses, whereas this is not the case for "1.2.300.4 Test" or -"1.2.3.4-Test". The message text may contain multiple addresses. If so, -each of them is anonimized (according to the same rules). -<b>Important:</b> We may change the set of acceptable characters after -the last octet in the future, if there are good reasons to do so. +where each of the octets has a value between 0 and 255, inclusively. <p> </p> <p><b>Module Configuration Parameters</b>:</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/mmnormalize.html new/rsyslog-7.4.5/doc/mmnormalize.html --- old/rsyslog-7.4.4/doc/mmnormalize.html 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/doc/mmnormalize.html 2013-10-16 12:41:49.000000000 +0200 @@ -46,6 +46,17 @@ <li>$mmnormalizeUseRawMsg <on/off> - equivalent to the "useRawMsg" parameter. </ul> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/normalizer-first-steps-for-mmnormalize/">First steps for mmnormalize</a></li> +<li><a href="http://www.rsyslog.com/log-normalization-and-special-characters/">Log normalization and +special characters</a></li> +<li><a href="http://www.rsyslog.com/log-normalization-and-the-leading-space/">Log normalization and +the leading space</a></li> +<li><a href="http://www.rsyslog.com/using-rsyslog-mmnormalize-module-effectively-with-adiscon-loganalyzer/">Using +mmnormalize effectively with Adiscon LogAnalyzer</a></li> +</ul> +</p> <b>Caveats/Known Bugs:</b> <p>None known at this time. </ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/omfile.html new/rsyslog-7.4.5/doc/omfile.html --- old/rsyslog-7.4.4/doc/omfile.html 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/doc/omfile.html 2013-10-16 12:41:49.000000000 +0200 @@ -97,6 +97,11 @@ sets a new default template for file actions.<br></li><br> </ul> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/how-to-sign-log-messages-through-signature-provider-guardtime/">Sign log messages through signature provider Guardtime</a></li> +</ul> +</p> <p><b>Caveats/Known Bugs:</b></p> <ul> <li>One needs to be careful with log rotation if signatures and/or encryption diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/omfwd.html new/rsyslog-7.4.5/doc/omfwd.html --- old/rsyslog-7.4.4/doc/omfwd.html 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/doc/omfwd.html 2013-10-16 12:41:49.000000000 +0200 @@ -56,6 +56,11 @@ Permits to resend the last message when a connection is reconnected. This setting affects TCP-based syslog, only. It is most useful for traditional, plain TCP syslog. Using this protocol, it is not always possible to know which messages were successfully transmitted to the receiver when a connection breaks. In many cases, the last message sent is lost. By switching this setting to "yes", rsyslog will always retransmit the last message when a connection is reestablished. This reduces potential message loss, but comes at the price that some messages may be duplicated (what usually is more acceptable). <br></li><br> </ul> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/encrypted-disk-queues/">Encrypted Disk Queues</a></li> +</ul> +</p> <p><b>Caveats/Known Bugs:</b></p><ul><li>None.</li></ul> <p><b>Sample:</b></p> <p>The following command sends all syslog messages to a remote server via TCP port 10514.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/omruleset.html new/rsyslog-7.4.5/doc/omruleset.html --- old/rsyslog-7.4.4/doc/omruleset.html 2012-04-04 08:29:55.000000000 +0200 +++ new/rsyslog-7.4.5/doc/omruleset.html 2013-10-16 12:41:49.000000000 +0200 @@ -122,6 +122,11 @@ # of course, we can have "regular" actions alongside :omrulset: actions *.* /path/to/general-message-file.log </textarea> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/rulesets-and-rsyslog-7-2/">Calling rulesets since rsyslog 7.2</a></li> +</ul> +</p> <p><b>Caveats/Known Bugs:</b> <p>The current configuration file language is not really adequate for a complex construct like omruleset. Unfortunately, more important work is currently preventing me from redoing the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/property_replacer.html new/rsyslog-7.4.5/doc/property_replacer.html --- old/rsyslog-7.4.4/doc/property_replacer.html 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/doc/property_replacer.html 2013-10-16 11:10:39.000000000 +0200 @@ -746,13 +746,15 @@ options. It was initially introduced to support the "jsonf" option, for which it provides the capability to set an alternative field name. If it is not specified, it defaults to the property name. -<h2>Further Links</h2> +<b>See also</b> <ul> <li>Article on "<a href="rsyslog_recording_pri.html">Recording the Priority of Syslog Messages</a>" (describes use of templates to record severity and facility of a message)</li> <li><a href="rsyslog_conf.html">Configuration file format</a>, this is where you actually use the property replacer.</li> +<li><a href="http://www.rsyslog.com/what-is-the-difference-between-timereported-and-timegenerated/"> +Difference between timereported and timegenerated.</li> </ul> <p>[<a href="manual.html">manual index</a>] [<a href="rsyslog_conf.html">rsyslog.conf</a>] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/queues.html new/rsyslog-7.4.5/doc/queues.html --- old/rsyslog-7.4.4/doc/queues.html 2012-04-04 08:29:55.000000000 +0200 +++ new/rsyslog-7.4.5/doc/queues.html 2013-10-16 11:10:39.000000000 +0200 @@ -386,6 +386,11 @@ workers that needed to be cancelled due to too-long processing. For a large queue, this operation may be lengthy. No timeout applies to a required shutdown save.</p> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/encrypted-disk-queues/">Encrypted Disk Queues</a></li> +</ul> +</p> [<a href="manual.html">manual index</a>] [<a href="rsyslog_conf.html">rsyslog.conf</a>] [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/rsyslog_conf_filter.html new/rsyslog-7.4.5/doc/rsyslog_conf_filter.html --- old/rsyslog-7.4.4/doc/rsyslog_conf_filter.html 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/doc/rsyslog_conf_filter.html 2013-10-16 11:10:39.000000000 +0200 @@ -275,6 +275,11 @@ it is possible to query facility and severity via property-based filters, it is far more advisable to use classic selectors (see above) for those cases.</p> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/filter-optimization-with-arrays/">Filter optimization with arrays</a></li> +</ul> +</p> <p>[<a href="manual.html">manual index</a>] [<a href="rsyslog_conf.html">rsyslog.conf</a>] [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/rsyslog_conf_templates.html new/rsyslog-7.4.5/doc/rsyslog_conf_templates.html --- old/rsyslog-7.4.4/doc/rsyslog_conf_templates.html 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/doc/rsyslog_conf_templates.html 2013-10-16 12:41:53.000000000 +0200 @@ -288,8 +288,8 @@ <h4>Standard Template for Forwarding to a Remote Host (RFC3164 mode)</h4> <p><pre><code>template(name="ForwardFormat" type="list") { constant(value="<") - property(name="PRI") - constant(value="<") + property(name="pri") + constant(value=">") property(name="timestamp" dateFormat="rfc3339") constant(value=" ") property(name="hostname") @@ -524,7 +524,13 @@ <br><br> $template StdSQLFormat,"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL </code></p> - +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/how-to-bind-a-template/">How to bind a template</a></li> +<li><a href="http://www.rsyslog.com/adding-the-bom-to-a-message/">Adding the BOM to a message</a></li> +<li><a href="http://www.rsyslog.com/article60/">How to separate log files by host name of the sending device</a></li> +</ul> +</p> <p>[<a href="manual.html">manual index</a>] [<a href="rsyslog_conf.html">rsyslog.conf</a>] [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/rsyslog_packages.html new/rsyslog-7.4.5/doc/rsyslog_packages.html --- old/rsyslog-7.4.4/doc/rsyslog_packages.html 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/doc/rsyslog_packages.html 2013-10-16 11:10:39.000000000 +0200 @@ -81,5 +81,10 @@ <p>If you do not find a suitable package for your distribution, there is no reason to panic. It is quite simple to install rsyslog from the source tarball, so you should consider that. +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/how-to-use-the-ubuntu-repository/">How to use the Ubuntu repository</a></li> +</ul> +</p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/sigprov_gt.html new/rsyslog-7.4.5/doc/sigprov_gt.html --- old/rsyslog-7.4.4/doc/sigprov_gt.html 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/doc/sigprov_gt.html 2013-10-16 11:10:39.000000000 +0200 @@ -64,6 +64,12 @@ hashes can be kept inside the signature file. </li> </ul> +<p><b>See Also</b> +<ul> +<li><a href="http://www.rsyslog.com/how-to-sign-log-messages-through-signature-provider-guardtime/">How +to sign log messages through signature provider Guardtime</a></li> +</ul> +</p> <b>Caveats/Known Bugs:</b> <ul> <li>currently none known diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/doc/troubleshoot.html new/rsyslog-7.4.5/doc/troubleshoot.html --- old/rsyslog-7.4.4/doc/troubleshoot.html 2012-04-04 08:29:55.000000000 +0200 +++ new/rsyslog-7.4.5/doc/troubleshoot.html 2013-09-24 09:12:11.000000000 +0200 @@ -88,15 +88,19 @@ meaningless value. <b>Do not delete the lines</b>, as this renders the debug log unusable (and makes Rainer quite angry for wasted time, aka significantly reduces the chance he will remain motivated to look at your problem ;)). For the same reason, make sure -whatever you change is change consistently. Really! -<p>Debug log file can get quite large. Before submitting them, it is a good idea to zip them. -Rainer has handled files of around 1 to 2 GB. If your's is larger ask before submitting. Often, -it is sufficient to submit the first 2,000 lines of the log file and around another 1,000 around -the area where you see a problem. Also, -ask you can submit a file via private mail. Private mail is usually a good way to go for large files -or files with sensitive content. However, do NOT send anything sensitive that you do not want -the outside to be known. While Rainer so far made effort no to leak any sensitive information, -there is no guarantee that doesn't happen. If you need a guarantee, you are probably a +whatever you change is changed consistently. Really! +<p>While most debug log files are moderately large, some can get quite to extremly large. +For those on the larger side, it is a good idea to zip them. If the file is less than +around 100KiB, it's probably not necessary. +<p>A good place to post your debug log is at the +<a href="http://kb.monitorware.com/rsyslog-f40.html">rsyslog support forums</a>, together with +your question. This also enables us to keep track of the case. The forums accept attachments in +various common formats, but rejects others for security reasons. The zip, txt, and log extensions +are definitely permitted, so it probably is a good idea to use one of them. For others, please +simply try and revert to another format if the forum doesn't like what you used. +<p> +Please note that all information in your debug file is publically visiable. +If this is not acceptable for you, you are probably a candidate for a <a href="professional_support.html">commercial support contract</a>. Free support comes without any guarantees, include no guarantee on confidentiality [aka "we don't want to be sued for work were are not even paid for ;)]. @@ -156,7 +160,7 @@ [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p> <p><font size="2">This documentation is part of the <a href="http://www.rsyslog.com/">rsyslog</a> project.<br> -Copyright © 2008-2010 by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a> and +Copyright © 2008-2013 by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a> and <a href="http://www.adiscon.com/">Adiscon</a>. Released under the GNU GPL version 3 or higher.</font></p> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/grammar/rainerscript.c new/rsyslog-7.4.5/grammar/rainerscript.c --- old/rsyslog-7.4.4/grammar/rainerscript.c 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/grammar/rainerscript.c 2013-10-16 12:41:54.000000000 +0200 @@ -1315,7 +1315,10 @@ if(bHadNoMatch) { cnfexprEval(func->expr[4], &r[4], usrptr); estr = var2String(&r[4], &bMustFree); - if(r[4].datatype == 'S') es_deleteStr(r[4].d.estr); + /* Note that we do NOT free the string that was returned/created + * for r[4]. We pass it to the caller, which in turn frees it. + * This saves us doing one unnecessary memory alloc & write. + */ } ret->datatype = 'S'; ret->d.estr = estr; @@ -2567,14 +2570,15 @@ cnfstmtNewPROPFILT(char *propfilt, struct cnfstmt *t_then) { struct cnfstmt* cnfstmt; - rsRetVal lRet; if((cnfstmt = cnfstmtNew(S_PROPFILT)) != NULL) { cnfstmt->printable = (uchar*)propfilt; cnfstmt->d.s_propfilt.t_then = t_then; cnfstmt->d.s_propfilt.propName = NULL; cnfstmt->d.s_propfilt.regex_cache = NULL; cnfstmt->d.s_propfilt.pCSCompValue = NULL; - lRet = DecodePropFilter((uchar*)propfilt, cnfstmt); + if(DecodePropFilter((uchar*)propfilt, cnfstmt) != RS_RET_OK) { + cnfstmt->nodetype = S_NOP; /* disable action! */ + } } return cnfstmt; } @@ -2779,7 +2783,7 @@ parser_errmsg("invalid facility '%s', expression will always " "evaluate to FALSE", cstr); } else { - /* we can acutally optimize! */ + /* we can actually optimize! */ DBGPRINTF("optimizer: change comparison OP to FUNC prifilt()\n"); func = cnffuncNew_prifilt(fac); if(expr->nodetype == CMP_NE) @@ -2858,7 +2862,7 @@ static inline void cnfexprOptimize_CMPEQ_arr(struct cnfarray *arr) { - DBGPRINTF("optimizer: sorting array for CMP_EQ/NEQ comparison\n"); + DBGPRINTF("optimizer: sorting array of %d members for CMP_EQ/NEQ comparison\n", arr->nmemb); qsort(arr->arr, arr->nmemb, sizeof(es_str_t*), qs_arrcmp); } @@ -2922,7 +2926,8 @@ } if(expr->l->nodetype == 'V') { expr = cnfexprOptimize_CMP_var(expr); - } else if(expr->r->nodetype == 'A') { + } + if(expr->r->nodetype == 'A') { cnfexprOptimize_CMPEQ_arr((struct cnfarray *)expr->r); } break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/plugins/imfile/imfile.c new/rsyslog-7.4.5/plugins/imfile/imfile.c --- old/rsyslog-7.4.4/plugins/imfile/imfile.c 2013-09-02 15:12:16.000000000 +0200 +++ new/rsyslog-7.4.5/plugins/imfile/imfile.c 2013-10-16 12:41:49.000000000 +0200 @@ -473,7 +473,7 @@ } else if(!strcmp(inppblk.descr[i].name, "severity")) { inst->iSeverity = pvals[i].val.d.n; } else if(!strcmp(inppblk.descr[i].name, "facility")) { - inst->iSeverity = pvals[i].val.d.n; + inst->iFacility = pvals[i].val.d.n; } else if(!strcmp(inppblk.descr[i].name, "readmode")) { inst->readMode = pvals[i].val.d.n; } else if(!strcmp(inppblk.descr[i].name, "maxlinesatonce")) { @@ -832,8 +832,8 @@ cs.pszFileName = NULL; free(cs.pszFileTag); cs.pszFileTag = NULL; - free(cs.pszFileTag); - cs.pszFileTag = NULL; + free(cs.pszStateFile); + cs.pszStateFile = NULL; /* set defaults... */ cs.iPollInterval = DFLT_PollInterval; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/plugins/impstats/impstats.c new/rsyslog-7.4.5/plugins/impstats/impstats.c --- old/rsyslog-7.4.4/plugins/impstats/impstats.c 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/plugins/impstats/impstats.c 2013-10-16 12:41:54.000000000 +0200 @@ -135,9 +135,9 @@ doSubmitMsg(uchar *line) { msg_t *pMsg; - DEFiRet; - CHKiRet(msgConstruct(&pMsg)); + if(msgConstruct(&pMsg) != RS_RET_OK) + goto finalize_it; MsgSetInputName(pMsg, pInputName); MsgSetRawMsgWOSize(pMsg, (char*)line); MsgSetHOSTNAME(pMsg, glbl.GetLocalHostName(), ustrlen(glbl.GetLocalHostName())); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/plugins/mmanon/mmanon.c new/rsyslog-7.4.5/plugins/mmanon/mmanon.c --- old/rsyslog-7.4.4/plugins/mmanon/mmanon.c 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/plugins/mmanon/mmanon.c 2013-10-16 11:10:39.000000000 +0200 @@ -170,7 +170,6 @@ cstr); free(cstr); } - pData->replChar = es_getBufAddr(pvals[i].val.d.estr)[0]; } else if(!strcmp(actpblk.descr[i].name, "replacementchar")) { pData->replChar = es_getBufAddr(pvals[i].val.d.estr)[0]; } else if(!strcmp(actpblk.descr[i].name, "ipv4.bits")) { @@ -307,7 +306,7 @@ ++i; ipstart[3] = i; octet = getnum(msg, lenMsg, &i); - if(octet > 255 || !(msg[i] == ' ' || msg[i] == ':')) goto done; + if(octet > 255) goto done; ipv4addr |= octet; /* OK, we now found an ip address */ @@ -339,6 +338,8 @@ if(i - endpos > 0) { *pLenMsg = lenMsg - (i - endpos); memmove(msg+endpos, msg+i, lenMsg - i + 1); + /* correct index for next search! */ + i -= (i - endpos); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/plugins/mmnormalize/mmnormalize.c new/rsyslog-7.4.5/plugins/mmnormalize/mmnormalize.c --- old/rsyslog-7.4.4/plugins/mmnormalize/mmnormalize.c 2013-09-03 11:54:20.000000000 +0200 +++ new/rsyslog-7.4.5/plugins/mmnormalize/mmnormalize.c 2013-10-16 11:10:39.000000000 +0200 @@ -227,6 +227,7 @@ /* TODO: this is all extremly ineffcient! */ ee_fmtEventToJSON(event, &str); cstrJSON = es_str2cstr(str, NULL); + ee_deleteEvent(event); dbgprintf("mmnormalize generated: %s\n", cstrJSON); tokener = json_tokener_new(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/plugins/omelasticsearch/omelasticsearch.c new/rsyslog-7.4.5/plugins/omelasticsearch/omelasticsearch.c --- old/rsyslog-7.4.4/plugins/omelasticsearch/omelasticsearch.c 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/plugins/omelasticsearch/omelasticsearch.c 2013-10-16 12:41:54.000000000 +0200 @@ -4,7 +4,7 @@ * NOTE: read comments in module-template.h for more specifics! * * Copyright 2011 Nathan Scott. - * Copyright 2009-2012 Rainer Gerhards and Adiscon GmbH. + * Copyright 2009-2013 Rainer Gerhards and Adiscon GmbH. * * This file is part of rsyslog. * @@ -58,10 +58,10 @@ DEFobjCurrIf(statsobj) statsobj_t *indexStats; -STATSCOUNTER_DEF(indexConFail, mutIndexConFail) STATSCOUNTER_DEF(indexSubmit, mutIndexSubmit) -STATSCOUNTER_DEF(indexFailed, mutIndexFailed) -STATSCOUNTER_DEF(indexSuccess, mutIndexSuccess) +STATSCOUNTER_DEF(indexHTTPFail, mutIndexHTTPFail) +STATSCOUNTER_DEF(indexHTTPReqFail, mutIndexHTTPReqFail) +STATSCOUNTER_DEF(indexESFail, mutIndexESFail) /* REST API for elasticsearch hits this URL: * http://<hostName>:<restPort>/<searchIndex>/<searchType> @@ -91,6 +91,7 @@ sbool asyncRepl; struct { es_str_t *data; + int nmemb; /* number of messages in batch (for statistics counting) */ uchar *currTpl1; uchar *currTpl2; } batch; @@ -432,6 +433,7 @@ DBGPRINTF("omelasticsearch: growing batch failed with code %d\n", r); ABORT_FINALIZE(RS_RET_ERR); } + ++pData->batch.nmemb; iRet = RS_RET_DEFER_COMMIT; finalize_it: @@ -577,12 +579,15 @@ finalize_it: if(root != NULL) cJSON_Delete(root); + if(iRet != RS_RET_OK) { + STATSCOUNTER_INC(indexESFail, mutIndexESFail); + } RETiRet; } static rsRetVal -curlPost(instanceData *pData, uchar *message, int msglen, uchar **tpls) +curlPost(instanceData *pData, uchar *message, int msglen, uchar **tpls, int nmsgs) { CURLcode code; CURL *curl = pData->curlHandle; @@ -603,13 +608,13 @@ case CURLE_COULDNT_RESOLVE_PROXY: case CURLE_COULDNT_CONNECT: case CURLE_WRITE_ERROR: - STATSCOUNTER_INC(indexConFail, mutIndexConFail); + STATSCOUNTER_INC(indexHTTPReqFail, mutHTTPReqFail); + indexHTTPFail += nmsgs; DBGPRINTF("omelasticsearch: we are suspending ourselfs due " "to failure %lld of curl_easy_perform()\n", (long long) code); ABORT_FINALIZE(RS_RET_SUSPENDED); default: - STATSCOUNTER_INC(indexSubmit, mutIndexSubmit); break; } @@ -633,17 +638,19 @@ } es_emptyStr(pData->batch.data); + pData->batch.nmemb = 0; finalize_it: ENDbeginTransaction BEGINdoAction CODESTARTdoAction + STATSCOUNTER_INC(indexSubmit, mutIndexSubmit); if(pData->bulkmode) { CHKiRet(buildBatch(pData, ppString[0], ppString)); } else { CHKiRet(curlPost(pData, ppString[0], strlen((char*)ppString[0]), - ppString)); + ppString, 1)); } finalize_it: dbgprintf("omelasticsearch: result doAction: %d (bulkmode %d)\n", iRet, pData->bulkmode); @@ -658,7 +665,7 @@ if (pData->batch.data != NULL ) { cstr = es_str2cstr(pData->batch.data, NULL); dbgprintf("omelasticsearch: endTransaction, batch: '%s'\n", cstr); - CHKiRet(curlPost(pData, (uchar*) cstr, strlen(cstr), NULL)); + CHKiRet(curlPost(pData, (uchar*) cstr, strlen(cstr), NULL, pData->batch.nmemb)); } else dbgprintf("omelasticsearch: endTransaction, pData->batch.data is NULL, nothing to send. \n"); @@ -993,15 +1000,19 @@ /* support statistics gathering */ CHKiRet(statsobj.Construct(&indexStats)); - CHKiRet(statsobj.SetName(indexStats, (uchar *)"elasticsearch")); - CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"connfail", - ctrType_IntCtr, &indexConFail)); - CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"submits", + CHKiRet(statsobj.SetName(indexStats, (uchar *)"omelasticsearch")); + STATSCOUNTER_INIT(indexSubmit, mutCtrIndexSubmit); + CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"submitted", ctrType_IntCtr, &indexSubmit)); - CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"failed", - ctrType_IntCtr, &indexFailed)); - CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"success", - ctrType_IntCtr, &indexSuccess)); + STATSCOUNTER_INIT(indexHTTPFail, mutCtrIndexHTTPFail); + CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"failed.http", + ctrType_IntCtr, &indexHTTPFail)); + STATSCOUNTER_INIT(indexHTTPReqFail, mutCtrIndexHTTPReqFail); + CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"failed.httprequests", + ctrType_IntCtr, &indexHTTPReqFail)); + STATSCOUNTER_INIT(indexESFail, mutCtrIndexESFail); + CHKiRet(statsobj.AddCounter(indexStats, (uchar *)"failed.es", + ctrType_IntCtr, &indexESFail)); CHKiRet(statsobj.ConstructFinalize(indexStats)); ENDmodInit diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/plugins/ommongodb/ommongodb.c new/rsyslog-7.4.5/plugins/ommongodb/ommongodb.c --- old/rsyslog-7.4.4/plugins/ommongodb/ommongodb.c 2013-09-03 11:54:20.000000000 +0200 +++ new/rsyslog-7.4.5/plugins/ommongodb/ommongodb.c 2013-09-24 09:12:11.000000000 +0200 @@ -35,7 +35,7 @@ #include <mongo.h> #include <json.h> /* For struct json_object_iter, should not be necessary in future versions */ -#include <json/json_object_private.h> +#include <json_object_private.h> #include "rsyslog.h" #include "conf.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/plugins/omprog/omprog.c new/rsyslog-7.4.5/plugins/omprog/omprog.c --- old/rsyslog-7.4.4/plugins/omprog/omprog.c 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/plugins/omprog/omprog.c 2013-10-16 12:41:49.000000000 +0200 @@ -122,6 +122,7 @@ { int i; struct sigaction sigAct; + sigset_t set; char *newargv[] = { NULL }; char *newenviron[] = { NULL }; @@ -146,10 +147,12 @@ /* reset signal handlers to default */ memset(&sigAct, 0, sizeof(sigAct)); - sigfillset(&sigAct.sa_mask); + sigemptyset(&sigAct.sa_mask); sigAct.sa_handler = SIG_DFL; for(i = 1 ; i < NSIG ; ++i) sigaction(i, &sigAct, NULL); + sigemptyset(&set); + sigprocmask(SIG_SETMASK, &set, NULL); alarm(0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/conf.c new/rsyslog-7.4.5/runtime/conf.c --- old/rsyslog-7.4.4/runtime/conf.c 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/conf.c 2013-10-16 12:41:54.000000000 +0200 @@ -573,6 +573,7 @@ } else { errmsg.LogError(0, NO_ERRCODE, "error: invalid compare operation '%s' - ignoring selector", (char*) rsCStrGetSzStrNoNULL(pCSCompOp)); + return(RS_RET_ERR); } rsCStrDestruct(&pCSCompOp); /* no longer needed */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/cryprov.h new/rsyslog-7.4.5/runtime/cryprov.h --- old/rsyslog-7.4.4/runtime/cryprov.h 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/cryprov.h 2013-10-16 12:41:49.000000000 +0200 @@ -24,8 +24,6 @@ #ifndef INCLUDED_CRYPROV_H #define INCLUDED_CRYPROV_H -#include <gcrypt.h> - /* interface */ BEGINinterface(cryprov) /* name must also be changed in ENDinterface macro! */ rsRetVal (*Construct)(void *ppThis); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/libgcry.h new/rsyslog-7.4.5/runtime/libgcry.h --- old/rsyslog-7.4.4/runtime/libgcry.h 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/libgcry.h 2013-10-16 12:41:54.000000000 +0200 @@ -21,7 +21,7 @@ #ifndef INCLUDED_LIBGCRY_H #define INCLUDED_LIBGCRY_H #include <stdint.h> - +#include <gcrypt.h> struct gcryctx_s { uchar *key; @@ -52,6 +52,7 @@ int gcryfileDestruct(gcryfile gf, off64_t offsLogfile); rsRetVal rsgcryInitCrypt(gcryctx ctx, gcryfile *pgf, uchar *fname); int rsgcryEncrypt(gcryfile pF, uchar *buf, size_t *len); +int gcryGetKeyFromProg(char *cmd, char **key, unsigned *keylen); /* error states */ #define RSGCRYE_EI_OPEN 1 /* error opening .encinfo file */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/msg.c new/rsyslog-7.4.5/runtime/msg.c --- old/rsyslog-7.4.4/runtime/msg.c 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/msg.c 2013-10-16 12:41:49.000000000 +0200 @@ -43,7 +43,7 @@ #include <libestr.h> #include <json.h> /* For struct json_object_iter, should not be necessary in future versions */ -#include <json/json_object_private.h> +#include <json_object_private.h> #if HAVE_MALLOC_H # include <malloc.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/msg.h new/rsyslog-7.4.5/runtime/msg.h --- old/rsyslog-7.4.4/runtime/msg.h 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/msg.h 2013-10-16 12:41:49.000000000 +0200 @@ -62,7 +62,6 @@ once data has entered the queue, this property is no longer needed. */ pthread_mutex_t mut; int iRefCount; /* reference counter (0 = unused) */ - sbool bAlreadyFreed; /* aid to help detect a well-hidden bad bug -- TODO: remove when no longer needed */ sbool bParseSuccess; /* set to reflect state of last executed higher level parser */ short iSeverity; /* the severity 0..7 */ short iFacility; /* Facility code 0 .. 23*/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/nsd_gtls.c new/rsyslog-7.4.5/runtime/nsd_gtls.c --- old/rsyslog-7.4.4/runtime/nsd_gtls.c 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/nsd_gtls.c 2013-09-24 09:12:12.000000000 +0200 @@ -2,7 +2,7 @@ * * An implementation of the nsd interface for GnuTLS. * - * Copyright (C) 2007, 2008 Rainer Gerhards and Adiscon GmbH. + * Copyright (C) 2007-2013 Rainer Gerhards and Adiscon GmbH. * * This file is part of the rsyslog runtime library. * @@ -547,10 +547,20 @@ keyFile = glbl.GetDfltNetstrmDrvrKeyFile(); dbgprintf("GTLS certificate file: '%s'\n", certFile); dbgprintf("GTLS key file: '%s'\n", keyFile); + if(certFile == NULL) { + errmsg.LogError(0, RS_RET_CERT_MISSING, "error: certificate file is not set, cannot " + "continue"); + ABORT_FINALIZE(RS_RET_CERT_MISSING); + } + if(keyFile == NULL) { + errmsg.LogError(0, RS_RET_CERTKEY_MISSING, "error: key file is not set, cannot " + "continue"); + ABORT_FINALIZE(RS_RET_CERTKEY_MISSING); + } CHKgnutls(gnutls_certificate_set_x509_key_file(xcred, (char*)certFile, (char*)keyFile, GNUTLS_X509_FMT_PEM)); finalize_it: - if(iRet != RS_RET_OK) { + if(iRet != RS_RET_OK && iRet != RS_RET_CERT_MISSING && iRet != RS_RET_CERTKEY_MISSING) { pGnuErr = gtlsStrerror(gnuRet); errno = 0; errmsg.LogError(0, iRet, "error adding our certificate. GnuTLS error %d, message: '%s', " @@ -580,6 +590,11 @@ /* sets the trusted cas file */ cafile = glbl.GetDfltNetstrmDrvrCAF(); + if(cafile == NULL) { + errmsg.LogError(0, RS_RET_CA_CERT_MISSING, "error: ca certificate is not set, cannot " + "continue"); + ABORT_FINALIZE(RS_RET_CA_CERT_MISSING); + } dbgprintf("GTLS CA file: '%s'\n", cafile); gnuRet = gnutls_certificate_set_x509_trust_file(xcred, (char*)cafile, GNUTLS_X509_FMT_PEM); if(gnuRet < 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/rsyslog.h new/rsyslog-7.4.5/runtime/rsyslog.h --- old/rsyslog-7.4.4/runtime/rsyslog.h 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/rsyslog.h 2013-10-16 12:41:49.000000000 +0200 @@ -3,7 +3,7 @@ * * Begun 2005-09-15 RGerhards * - * Copyright (C) 2005-2008 by Rainer Gerhards and Adiscon GmbH + * Copyright (C) 2005-2013 by Rainer Gerhards and Adiscon GmbH * * This file is part of the rsyslog runtime library. * @@ -413,6 +413,9 @@ RS_RET_CRY_INVLD_ALGO = -2326,/**< user specified invalid (unkonwn) crypto algorithm */ RS_RET_CRY_INVLD_MODE = -2327,/**< user specified invalid (unkonwn) crypto mode */ RS_RET_QUEUE_DISK_NO_FN = -2328,/**< disk queue configured, but filename not set */ + RS_RET_CA_CERT_MISSING = -2329,/**< a CA cert is missing where one is required (e.g. TLS) */ + RS_RET_CERT_MISSING = -2330,/**< a cert is missing where one is required (e.g. TLS) */ + RS_RET_CERTKEY_MISSING = -2331,/**< a cert (private) key is missing where one is required (e.g. TLS) */ /* RainerScript error messages (range 1000.. 1999) */ RS_RET_SYSVAR_NOT_FOUND = 1001, /**< system variable could not be found (maybe misspelled) */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/runtime/stringbuf.c new/rsyslog-7.4.5/runtime/stringbuf.c --- old/rsyslog-7.4.4/runtime/stringbuf.c 2013-08-30 18:30:41.000000000 +0200 +++ new/rsyslog-7.4.5/runtime/stringbuf.c 2013-10-16 12:41:54.000000000 +0200 @@ -107,7 +107,8 @@ /* a helper function for rsCStr*Strf() */ -static rsRetVal rsCStrConstructFromszStrv(cstr_t **ppThis, uchar *fmt, va_list ap) +static rsRetVal rsCStrConstructFromszStrv(cstr_t **ppThis, char *fmt, va_list ap) __attribute__((format(gnu_printf,2, 0))); +static rsRetVal rsCStrConstructFromszStrv(cstr_t **ppThis, char *fmt, va_list ap) { DEFiRet; cstr_t *pThis; @@ -147,7 +148,7 @@ va_list ap; va_start(ap, fmt); - iRet = rsCStrConstructFromszStrv(ppThis, (uchar*)fmt, ap); + iRet = rsCStrConstructFromszStrv(ppThis, fmt, ap); va_end(ap); RETiRet; @@ -315,7 +316,7 @@ cstr_t *pStr = NULL; va_start(ap, fmt); - iRet = rsCStrConstructFromszStrv(&pStr, fmt, ap); + iRet = rsCStrConstructFromszStrv(&pStr, (char*)fmt, ap); va_end(ap); CHKiRet(iRet); @@ -563,7 +564,7 @@ } /* i now is the new string length! */ pThis->iStrLen = i; - pThis->pBuf[pThis->iStrLen] = '0'; /* we always have this space */ + pThis->pBuf[pThis->iStrLen] = '\0'; /* we always have this space */ done: return RS_RET_OK; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rsyslog-7.4.4/tcpsrv.c new/rsyslog-7.4.5/tcpsrv.c --- old/rsyslog-7.4.4/tcpsrv.c 2013-09-03 12:31:42.000000000 +0200 +++ new/rsyslog-7.4.5/tcpsrv.c 2013-10-16 12:41:49.000000000 +0200 @@ -948,6 +948,8 @@ if(iRet != RS_RET_OK) { if(pThis->pNS != NULL) netstrms.Destruct(&pThis->pNS); + errmsg.LogError(0, iRet, "tcpsrv could not create listener (inputname: '%s')", + (pThis->pszInputName == NULL) ? (uchar*)"*UNSET*" : pThis->pszInputName); } RETiRet; } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
