Browse Source

Imported Upstream version 5.7.0

upstream upstream/5.7.0
Michael Biebl 12 years ago
parent
commit
017fb92bd8
  1. 31
      AUTHORS
  2. 560
      ChangeLog
  3. 64
      Makefile.am
  4. 191
      Makefile.in
  5. 29
      aclocal.m4
  6. 1117
      action.c
  7. 31
      action.h
  8. 30
      config.h.in
  9. 790
      configure
  10. 234
      configure.ac
  11. 24
      dirty.h
  12. 15
      doc/Makefile.am
  13. 37
      doc/Makefile.in
  14. 29
      doc/build_from_repo.html
  15. 2
      doc/debug.html
  16. 21
      doc/expression.html
  17. 62
      doc/impstats.html
  18. 80
      doc/imptcp.html
  19. 47
      doc/imsolaris.html
  20. 73
      doc/imtcp.html
  21. 30
      doc/imuxsock.html
  22. 2
      doc/index.html
  23. 19
      doc/manual.html
  24. BIN
      doc/module_workflow.png
  25. 33
      doc/multi_ruleset.html
  26. 11
      doc/omoracle.html
  27. 140
      doc/omruleset.html
  28. 42
      doc/omstdout.html
  29. 92
      doc/omudpspoof.html
  30. 43
      doc/omuxsock.html
  31. 62
      doc/pmlastmsg.html
  32. 27
      doc/queues.html
  33. 18
      doc/rainerscript.html
  34. BIN
      doc/rfc5424layers.png
  35. 44
      doc/rsconf1_escape8bitcharsonreceive.html
  36. 83
      doc/rsconf1_rulesetcreatemainqueue.html
  37. 123
      doc/rsconf1_rulesetparser.html
  38. 44
      doc/rsyslog_conf_global.html
  39. 108
      doc/rsyslog_conf_modules.html
  40. 46
      doc/rsyslog_conf_templates.html
  41. 9
      doc/rsyslog_ng_comparison.html
  42. 2
      doc/rsyslog_secure_tls.html
  43. BIN
      doc/src/classes.dia
  44. BIN
      doc/src/rfc5424layers.dia
  45. 18
      doc/syslog_parsing.html
  46. 9
      doc/tls_cert_server.html
  47. 54
      doc/troubleshoot.html
  48. 30
      doc/v5compatibility.html
  49. 28
      gss-misc.c
  50. 35
      java/Makefile.am
  51. 457
      java/Makefile.in
  52. 53
      m4/atomic_operations_64bit.m4
  53. 99
      m4/shave.m4
  54. 3
      outchannel.c
  55. 5
      parse.c
  56. 74
      plugins/cust1/Makefile.in
  57. 70
      plugins/im3195/Makefile.in
  58. 70
      plugins/imdiag/Makefile.in
  59. 24
      plugins/imdiag/imdiag.c
  60. 70
      plugins/imfile/Makefile.in
  61. 50
      plugins/imfile/imfile.c
  62. 70
      plugins/imgssapi/Makefile.in
  63. 33
      plugins/imgssapi/imgssapi.c
  64. 98
      plugins/imklog/Makefile.in
  65. 3
      plugins/imklog/bsd.c
  66. 1
      plugins/imklog/imklog.c
  67. 3
      plugins/imklog/ksym.c
  68. 3
      plugins/imklog/ksym_mod.c
  69. 70
      plugins/immark/Makefile.in
  70. 28
      plugins/immark/immark.c
  71. 6
      plugins/impstats/Makefile.am
  72. 582
      plugins/impstats/Makefile.in
  73. 228
      plugins/impstats/impstats.c
  74. 6
      plugins/imptcp/Makefile.am
  75. 582
      plugins/imptcp/Makefile.in
  76. 1174
      plugins/imptcp/imptcp.c
  77. 70
      plugins/imrelp/Makefile.in
  78. 6
      plugins/imsolaris/Makefile.am
  79. 592
      plugins/imsolaris/Makefile.in
  80. 399
      plugins/imsolaris/imsolaris.c
  81. 2
      plugins/imsolaris/imsolaris.h
  82. 419
      plugins/imsolaris/sun_cddl.c
  83. 7
      plugins/imsolaris/sun_cddl.h
  84. 74
      plugins/imtcp/Makefile.in
  85. 17
      plugins/imtcp/imtcp.c
  86. 70
      plugins/imtemplate/Makefile.in
  87. 41
      plugins/imtemplate/imtemplate.c
  88. 74
      plugins/imudp/Makefile.in
  89. 256
      plugins/imudp/imudp.c
  90. 4
      plugins/imuxsock/Makefile.am
  91. 77
      plugins/imuxsock/Makefile.in
  92. 216
      plugins/imuxsock/imuxsock.c
  93. 8
      plugins/omdbalerting/Makefile.am
  94. 584
      plugins/omdbalerting/Makefile.in
  95. 144
      plugins/omdbalerting/omdbalerting.c
  96. 70
      plugins/omgssapi/Makefile.in
  97. 8
      plugins/omgssapi/omgssapi.c
  98. 70
      plugins/omlibdbi/Makefile.in
  99. 70
      plugins/ommail/Makefile.in
  100. 6
      plugins/ommail/ommail.c

31
AUTHORS

@ -1,19 +1,14 @@
Rainer Gerhards <rgerhards@adiscon.com>, Adiscon GmbH
Michael Meckelein <mmeckelein@hq.adiscon.com>, Adiscon GmbH
Thankfully, we have had so many contributions that maintaining the
AUTHORS file would be a big task in itself. On the other hand, we
now use git and I make sure that each author receives proper credit
for patches I receive.
Contributors
Michael Biebl
- helped continously with autotools
- provided numerous advise on how to do things under Linux
- provided excellent advise in many, many cases
Andres Riancho (andres-dot-riancho-at-gmail-dot-com)
(alias APR in code files)
- supplied regexp functionality for the property replacer - a great feature.
thanks!
Bjoern Kalkbrenner
- provided code for the "execute shell script" action
Peter Vrabec
- provided IPv6-enabling code
varmojfekoj
- helped with a variety of things and, most importantly, contributed
the gssapi functionality
So rather than trying to reproduce the git author log here (and
often making mistakes in that), I invite you to check the git logs.
You can also do this online at
http://git.adiscon.com/?p=rsyslog.git;a=summary
Rainer Gerhards
<rgerhards@adiscon.com>
lead rsyslog developer

560
ChangeLog

