summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2008-05-03 09:59:54 +0200
committerMichael Biebl <biebl@debian.org>2008-05-03 09:59:54 +0200
commit24b3073e74d910f3c45ccfb1ad56c8e601eb2bc7 (patch)
tree93dad4af1ef471584f16db99a8a5b53fd2a259df
parentd7b2091ccb935f85ad5ad43e8fb1d467ff63f979 (diff)
downloadrsyslog-24b3073e74d910f3c45ccfb1ad56c8e601eb2bc7.tar.gz
Imported Upstream version 3.16.1upstream/3.16.1
-rw-r--r--COPYING.LESSER166
-rw-r--r--ChangeLog45
-rw-r--r--Makefile.am7
-rw-r--r--Makefile.in16
-rw-r--r--aclocal.m4158
-rw-r--r--cfsysline.c2
-rw-r--r--conf.c2
-rw-r--r--config.h.in3
-rwxr-xr-xconfigure431
-rw-r--r--configure.ac23
-rw-r--r--ctok.c17
-rw-r--r--ctok.h15
-rw-r--r--ctok_token.c15
-rw-r--r--ctok_token.h15
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/Makefile.in6
-rw-r--r--doc/manual.html18
-rw-r--r--doc/rsyslog_conf.html4
-rw-r--r--doc/rsyslog_ng_comparison.html178
-rw-r--r--doc/status.html49
-rw-r--r--expr.c15
-rw-r--r--expr.h15
-rw-r--r--linkedlist.c2
-rw-r--r--modules.c10
-rw-r--r--obj.c3
-rw-r--r--plugins/imfile/Makefile.in5
-rw-r--r--plugins/imgssapi/Makefile.in5
-rw-r--r--plugins/imklog/Makefile.in5
-rw-r--r--plugins/imklog/ksym_mod.c1
-rw-r--r--plugins/immark/Makefile.in5
-rw-r--r--plugins/imrelp/Makefile.am4
-rw-r--r--plugins/imrelp/Makefile.in9
-rw-r--r--plugins/imtcp/Makefile.in5
-rw-r--r--plugins/imtemplate/Makefile.in5
-rw-r--r--plugins/imudp/Makefile.in5
-rw-r--r--plugins/imuxsock/Makefile.in5
-rw-r--r--plugins/omgssapi/Makefile.in5
-rw-r--r--plugins/omlibdbi/Makefile.in5
-rw-r--r--plugins/ommysql/Makefile.in5
-rw-r--r--plugins/ompgsql/Makefile.in5
-rw-r--r--plugins/omrelp/Makefile.am4
-rw-r--r--plugins/omrelp/Makefile.in9
-rw-r--r--plugins/omsnmp/Makefile.in5
-rw-r--r--plugins/omsnmp/omsnmp.c53
-rw-r--r--plugins/omtesting/Makefile.in5
-rw-r--r--queue.c37
-rw-r--r--queue.h15
-rw-r--r--regexp.c15
-rw-r--r--regexp.h15
-rw-r--r--rsyslog.conf.549
-rw-r--r--rsyslog.h7
-rw-r--r--stream.c15
-rw-r--r--stream.h15
-rw-r--r--stringbuf.h3
-rw-r--r--sync.c15
-rw-r--r--sync.h15
-rw-r--r--syslogd.c42
-rw-r--r--sysvar.c17
-rw-r--r--sysvar.h15
-rw-r--r--template.h2
-rw-r--r--var.c15
-rw-r--r--var.h15
-rw-r--r--vm.c15
-rw-r--r--vm.h15
-rw-r--r--vmop.c15
-rw-r--r--vmop.h15
-rw-r--r--vmprg.c15
-rw-r--r--vmprg.h15
-rw-r--r--vmstk.c15
-rw-r--r--vmstk.h15
-rw-r--r--wti.c15
-rw-r--r--wti.h15
-rw-r--r--wtp.c15
-rw-r--r--wtp.h15
74 files changed, 1205 insertions, 648 deletions
diff --git a/COPYING.LESSER b/COPYING.LESSER
new file mode 100644
index 0000000..34b8ea7
--- /dev/null
+++ b/COPYING.LESSER
@@ -0,0 +1,166 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
+
diff --git a/ChangeLog b/ChangeLog
index 70ef3c0..6b64b0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,47 @@
---------------------------------------------------------------------------
-Version 3.14.2 (rgerhards), 2008-04-??
+Version 3.16.1 (rgerhards), 2008-05-02
+- fixed a bug in imklog which lead to startup problems (including
+ segfault) on some platforms under some circumsances. Thanks to
+ Vieri for reporting this bug and helping to troubleshoot it.
+---------------------------------------------------------------------------
+Version 3.16.0 (rgerhards), 2008-04-24
+- new v3-stable (3.16.x) based on beta 3.15.x (RELP support)
+- bugfix: omsnmp had a too-small sized buffer for hostname+port. This
+ could not lead to a segfault, as snprintf() was used, but could cause
+ some trouble with extensively long hostnames.
+- applied patch from Tiziano Müller to remove some compiler warnings
+- added gssapi overview/howto thanks to Peter Vrabec
+- changed some files to grant LGPLv3 extended persmissions on top of GPLv3
+ this also is the first sign of something that will evolve into a
+ well-defined "rsyslog runtime library"
+---------------------------------------------------------------------------
+Version 3.15.1 (rgerhards), 2008-04-11
+- bugfix: some messages were emited without hostname
+- disabled atomic operations for the time being because they introduce some
+ cross-platform trouble - need to see how to fix this in the best
+ possible way
+- bugfix: zero-length strings were not supported in object
+ deserializer
+- added librelp check via PKG_CHECK thanks to Michael Biebl's patch
+- file relputil.c deleted, is not actually needed
+- added more meaningful error messages to rsyslogd (when some errors
+ happens during startup)
+- bugfix: memory leaks in script engine
+- bugfix: $hostname and $fromhost in RainerScript did not work
+This release also includes all changes applied to the stable versions
+up to today.
+---------------------------------------------------------------------------
+Version 3.15.0 (rgerhards), 2008-04-01
+- major new feature: imrelp/omrelp support reliable delivery of syslog
+ messages via the RELP protocol and librelp (http://www.librelp.com).
+ Plain tcp syslog, so far the best reliability solution, can lose
+ messages when something goes wrong or a peer goes down. With RELP,
+ this can no longer happen. See imrelp.html for more details.
+- bugfix: rsyslogd was no longer build by default; man pages are
+ only installed if corresponding option is selected. Thanks to
+ Michael Biebl for pointing these problems out.
+---------------------------------------------------------------------------
+Version 3.14.2 (rgerhards), 2008-04-09
- bugfix: segfault with expression-based filters
- bugfix: omsnmp did not deref errmsg object on exit (no bad effects caused)
- some cleanup
@@ -38,6 +80,7 @@ Version 3.14.1 (rgerhards), 2008-04-04
the full size, but will modify the outputs so that only 32 characters
max are used by default. If you need large tags in the output, you need
to provide custom templates.
+- bugfix: some memory leak when queue is runing in disk mode
---------------------------------------------------------------------------
Version 3.14.0 (rgerhards), 2008-04-02
An interim version was accidently released to the web. It was named 3.14.0.
diff --git a/Makefile.am b/Makefile.am
index 4b6602b..659acfb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -167,12 +167,6 @@ lmgssutil_la_LDFLAGS = -module -avoid-version
lmgssutil_la_LIBADD = $(gss_libs)
endif
-#
-# relp support
-#
-if ENABLE_RELP
-endif
-
EXTRA_DIST = \
redhat/rsyslog.conf \
redhat/rsyslog.init \
@@ -182,6 +176,7 @@ EXTRA_DIST = \
slackware/rc.rsyslogd \
contrib/README \
rsyslog.conf \
+ COPYING.LESSER \
$(man_MANS)
SUBDIRS = . doc
diff --git a/Makefile.in b/Makefile.in
index ecd07f8..7ef4cb7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -63,9 +63,9 @@ sbin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- missing
+ $(top_srcdir)/configure AUTHORS COPYING COPYING.LESSER \
+ ChangeLog INSTALL NEWS compile config.guess config.sub depcomp \
+ install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -304,7 +304,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -364,8 +367,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
@@ -514,10 +515,6 @@ pkglib_LTLIBRARIES = $(am__append_5) $(am__append_6) $(am__append_7)
@ENABLE_GSSAPI_TRUE@lmgssutil_la_CPPFLAGS = $(pthreads_cflags)
@ENABLE_GSSAPI_TRUE@lmgssutil_la_LDFLAGS = -module -avoid-version
@ENABLE_GSSAPI_TRUE@lmgssutil_la_LIBADD = $(gss_libs)
-
-#
-# relp support
-#
EXTRA_DIST = \
redhat/rsyslog.conf \
redhat/rsyslog.init \
@@ -527,6 +524,7 @@ EXTRA_DIST = \
slackware/rc.rsyslogd \
contrib/README \
rsyslog.conf \
+ COPYING.LESSER \
$(man_MANS)
SUBDIRS = . doc plugins/immark plugins/imuxsock plugins/imtcp \
diff --git a/aclocal.m4 b/aclocal.m4
index 16556e4..3cd0f09 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -6584,6 +6584,164 @@ AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+ if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ else
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ fi
+else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+ [AC_MSG_RESULT([no])
+ $4])
+elif test $pkg_failed = untried; then
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+ [$4])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
diff --git a/cfsysline.c b/cfsysline.c
index 1fd03a4..1aebc35 100644
--- a/cfsysline.c
+++ b/cfsysline.c
@@ -3,6 +3,8 @@
*
* File begun on 2007-07-30 by RGerhards
*
+ * Copyright (C) 2007, 2008 by Rainer Gerhards and Adiscon GmbH.
+ *
* This file is part of rsyslog.
*
* Rsyslog is free software: you can redistribute it and/or modify
diff --git a/conf.c b/conf.c
index 65d76d6..f87ab99 100644
--- a/conf.c
+++ b/conf.c
@@ -1205,7 +1205,7 @@ BEGINAbstractObjClassInit(conf, 1, OBJ_IS_CORE_MODULE) /* class, version - CHANG
CHKiRet(objUse(ctok_token, CORE_COMPONENT));
CHKiRet(objUse(module, CORE_COMPONENT));
CHKiRet(objUse(errmsg, CORE_COMPONENT));
- CHKiRet(objUse(net, LM_NET_FILENAME));
+ CHKiRet(objUse(net, LM_NET_FILENAME)); /* TODO: make this dependcy go away! */
ENDObjClassInit(conf)
/* vi:set ai:
diff --git a/config.h.in b/config.h.in
index ab54d86..9dfb954 100644
--- a/config.h.in
+++ b/config.h.in
@@ -70,9 +70,6 @@
/* Define to 1 if you have the <libgen.h> header file. */
#undef HAVE_LIBGEN_H
-/* Define to 1 if you have the <librelp.h> header file. */
-#undef HAVE_LIBRELP_H
-
/* Define to 1 if you have the <librfc3195.h> header file. */
#undef HAVE_LIBRFC3195_H
diff --git a/configure b/configure
index 15a6121..0ba2362 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for rsyslog 3.14.2.
+# Generated by GNU Autoconf 2.61 for rsyslog 3.16.1.
#
# Report bugs to <rsyslog@lists.adiscon.com>.
#
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='rsyslog'
PACKAGE_TARNAME='rsyslog'
-PACKAGE_VERSION='3.14.2'
-PACKAGE_STRING='rsyslog 3.14.2'
+PACKAGE_VERSION='3.16.1'
+PACKAGE_STRING='rsyslog 3.16.1'
PACKAGE_BUGREPORT='rsyslog@lists.adiscon.com'
ac_unique_file="syslogd.c"
@@ -906,10 +906,11 @@ snmp_cflags
snmp_libs
ENABLE_RSYSLOGD_TRUE
ENABLE_RSYSLOGD_FALSE
+PKG_CONFIG
+RELP_CFLAGS
+RELP_LIBS
ENABLE_RELP_TRUE
ENABLE_RELP_FALSE
-relp_cflags
-relp_libs
ENABLE_RFC3195_TRUE
ENABLE_RFC3195_FALSE
rfc3195_cflags
@@ -934,7 +935,10 @@ CXXFLAGS
CCC
CXXCPP
F77
-FFLAGS'
+FFLAGS
+PKG_CONFIG
+RELP_CFLAGS
+RELP_LIBS'
# Initialize some variables set by options.
@@ -1437,7 +1441,7 @@ if test "$ac_init_help" = "long"; then
# 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 3.14.2 to adapt to many kinds of systems.
+\`configure' configures rsyslog 3.16.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1507,7 +1511,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of rsyslog 3.14.2:";;
+ short | recursive ) echo "Configuration of rsyslog 3.16.1:";;
esac
cat <<\_ACEOF
@@ -1565,6 +1569,9 @@ Some influential environment variables:
CXXCPP C++ preprocessor
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
+ PKG_CONFIG path to pkg-config utility
+ RELP_CFLAGS C compiler flags for RELP, overriding pkg-config
+ RELP_LIBS linker flags for RELP, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1630,7 +1637,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-rsyslog configure 3.14.2
+rsyslog configure 3.16.1
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1644,7 +1651,7 @@ cat >config.log <<_ACEOF
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 3.14.2, which was
+It was created by rsyslog $as_me 3.16.1, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2334,7 +2341,7 @@ fi
# Define the identity of the package.
PACKAGE='rsyslog'
- VERSION='3.14.2'
+ VERSION='3.16.1'
cat >>confdefs.h <<_ACEOF
@@ -4519,7 +4526,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4522 "configure"' > conftest.$ac_ext
+ echo '#line 4529 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7262,11 +7269,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7265: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7272: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7269: \$? = $ac_status" >&5
+ echo "$as_me:7276: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7552,11 +7559,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7555: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7562: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7559: \$? = $ac_status" >&5
+ echo "$as_me:7566: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7656,11 +7663,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7659: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7666: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7663: \$? = $ac_status" >&5
+ echo "$as_me:7670: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10007,7 +10014,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10010 "configure"
+#line 10017 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10107,7 +10114,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10110 "configure"
+#line 10117 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12527,11 +12534,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12530: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12537: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12534: \$? = $ac_status" >&5
+ echo "$as_me:12541: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12631,11 +12638,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12634: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12641: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12638: \$? = $ac_status" >&5
+ echo "$as_me:12645: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14195,11 +14202,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14198: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14205: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14202: \$? = $ac_status" >&5
+ echo "$as_me:14209: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14299,11 +14306,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14302: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14309: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14306: \$? = $ac_status" >&5
+ echo "$as_me:14313: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16488,11 +16495,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16491: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16498: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16495: \$? = $ac_status" >&5
+ echo "$as_me:16502: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16778,11 +16785,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16781: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16788: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16785: \$? = $ac_status" >&5
+ echo "$as_me:16792: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16882,11 +16889,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16885: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16892: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16889: \$? = $ac_status" >&5
+ echo "$as_me:16896: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -25487,168 +25494,236 @@ fi
if test "x$enable_relp" = "xyes"; then
-for ac_header in librelp.h
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
- ac_header_compiler=no
fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ PKG_CONFIG=""
+ fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+fi
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for RELP" >&5
+echo $ECHO_N "checking for RELP... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$RELP_CFLAGS"; then
+ pkg_cv_RELP_CFLAGS="$RELP_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"relp\"") >&5
+ ($PKG_CONFIG --exists --print-errors "relp") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ (exit $ac_status); }; then
+ pkg_cv_RELP_CFLAGS=`$PKG_CONFIG --cflags "relp" 2>/dev/null`
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$RELP_LIBS"; then
+ pkg_cv_RELP_LIBS="$RELP_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"relp\"") >&5
+ ($PKG_CONFIG --exists --print-errors "relp") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_RELP_LIBS=`$PKG_CONFIG --libs "relp" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ---------------------------------------- ##
-## Report this to rsyslog@lists.adiscon.com ##
-## ---------------------------------------- ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- eval "$as_ac_Header=\$ac_header_preproc"
+ _pkg_short_errors_supported=no
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ if test $_pkg_short_errors_supported = yes; then
+ RELP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "relp"`
+ else
+ RELP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "relp"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$RELP_PKG_ERRORS" >&5
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+ { { echo "$as_me:$LINENO: error: Package requirements (relp) were not met:
-else
- { { echo "$as_me:$LINENO: error: RELP library is missing (no headers)
-See \`config.log' for more details." >&5
-echo "$as_me: error: RELP library is missing (no headers)
-See \`config.log' for more details." >&2;}
+$RELP_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables RELP_CFLAGS
+and RELP_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (relp) were not met:
+
+$RELP_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables RELP_CFLAGS
+and RELP_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
{ (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
-fi
+Alternatively, you may set the environment variables RELP_CFLAGS
+and RELP_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
-done
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
-# I don't know how to tell that librelp needs -lrt, so I disable
-# this check for now - the header check should work well enough...
-# rgerhards, 2008-03-25
-# AC_CHECK_LIB(
-# [relp],
-# [relpEngineGetVersion],
-# [relp_cflags=""
- relp_libs="-lrelp"
-# ],
-# [AC_MSG_FAILURE([RELP library is missing])]
-# )
+Alternatively, you may set the environment variables RELP_CFLAGS
+and RELP_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ RELP_CFLAGS=$pkg_cv_RELP_CFLAGS
+ RELP_LIBS=$pkg_cv_RELP_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
fi
if test x$enable_relp = xyes; then
ENABLE_RELP_TRUE=
@@ -25661,7 +25736,6 @@ fi
-
# RFC 3195 support
# WARNING: THIS IS NOT REALLY PRESENT YET - needs to be build manually!
# Check whether --enable-rfc3195 was given.
@@ -26443,7 +26517,7 @@ exec 6>&1
# 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 3.14.2, which was
+This file was extended by rsyslog $as_me 3.16.1, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26496,7 +26570,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-rsyslog config.status 3.14.2
+rsyslog config.status 3.16.1
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -26870,10 +26944,11 @@ snmp_cflags!$snmp_cflags$ac_delim
snmp_libs!$snmp_libs$ac_delim
ENABLE_RSYSLOGD_TRUE!$ENABLE_RSYSLOGD_TRUE$ac_delim
ENABLE_RSYSLOGD_FALSE!$ENABLE_RSYSLOGD_FALSE$ac_delim
+PKG_CONFIG!$PKG_CONFIG$ac_delim
+RELP_CFLAGS!$RELP_CFLAGS$ac_delim
+RELP_LIBS!$RELP_LIBS$ac_delim
ENABLE_RELP_TRUE!$ENABLE_RELP_TRUE$ac_delim
ENABLE_RELP_FALSE!$ENABLE_RELP_FALSE$ac_delim
-relp_cflags!$relp_cflags$ac_delim
-relp_libs!$relp_libs$ac_delim
ENABLE_RFC3195_TRUE!$ENABLE_RFC3195_TRUE$ac_delim
ENABLE_RFC3195_FALSE!$ENABLE_RFC3195_FALSE$ac_delim
rfc3195_cflags!$rfc3195_cflags$ac_delim
@@ -26885,7 +26960,7 @@ ENABLE_IMTEMPLATE_FALSE!$ENABLE_IMTEMPLATE_FALSE$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 53; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 54; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/configure.ac b/configure.ac
index e2bda20..8f10720 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
-AC_INIT([rsyslog],[3.14.2],[rsyslog@lists.adiscon.com])
+AC_INIT([rsyslog],[3.16.1],[rsyslog@lists.adiscon.com])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([syslogd.c])
AC_CONFIG_HEADERS([config.h])
@@ -466,26 +466,11 @@ AC_ARG_ENABLE(relp,
[enable_relp=no]
)
if test "x$enable_relp" = "xyes"; then
- AC_CHECK_HEADERS(
- [librelp.h],,
- [AC_MSG_FAILURE([RELP library is missing (no headers)])]
- )
-# I don't know how to tell that librelp needs -lrt, so I disable
-# this check for now - the header check should work well enough...
-# rgerhards, 2008-03-25
-# AC_CHECK_LIB(
-# [relp],
-# [relpEngineGetVersion],
-# [relp_cflags=""
- relp_libs="-lrelp"
-# ],
-# [AC_MSG_FAILURE([RELP library is missing])]
-# )
+ PKG_CHECK_MODULES(RELP, relp)
fi
AM_CONDITIONAL(ENABLE_RELP, test x$enable_relp = xyes)
-AC_SUBST(relp_cflags)
-AC_SUBST(relp_libs)
-
+AC_SUBST(RELP_CFLAGS)
+AC_SUBST(RELP_LIBS)
# RFC 3195 support
# WARNING: THIS IS NOT REALLY PRESENT YET - needs to be build manually!
diff --git a/ctok.c b/ctok.c
index 58a18b4..de2bd8a 100644
--- a/ctok.c
+++ b/ctok.c
@@ -8,24 +8,25 @@
*
* Module begun 2008-02-19 by Rainer Gerhards
*
- * Copyright 2008 Rainer Gerhards and Adiscon GmbH.
+ * Copyright (C) 2008 by Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/ctok.h b/ctok.h
index aa1af4e..591f083 100644
--- a/ctok.h
+++ b/ctok.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_CTOK_H
#define INCLUDED_CTOK_H
diff --git a/ctok_token.c b/ctok_token.c
index 09200c0..0f34067 100644
--- a/ctok_token.c
+++ b/ctok_token.c
@@ -4,22 +4,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/ctok_token.h b/ctok_token.h
index 63a00dd..346d5ac 100644
--- a/ctok_token.h
+++ b/ctok_token.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_CTOK_TOKEN_H
#define INCLUDED_CTOK_TOKEN_H
diff --git a/doc/Makefile.am b/doc/Makefile.am
index aa4e8a7..c1d41cf 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -22,7 +22,6 @@ html_files = \
rsyslog_php_syslog_ng.html \
rsyslog_recording_pri.html \
rsyslog_stunnel.html \
- status.html \
syslog-protocol.html \
version_naming.html \
contributors.html \
diff --git a/doc/Makefile.in b/doc/Makefile.in
index ed21b20..c5d223e 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -94,7 +94,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -154,8 +157,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
@@ -193,7 +194,6 @@ html_files = \
rsyslog_php_syslog_ng.html \
rsyslog_recording_pri.html \
rsyslog_stunnel.html \
- status.html \
syslog-protocol.html \
version_naming.html \
contributors.html \
diff --git a/doc/manual.html b/doc/manual.html
index 9d4dbef..3792fad 100644
--- a/doc/manual.html
+++ b/doc/manual.html
@@ -1,6 +1,5 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><title>rsyslog documentation</title>
-</head>
+<html><head><title>rsyslog documentation</title></head>
<body>
<h1>RSyslog - Documentation</h1>
<p><b><a href="http://www.rsyslog.com/">Rsyslog</a>
@@ -17,10 +16,10 @@ relay chains while at the same time being very easy to setup for the
novice user. And as we know what enterprise users really need, there is
also <a href="professional_support.html">professional
rsyslog support</a> available directly from the source!</p>
-<p><b>This documentation is for version 3.14.2 of rsyslog.</b>
+<p><b>This documentation is for version 3.16.1 (v3-stable branch) of rsyslog.</b>
Visit the <i> <a href="http://www.rsyslog.com/doc-status.html">rsyslog status page</a></i></b> to obtain current
version information and project status.
-<p><b>If you like rsyslog, you might
+</p><p><b>If you like rsyslog, you might
want to lend us a helping hand. </b>It doesn't require a lot of
time - even a single mouse click helps. Learn <a href="how2help.html">how to help the rsyslog project</a>.
Due to popular demand, there is now a <a href="rsyslog_ng_comparison.html">side-by-side comparison
@@ -64,10 +63,9 @@ php-syslog-ng with rsyslog</a></li>
<li><a href="rsyslog_recording_pri.html">recording
the syslog priority (severity and facility) to the log file</a></li>
<li><a href="http://www.rsyslog.com/Article19.phtml">preserving
-syslog sender over NAT</a> (online only)</li>
+syslog sender over NAT</a> (online only)</li><li><a href="gssapi.html">an overview and howto of rsyslog gssapi support</a></li>
<li><a href="debug.html">debug support in rsyslog</a></li>
-<li><a href="dev_queue.html">the rsyslog message
-queue object</a></li>
+<li><a href="dev_queue.html">the rsyslog message queue object</a></li>
</ul>
<p>Our <a href="history.html">rsyslog history</a>
page is for you if you would like to learn a little more
@@ -99,5 +97,9 @@ mailing list</a>. If you are interested in the "backstage", you
may find
<a href="http://www.gerhards.net/rainer">Rainer</a>'s
<a href="http://rgerhards.blogspot.com/">blog</a> an
-interesting read (filter on syslog and rsyslog tags).</p>
+interesting read (filter on syslog and rsyslog tags).
+If you would like to use rsyslog source code inside your open source project, you can do that without
+any restriction as long as your license is GPLv3 compatible. If your license is incompatible to GPLv3,
+you may even be still permitted to use rsyslog source code. However, then you need to look at the way
+<a href="licensing.html">rsyslog is licensed</a>.</p>
</body></html>
diff --git a/doc/rsyslog_conf.html b/doc/rsyslog_conf.html
index 5931a24..2a0f0c6 100644
--- a/doc/rsyslog_conf.html
+++ b/doc/rsyslog_conf.html
@@ -26,7 +26,7 @@ number of modules. Here is the entry point to their documentation and
what they do (list is currently not complete)</p>
<ul>
<li><a href="omsnmp.html">omsnmp</a> - SNMP
-trap output module</li><li>omrelp - RELP output module</li>
+trap output module</li><li><a href="omrelp.html">omrelp</a> - RELP output module</li>
<li>omgss - output module for GSS-enabled syslog</li>
<li>ommysql - output module for MySQL</li>
<li>ompgsql - output module for PostgreSQL</li>
@@ -34,7 +34,7 @@ trap output module</li><li>omrelp - RELP output module</li>
generic database output module (Firebird/Interbase, MS SQL, Sybase,
SQLLite, Ingres, Oracle, mSQL)</li>
<li><a href="imfile.html">imfile</a>
--&nbsp; input module for text files</li><li>imrelp - RELP input module</li>
+-&nbsp; input module for text files</li><li><a href="imrelp.html">imrelp</a> - RELP input module</li>
<li>imudp - udp syslog message input</li>
<li><a href="imtcp.html">imtcp</a> - input
plugin for plain tcp syslog</li>
diff --git a/doc/rsyslog_ng_comparison.html b/doc/rsyslog_ng_comparison.html
index 547501a..2a1d15b 100644
--- a/doc/rsyslog_ng_comparison.html
+++ b/doc/rsyslog_ng_comparison.html
@@ -1,6 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
-<meta content="de" http-equiv="Content-Language"><title>rsyslog vs. syslog-ng - a comparison</title></head>
+<meta content="de" http-equiv="Content-Language"><title>rsyslog vs. syslog-ng - a comparison</title>
+
+</head>
<body>
<h1>rsyslog vs. syslog-ng</h1>
<p><small><i>Written by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a>
@@ -25,56 +27,72 @@ comparison sheet, so please don't be shy ;)</p>
<td valign="top"><b>rsyslog</b></td>
<td valign="top"><b>syslog-ng</b></td>
</tr>
-
-
<tr>
-<td colspan="3" valign="top"><br><b>Input Sources</b><br></td>
+<td colspan="3" valign="top"><br>
+<b>Input Sources</b><br>
+</td>
</tr>
-<tr><td valign="top">UNIX domain socket</td>
+<tr>
+<td valign="top">UNIX domain socket</td>
+<td valign="top">yes</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td></td>
+</tr>
<tr>
<td valign="top">UDP</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">TCP</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
+<tr>
+<td valign="top"><a href="http://www.librelp.com">RELP</a></td>
+<td valign="top">yes</td>
+<td valign="top">no</td>
+<td></td>
+</tr>
<tr>
<td valign="top">RFC 3195/BEEP</td>
<td valign="top">yes (needs separate build process)</td>
-<td valign="top">no</td><td>
-</td></tr>
+<td valign="top">no</td>
+<td></td>
+</tr>
<tr>
<td valign="top">kernel log</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">file</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
-<td valign="top">mark message generator as an optional input</td>
+<td valign="top">mark message generator as an
+optional input</td>
<td valign="top">yes</td>
-<td valign="top">no (?)</td><td>
-</td></tr>
+<td valign="top">no (?)</td>
+<td></td>
+</tr>
<tr>
<td valign="top">Windows Event Log</td>
<td valign="top">via <a href="http://www.eventreporter.com">EventReporter</a>
or <a href="http://www.mwagent.com">MonitorWare Agent</a>
(both commercial software)</td>
-<td valign="top">via separate Windows agent, paid edition only</td>
+<td valign="top">via separate Windows agent, paid
+edition only</td>
</tr>
-
-
<tr>
-<td colspan="3" valign="top"><b><br>Network (Protocol) Support</b><br></td>
+<td colspan="3" valign="top"><b><br>
+Network (Protocol) Support</b><br>
+</td>
</tr>
<tr>
<td valign="top">support for (plain) tcp based syslog</td>
@@ -104,6 +122,11 @@ based framing on syslog/tcp connections</td>
<td valign="top">yes</td>
</tr>
<tr>
+<td valign="top">syslog over RELP<br>this is a truely reliable solution (plain tcp syslog can lose messages!)</td>
+<td valign="top">yes</td>
+<td valign="top">no</td>
+</tr>
+<tr>
<td valign="top">on the wire (zlib) message
compression</td>
<td valign="top">yes</td>
@@ -146,38 +169,46 @@ hostname in NAT environments and relay chains</td>
<td valign="top">yes</td>
<td valign="top">yes</td>
</tr>
-
-
<tr>
-<td colspan="3" valign="top"><br><b>Message Filtering</b><br></td>
+<td colspan="3" valign="top"><br>
+<b>Message Filtering</b><br>
+</td>
</tr>
-<tr><td valign="top">Filtering for syslog facility and priority</td>
+<tr>
+<td valign="top">Filtering for syslog facility and
+priority</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">Filtering for hostname</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">Filtering for application</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">Filtering for message contents</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">Filtering for sending IP address</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
-<td valign="top">ability to filter on any other message
-field not mentioned above
+<td valign="top">ability to filter on any other
+message
+field not mentioned above
(including substrings and the like)</td>
<td valign="top">yes</td>
<td valign="top">no</td>
@@ -210,8 +241,9 @@ in filters</td>
<td valign="top">support for discarding messages
based on filters</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">powerful BSD-style hostname and
program name blocks for easy multi-host support</td>
@@ -223,10 +255,10 @@ program name blocks for easy multi-host support</td>
<td></td>
<td></td>
</tr>
-
-
<tr>
-<td colspan="3" valign="top"><br><b>Supported Database Outputs</b><br></td>
+<td colspan="3" valign="top"><br>
+<b>Supported Database Outputs</b><br>
+</td>
</tr>
<tr>
<td valign="top">MySQL</td>
@@ -274,10 +306,10 @@ program name blocks for easy multi-host support</td>
<td valign="top">yes (<a href="omlibdbi.html">omlibdbi</a>)</td>
<td valign="top">no (?)</td>
</tr>
-
-
<tr>
-<td colspan="3" valign="top"><br><b>Enterprise Features</b><br></td>
+<td colspan="3" valign="top"><br>
+<b>Enterprise Features</b><br>
+</td>
</tr>
<tr>
<td valign="top">support for on-demand on-disk
@@ -292,7 +324,8 @@ by spool files</td>
<td valign="top">yes</td>
</tr>
<tr>
-<td valign="top">each action can use its own, independant
+<td valign="top">each action can use its own,
+independant
set of spool files</td>
<td valign="top">yes</td>
<td valign="top">no</td>
@@ -314,10 +347,10 @@ syslog/database servers </td>
<td><a href="professional_support.html">yes</a></td>
<td>yes</td>
</tr>
-
-
<tr>
-<td colspan="3" valign="top"><br><b>Config File</b><br></td>
+<td colspan="3" valign="top"><br>
+<b>Config File</b><br>
+</td>
</tr>
<tr>
<td valign="top">config file format</td>
@@ -338,37 +371,40 @@ existing in a specific directory</td>
<td height="25" valign="top">yes</td>
<td height="25" valign="top">no</td>
</tr>
-
-
-
<tr>
-<td colspan="3" valign="top"><br><b>Extensibility</b><br></td>
+<td colspan="3" valign="top"><br>
+<b>Extensibility</b><br>
+</td>
</tr>
<tr>
-<td valign="top">Functionality split in separately loadable
+<td valign="top">Functionality split in separately
+loadable
modules</td>
<td valign="top">yes</td>
<td valign="top">no</td>
</tr>
<tr>
-<td valign="top">Support for third-party input plugins</td>
+<td valign="top">Support for third-party input
+plugins</td>
<td valign="top">yes</td>
<td valign="top">no</td>
</tr>
<tr>
</tr>
-<tr><td valign="top">Support for third-party output plugins</td>
+<tr>
+<td valign="top">Support for third-party output
+plugins</td>
<td valign="top">yes</td>
<td valign="top">no</td>
</tr>
-
-
-
<tr>
-<td colspan="3" valign="top"><br><b>Other Features</b><br></td>
+<td colspan="3" valign="top"><br>
+<b>Other Features</b><br>
+</td>
+</tr>
+<tr>
</tr>
<tr>
-</tr><tr>
<td valign="top">ability to generate file names and
directories (log targets) dynamically</td>
<td valign="top">yes</td>
@@ -440,8 +476,9 @@ reduction ("last message repeated n times") on a per selector-line basis</td>
<td valign="top">supports multiple actions per
selector/filter condition</td>
<td valign="top">yes</td>
-<td valign="top">yes</td><td>
-</td></tr>
+<td valign="top">yes</td>
+<td></td>
+</tr>
<tr>
<td valign="top">web interface</td>
<td valign="top"><a href="http://www.phplogcon.org">phpLogCon</a><br>
@@ -469,8 +506,11 @@ system stress</td>
<tr>
<td height="43" valign="top">flow control
(slow down message reception when system is busy)</td>
-<td height="43" valign="top">yes (advanced, with multiple ways to slow down inputs depending on individual input capabilities, based on watermarks)</td>
-<td height="43" valign="top">yes (limited? "stops accepting messages")</td>
+<td height="43" valign="top">yes (advanced,
+with multiple ways to slow down inputs depending on individual input
+capabilities, based on watermarks)</td>
+<td height="43" valign="top">yes (limited?
+"stops accepting messages")</td>
</tr>
<tr>
<td valign="top">rewriting messages</td>
@@ -504,8 +544,6 @@ Solaris; compilation and basic testing done on HP UX</td>
<td valign="top">no</td>
<td valign="top">yes</td>
</tr>
-
-
</tbody>
</table>
<p>While the <span style="font-weight: bold;">rsyslog</span>
diff --git a/doc/status.html b/doc/status.html
deleted file mode 100644
index d7111a5..0000000
--- a/doc/status.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><title>rsyslog status page</title></head>
-<body>
-<h2>rsyslog status page</h2>
-<p>This page reflects the status as of 2008-04-04.</p>
-<h2>Current Releases</h2>
-
-<p><b>development:</b> 3.15.0 -
-<a href="http://www.rsyslog.com/Article203.phtml">change log</a> -
-<a href="http://www.rsyslog.com/Downloads-index-req-getit-lid-93.phtml">download</a></p>
-
-<p><b>v3 stable:</b> 3.14.0 - <a href="http://www.rsyslog.com/Article205.phtml">change log</a> -
-<a href="http://www.rsyslog.com/Downloads-index-req-getit-lid-94.phtml">download</a>
-
-<br><b>v2 stable:</b> 2.0.4 - <a href="http://www.rsyslog.com/Article197.phtml">change log</a> -
-<a href="http://www.rsyslog.com/Downloads-index-req-getit-lid-90.phtml">download</a>
-<br>v0 and v1 are depricated and no longer supported. If you absolutely do not like to
-upgrade, you may consider purchasing a
-<a href="professional_support.html">commercial rsyslog support package</a>. Just let us point
-out that it is really not a good idea to still run a v0 version.
-
-<p><a href="v3compatibility.html">If you updgrade from version 2, be sure to read the rsyslog v3
-compatibility document.</a></p>
-<p>(<a href="version_naming.html">How are versions named?</a>)</p>
-
-<h2>Platforms</h2>
-<p>Thankfully, a number of folks have begin to build packages and
-help port rsyslog to other platforms. As such,
-<a href="http://wiki.rsyslog.com/index.php/Platforms">the
-platform list is now maintained inside the rsyslog wiki</a>.
-Platform maintainers perhaps have posted extra information there. If
-you do platform-specific work, feel free to add information to the wiki.</p>
-<p>Rsyslog is the default syslogd in Fedora 8 and above.</p>
-<h2>Additional information</h2>
-<p><b>Currently supported features are listed on the <a href="features.html">rsyslog features page</a>.</b></p>
-<ul>
-<li>The rsyslog home page is <a href="http://www.rsyslog.com">www.rsyslog.com</a>.</li>
-<li>Mailing list info can be found at <a href="http://lists.adiscon.net/mailman/listinfo/rsyslog">http://lists.adiscon.com/rsyslog</a>.</li>
-<li>The change log can be found at <a href="http://www.rsyslog.com/Topic4.phtml">
-http://www.rsyslog.com/Topic4.phtml</a>. </li>
-<li>Online documentation is available at <a href="http://www.rsyslog.com/doc">http://www.rsyslog.com/doc</a>.</li>
-<li>You may also find <a href="http://rgerhards.blogspot.com/">Rainer's blog</a>
-an interesting read.</li>
-</ul>
-<p>The project was initiated in 2003 and seriouosly begun in 2004 by
-<a href="http://www.gerhards.net/rainer">Rainer Gerhards</a>
-and is currently being maintained by him. See the <a href="history.html">history page</a> for more
-background information.</p>
-</body></html>
diff --git a/expr.c b/expr.c
index 5c11b75..0f6e746 100644
--- a/expr.c
+++ b/expr.c
@@ -8,22 +8,23 @@
*
* Copyright 2007, 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/expr.h b/expr.h
index 3481695..974b71e 100644
--- a/expr.h
+++ b/expr.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_EXPR_H
#define INCLUDED_EXPR_H
diff --git a/linkedlist.c b/linkedlist.c
index 9adf40c..383cf48 100644
--- a/linkedlist.c
+++ b/linkedlist.c
@@ -11,6 +11,8 @@
*
* File begun on 2007-07-31 by RGerhards
*
+ * Copyright (C) 2007, 2008 by Rainer Gerhards and Adiscon GmbH.
+ *
* This file is part of rsyslog.
*
* Rsyslog is free software: you can redistribute it and/or modify
diff --git a/modules.c b/modules.c
index 84f017e..57df48b 100644
--- a/modules.c
+++ b/modules.c
@@ -595,7 +595,7 @@ Load(uchar *pModName)
szPath[iPathLen] = '\0';
} else {
errmsg.LogError(NO_ERRCODE, "could not load module '%s', path too long\n", pModName);
- ABORT_FINALIZE(RS_RET_ERR);
+ ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_PATHLEN);
}
}
}
@@ -616,24 +616,24 @@ Load(uchar *pModName)
if(iPathLen + strlen((char*) pModName) >= sizeof(szPath)) {
errmsg.LogError(NO_ERRCODE, "could not load module '%s', path too long\n", pModName);
- ABORT_FINALIZE(RS_RET_ERR);
+ ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_PATHLEN);
}
/* complete load path constructed, so ... GO! */
dbgprintf("loading module '%s'\n", szPath);
if(!(pModHdlr = dlopen((char *) szPath, RTLD_NOW))) {
errmsg.LogError(NO_ERRCODE, "could not load module '%s', dlopen: %s\n", szPath, dlerror());
- ABORT_FINALIZE(RS_RET_ERR);
+ ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_DLOPEN);
}
if(!(pModInit = dlsym(pModHdlr, "modInit"))) {
errmsg.LogError(NO_ERRCODE, "could not load module '%s', dlsym: %s\n", szPath, dlerror());
dlclose(pModHdlr);
- ABORT_FINALIZE(RS_RET_ERR);
+ ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_NO_INIT);
}
if((iRet = doModInit(pModInit, (uchar*) pModName, pModHdlr)) != RS_RET_OK) {
errmsg.LogError(NO_ERRCODE, "could not load module '%s', rsyslog error %d\n", szPath, iRet);
dlclose(pModHdlr);
- ABORT_FINALIZE(RS_RET_ERR);
+ ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_INIT_FAILED);
}
finalize_it:
diff --git a/obj.c b/obj.c
index 2f16669..bb907d4 100644
--- a/obj.c
+++ b/obj.c
@@ -85,6 +85,7 @@
#include "stream.h"
#include "modules.h"
#include "errmsg.h"
+#include "cfsysline.h"
/* static data */
DEFobjCurrIf(obj) /* we define our own interface, as this is expected by some macros! */
@@ -1328,7 +1329,7 @@ objClassInit(modInfo_t *pModInfo)
/* init classes we use (limit to as few as possible!) */
CHKiRet(errmsgClassInit(pModInfo));
- CHKiRet(cfsyslineInit(pModInfo));
+ CHKiRet(cfsyslineInit());
CHKiRet(varClassInit(pModInfo));
CHKiRet(moduleClassInit(pModInfo));
CHKiRet(objUse(var, CORE_COMPONENT));
diff --git a/plugins/imfile/Makefile.in b/plugins/imfile/Makefile.in
index 39b7450..456d1fb 100644
--- a/plugins/imfile/Makefile.in
+++ b/plugins/imfile/Makefile.in
@@ -124,7 +124,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -184,8 +187,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/imgssapi/Makefile.in b/plugins/imgssapi/Makefile.in
index 84e2b6e..d16575a 100644
--- a/plugins/imgssapi/Makefile.in
+++ b/plugins/imgssapi/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/imklog/Makefile.in b/plugins/imklog/Makefile.in
index 5f5ecd9..61d8e26 100644
--- a/plugins/imklog/Makefile.in
+++ b/plugins/imklog/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/imklog/ksym_mod.c b/plugins/imklog/ksym_mod.c
index 11535a5..3e064e2 100644
--- a/plugins/imklog/ksym_mod.c
+++ b/plugins/imklog/ksym_mod.c
@@ -163,7 +163,6 @@ extern int InitMsyms(void)
else
Syslog(LOG_ERR, "Error loading kernel symbols " \
"- %s\n", strerror(errno));
- fclose(ksyms);
return(0);
}
diff --git a/plugins/immark/Makefile.in b/plugins/immark/Makefile.in
index 8d4eaa8..42458a3 100644
--- a/plugins/immark/Makefile.in
+++ b/plugins/immark/Makefile.in
@@ -124,7 +124,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -184,8 +187,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/imrelp/Makefile.am b/plugins/imrelp/Makefile.am
index 167065b..53c9322 100644
--- a/plugins/imrelp/Makefile.am
+++ b/plugins/imrelp/Makefile.am
@@ -1,6 +1,6 @@
pkglib_LTLIBRARIES = imrelp.la
imrelp_la_SOURCES = imrelp.c
-imrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(relp_cflags)
+imrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(RELP_CFLAGS)
imrelp_la_LDFLAGS = -module -avoid-version
-imrelp_la_LIBADD = $(relp_libs)
+imrelp_la_LIBADD = $(RELP_LIBS)
diff --git a/plugins/imrelp/Makefile.in b/plugins/imrelp/Makefile.in
index 1a60832..158670e 100644
--- a/plugins/imrelp/Makefile.in
+++ b/plugins/imrelp/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
@@ -202,9 +203,9 @@ top_srcdir = @top_srcdir@
zlib_libs = @zlib_libs@
pkglib_LTLIBRARIES = imrelp.la
imrelp_la_SOURCES = imrelp.c
-imrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(relp_cflags)
+imrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(RELP_CFLAGS)
imrelp_la_LDFLAGS = -module -avoid-version
-imrelp_la_LIBADD = $(relp_libs)
+imrelp_la_LIBADD = $(RELP_LIBS)
all: all-am
.SUFFIXES:
diff --git a/plugins/imtcp/Makefile.in b/plugins/imtcp/Makefile.in
index 07ef531..5248039 100644
--- a/plugins/imtcp/Makefile.in
+++ b/plugins/imtcp/Makefile.in
@@ -124,7 +124,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -184,8 +187,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/imtemplate/Makefile.in b/plugins/imtemplate/Makefile.in
index bb0afee..6bc6298 100644
--- a/plugins/imtemplate/Makefile.in
+++ b/plugins/imtemplate/Makefile.in
@@ -124,7 +124,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -184,8 +187,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/imudp/Makefile.in b/plugins/imudp/Makefile.in
index 07d94eb..138c2eb 100644
--- a/plugins/imudp/Makefile.in
+++ b/plugins/imudp/Makefile.in
@@ -124,7 +124,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -184,8 +187,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/imuxsock/Makefile.in b/plugins/imuxsock/Makefile.in
index a50eb40..2737f07 100644
--- a/plugins/imuxsock/Makefile.in
+++ b/plugins/imuxsock/Makefile.in
@@ -124,7 +124,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -184,8 +187,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/omgssapi/Makefile.in b/plugins/omgssapi/Makefile.in
index db38e0a..933f51c 100644
--- a/plugins/omgssapi/Makefile.in
+++ b/plugins/omgssapi/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/omlibdbi/Makefile.in b/plugins/omlibdbi/Makefile.in
index 3d9c7a9..bae1bec 100644
--- a/plugins/omlibdbi/Makefile.in
+++ b/plugins/omlibdbi/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/ommysql/Makefile.in b/plugins/ommysql/Makefile.in
index 652fd4c..5cda99f 100644
--- a/plugins/ommysql/Makefile.in
+++ b/plugins/ommysql/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/ompgsql/Makefile.in b/plugins/ompgsql/Makefile.in
index ab791c4..cbb7220 100644
--- a/plugins/ompgsql/Makefile.in
+++ b/plugins/ompgsql/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/omrelp/Makefile.am b/plugins/omrelp/Makefile.am
index edec5de..dfc2111 100644
--- a/plugins/omrelp/Makefile.am
+++ b/plugins/omrelp/Makefile.am
@@ -1,6 +1,6 @@
pkglib_LTLIBRARIES = omrelp.la
omrelp_la_SOURCES = omrelp.c
-omrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(relp_cflags)
+omrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(RELP_CFLAGS)
omrelp_la_LDFLAGS = -module -avoid-version
-omrelp_la_LIBADD = $(relp_libs)
+omrelp_la_LIBADD = $(RELP_LIBS)
diff --git a/plugins/omrelp/Makefile.in b/plugins/omrelp/Makefile.in
index 64cac26..0a88a66 100644
--- a/plugins/omrelp/Makefile.in
+++ b/plugins/omrelp/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
@@ -202,9 +203,9 @@ top_srcdir = @top_srcdir@
zlib_libs = @zlib_libs@
pkglib_LTLIBRARIES = omrelp.la
omrelp_la_SOURCES = omrelp.c
-omrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(relp_cflags)
+omrelp_la_CPPFLAGS = -I$(top_srcdir) $(pthreads_cflags) $(RELP_CFLAGS)
omrelp_la_LDFLAGS = -module -avoid-version
-omrelp_la_LIBADD = $(relp_libs)
+omrelp_la_LIBADD = $(RELP_LIBS)
all: all-am
.SUFFIXES:
diff --git a/plugins/omsnmp/Makefile.in b/plugins/omsnmp/Makefile.in
index d2f940e..1694054 100644
--- a/plugins/omsnmp/Makefile.in
+++ b/plugins/omsnmp/Makefile.in
@@ -125,7 +125,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -185,8 +188,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/plugins/omsnmp/omsnmp.c b/plugins/omsnmp/omsnmp.c
index 1deb9d6..161ec07 100644
--- a/plugins/omsnmp/omsnmp.c
+++ b/plugins/omsnmp/omsnmp.c
@@ -74,32 +74,34 @@ static int iSpecificType = 0;
static int iTrapType = SNMP_TRAP_ENTERPRISESPECIFIC;/*Default is SNMP_TRAP_ENTERPRISESPECIFIC */
/*
Possible Values
- SNMP_TRAP_COLDSTART (0)
- SNMP_TRAP_WARMSTART (1)
- SNMP_TRAP_LINKDOWN (2)
- SNMP_TRAP_LINKUP (3)
- SNMP_TRAP_AUTHFAIL (4)
- SNMP_TRAP_EGPNEIGHBORLOSS (5)
+ SNMP_TRAP_COLDSTART (0)
+ SNMP_TRAP_WARMSTART (1)
+ SNMP_TRAP_LINKDOWN (2)
+ SNMP_TRAP_LINKUP (3)
+ SNMP_TRAP_AUTHFAIL (4)
+ SNMP_TRAP_EGPNEIGHBORLOSS (5)
SNMP_TRAP_ENTERPRISESPECIFIC (6)
*/
typedef struct _instanceData {
uchar szTransport[OMSNMP_MAXTRANSPORLENGTH+1]; /* Transport - Can be udp, tcp, udp6, tcp6 and other types supported by NET-SNMP */
- uchar szTarget[MAXHOSTNAMELEN+1]; /* IP/hostname of Snmp Target*/
- uchar szTargetAndPort[MAXHOSTNAMELEN+1]; /* IP/hostname + Port,needed format for SNMP LIB */
+ uchar *szTarget; /* IP/hostname of Snmp Target*/
+ uchar *szTargetAndPort; /* IP/hostname + Port,needed format for SNMP LIB */
uchar szCommunity[OMSNMP_MAXCOMMUNITYLENGHT+1]; /* Snmp Community */
uchar szEnterpriseOID[OMSNMP_MAXOIDLENGHT+1]; /* Snmp Enterprise OID - default is (1.3.6.1.4.1.3.1.1 = enterprises.cmu.1.1) */
uchar szSnmpTrapOID[OMSNMP_MAXOIDLENGHT+1]; /* Snmp Trap OID - default is (1.3.6.1.4.1.19406.1.2.1 = ADISCON-MONITORWARE-MIB::syslogtrap) */
- uchar szSyslogMessageOID[OMSNMP_MAXOIDLENGHT+1]; /* Snmp OID used for the Syslog Message - default is 1.3.6.1.4.1.19406.1.1.2.1 - ADISCON-MONITORWARE-MIB::syslogMsg
- * You will need the ADISCON-MONITORWARE-MIB and ADISCON-MIB mibs installed on the receiver side in order to decode this mib.
- * Downloads of these mib files can be found here:
- * http://www.adiscon.org/download/ADISCON-MONITORWARE-MIB.txt
- * http://www.adiscon.org/download/ADISCON-MIB.txt
- */
- int iPort; /* Target Port */
- int iSNMPVersion; /* SNMP Version to use */
- int iTrapType; /* Snmp TrapType or GenericType */
- int iSpecificType; /* Snmp Specific Type */
+ uchar szSyslogMessageOID[OMSNMP_MAXOIDLENGHT+1]; /* Snmp OID used for the Syslog Message:
+ * default is 1.3.6.1.4.1.19406.1.1.2.1 - ADISCON-MONITORWARE-MIB::syslogMsg
+ * You will need the ADISCON-MONITORWARE-MIB and ADISCON-MIB mibs installed on the receiver
+ * side in order to decode this mib.
+ * Downloads of these mib files can be found here:
+ * http://www.adiscon.org/download/ADISCON-MONITORWARE-MIB.txt
+ * http://www.adiscon.org/download/ADISCON-MIB.txt
+ */
+ int iPort; /* Target Port */
+ int iSNMPVersion; /* SNMP Version to use */
+ int iTrapType; /* Snmp TrapType or GenericType */
+ int iSpecificType; /* Snmp Specific Type */
netsnmp_session *snmpsession; /* Holds to SNMP Session, NULL if not initialized */
} instanceData;
@@ -313,8 +315,7 @@ ENDtryResume
BEGINdoAction
CODESTARTdoAction
/* Abort if the STRING is not set, should never happen */
- if (ppString[0] == NULL)
- {
+ if (ppString[0] == NULL) {
ABORT_FINALIZE(RS_RET_INVALID_PARAMS);
}
@@ -327,10 +328,17 @@ BEGINfreeInstance
CODESTARTfreeInstance
/* free snmp Session here */
omsnmp_exitSession(pData);
+
+ if(pData->szTarget != NULL)
+ free(pData->szTarget);
+ if(pData->szTargetAndPort != NULL)
+ free(pData->szTargetAndPort);
+
ENDfreeInstance
BEGINparseSelectorAct
+ uchar szTargetAndPort[MAXHOSTNAMELEN+128]; /* work buffer for specifying a full target and port string */
CODESTARTparseSelectorAct
CODE_STD_STRING_REQUESTparseSelectorAct(1)
if(!strncmp((char*) p, ":omsnmp:", sizeof(":omsnmp:") - 1)) {
@@ -359,7 +367,7 @@ CODE_STD_STRING_REQUESTparseSelectorAct(1)
ABORT_FINALIZE( RS_RET_PARAM_ERROR );
} else {
/* Copy Target */
- strncpy( (char*) pData->szTarget, (char*) pszTarget, strlen((char*) pszTarget) );
+ CHKmalloc(pData->szTarget = (uchar*) strdup((char*)pszTarget));
}
/* Copy Community */
@@ -412,7 +420,8 @@ CODE_STD_STRING_REQUESTparseSelectorAct(1)
pData->iTrapType = iTrapType;
/* Create string for session peername! */
- snprintf( (char*) pData->szTargetAndPort, sizeof(pData->szTargetAndPort) / sizeof(char), "%s:%s:%d", pData->szTransport, pData->szTarget, pData->iPort );
+ snprintf((char*)szTargetAndPort, sizeof(szTargetAndPort), "%s:%s:%d", pData->szTransport, pData->szTarget, pData->iPort);
+ CHKmalloc(pData->szTargetAndPort = (uchar*)strdup((char*)szTargetAndPort));
/* Print Debug info */
dbgprintf("SNMPTransport: %s\n", pData->szTransport);
diff --git a/plugins/omtesting/Makefile.in b/plugins/omtesting/Makefile.in
index 2990ce4..689dc6b 100644
--- a/plugins/omtesting/Makefile.in
+++ b/plugins/omtesting/Makefile.in
@@ -124,7 +124,10 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+RELP_CFLAGS = @RELP_CFLAGS@
+RELP_LIBS = @RELP_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -184,8 +187,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pthreads_cflags = @pthreads_cflags@
pthreads_libs = @pthreads_libs@
-relp_cflags = @relp_cflags@
-relp_libs = @relp_libs@
rfc3195_cflags = @rfc3195_cflags@
rfc3195_libs = @rfc3195_libs@
rt_libs = @rt_libs@
diff --git a/queue.c b/queue.c
index ed720c5..20ead4a 100644
--- a/queue.c
+++ b/queue.c
@@ -1,31 +1,32 @@
/* queue.c
-*
-* This file implements the queue object and its several queueing methods.
-*
-* File begun on 2008-01-03 by RGerhards
-*
-* There is some in-depth documentation available in doc/dev_queue.html
-* (and in the web doc set on http://www.rsyslog.com/doc). Be sure to read it
-* if you are getting aquainted to the object.
-*
-* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
-*
-* This file is part of rsyslog.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * This file implements the queue object and its several queueing methods.
+ *
+ * File begun on 2008-01-03 by RGerhards
+ *
+ * There is some in-depth documentation available in doc/dev_queue.html
+ * (and in the web doc set on http://www.rsyslog.com/doc). Be sure to read it
+ * if you are getting aquainted to the object.
+ *
+ * Copyright 2008 Rainer Gerhards and Adiscon GmbH.
+ *
+ * This file is part of the rsyslog runtime library.
+ *
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/queue.h b/queue.h
index bc09fbd..e07d034 100644
--- a/queue.h
+++ b/queue.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef QUEUE_H_INCLUDED
diff --git a/regexp.c b/regexp.c
index 55013ad..86b3e6c 100644
--- a/regexp.c
+++ b/regexp.c
@@ -5,22 +5,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/regexp.h b/regexp.h
index 0559975..8f6ac89 100644
--- a/regexp.h
+++ b/regexp.h
@@ -4,22 +4,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_REGEXP_H
#define INCLUDED_REGEXP_H
diff --git a/rsyslog.conf.5 b/rsyslog.conf.5
index 3c42288..4fa98ef 100644
--- a/rsyslog.conf.5
+++ b/rsyslog.conf.5
@@ -17,7 +17,7 @@
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
.\"
-.TH RSYSLOG.CONF 5 "03 April 2008" "Version 3.14.0" "Linux System Administration"
+.TH RSYSLOG.CONF 5 "07 April 2008" "Version 3.15.1" "Linux System Administration"
.SH NAME
rsyslog.conf \- rsyslogd(8) configuration file
.SH DESCRIPTION
@@ -55,6 +55,15 @@ Output module for GSS-enabled syslog
.I ommysql
Output module for MySQL
.TP
+.I omprelp
+Output module for the reliable RELP protocol (prevents message loss).
+For details, see below at imrelp and the html documentation.
+It can be used like this:
+.IP
+*.* :omrelp:server:port
+.IP
+*.* :omrelp:192.168.0.1:2514 # actual sample
+.TP
.I ompgsql
Output module for PostgreSQL
.TP
@@ -81,6 +90,20 @@ $ModLoad imtcp
.IP
$InputTCPServerRun 514
.TP
+.TP
+.I imtcp
+Input plugin for the RELP protocol. RELP can be used instead
+of UDP or plain TCP syslog to provide reliable delivery of
+syslog messages. Please note that plain TCP syslog does NOT
+provide truly reliable delivery, with it messages may be lost
+when there is a connection problem or the server shuts down.
+RELP prevents message loss in those cases.
+It can be used like this:
+.IP
+$ModLoad imrelp
+.IP
+$InputRELPServerRun 2514
+.TP
.I imgssapi
Input plugin for plain TCP and GSS-enable syslog
.TP
@@ -169,9 +192,14 @@ the mkfifo(1) command before rsyslogd(8) is started.
If the file you specified is a tty, special tty-handling is done, same with /dev/console.
.SS Remote machine
-To forward messages to another host, prepend the hostname with the at sign ("@"). A single at
-sign means that messages will be forwarded via UDP protocol (the standard for syslog). If you
-prepend two at signs ("@@"), the messages will be transmitted via TCP.
+There are three ways to forward message: the traditional UDP transport, which is extremely
+lossy but standard, the plain TCP based transport which loses messages only during certain
+situations but is widely available and the RELP transport which does not lose messages
+but is currently available only as part of rsyslogd 3.15.0 and above.
+
+To forward messages to another host via UDP, prepend the hostname with the at sign ("@").
+To forward it via plain tcp, prepend two at signs ("@@"). To forward via RELP, prepend the
+string ":omrelp:" in front of the hostname.
.B Example:
.RS
@@ -179,7 +207,18 @@ prepend two at signs ("@@"), the messages will be transmitted via TCP.
.RE
.sp
In the example above, messages are forwarded via UDP to the machine 192.168.0.1, the destination
-port defaults to 514.
+port defaults to 514. Due to the nature of UDP, you will probably lose some messages in transit.
+If you expect high traffic volume, you can expect to lose a quite noticable number of messages
+(the higher the traffic, the more likely and severe is message loss).
+
+.B If you would like to prevent message loss, use RELP:
+.RS
+*.* :omrelp:192.168.0.1:2514
+.RE
+.sp
+Note that a port number was given as there is no standard port for relp.
+
+Keep in mind that you need to load the correct input and output plugins (see "Modules" above).
Please note that rsyslogd offers a variety of options in regarding to remote
forwarding. For full details, please see the html documentation.
diff --git a/rsyslog.h b/rsyslog.h
index 01329aa..a80d43d 100644
--- a/rsyslog.h
+++ b/rsyslog.h
@@ -162,6 +162,11 @@ enum rsRetVal_ /** return value. All methods return this if not specified oth
RS_RET_OBJ_ALREADY_REGISTERED = -2061, /**< object (name) is already registered */
RS_RET_OBJ_REGISTRY_OUT_OF_SPACE = -2062, /**< the object registry has run out of space */
RS_RET_HOST_NOT_PERMITTED = -2063, /**< a host is not permitted to perform an action it requested */
+ RS_RET_MODULE_LOAD_ERR = -2064, /**< module could not be loaded */
+ RS_RET_MODULE_LOAD_ERR_PATHLEN = -2065, /**< module could not be loaded - path to long */
+ RS_RET_MODULE_LOAD_ERR_DLOPEN = -2066, /**< module could not be loaded - problem in dlopen() */
+ RS_RET_MODULE_LOAD_ERR_NO_INIT = -2067, /**< module could not be loaded - init() missing */
+ RS_RET_MODULE_LOAD_ERR_INIT_FAILED = -2068, /**< module could not be loaded - init() failed */
/* RainerScript error messages (range 1000.. 1999) */
RS_RET_SYSVAR_NOT_FOUND = 1001, /**< system variable could not be found (maybe misspelled) */
@@ -181,6 +186,8 @@ typedef enum rsRetVal_ rsRetVal; /**< friendly type for global return value */
#define CHKiRet(code) if((iRet = code) != RS_RET_OK) goto finalize_it
/* macro below is to be used if we need our own handling, eg for cleanup */
#define CHKiRet_Hdlr(code) if((iRet = code) != RS_RET_OK)
+/* macro below is to handle failing malloc/calloc/strdup... which we almost always handle in the same way... */
+#define CHKmalloc(operation) if((operation) == NULL) ABORT_FINALIZE(RS_RET_OUT_OF_MEMORY)
/* macro below is used in conjunction with CHKiRet_Hdlr, else use ABORT_FINALIZE */
#define FINALIZE goto finalize_it;
#define DEFiRet BEGINfunc rsRetVal iRet = RS_RET_OK
diff --git a/stream.c b/stream.c
index 978405a..1be4571 100644
--- a/stream.c
+++ b/stream.c
@@ -10,22 +10,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/stream.h b/stream.h
index 0dc5e64..371358a 100644
--- a/stream.h
+++ b/stream.h
@@ -21,22 +21,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef STREAM_H_INCLUDED
diff --git a/stringbuf.h b/stringbuf.h
index aa31884..0d61769 100644
--- a/stringbuf.h
+++ b/stringbuf.h
@@ -161,4 +161,7 @@ rsRetVal rsCStrAppendCStr(cstr_t *pThis, cstr_t *pstrAppend);
#define rsCStrGetBufBeg(x) ((x)->pBuf)
+rsRetVal strInit();
+rsRetVal strExit();
+
#endif /* single include */
diff --git a/sync.c b/sync.c
index c6003af..a3053e2 100644
--- a/sync.c
+++ b/sync.c
@@ -3,22 +3,23 @@
*
* Copyright 2007 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/sync.h b/sync.h
index 33e2658..57144fe 100644
--- a/sync.h
+++ b/sync.h
@@ -3,22 +3,23 @@
*
* Copyright 2007 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_SYNC_H
diff --git a/syslogd.c b/syslogd.c
index 4265bd4..26dd35c 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -2833,12 +2833,17 @@ static rsRetVal
InitGlobalClasses(void)
{
DEFiRet;
+ char *pErrObj; /* tells us which object failed if that happens (useful for troubleshooting!) */
+ pErrObj = "obj";
CHKiRet(objClassInit(NULL)); /* *THIS* *MUST* always be the first class initilizer being called! */
CHKiRet(objGetObjInterface(&obj)); /* this provides the root pointer for all other queries */
/* the following classes were intialized by objClassInit() */
+ pErrObj = "errmsg";
CHKiRet(objUse(errmsg, CORE_COMPONENT));
+ pErrObj = "module";
CHKiRet(objUse(module, CORE_COMPONENT));
+ pErrObj = "var";
CHKiRet(objUse(var, CORE_COMPONENT));
/* initialize and use classes. We must be very careful with the order of events. Some
@@ -2849,35 +2854,61 @@ InitGlobalClasses(void)
* class immediately after it is initialized. And, of course, we load those classes
* first that we use ourselfs... -- rgerhards, 2008-03-07
*/
+ pErrObj = "datetime";
CHKiRet(datetimeClassInit(NULL));
CHKiRet(objUse(datetime, CORE_COMPONENT));
+ pErrObj = "msg";
CHKiRet(msgClassInit(NULL));
+ pErrObj = "str,";
CHKiRet(strmClassInit(NULL));
+ pErrObj = "wti";
CHKiRet(wtiClassInit(NULL));
+ pErrObj = "wtp";
CHKiRet(wtpClassInit(NULL));
+ pErrObj = "queue";
CHKiRet(queueClassInit(NULL));
+ pErrObj = "vmstk";
CHKiRet(vmstkClassInit(NULL));
+ pErrObj = "sysvar";
CHKiRet(sysvarClassInit(NULL));
+ pErrObj = "vm";
CHKiRet(vmClassInit(NULL));
CHKiRet(objUse(vm, CORE_COMPONENT));
+ pErrObj = "vmop";
CHKiRet(vmopClassInit(NULL));
+ pErrObj = "vmprg";
CHKiRet(vmprgClassInit(NULL));
+ pErrObj = "ctok_token";
CHKiRet(ctok_tokenClassInit(NULL));
+ pErrObj = "ctok";
CHKiRet(ctokClassInit(NULL));
+ pErrObj = "expr";
CHKiRet(exprClassInit(NULL));
CHKiRet(objUse(expr, CORE_COMPONENT));
+ pErrObj = "conf";
CHKiRet(confClassInit(NULL));
CHKiRet(objUse(conf, CORE_COMPONENT));
/* dummy "classes" */
+ pErrObj = "action";
CHKiRet(actionClassInit());
+ pErrObj = "template";
CHKiRet(templateInit());
+ pErrObj = "str";
CHKiRet(strInit());
/* TODO: the dependency on net shall go away! -- rgerhards, 2008-03-07 */
+ pErrObj = "net";
CHKiRet(objUse(net, LM_NET_FILENAME));
finalize_it:
+ if(iRet != RS_RET_OK) {
+ /* we know we are inside the init sequence, so we can safely emit
+ * messages to stderr. -- rgerhards, 2008-04-02
+ */
+ fprintf(stderr, "Error during class init for object '%s' - failing...\n", pErrObj);
+ }
+
RETiRet;
}
@@ -3001,7 +3032,13 @@ int realMain(int argc, char **argv)
if (isupper((int) *p))
*p = (char)tolower((int)*p);
- CHKiRet(InitGlobalClasses());
+ CHKiRet_Hdlr(InitGlobalClasses()) {
+ fprintf(stderr, "rsyslogd initializiation failed - global classes could not be initialized.\n"
+ "Did you do a \"make install\"?\n"
+ "Suggested action: run rsyslogd with -d -n options to see what exactly "
+ "fails.\n");
+ FINALIZE;
+ }
/* doing some core initializations */
if((iRet = modInitIminternal()) != RS_RET_OK) {
@@ -3301,7 +3338,8 @@ int realMain(int argc, char **argv)
finalize_it:
if(iRet != RS_RET_OK)
- fprintf(stderr, "rsyslogd run failed with error %d.\n", iRet);
+ fprintf(stderr, "rsyslogd run failed with error %d\n(see rsyslog.h "
+ "or http://www.rsyslog.com/errcode to learn what that number means)\n", iRet);
ENDfunc
return 0;
diff --git a/sysvar.c b/sysvar.c
index 1b770ff..5eec8f6 100644
--- a/sysvar.c
+++ b/sysvar.c
@@ -5,24 +5,25 @@
*
* Module begun 2008-02-25 by Rainer Gerhards
*
- * Copyright 2008 Rainer Gerhards and Adiscon GmbH.
+ * Copyright (C) 2008 by Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/sysvar.h b/sysvar.h
index 67a1450..35051b6 100644
--- a/sysvar.h
+++ b/sysvar.h
@@ -3,22 +3,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_SYSVAR_H
#define INCLUDED_SYSVAR_H
diff --git a/template.h b/template.h
index eb9f304..40ccfa5 100644
--- a/template.h
+++ b/template.h
@@ -111,6 +111,8 @@ void tplLastStaticInit(struct template *tpl);
rsRetVal tplToString(struct template *pTpl, msg_t *pMsg, uchar** ppSz);
void doSQLEscape(uchar **pp, size_t *pLen, unsigned short *pbMustBeFreed, int escapeMode);
+rsRetVal templateInit();
+
#endif /* #ifndef TEMPLATE_H_INCLUDED */
/* vim:set ai:
*/
diff --git a/var.c b/var.c
index 7de00d8..7e51fc6 100644
--- a/var.c
+++ b/var.c
@@ -9,22 +9,23 @@
*
* Copyright 2007, 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/var.h b/var.h
index 7daf2f2..bbe7ba3 100644
--- a/var.h
+++ b/var.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_VAR_H
#define INCLUDED_VAR_H
diff --git a/vm.c b/vm.c
index b97898c..bcd331e 100644
--- a/vm.c
+++ b/vm.c
@@ -4,22 +4,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/vm.h b/vm.h
index 44db9c3..d245822 100644
--- a/vm.h
+++ b/vm.h
@@ -12,22 +12,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_VM_H
#define INCLUDED_VM_H
diff --git a/vmop.c b/vmop.c
index 91f84b9..219315c 100644
--- a/vmop.c
+++ b/vmop.c
@@ -5,22 +5,23 @@
*
* Copyright 2007, 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/vmop.h b/vmop.h
index 9b3c35b..97f924d 100644
--- a/vmop.h
+++ b/vmop.h
@@ -4,20 +4,23 @@
*
* This file is part of rsyslog.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * This file is part of the rsyslog runtime library.
+ *
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_VMOP_H
#define INCLUDED_VMOP_H
diff --git a/vmprg.c b/vmprg.c
index a1b41ad..a2b744d 100644
--- a/vmprg.c
+++ b/vmprg.c
@@ -4,22 +4,23 @@
*
* Copyright 2007, 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/vmprg.h b/vmprg.h
index 71e77e1..db1f62f 100644
--- a/vmprg.h
+++ b/vmprg.h
@@ -16,22 +16,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_VMPRG_H
#define INCLUDED_VMPRG_H
diff --git a/vmstk.c b/vmstk.c
index f6614f7..1ee3d48 100644
--- a/vmstk.c
+++ b/vmstk.c
@@ -4,22 +4,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/vmstk.h b/vmstk.h
index 2033ba8..2d45ee4 100644
--- a/vmstk.h
+++ b/vmstk.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef INCLUDED_VMSTK_H
#define INCLUDED_VMSTK_H
diff --git a/wti.c b/wti.c
index 2386dee..8afd250 100644
--- a/wti.c
+++ b/wti.c
@@ -11,22 +11,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/wti.h b/wti.h
index 0b4ec2b..b3d9247 100644
--- a/wti.h
+++ b/wti.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef WTI_H_INCLUDED
diff --git a/wtp.c b/wtp.c
index 1c2ea30..d512626 100644
--- a/wtp.c
+++ b/wtp.c
@@ -10,22 +10,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#include "config.h"
diff --git a/wtp.h b/wtp.h
index 6100fe5..33f4e24 100644
--- a/wtp.h
+++ b/wtp.h
@@ -2,22 +2,23 @@
*
* Copyright 2008 Rainer Gerhards and Adiscon GmbH.
*
- * This file is part of rsyslog.
+ * This file is part of the rsyslog runtime library.
*
- * Rsyslog is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
+ * The rsyslog runtime library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
- * Rsyslog is distributed in the hope that it will be useful,
+ * The rsyslog runtime library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the rsyslog runtime library. If not, see <http://www.gnu.org/licenses/>.
*
* A copy of the GPL can be found in the file "COPYING" in this distribution.
+ * A copy of the LGPL can be found in the file "COPYING.LESSER" in this distribution.
*/
#ifndef WTP_H_INCLUDED