summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-04-16 16:41:00 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2008-04-16 16:41:00 +0200
commit53a0ed8b3a03aa5d7bf40cb69b02391e5e5ca9d1 (patch)
tree8c550d69f70299aea93b156d4bfa97dcd447daf4
parentdd7e91f35dd70f0bbf657f0dc21ddc2afdcb0602 (diff)
downloadrsyslog-53a0ed8b3a03aa5d7bf40cb69b02391e5e5ca9d1.tar.gz
rsyslog-53a0ed8b3a03aa5d7bf40cb69b02391e5e5ca9d1.tar.xz
rsyslog-53a0ed8b3a03aa5d7bf40cb69b02391e5e5ca9d1.zip
completed im3195 including some documentation
-rw-r--r--ChangeLog1
-rw-r--r--configure.ac2
-rw-r--r--doc/im3195.html46
-rw-r--r--doc/rsyslog_conf.html4
-rw-r--r--doc/rsyslog_ng_comparison.html4
-rw-r--r--plugins/im3195/im3195.c8
6 files changed, 57 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 29c12e9c..903ec85c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+- implemented im3195, the RFC3195 input as a plugin
---------------------------------------------------------------------------
Version 3.17.1 (rgerhards), 2008-04-15
- removed dependency on MAXHOSTNAMELEN as much as it made sense.
diff --git a/configure.ac b/configure.ac
index 732e5a82..6b7a6844 100644
--- a/configure.ac
+++ b/configure.ac
@@ -553,7 +553,7 @@ AC_ARG_ENABLE(rfc3195,
[enable_rfc3195=no]
)
if test "x$enable_rfc3195" = "xyes"; then
- PKG_CHECK_MODULES(LIBLOGGING, liblogging >= 0.7.0)
+ PKG_CHECK_MODULES(LIBLOGGING, liblogging >= 0.7.1)
fi
AM_CONDITIONAL(ENABLE_RFC3195, test x$enable_rfc3195 = xyes)
AC_SUBST(RFC3195_CFLAGS)
diff --git a/doc/im3195.html b/doc/im3195.html
new file mode 100644
index 00000000..d6f2f2ed
--- /dev/null
+++ b/doc/im3195.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<title>RFC3195 Input Module (im3195)</title>
+
+</head>
+<body>
+<h1>RFC3195 Input Module</h1>
+<p><b>Module Name:&nbsp;&nbsp;&nbsp; im3195</b></p>
+<p><b>Author: </b>Rainer Gerhards
+&lt;rgerhards@adiscon.com&gt;</p>
+<p><b>Description</b>:</p>
+<p>Receives syslog messages via RFC 3195. The RAW profile is fully implemented and the
+COOKED profile is provided in an experimental state. This module uses
+<a href="http://www.liblogging.org">liblogging</a> for the actual protocol handling.</p>
+<p><b>Configuration Directives</b>:</p>
+<ul>
+<li><strong>$Input3195ListenPort &lt;port&gt;</strong><br>
+The port on which imklog listens for RFC 3195 messages. The default port is 601
+(the IANA-assigned port)</li>
+</ul>
+<b>Caveats/Known Bugs:</b>
+<p>Due to no demand at all for RFC3195, we have converted rfc3195d
+to this input module, but we have NOT conducted any testing. Also,
+the module does not yet properly handle the recovery case. If someone
+intends to put this module into production, good testing should be
+cunducted. It also is a good idea to notify the rsyslog project that you intend to use
+it in production. In this case, we'll probably give the module another
+cleanup. We don't do this now because so far it looks just like a big
+waste of time.
+<p>Currently only a single listener can be defined. That one binds to all interfaces.</p>
+<p><b>Sample:</b></p>
+<p>The following sample accepts syslog messages via RFC 3195 on port 1601.
+<br>
+</p>
+<textarea rows="15" cols="60">$ModLoad im3195
+$Input3195ListenPort 1601
+</textarea>
+<p>[<a href="rsyslog_conf.html">rsyslog.conf overview</a>]
+[<a href="manual.html">manual index</a>] [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p>
+<p><font size="2">This documentation is part of the
+<a href="http://www.rsyslog.com/">rsyslog</a> project.<br>
+Copyright &copy; 2008 by <a href="http://www.gerhards.net/rainer">Rainer
+Gerhards</a> and
+<a href="http://www.adiscon.com/">Adiscon</a>.
+Released under the GNU GPL version 3 or higher.</font></p>
+</body></html>
diff --git a/doc/rsyslog_conf.html b/doc/rsyslog_conf.html
index 9325f73c..4dcef903 100644
--- a/doc/rsyslog_conf.html
+++ b/doc/rsyslog_conf.html
@@ -50,6 +50,8 @@ input plugin for plain tcp and GSS-enable syslog</li>
<li><a href="imklog.html">imklog</a> - kernel logging</li>
<li><a href="imuxsock.html">imuxsock</a> -
unix sockets, including the system log socket</li>
+<li><a href="im3195.html">im3195</a> -
+accepts syslog messages via RFC 3195</li>
</ul>
<p>Please note that each module provides configuration
directives, which are NOT necessarily being listed below. Also
@@ -1190,4 +1192,4 @@ additional
and database support). For obvious reasons, the syntax for defining
such features is available in rsyslogd, only.<br>
&nbsp;</p>
-</body></html> \ No newline at end of file
+</body></html>
diff --git a/doc/rsyslog_ng_comparison.html b/doc/rsyslog_ng_comparison.html
index 28413337..0d57a374 100644
--- a/doc/rsyslog_ng_comparison.html
+++ b/doc/rsyslog_ng_comparison.html
@@ -57,7 +57,7 @@ comparison sheet, so please don't be shy ;)</p>
</tr>
<tr>
<td valign="top">RFC 3195/BEEP</td>
-<td valign="top">yes (needs separate build process)</td>
+<td valign="top">yes (via <a href="im3195.html">im3195</a>)</td>
<td valign="top">no</td>
<td></td>
</tr>
@@ -580,4 +580,4 @@ the mean time, you may want to read it in parallel. It is available at
site</a>.</p>
<p>This document is current as of 2008-04-08 and definitely
incomplete (I did not yet manage to complete it!).</p>
-</body></html> \ No newline at end of file
+</body></html>
diff --git a/plugins/im3195/im3195.c b/plugins/im3195/im3195.c
index 6bc2c4e9..51afd870 100644
--- a/plugins/im3195/im3195.c
+++ b/plugins/im3195/im3195.c
@@ -42,9 +42,9 @@
#include <assert.h>
#include "rsyslog.h"
#include "syslogd.h"
-#include "liblogging.h"
-#include "srAPI.h"
-#include "syslogmessage.h"
+#include "liblogging/liblogging.h"
+#include "liblogging/srAPI.h"
+#include "liblogging/syslogmessage.h"
#include "module-template.h"
#include "cfsysline.h"
#include "errmsg.h"
@@ -74,7 +74,7 @@ static srAPIObj* pAPI;
* best solution, but real-world experience might tell us a
* different truth ;)
*/
-void OnReceive(srAPIObj* __attribute__((unused)) pMyAPI, srSLMGObj* pSLMG)
+void OnReceive(srAPIObj __attribute__((unused)) *pMyAPI, srSLMGObj* pSLMG)
{
uchar *pszRawMsg;
uchar *fromHost = (uchar*) "[unset]"; /* TODO: get hostname */