@ -1,5 +1,539 @@
---------------------------------------------------------------------------
Version 4.6.4 [v4-stable] (rgerhards), 2010-08.05
Version 5.7.0 [V5-DEVEL] (rgerhards), 2010-09-16
- added module impstat to emit periodic statistics on rsyslog counters
- support for systemd officially added
* acquire /dev/log socket optionally from systemd
thanks to Lennart Poettering for this patch
* sd-systemd API added as part of rsyslog runtime library
---------------------------------------------------------------------------
Version 5.5.7 [V5-BETA] (rgerhards), 2010-08-09
- changed omudpspoof default spoof address to simplify typical use case
thanks to David Lang for suggesting this
- doc bugfix: pmlastmsg doc samples had errors
- bugfix[minor]: pmrfc3164sd had invalid name (resided in rsyslog name
space, what should not be the case for a contributed module)
- added omuxsock, which permits to write message to local Unix sockets
this is the counterpart to imuxsock, enabling fast local forwarding
---------------------------------------------------------------------------
Version 5.5.6 [DEVEL] (rgerhards), 2010-07-21
- added parser modules
* pmlastmsg, which supports the notoriously malformed "last message
repeated n times" messages from some syslogd's (namely sysklogd)
* pmrfc3164sd (contributed), supports RFC5424 structured data in
RFC3164 messages [untested]
- added new module type "string generator", used to speed up output
processing. Expected speedup for (typical) rsyslog processing is
roughly 5 to 6 percent compared to using string-based templates.
They may also be used to do more complex formatting with custom
C code, what provided greater flexibility and probably far higher
speed, for example if using multiple regular expressions within a
template.
- added 4 string generators for
* RSYSLOG_FileFormat
* RSYSLOG_TraditionalFileFormat
* RSYSLOG_ForwardFormat
* RSYSLOG_TraditionalForwardFormat
- bugfix: mutexes used to simulate atomic instructions were not destructed
- bugfix: regression caused more locking action in msg.c than necessary
- bugfix: "$ActionExecOnlyWhenPreviousIsSuspended on" was broken
- bugfix: segfault on HUP when "HUPIsRestart" was set to "on"
thanks varmojfekoj for the patch
- bugfix: default for $OMFileFlushOnTXEnd was wrong ("off").
This, in default mode, caused buffered writing to be used, what
means that it looked like no output were written or partial
lines. Thanks to Michael Biebl for pointing out this bug.
- bugfix: programname filter in ! configuration can not be reset
Thanks to Kiss Gabor for the patch.
---------------------------------------------------------------------------
Version 5.5.5 [DEVEL] (rgerhards), 2010-05-20
- added new cancel-reduced action thread termination method
We now manage to cancel threads that block inside a retry loop to
terminate without the need to cancel the thread. Avoiding cancellation
helps keep the system complexity minimal and thus provides for better
stability. This also solves some issues with improper shutdown when
inside an action retry loop.
---------------------------------------------------------------------------
Version 5.5.4 [DEVEL] (rgerhards), 2010-05-03
- This version offers full support for Solaris on Intel and Sparc
- bugfix: problems with atomic operations emulation
replaced atomic operation emulation with new code. The previous code
seemed to have some issue and also limited concurrency severely. The
whole atomic operation emulation has been rewritten.
- bugfix: netstream ptcp support class was not correctly build on systems
without epoll() support
- bugfix: segfault on Solaris/Sparc
---------------------------------------------------------------------------
Version 5.5.3 [DEVEL] (rgerhards), 2010-04-09
- added basic but functional support for Solaris
- imported many bugfixes from 3.6.2/4.6.1 (see ChangeLog below!)
- added new property replacer option "date-rfc3164-buggyday" primarily
to ease migration from syslog-ng. See property replacer doc for
details.
- added capability to turn off standard LF delimiter in TCP server
via new directive "$InputTCPServerDisableLFDelimiter on"
- bugfix: failed to compile on systems without epoll support
- bugfix: comment char ('#') in literal terminated script parsing
and thus could not be used.
but tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=119
[merged in from v3.22.2]
- imported patches from 4.6.0:
* improved testbench to contain samples for totally malformed messages
which miss parts of the message content
* bugfix: some malformed messages could lead to a missing LF inside files
or some other missing parts of the template content.
* bugfix: if a message ended immediately with a hostname, the hostname
was mistakenly interpreted as TAG, and localhost be used as hostname
---------------------------------------------------------------------------
Version 5.5.2 [DEVEL] (rgerhards), 2010-02-05
- applied patches that make rsyslog compile under Apple OS X.
Thanks to trey for providing these.
- replaced data type "bool" by "sbool" because this created some
portability issues.
- added $Escape8BitCharactersOnReceive directive
Thanks to David Lang for suggesting it.
- worked around an issue where omfile failed to compile on 32 bit platforms
under some circumstances (this smells like a gcc problem, but a simple
solution was available). Thanks to Kenneth Marshall for some advice.
- extended testbench
---------------------------------------------------------------------------
Version 5.5.1 [DEVEL] (rgerhards), 2009-11-27
- introduced the ablity for netstream drivers to utilize an epoll interface
This offers increased performance and removes the select() FDSET size
limit from imtcp. Note that we fall back to select() if there is no
epoll netstream drivers. So far, an epoll driver has only been
implemented for plain tcp syslog, the rest will follow once the code
proves well in practice AND there is demand.
- re-implemented $EscapeControlCharacterTab config directive
Based on Jonathan Bond-Caron's patch for v4. This now also includes some
automatted tests.
- bugfix: enabling GSSServer crashes rsyslog startup
Thanks to Tomas Kubina for the patch [imgssapi]
- bugfix (kind of): check if TCP connection is still alive if using TLS
Thanks to Jonathan Bond-Caron for the patch.
---------------------------------------------------------------------------
Version 5.5.0 [DEVEL] (rgerhards), 2009-11-18
- moved DNS resolution code out of imudp and into the backend processing
Most importantly, DNS resolution now never happens if the resolved name
is not required. Note that this applies to imudp - for the other inputs,
DNS resolution almost comes for free, so we do not do it there. However,
the new method has been implemented in a generic way and as such may
also be used by other modules in the future.
- added option to use unlimited-size select() calls
Thanks to varmjofekoj for the patch
This is not done in imudp, as it natively supports epoll().
- doc: improved description of what loadable modules can do
---------------------------------------------------------------------------
Version 5.4.2 [v5-stable] (rgerhards), 2010-03-??
- bugfix(kind of): output plugin retry behaviour could cause engine to loop
The rsyslog engine did not guard itself against output modules that do
not properly convey back the tryResume() behaviour. This then leads to
what looks like an endless loop. I consider this to be a bug of the
engine not only because it should be hardened against plugin misbehaviour,
but also because plugins may not be totally able to avoid this situation
(depending on the type of and processing done by the plugin).
- bugfix: testbench failed when not executed in UTC+1 timezone
accidently, the time zone information was kept inside some
to-be-checked-for responses
- temporary bugfix replaced by permanent one for
message-induced off-by-one error (potential segfault) (see 4.6.2)
The analysis has been completed and a better fix been crafted and
integrated.
- bugfix(minor): status variable was uninitialized
However, this would have caused harm only if NO parser modules at
all were loaded, which would lead to a defunctional configuration
at all. And, even more important, this is impossible as two parser
modules are built-in and thus can not be "not loaded", so we always
have a minimum of two.
---------------------------------------------------------------------------
Version 5.4.1 [v5-stable] (rgerhards), 2010-03-??
- added new property replacer option "date-rfc3164-buggyday" primarily
to ease migration from syslog-ng. See property replacer doc for
details. [backport from 5.5.3 because urgently needed by some]
- imported all bugfixes vom 4.6.2 (see below)
---------------------------------------------------------------------------
Version 5.4.0 [v5-stable] (rgerhards), 2010-03-08
***************************************************************************
* This is a new stable v5 version. It contains all fixes and enhancements *
* made during the 5.3.x phase as well as those listed below. *
* Note that the 5.2.x series was quite buggy and as such all users are *
* strongly advised to upgrade to 5.4.0. *
***************************************************************************
- bugfix: omruleset failed to work in many cases
bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=179
Thanks to Ryan B. Lynch for reporting this issue.
- bugfix: comment char ('#') in literal terminated script parsing
and thus could not be used.
but tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=119
[merged in from v3.22.2]
---------------------------------------------------------------------------
Version 5.3.7 [BETA] (rgerhards), 2010-01-27
- bugfix: queues in direct mode could case a segfault, especially if an
action failed for action queues. The issue was an invalid increment of
a stack-based pointer which lead to destruction of the stack frame and
thus a segfault on function return.
Thanks to Michael Biebl for alerting us on this problem.
- bugfix: hostname accidently set to IP address for some message sources,
for example imudp. Thanks to Anton for reporting this bug. [imported v4]
- bugfix: ompgsql had problems with transaction support, what actually
rendered it unsuable. Thanks to forum user "horhe" for alerting me
on this bug and helping to debug/fix it! [imported from 5.3.6]
- bugfix: $CreateDirs variable not properly initialized, default thus
was random (but most often "on") [imported from v3]
- bugfix: potential segfaults during queue shutdown
(bugs require certain non-standard settings to appear)
Thanks to varmojfekoj for the patch [imported from 4.5.8]
[backport from 5.5.2]
- bugfix: wrong memory assignment for a config variable (probably
without causing any harm) [backport from 5.2.2]
- bugfix: rsyslog hangs when writing to a named pipe which nobody was
reading. Thanks to Michael Biebl for reporting this bug.
Bugzilla entry: http://bugzilla.adiscon.com/show_bug.cgi?id=169
[imported from 4.5.8]
---------------------------------------------------------------------------
Version 5.3.6 [BETA] (rgerhards), 2010-01-13
- bugfix: ompgsql did not properly check the server connection in
tryResume(), which could lead to rsyslog running in a thight loop
- bugfix: suspension during beginTransaction() was not properly handled
by rsyslog core
- bugfix: omfile output was only written when buffer was full, not at
end of transaction
- bugfix: commit transaction was not properly conveyed to message layer,
potentially resulting in non-message destruction and thus hangs
- bugfix: enabling GSSServer crashes rsyslog startup
Thanks to Tomas Kubina for the patch [imgssapi]
- bugfix (kind of): check if TCP connection is still alive if using TLS
Thanks to Jonathan Bond-Caron for the patch.
- bugfix: $CreateDirs variable not properly initialized, default thus
was random (but most often "on") [imported from v3]
- bugfix: ompgsql had problems with transaction support, what actually
rendered it unsuable. Thanks to forum user "horhe" for alerting me
on this bug and helping to debug/fix it!
- bugfix: memory leak when sending messages in zip-compressed format
Thanks to Naoya Nakazawa for analyzing this issue and providing a patch.
- worked around an issue where omfile failed to compile on 32 bit platforms
under some circumstances (this smells like a gcc problem, but a simple
solution was available). Thanks to Kenneth Marshall for some advice.
[backported from 5.5.x branch]
---------------------------------------------------------------------------
Version 5.3.5 [BETA] (rgerhards), 2009-11-13
- some light performance enhancement by replacing time() call with much
faster (at least under linux) gettimeofday() calls.
- some improvement of omfile performance with dynafiles
saved costly time() calls by employing a logical clock, which is
sufficient for the use case
- bugfix: omudpspoof miscalculated source and destination ports
while this was probably not noticed for source ports, it resulted in
almost all destination ports being wrong, except for the default port
of 514, which by virtue of its binary representation was calculated
correct (and probably thus the bug not earlier detected).
- bugfixes imported from earlier releases
* bugfix: named pipes did no longer work (they always got an open error)
this was a regression from the omfile rewrite in 4.5.0
* bugfix(testbench): sequence check was not always performed correctly,
that could result in tests reporting success when they actually failed
- improved testbench: added tests for UDP forwarding and omudpspoof
- doc bugfix: omudpspoof had wrong config command names ("om" missing)
- bugfix [imported from 4.4.3]: $ActionExecOnlyOnceEveryInterval did
not work.
- [inport v4] improved testbench, contains now tcp and gzip test cases
- [import v4] added a so-called "On Demand Debug" mode, in which debug
output can be generated only after the process has started, but not right
from the beginning. This is assumed to be useful for hard-to-find bugs.
Also improved the doc on the debug system.
- bugfix: segfault on startup when -q or -Q option was given
[imported from v3-stable]
---------------------------------------------------------------------------
Version 5.3.4 [DEVEL] (rgerhards), 2009-11-04
- added the ability to create custom message parsers
- added $RulesetParser config directive that permits to bind specific
parsers to specific rulesets
- added omruleset output module, which provides great flexibility in
action processing. THIS IS A VERY IMPORTANT ADDITION, see its doc
for why.
- added the capability to have ruleset-specific main message queues
This offers considerable additional flexibility AND superior performance
(in cases where multiple inputs now can avoid lock contention)
- bugfix: correct default for escape ('#') character restored
This was accidently changed to '\\', thanks to David Lang for reporting
- bugfix(testbench): testcase did not properly wait for rsyslogd shutdown
thus some unpredictable behavior and a false negative test result
could occur.
---------------------------------------------------------------------------
Version 5.3.3 [DEVEL] (rgerhards), 2009-10-27
- simplified and thus speeded up the queue engine, also fixed some
potential race conditions (in very unusual shutdown conditions)
along the way. The threading model has seriously changes, so there may
be some regressions.
- enhanced test environment (inlcuding testbench): support for enhancing
probability of memory addressing failure by using non-NULL default
value for malloced memory (optional, only if requested by configure
option). This helps to track down some otherwise undetected issues
within the testbench.
- bugfix: potential abort if inputname property was not set
primarily a problem of imdiag
- bugfix: message processing states were not set correctly in all cases
however, this had no negative effect, as the message processing state
was not evaluated when a batch was deleted, and that was the only case
where the state could be wrong.
---------------------------------------------------------------------------
Version 5.3.2 [DEVEL] (rgerhards), 2009-10-21
- enhanced omfile to support transactional interface. This will increase
performance in many cases.
- added multi-ruleset support to imudp
- re-enabled input thread termination handling that does avoid thread
cancellation where possible. This provides a more reliable mode of
rsyslogd termination (canceling threads my result in not properly
freed resouces and potential later hangs, even though we perform
proper cancel handling in our code). This is part of an effort to
reduce thread cancellation as much as possible in rsyslog.
NOTE: the code previously written code for this functionality had a
subtle race condition. The new code solves that.
- enhanced immark to support non-cancel input module termination
- improved imudp so that epoll can be used in more environments,
fixed potential compile time problem if EPOLL_CLOEXEC is not available.
- some cleanup/slight improvement:
* changed imuxsock to no longer use deprecated submitAndParseMsg() IF
* changed submitAndParseMsg() interface to be a wrapper around the new
way of message creation/submission. This enables older plugins to be
used together with the new interface. The removal also enables us to
drop a lot of duplicate code, reducing complexity and increasing
maintainability.
- bugfix: segfault when starting up with an invalid .qi file for a disk queue
Failed for both pure disk as well as DA queues. Now, we emit an error
message and disable disk queueing facility.
- bugfix: potential segfault on messages with empty MSG part. This was a
recently introduced regression.
- bugfix: debug string larger than 1K were improperly displayed. Max size
is now 32K, and if a string is even longer it is meaningfully truncated.
---------------------------------------------------------------------------
Version 5.3.1 [DEVEL] (rgerhards), 2009-10-05
- added $AbortOnUncleanConfig directive - permits to prevent startup when
there are problems with the configuration file. See it's doc for
details.
- included some important fixes from v4-stable:
* bugfix: invalid handling of zero-sized messages
* bugfix: zero-sized UDP messages are no longer processed
* bugfix: random data could be appended to message
* bugfix: reverse lookup reduction logic in imudp do DNS queries too often
- bugfixes imported from 4.5.4:
* bugfix: potential segfault in stream writer on destruction
* bugfix: potential race in object loader (obj.c) during use/release
* bugfixes: potential problems in out file zip writer
---------------------------------------------------------------------------
Version 5.3.0 [DEVEL] (rgerhards), 2009-09-14
- begun to add simple GUI programs to gain insight into running rsyslogd
instances and help setup and troubleshooting (active via the
--enable-gui ./configure switch)
- changed imudp to utilize epoll(), where available. This shall provide
slightly better performance (just slightly because we called select()
rather infrequently on a busy system)
---------------------------------------------------------------------------
Version 5.2.2 [v5-stable] (rgerhards), 2009-11-??
- bugfix: enabling GSSServer crashes rsyslog startup
Thanks to Tomas Kubina for the patch [imgssapi]
---------------------------------------------------------------------------
Version 5.2.1 [v5-stable] (rgerhards), 2009-11-02
- bugfix [imported from 4.4.3]: $ActionExecOnlyOnceEveryInterval did
not work.
- bugfix: segfault on startup when -q or -Q option was given
[imported from v3-stable]
---------------------------------------------------------------------------
Version 5.2.0 [v5-stable] (rgerhards), 2009-11-02
This is a re-release of version 5.1.6 as stable after we did not get any bug
reports during the whole beta phase. Still, this first v5-stable may not be
as stable as one hopes for, I am not sure if we did not get bug reports
just because nobody tried it. Anyhow, we need to go forward and so we
have the initial v5-stable.
---------------------------------------------------------------------------
Version 5.1.6 [v5-beta] (rgerhards), 2009-10-15
- feature imports from v4.5.6
- bugfix: potential race condition when queue worker threads were
terminated
- bugfix: solved potential (temporary) stall of messages when the queue was
almost empty and few new data added (caused testbench to sometimes hang!)
- fixed some race condition in testbench
- added more elaborate diagnostics to parts of the testbench
- bugfixes imported from 4.5.4:
* bugfix: potential segfault in stream writer on destruction
* bugfix: potential race in object loader (obj.c) during use/release
* bugfixes: potential problems in out file zip writer
- included some important fixes from 4.4.2:
* bugfix: invalid handling of zero-sized messages
* bugfix: zero-sized UDP messages are no longer processed
* bugfix: random data could be appended to message
* bugfix: reverse lookup reduction logic in imudp do DNS queries too often
---------------------------------------------------------------------------
Version 5.1.5 [v5-beta] (rgerhards), 2009-09-11
- added new config option $ActionWriteAllMarkMessages
this option permites to process mark messages under all circumstances,
even if an action was recently called. This can be useful to use mark
messages as a kind of heartbeat.
- added new config option $InputUnixListenSocketCreatePath
to permit the auto-creation of pathes to additional log sockets. This
turns out to be useful if they reside on temporary file systems and
rsyslogd starts up before the daemons that create these sockets
(rsyslogd always creates the socket itself if it does not exist).
- added $LogRSyslogStatusMessages configuration directive
permitting to turn off rsyslog start/stop/HUP messages. See Debian
ticket http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=463793
- bugfix: hostnames with dashes in them were incorrectly treated as
malformed, thus causing them to be treated as TAG (this was a regression
introduced from the "rfc3164 strict" change in 4.5.0). Testbench has been
updated to include a smaple message with a hostname containing a dash.
- bugfix: strings improperly reused, resulting in some message properties
be populated with strings from previous messages. This was caused by
an improper predicate check.
- added new config directive $omfileForceChown [import from 4.7.0]
---------------------------------------------------------------------------
Version 5.1.4 [DEVEL] (rgerhards), 2009-08-20
- legacy syslog parser changed so that it now accepts date stamps in
wrong case. Some devices seem to create them and I do not see any harm
in supporting that.
- added $InputTCPMaxListeners directive - permits to specify how many
TCP servers shall be possible (default is 20).
- bugfix: memory leak with some input modules. Those inputs that
use parseAndSubmitMsg() leak two small memory blocks with every message.
Typically, those process only relatively few messages, so the issue
does most probably not have any effect in practice.
- bugfix: if tcp listen port could not be created, no error message was
emitted
- bugfix: discard action did not work (did not discard messages)
- bugfix: discard action caused segfault
- bugfix: potential segfault in output file writer (omfile)
In async write mode, we use modular arithmetic to index the output
buffer array. However, the counter variables accidently were signed,
thus resulting in negative indizes after integer overflow. That in turn
could lead to segfaults, but was depending on the memory layout of
the instance in question (which in turn depended on a number of
variables, like compile settings but also configuration). The counters
are now unsigned (as they always should have been) and so the dangling
mis-indexing does no longer happen. This bug potentially affected all
installations, even if only some may actually have seen a segfault.
---------------------------------------------------------------------------
Version 5.1.3 [DEVEL] (rgerhards), 2009-07-28
- architecture change: queue now always has at least one worker thread
if not running in direct mode. Previous versions could run without
any active workers. This simplifies the code at a very small expense.
See v5 compatibility note document for more in-depth discussion.
- enhance: UDP spoofing supported via new output module omudpspoof
See the omudpspoof documentation for details and samples
- bugfix: message could be truncated after TAG, often when forwarding
This was a result of an internal processing error if maximum field
sizes had been specified in the property replacer.
- bugfix: minor static memory leak while reading configuration
did NOT leak based on message volume
- internal: added ability to terminate input modules not via pthread_cancel
but an alternate approach via pthread_kill. This is somewhat safer as we
do not need to think about the cancel-safeness of all libraries we use.
However, not all inputs can easily supported, so this now is a feature
that can be requested by the input module (the most important ones
request it).
---------------------------------------------------------------------------
Version 5.1.2 [DEVEL] (rgerhards), 2009-07-08
- bugfix: properties inputname, fromhost, fromhost-ip, msg were lost when
working with disk queues
- some performance enhancements
- bugfix: abort condition when RecvFrom was not set and message reduction
was on. Happend e.g. with imuxsock.
- added $klogConsoleLogLevel directive which permits to set a new
console log level while rsyslog is active
- some internal code cleanup
---------------------------------------------------------------------------
Version 5.1.1 [DEVEL] (rgerhards), 2009-07-03
- bugfix: huge memory leak in queue engine (made rsyslogd unusable in
production). Occured if at least one queue was in direct mode
(the default for action queues)
- imported many performance optimizations from v4-devel (4.5.0)
- bugfix: subtle (and usually irrelevant) issue in timout processing
timeout could be one second too early if nanoseconds wrapped
- set a more sensible timeout for shutdow, now 1.5 seconds to complete
processing (this also removes those cases where the shutdown message
was not written because the termination happened before it)
---------------------------------------------------------------------------
Version 5.1.0 [DEVEL] (rgerhards), 2009-05-29
*********************************** NOTE **********************************
The v5 versions of rsyslog feature a greatly redesigned queue engine. The
major theme for the v5 release is twofold:
a) greatly improved performance
b) enable audit-grade processing
Here, audit-grade processing means that rsyslog, if used together with
audit-grade transports and configured correctly, will never lose messages
that already have been acknowledged, not even in fatal failure cases like
sudden loss of power.
Note that large parts of rsyslog's important core components have been
restructured to support these design goals. As such, early versions of
the engine will probably be less stable than the v3/v4 engine.
Also note that the initial versions do not cover all and everything. As
usual, the code will evolve toward the final goal as version numbers
increase.
*********************************** NOTE **********************************
- redesigned queue engine so that it supports ultra-reliable operations
This resulted in a rewrite of large parts. The new capability can be
used to build audit-grade systems on the basis of rsyslog.
- added $MainMsgQueueDequeueBatchSize and $ActionQueueDequeueBatchSize
configuration directives
- implemented a new transactional output module interface which provides
superior performance (for databases potentially far superior performance)
- increased ompgsql performance by adapting to new transactional
output module interface
---------------------------------------------------------------------------
Version 4.7.3 [v4-devel] (rgerhards), 2010-??-??
- added omuxsock, which permits to write message to local Unix sockets
this is the counterpart to imuxsock, enabling fast local forwarding
- added imptcp, a simplified, Linux-specific and potentielly fast
syslog plain tcp input plugin (NOT supporting TLS!)
---------------------------------------------------------------------------
Version 4.7.2 [v4-devel] (rgerhards), 2010-05-03
- bugfix: problems with atomic operations emulaton
replaced atomic operation emulation with new code. The previous code
seemed to have some issue and also limited concurrency severely. The
whole atomic operation emulation has been rewritten.
- added new $Sleep directive to hold processing for a couple of seconds
during startup
- bugfix: programname filter in ! configuration can not be reset
Thanks to Kiss Gabor for the patch.
---------------------------------------------------------------------------
Version 4.7.1 [v4-devel] (rgerhards), 2010-04-22
- Solaris support much improved -- was not truely usable in 4.7.0
Solaris is no longer supported in imklog, but rather there is a new
plugin imsolaris, which is used to pull local log sources on a Solaris
machine.
- testbench improvement: Java is no longer needed for testing tool creation
---------------------------------------------------------------------------
Version 4.7.0 [v4-devel] (rgerhards), 2010-04-14
- new: support for Solaris added (but not yet the Solaris door API)
- added function getenv() to RainerScript
- added new config option $InputUnixListenSocketCreatePath
to permit the auto-creation of pathes to additional log sockets. This
turns out to be useful if they reside on temporary file systems and
rsyslogd starts up before the daemons that create these sockets
(rsyslogd always creates the socket itself if it does not exist).
- added $LogRSyslogStatusMessages configuration directive
permitting to turn off rsyslog start/stop/HUP messages. See Debian
ticket http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=463793
- added new config directive $omfileForceChown to (try to) fix some broken
system configs.
See ticket for details: http://bugzilla.adiscon.com/show_bug.cgi?id=150
- added $EscapeControlCharacterTab config directive
Thanks to Jonathan Bond-Caron for the patch.
- added option to use unlimited-size select() calls
Thanks to varmjofekoj for the patch
- debugondemand mode caused backgrounding to fail - close to a bug, but I'd
consider the ability to background in this mode a new feature...
- bugfix (kind of): check if TCP connection is still alive if using TLS
Thanks to Jonathan Bond-Caron for the patch.
- imported changes from 4.5.7 and below
- bugfix: potential segfault when -p command line option was used
Thanks for varmojfekoj for pointing me at this bug.
- imported changes from 4.5.6 and below
---------------------------------------------------------------------------
Version 4.6.4 [v4-stable] (rgerhards), 2010-08-05
- bugfix: zero-sized (empty) messages were processed by imtcp
they are now dropped as they always should have been
- bugfix: programname filter in ! configuration can not be reset
@ -24,12 +558,18 @@ Version 4.6.3 [v4-stable] (rgerhards), 2010-07-07
message-induced off-by-one error (potential segfault) (see 4.6.2)
The analysis has been completed and a better fix been crafted and
integrated.
- bugfix: the T/P/E config size specifiers did not work properly under
all 32-bit platforms
- bugfix: local unix system log socket was deleted even when it was
not configured
- some doc fixes; incorrect config samples could cause confusion
thanks to Anthony Edwards for pointing the problems out
---------------------------------------------------------------------------
Version 4.6.2 [v4-stable] (rgerhards), 2010-03-26
- new feature: "." action type added to support writing files to relative
pathes (this is primarily meant as a debug aid)
- added replacements for atomic instructions on systems that do not
support them. [backport of Stefen Sledz' patch for v5)
- new feature: $OMFileAsyncWriting directive added
it permits to specifiy if asynchronous writing should be done or not
- bugfix(temporary): message-induced off-by-one error (potential segfault)
@ -178,8 +718,7 @@ Version 4.5.8 [v4-beta] (rgerhards), 2010-02-10
Thanks to Jack for reporting this issue.
- bugfix: rsyslog hang when writing to a named pipe which nobody was
reading. Thanks to Michael Biebl for reporting this bug.
- bugfix: memory leak when sending messages in zip-compressed format
Thanks to Naoya Nakazawa for analyzing this issue and providing a patch.
Bugzilla entry: http://bugzilla.adiscon.com/show_bug.cgi?id=169
- bugfix: potential segfaults during queue shutdown
(bugs require certain non-standard settings to appear)
Thanks to varmojfekoj for the patch
@ -4617,6 +5156,21 @@ Initial testing release. Based on the sysklogd package. Thanks to the
sysklogd maintainers for all their good work!
---------------------------------------------------------------------------
----------------------------------------------------------------------
The following comments were left in the syslogd source. While they provide
not too much detail, the help to date when Rainer started work on the
project (which was 2003, now even surprising for Rainer himself ;)).
* \author Rainer Gerhards <rgerhards@adiscon.com>
* \date 2003-10-17
* Some initial modifications on the sysklogd package to support
* liblogging. These have actually not yet been merged to the
* source you see currently (but they hopefully will)
*
* \date 2004-10-28
* Restarted the modifications of sysklogd. This time, we
* focus on a simpler approach first. The initial goal is to
* provide MySQL database support (so that syslogd can log
* to the database).
----------------------------------------------------------------------
The following comments are from the stock syslogd.c source. They provide
some insight into what happened to the source before we forked

64
Makefile.am

@ -59,6 +59,14 @@ if ENABLE_IMKLOG
SUBDIRS += plugins/imklog
endif
if ENABLE_IMPSTATS
SUBDIRS += plugins/impstats
endif
if ENABLE_IMSOLARIS
SUBDIRS += plugins/imsolaris
endif
if ENABLE_GSSAPI
SUBDIRS += plugins/omgssapi plugins/imgssapi
endif
@ -95,6 +103,30 @@ if ENABLE_OMSTDOUT
SUBDIRS += plugins/omstdout
endif
if ENABLE_PMLASTMSG
SUBDIRS += plugins/pmlastmsg
endif
if ENABLE_PMRFC3164SD
SUBDIRS += plugins/pmrfc3164sd
endif
if ENABLE_OMRULESET
SUBDIRS += plugins/omruleset
endif
if ENABLE_OMDBALERTING
SUBDIRS += plugins/omdbalerting
endif
if ENABLE_OMUDPSPOOF
SUBDIRS += plugins/omudpspoof
endif
if ENABLE_OMUXSOCK
SUBDIRS += plugins/omuxsock
endif
if ENABLE_OMTEMPLATE
SUBDIRS += plugins/omtemplate
endif
@ -103,6 +135,10 @@ if ENABLE_IMFILE
SUBDIRS += plugins/imfile
endif
if ENABLE_IMPTCP
SUBDIRS += plugins/imptcp
endif
if ENABLE_IMDIAG
SUBDIRS += plugins/imdiag
endif
@ -123,6 +159,10 @@ if ENABLE_ORACLE
SUBDIRS += plugins/omoracle
endif
if ENABLE_GUI
SUBDIRS += java
endif
# tests are added as last element, because tests may need different
# modules that need to be generated first
SUBDIRS += tests
@ -134,5 +174,27 @@ SUBDIRS += tests
# temporarily be removed below. The intent behind forcing everthing to compile
# in a make distcheck is so that we detect code that accidently was not updated
# when some global update happened.
DISTCHECK_CONFIGURE_FLAGS=--enable-gssapi_krb5 --enable-imfile --enable-snmp --enable-pgsql --enable-libdbi --enable-mysql --enable-omtemplate --enable-imtemplate --enable-relp --enable-rsyslogd --enable-mail --enable-klog --enable-diagtools --enable-gnutls --enable-omstdout --enable-omprog --enable-imdiag --enable-shave --enable-extended-tests
DISTCHECK_CONFIGURE_FLAGS= --enable-gssapi_krb5 \
--enable-imfile \
--enable-snmp \
--enable-pgsql \
--enable-libdbi \
--enable-mysql \
--enable-relp \
--enable-rsyslogd \
--enable-mail \
--enable-klog \
--enable-diagtools \
--enable-gnutls \
--enable-omstdout \
--enable-pmlastmsg \
--enable-omruleset \
--enable-omprog \
--enable-imdiag \
--enable-imptcp \
--enable-omuxsock \
--enable-shave \
--enable-extended-tests \
--enable-impstats \
--enable-memcheck
ACLOCAL_AMFLAGS = -I m4

191
Makefile.in

@ -44,42 +44,51 @@ sbin_PROGRAMS =
@ENABLE_GSSAPI_TRUE@am__append_2 = lmgssutil.la
@ENABLE_RSYSLOGD_TRUE@am__append_3 = tools
@ENABLE_IMKLOG_TRUE@am__append_4 = plugins/imklog
@ENABLE_GSSAPI_TRUE@am__append_5 = plugins/omgssapi plugins/imgssapi
@ENABLE_RELP_TRUE@am__append_6 = plugins/omrelp plugins/imrelp
@ENABLE_MYSQL_TRUE@am__append_7 = plugins/ommysql
@ENABLE_OMLIBDBI_TRUE@am__append_8 = plugins/omlibdbi
@ENABLE_PGSQL_TRUE@am__append_9 = plugins/ompgsql
@ENABLE_SNMP_TRUE@am__append_10 = plugins/omsnmp
@ENABLE_CUST1_TRUE@am__append_11 = plugins/cust1
@ENABLE_IMTEMPLATE_TRUE@am__append_12 = plugins/imtemplate
@ENABLE_OMSTDOUT_TRUE@am__append_13 = plugins/omstdout
@ENABLE_OMTEMPLATE_TRUE@am__append_14 = plugins/omtemplate
@ENABLE_IMFILE_TRUE@am__append_15 = plugins/imfile
@ENABLE_IMDIAG_TRUE@am__append_16 = plugins/imdiag
@ENABLE_MAIL_TRUE@am__append_17 = plugins/ommail
@ENABLE_OMPROG_TRUE@am__append_18 = plugins/omprog
@ENABLE_RFC3195_TRUE@am__append_19 = plugins/im3195
@ENABLE_ORACLE_TRUE@am__append_20 = plugins/omoracle
@ENABLE_IMPSTATS_TRUE@am__append_5 = plugins/impstats
@ENABLE_IMSOLARIS_TRUE@am__append_6 = plugins/imsolaris
@ENABLE_GSSAPI_TRUE@am__append_7 = plugins/omgssapi plugins/imgssapi
@ENABLE_RELP_TRUE@am__append_8 = plugins/omrelp plugins/imrelp
@ENABLE_MYSQL_TRUE@am__append_9 = plugins/ommysql
@ENABLE_OMLIBDBI_TRUE@am__append_10 = plugins/omlibdbi
@ENABLE_PGSQL_TRUE@am__append_11 = plugins/ompgsql
@ENABLE_SNMP_TRUE@am__append_12 = plugins/omsnmp
@ENABLE_CUST1_TRUE@am__append_13 = plugins/cust1
@ENABLE_IMTEMPLATE_TRUE@am__append_14 = plugins/imtemplate
@ENABLE_OMSTDOUT_TRUE@am__append_15 = plugins/omstdout
@ENABLE_PMLASTMSG_TRUE@am__append_16 = plugins/pmlastmsg
@ENABLE_PMRFC3164SD_TRUE@am__append_17 = plugins/pmrfc3164sd
@ENABLE_OMRULESET_TRUE@am__append_18 = plugins/omruleset
@ENABLE_OMDBALERTING_TRUE@am__append_19 = plugins/omdbalerting
@ENABLE_OMUDPSPOOF_TRUE@am__append_20 = plugins/omudpspoof
@ENABLE_OMUXSOCK_TRUE@am__append_21 = plugins/omuxsock
@ENABLE_OMTEMPLATE_TRUE@am__append_22 = plugins/omtemplate
@ENABLE_IMFILE_TRUE@am__append_23 = plugins/imfile
@ENABLE_IMPTCP_TRUE@am__append_24 = plugins/imptcp
@ENABLE_IMDIAG_TRUE@am__append_25 = plugins/imdiag
@ENABLE_MAIL_TRUE@am__append_26 = plugins/ommail
@ENABLE_OMPROG_TRUE@am__append_27 = plugins/omprog
@ENABLE_RFC3195_TRUE@am__append_28 = plugins/im3195
@ENABLE_ORACLE_TRUE@am__append_29 = plugins/omoracle
@ENABLE_GUI_TRUE@am__append_30 = java
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/shave-libtool.in $(srcdir)/shave.in \
$(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)/m4/atomic_operations.m4 \
$(top_srcdir)/m4/atomic_operations_64bit.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/shave.m4 \
$(top_srcdir)/configure.ac
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = shave shave-libtool
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@ -110,7 +119,10 @@ am__lmgssutil_la_SOURCES_DIST = gss-misc.c gss-misc.h
@ENABLE_GSSAPI_TRUE@am_lmgssutil_la_OBJECTS = \
@ENABLE_GSSAPI_TRUE@ lmgssutil_la-gss-misc.lo
lmgssutil_la_OBJECTS = $(am_lmgssutil_la_OBJECTS)
lmgssutil_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
lmgssutil_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(lmgssutil_la_LDFLAGS) $(LDFLAGS) -o $@
@ENABLE_GSSAPI_TRUE@am_lmgssutil_la_rpath = -rpath $(pkglibdir)
@ -118,7 +130,7 @@ lmtcpclt_la_DEPENDENCIES =
am__lmtcpclt_la_SOURCES_DIST = tcpclt.c tcpclt.h
@ENABLE_INET_TRUE@am_lmtcpclt_la_OBJECTS = lmtcpclt_la-tcpclt.lo
lmtcpclt_la_OBJECTS = $(am_lmtcpclt_la_OBJECTS)
lmtcpclt_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
lmtcpclt_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(lmtcpclt_la_LDFLAGS) $(LDFLAGS) -o $@
@ENABLE_INET_TRUE@am_lmtcpclt_la_rpath = -rpath $(pkglibdir)
@ -128,7 +140,7 @@ am__lmtcpsrv_la_SOURCES_DIST = tcps_sess.c tcps_sess.h tcpsrv.c \
@ENABLE_INET_TRUE@am_lmtcpsrv_la_OBJECTS = lmtcpsrv_la-tcps_sess.lo \
@ENABLE_INET_TRUE@ lmtcpsrv_la-tcpsrv.lo
lmtcpsrv_la_OBJECTS = $(am_lmtcpsrv_la_OBJECTS)
lmtcpsrv_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
lmtcpsrv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(lmtcpsrv_la_LDFLAGS) $(LDFLAGS) -o $@
@ENABLE_INET_TRUE@am_lmtcpsrv_la_rpath = -rpath $(pkglibdir)
@ -139,13 +151,26 @@ am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo " CC " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo " CCLD " $@;
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(lmgssutil_la_SOURCES) $(lmtcpclt_la_SOURCES) \
$(lmtcpsrv_la_SOURCES)
DIST_SOURCES = $(am__lmgssutil_la_SOURCES_DIST) \
@ -167,12 +192,15 @@ ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = doc runtime . plugins/immark plugins/imuxsock \
plugins/imtcp plugins/imudp plugins/omtesting tools \
plugins/imklog plugins/omgssapi plugins/imgssapi \
plugins/omrelp plugins/imrelp plugins/ommysql plugins/omlibdbi \
plugins/imklog plugins/impstats plugins/imsolaris \
plugins/omgssapi plugins/imgssapi plugins/omrelp \
plugins/imrelp plugins/ommysql plugins/omlibdbi \
plugins/ompgsql plugins/omsnmp plugins/cust1 \
plugins/imtemplate plugins/omstdout plugins/omtemplate \
plugins/imfile plugins/imdiag plugins/ommail plugins/omprog \
plugins/im3195 plugins/omoracle tests
plugins/imtemplate plugins/omstdout plugins/pmlastmsg \
plugins/pmrfc3164sd plugins/omruleset plugins/omdbalerting \
plugins/omudpspoof plugins/omuxsock plugins/omtemplate \
plugins/imfile plugins/imptcp plugins/imdiag plugins/ommail \
plugins/omprog plugins/im3195 plugins/omoracle java tests
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@ -211,7 +239,7 @@ distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@ -222,7 +250,6 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@ -234,8 +261,6 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FC = @FC@
FGREP = @FGREP@
GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
GNUTLS_LIBS = @GNUTLS_LIBS@
@ -262,14 +287,12 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEFLAGS = @MAKEFLAGS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
ORACLE_CFLAGS = @ORACLE_CFLAGS@
@ -289,7 +312,6 @@ PGSQL_LIBS = @PGSQL_LIBS@
PKG_CONFIG = @PKG_CONFIG@
PTHREADS_CFLAGS = @PTHREADS_CFLAGS@
PTHREADS_LIBS = @PTHREADS_LIBS@
Q = @Q@
RANLIB = @RANLIB@
RELP_CFLAGS = @RELP_CFLAGS@
RELP_LIBS = @RELP_LIBS@
@ -303,7 +325,8 @@ SNMP_CFLAGS = @SNMP_CFLAGS@
SNMP_LIBS = @SNMP_LIBS@
SOL_LIBS = @SOL_LIBS@
STRIP = @STRIP@
V = @V@
UDPSPOOF_CFLAGS = @UDPSPOOF_CFLAGS@
UDPSPOOF_LIBS = @UDPSPOOF_LIBS@
VERSION = @VERSION@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
@ -353,7 +376,6 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
shavedir = @shavedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
@ -409,7 +431,10 @@ SUBDIRS = doc runtime . plugins/immark plugins/imuxsock plugins/imtcp \
$(am__append_10) $(am__append_11) $(am__append_12) \
$(am__append_13) $(am__append_14) $(am__append_15) \
$(am__append_16) $(am__append_17) $(am__append_18) \
$(am__append_19) $(am__append_20) tests
$(am__append_19) $(am__append_20) $(am__append_21) \
$(am__append_22) $(am__append_23) $(am__append_24) \
$(am__append_25) $(am__append_26) $(am__append_27) \
$(am__append_28) $(am__append_29) $(am__append_30) tests
# make sure "make distcheck" tries to build all modules. This means that
# a developer must always have an environment where every supporting library
@ -417,7 +442,30 @@ SUBDIRS = doc runtime . plugins/immark plugins/imuxsock plugins/imtcp \
# temporarily be removed below. The intent behind forcing everthing to compile
# in a make distcheck is so that we detect code that accidently was not updated
# when some global update happened.
DISTCHECK_CONFIGURE_FLAGS = --enable-gssapi_krb5 --enable-imfile --enable-snmp --enable-pgsql --enable-libdbi --enable-mysql --enable-omtemplate --enable-imtemplate --enable-relp --enable-rsyslogd --enable-mail --enable-klog --enable-diagtools --enable-gnutls --enable-omstdout --enable-omprog --enable-imdiag --enable-shave --enable-extended-tests
DISTCHECK_CONFIGURE_FLAGS = --enable-gssapi_krb5 \
--enable-imfile \
--enable-snmp \
--enable-pgsql \
--enable-libdbi \
--enable-mysql \
--enable-relp \
--enable-rsyslogd \
--enable-mail \
--enable-klog \
--enable-diagtools \
--enable-gnutls \
--enable-omstdout \
--enable-pmlastmsg \
--enable-omruleset \
--enable-omprog \
--enable-imdiag \
--enable-imptcp \
--enable-omuxsock \
--enable-shave \
--enable-extended-tests \
--enable-impstats \
--enable-memcheck
ACLOCAL_AMFLAGS = -I m4
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@ -475,10 +523,6 @@ $(srcdir)/config.h.in: $(am__configure_deps)
distclean-hdr:
-rm -f config.h stamp-h1
shave: $(top_builddir)/config.status $(srcdir)/shave.in
cd $(top_builddir) && $(SHELL) ./config.status $@
shave-libtool: $(top_builddir)/config.status $(srcdir)/shave-libtool.in
cd $(top_builddir) && $(SHELL) ./config.status $@
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
@ -511,11 +555,11 @@ clean-pkglibLTLIBRARIES:
rm -f "$${dir}/so_locations"; \
done
lmgssutil.la: $(lmgssutil_la_OBJECTS) $(lmgssutil_la_DEPENDENCIES)
$(lmgssutil_la_LINK) $(am_lmgssutil_la_rpath) $(lmgssutil_la_OBJECTS) $(lmgssutil_la_LIBADD) $(LIBS)
$(AM_V_CCLD)$(lmgssutil_la_LINK) $(am_lmgssutil_la_rpath) $(lmgssutil_la_OBJECTS) $(lmgssutil_la_LIBADD) $(LIBS)
lmtcpclt.la: $(lmtcpclt_la_OBJECTS) $(lmtcpclt_la_DEPENDENCIES)
$(lmtcpclt_la_LINK) $(am_lmtcpclt_la_rpath) $(lmtcpclt_la_OBJECTS) $(lmtcpclt_la_LIBADD) $(LIBS)
$(AM_V_CCLD)$(lmtcpclt_la_LINK) $(am_lmtcpclt_la_rpath) $(lmtcpclt_la_OBJECTS) $(lmtcpclt_la_LIBADD) $(LIBS)
lmtcpsrv.la: $(lmtcpsrv_la_OBJECTS) $(lmtcpsrv_la_DEPENDENCIES)
$(lmtcpsrv_la_LINK) $(am_lmtcpsrv_la_rpath) $(lmtcpsrv_la_OBJECTS) $(lmtcpsrv_la_LIBADD) $(LIBS)
$(AM_V_CCLD)$(lmtcpsrv_la_LINK) $(am_lmtcpsrv_la_rpath) $(lmtcpsrv_la_OBJECTS) $(lmtcpsrv_la_LIBADD) $(LIBS)
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@ -572,53 +616,60 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lmtcpsrv_la-tcpsrv.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
lmgssutil_la-gss-misc.lo: gss-misc.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmgssutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmgssutil_la-gss-misc.lo -MD -MP -MF $(DEPDIR)/lmgssutil_la-gss-misc.Tpo -c -o lmgssutil_la-gss-misc.lo `test -f 'gss-misc.c' || echo '$(srcdir)/'`gss-misc.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lmgssutil_la-gss-misc.Tpo $(DEPDIR)/lmgssutil_la-gss-misc.Plo
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmgssutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmgssutil_la-gss-misc.lo -MD -MP -MF $(DEPDIR)/lmgssutil_la-gss-misc.Tpo -c -o lmgssutil_la-gss-misc.lo `test -f 'gss-misc.c' || echo '$(srcdir)/'`gss-misc.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmgssutil_la-gss-misc.Tpo $(DEPDIR)/lmgssutil_la-gss-misc.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gss-misc.c' object='lmgssutil_la-gss-misc.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmgssutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmgssutil_la-gss-misc.lo `test -f 'gss-misc.c' || echo '$(srcdir)/'`gss-misc.c
@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmgssutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmgssutil_la-gss-misc.lo `test -f 'gss-misc.c' || echo '$(srcdir)/'`gss-misc.c
lmtcpclt_la-tcpclt.lo: tcpclt.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpclt_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmtcpclt_la-tcpclt.lo -MD -MP -MF $(DEPDIR)/lmtcpclt_la-tcpclt.Tpo -c -o lmtcpclt_la-tcpclt.lo `test -f 'tcpclt.c' || echo '$(srcdir)/'`tcpclt.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lmtcpclt_la-tcpclt.Tpo $(DEPDIR)/lmtcpclt_la-tcpclt.Plo
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpclt_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmtcpclt_la-tcpclt.lo -MD -MP -MF $(DEPDIR)/lmtcpclt_la-tcpclt.Tpo -c -o lmtcpclt_la-tcpclt.lo `test -f 'tcpclt.c' || echo '$(srcdir)/'`tcpclt.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmtcpclt_la-tcpclt.Tpo $(DEPDIR)/lmtcpclt_la-tcpclt.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tcpclt.c' object='lmtcpclt_la-tcpclt.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpclt_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmtcpclt_la-tcpclt.lo `test -f 'tcpclt.c' || echo '$(srcdir)/'`tcpclt.c
@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpclt_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmtcpclt_la-tcpclt.lo `test -f 'tcpclt.c' || echo '$(srcdir)/'`tcpclt.c
lmtcpsrv_la-tcps_sess.lo: tcps_sess.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmtcpsrv_la-tcps_sess.lo -MD -MP -MF $(DEPDIR)/lmtcpsrv_la-tcps_sess.Tpo -c -o lmtcpsrv_la-tcps_sess.lo `test -f 'tcps_sess.c' || echo '$(srcdir)/'`tcps_sess.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lmtcpsrv_la-tcps_sess.Tpo $(DEPDIR)/lmtcpsrv_la-tcps_sess.Plo
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmtcpsrv_la-tcps_sess.lo -MD -MP -MF $(DEPDIR)/lmtcpsrv_la-tcps_sess.Tpo -c -o lmtcpsrv_la-tcps_sess.lo `test -f 'tcps_sess.c' || echo '$(srcdir)/'`tcps_sess.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmtcpsrv_la-tcps_sess.Tpo $(DEPDIR)/lmtcpsrv_la-tcps_sess.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tcps_sess.c' object='lmtcpsrv_la-tcps_sess.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmtcpsrv_la-tcps_sess.lo `test -f 'tcps_sess.c' || echo '$(srcdir)/'`tcps_sess.c
@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmtcpsrv_la-tcps_sess.lo `test -f 'tcps_sess.c' || echo '$(srcdir)/'`tcps_sess.c
lmtcpsrv_la-tcpsrv.lo: tcpsrv.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmtcpsrv_la-tcpsrv.lo -MD -MP -MF $(DEPDIR)/lmtcpsrv_la-tcpsrv.Tpo -c -o lmtcpsrv_la-tcpsrv.lo `test -f 'tcpsrv.c' || echo '$(srcdir)/'`tcpsrv.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lmtcpsrv_la-tcpsrv.Tpo $(DEPDIR)/lmtcpsrv_la-tcpsrv.Plo
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmtcpsrv_la-tcpsrv.lo -MD -MP -MF $(DEPDIR)/lmtcpsrv_la-tcpsrv.Tpo -c -o lmtcpsrv_la-tcpsrv.lo `test -f 'tcpsrv.c' || echo '$(srcdir)/'`tcpsrv.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmtcpsrv_la-tcpsrv.Tpo $(DEPDIR)/lmtcpsrv_la-tcpsrv.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tcpsrv.c' object='lmtcpsrv_la-tcpsrv.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmtcpsrv_la-tcpsrv.lo `test -f 'tcpsrv.c' || echo '$(srcdir)/'`tcpsrv.c
@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lmtcpsrv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmtcpsrv_la-tcpsrv.lo `test -f 'tcpsrv.c' || echo '$(srcdir)/'`tcpsrv.c
mostlyclean-libtool:
-rm -f *.lo

29
aclocal.m4

@ -997,6 +997,33 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
# Copyright (C) 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 1
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
# (`yes' being less verbose, `no' or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
[AC_ARG_ENABLE([silent-rules],
[ --enable-silent-rules less verbose build output (undo: `make V=1')
--disable-silent-rules verbose build output (undo: `make V=0')])
case $enable_silent_rules in
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
@ -1141,9 +1168,9 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/atomic_operations.m4])
m4_include([m4/atomic_operations_64bit.m4])
m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])
m4_include([m4/ltversion.m4])
m4_include([m4/lt~obsolete.m4])
m4_include([m4/shave.m4])

1117
action.c

File diff suppressed because it is too large

31
action.h

@ -36,18 +36,30 @@
extern int glbliActionResumeRetryCount;
typedef enum {
ACT_STATE_DIED = 0, /* action permanently failed and now disabled - MUST BE ZEO! */
ACT_STATE_RDY = 1, /* action ready, waiting for new transaction */
ACT_STATE_ITX = 2, /* transaction active, waiting for new data or commit */
ACT_STATE_COMM = 3, /* transaction finished (a transient state) */
ACT_STATE_RTRY = 4, /* failure occured, trying to restablish ready state */
ACT_STATE_SUSP = 5 /* suspended due to failure (return fail until timeout expired) */
} action_state_t;
/* the following struct defines the action object data structure
*/
typedef struct action_s action_t;
struct action_s {
time_t f_time; /* used for "message repeated n times" - be careful, old, old code */
time_t tActNow; /* the current time for an action execution. Initially set to -1 and
populated on an as-needed basis. This is a performance optimization. */
time_t tLastExec; /* time this action was last executed */
bool bExecWhenPrevSusp;/* execute only when previous action is suspended? */
sbool bExecWhenPrevSusp;/* execute only when previous action is suspended? */
sbool bWriteAllMarkMsgs;/* should all mark msgs be written (not matter how recent the action was executed)? */
int iSecsExecOnceInterval; /* if non-zero, minimum seconds to wait until action is executed again */
short bEnabled; /* is the related action enabled (1) or disabled (0)? */
bool bSuspended; /* is the related action temporarily suspended? */
action_state_t eState; /* current state of action */
sbool bHadAutoCommit; /* did an auto-commit happen during doAction()? */
time_t ttResumeRtry; /* when is it time to retry the resume? */
int iResumeOKinRow; /* number of times in a row that resume said OK with an immediate failure following */
int iResumeInterval;/* resume interval for this action */
int iResumeRetryCount;/* how often shall we retry a suspended action? (-1 --> eternal) */
int iNbrResRtry; /* number of retries since last suspend */
@ -57,11 +69,13 @@ struct action_s {
time_t tLastOccur; /* time last occurence was seen (for timing them out) */
struct modInfo_s *pMod;/* pointer to output module handling this selector */
void *pModData; /* pointer to module data - content is module-specific */
bool bRepMsgHasMsg; /* "message repeated..." has msg fragment in it (0-no, 1-yes) */
sbool bRepMsgHasMsg; /* "message repeated..." has msg fragment in it (0-no, 1-yes) */
short f_ReduceRepeated;/* reduce repeated lines 0 - no, 1 - yes */
int f_prevcount; /* repetition cnt of prevline */
int f_repeatcount; /* number of "repeated" msgs */
enum { ACT_STRING_PASSING = 0, ACT_ARRAY_PASSING = 1 }
rsRetVal (*submitToActQ)(action_t *, batch_t *);/* function submit message to action queue */
rsRetVal (*qConstruct)(struct queue_s *pThis);
enum { ACT_STRING_PASSING = 0, ACT_ARRAY_PASSING = 1, ACT_MSG_PASSING }
eParamPassing; /* mode of parameter passing to action */
int iNumTpls; /* number of array entries for template element below */
struct template **ppTpl;/* array of template to use - strings must be passed to doAction
@ -74,10 +88,9 @@ struct action_s {
SYNC_OBJ_TOOL; /* required for mutex support */
pthread_mutex_t mutActExec; /* mutex to guard actual execution of doAction for single-threaded modules */
uchar *pszName; /* action name (for documentation) */
uchar **ppMsgs; /* pointer to action-calling parameters (kept in structure to save alloc() time!) */
size_t *lenMsgs; /* length of message in ppMsgs */
int *pbShutdownImmediate;/* to facilitate shutdown, if var is 1, shut down immediately */
DEF_ATOMIC_HELPER_MUT(mutCAS);
};
typedef struct action_s action_t;
/* function prototypes
@ -85,11 +98,9 @@ typedef struct action_s action_t;
rsRetVal actionConstruct(action_t **ppThis);
rsRetVal actionConstructFinalize(action_t *pThis);
rsRetVal actionDestruct(action_t *pThis);
rsRetVal actionAddCfSysLineHdrl(void);
rsRetVal actionDbgPrint(action_t *pThis);
rsRetVal actionSetGlobalResumeInterval(int iNewVal);
rsRetVal actionDoAction(action_t *pAction);
rsRetVal actionCallAction(action_t *pAction, msg_t *pMsg);
rsRetVal actionWriteToAction(action_t *pAction);
rsRetVal actionCallHUPHdlr(action_t *pAction);
rsRetVal actionClassInit(void);

30
config.h.in

@ -21,6 +21,9 @@
/* Define if compiler provides atomic builtins */
#undef HAVE_ATOMIC_BUILTINS
/* Define if compiler provides 64 bit atomic builtins */
#undef HAVE_ATOMIC_BUILTINS_64BIT
/* Define to 1 if you have the `basename' function. */
#undef HAVE_BASENAME
@ -46,8 +49,11 @@
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the `epoll_wait' function. */
#undef HAVE_EPOLL_WAIT
/* Define to 1 if you have the `epoll_create' function. */
#undef HAVE_EPOLL_CREATE
/* Define to 1 if you have the `epoll_create1' function. */
#undef HAVE_EPOLL_CREATE1
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
@ -79,6 +85,9 @@
/* Define to 1 if you have the <libgen.h> header file. */
#undef HAVE_LIBGEN_H
/* Define to 1 if you have the <libnet.h> header file. */
#undef HAVE_LIBNET_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
@ -135,6 +144,9 @@
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the <semaphore.h> header file. */
#undef HAVE_SEMAPHORE_H
/* Define to 1 if you have the `setid' function. */
#undef HAVE_SETID
@ -235,6 +247,9 @@
/* Define to 1 if you have the `ttyname_r' function. */
#undef HAVE_TTYNAME_R
/* Define to 1 if typeof works with your compiler. */
#undef HAVE_TYPEOF
/* Define to 1 if you have the `uname' function. */
#undef HAVE_UNAME
@ -276,6 +291,10 @@
/* Define with a value if your <sys/param.h> does not define MAXHOSTNAMELEN */
#undef MAXHOSTNAMELEN
/* Defined if memcheck support settings are to be enabled (e.g. prevents
dlclose()). */
#undef MEMCHECK
/* Defined if debug mode is disabled. */
#undef NDEBUG
@ -373,6 +392,10 @@
#endif
/* If defined, the select() syscall won't be limited to a particular number of
file descriptors. */
#undef USE_UNLIMITED_SELECT
/* Defined if valgrind support settings are to be enabled (e.g. prevents
dlclose()). */
#undef VALGRIND
@ -437,6 +460,9 @@
/* Define to `int' if <sys/types.h> does not define. */
#undef ssize_t
/* Define to __typeof__ if your compiler spells it that way. */
#undef typeof
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t

790
configure

File diff suppressed because it is too large

234
configure.ac

@ -2,8 +2,11 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT([rsyslog],[4.6.4],[rsyslog@lists.adiscon.com])
AC_INIT([rsyslog],[5.7.0],[rsyslog@lists.adiscon.com])
AM_INIT_AUTOMAKE
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_CONFIG_SRCDIR([ChangeLog])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
@ -12,7 +15,7 @@ AC_GNU_SOURCE
# check for Java compiler
AC_CHECK_PROG(HAVE_JAVAC, [javac], [yes])
if test x"$HAVE_JAVAC" = x"yes"; then
if test x"$HAVE_JAVAC" = x""; then
AC_MSG_WARN([no javac found, disabling features depending on it])
fi
@ -84,6 +87,7 @@ AC_TYPE_UINT8_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
AC_C_TYPEOF
sa_includes="\
$ac_includes_default
@ -104,7 +108,7 @@ AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_FUNC_STRERROR_R
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([flock basename alarm clock_gettime gethostbyname gethostname gettimeofday localtime_r memset mkdir regcomp select setid socket strcasecmp strchr strdup strerror strndup strnlen strrchr strstr strtol strtoul uname ttyname_r epoll_wait getline malloc_trim prctl fdatasync])
AC_CHECK_FUNCS([flock basename alarm clock_gettime gethostbyname gethostname gettimeofday localtime_r memset mkdir regcomp select setid socket strcasecmp strchr strdup strerror strndup strnlen strrchr strstr strtol strtoul uname ttyname_r getline malloc_trim prctl epoll_create epoll_create1 fdatasync])
# Check for MAXHOSTNAMELEN
AC_MSG_CHECKING(for MAXHOSTNAMELEN)
@ -125,6 +129,10 @@ AC_TRY_COMPILE([
# check for availability of atomic operations
RS_ATOMIC_OPERATIONS
RS_ATOMIC_OPERATIONS_64BIT
# fall back to POSIX sems for atomic operations (cpu expensive)
AC_CHECK_HEADERS([semaphore.h])
# Additional module directories
@ -175,6 +183,7 @@ if test "$enable_regexp" = "yes"; then
fi
# zlib compression
AC_ARG_ENABLE(zlib,
[AS_HELP_STRING([--enable-zlib],[Enable zlib compression support @<:@default=yes@:>@])],
@ -232,7 +241,7 @@ AC_ARG_ENABLE(pthreads,
)
if test "x$enable_pthreads" = "xno"; then
AC_MSG_ERROR(rsyslog v3 does no longer support single threading mode -- use a previous version for that);
AC_MSG_ERROR(rsyslog v3+ does no longer support single threading mode -- use a previous version for that);
fi
if test "x$enable_pthreads" != "xno"; then