summaryrefslogtreecommitdiffstats
path: root/output/ulogd_output_SYSLOG.c
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2006-05-23 08:57:18 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2006-05-23 08:57:18 +0000
commit62defdbdb365c325795b83845f266410cf7c1076 (patch)
tree30ec9bd4ba364b5058ad7b782140e908654a46a0 /output/ulogd_output_SYSLOG.c
parent5f738b5660fc5abf6e21b527bb6f946bbaaa31db (diff)
Move the printpkt functionality out of SYSLOG and LOGEMU, and into
a separate PRINTPKT plugin. This reduces code duplication, and also makes the SYSLOG and LOGEMU plugins more general. (Philip Craig)
Diffstat (limited to 'output/ulogd_output_SYSLOG.c')
-rw-r--r--output/ulogd_output_SYSLOG.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/output/ulogd_output_SYSLOG.c b/output/ulogd_output_SYSLOG.c
index 3d08f74..8b89295 100644
--- a/output/ulogd_output_SYSLOG.c
+++ b/output/ulogd_output_SYSLOG.c
@@ -31,7 +31,6 @@
#include <errno.h>
#include <ulogd/ulogd.h>
#include <ulogd/conffile.h>
-#include <ulogd/printpkt.h>
#ifndef SYSLOG_FACILITY_DEFAULT
#define SYSLOG_FACILITY_DEFAULT "LOG_KERN"
@@ -41,6 +40,13 @@
#define SYSLOG_LEVEL_DEFAULT "LOG_NOTICE"
#endif
+static struct ulogd_key syslog_inp[] = {
+ {
+ .type = ULOGD_RET_STRING,
+ .name = "print",
+ },
+};
+
static struct config_keyset syslog_kset = {
.num_ces = 2,
.ces = {
@@ -68,11 +74,10 @@ static int _output_syslog(struct ulogd_pluginstance *upi)
{
struct syslog_instance *li = (struct syslog_instance *) &upi->private;
struct ulogd_key *res = upi->input.keys;
- static char buf[4096];
-
- printpkt_print(res, buf, 0);
- syslog(li->syslog_level | li->syslog_facility, buf);
+ if (res[0].u.source->flags & ULOGD_RETF_VALID)
+ syslog(li->syslog_level | li->syslog_facility, "%s",
+ res[0].u.source->u.value.ptr);
return 0;
}
@@ -156,8 +161,8 @@ static int syslog_start(struct ulogd_pluginstance *pi)
static struct ulogd_plugin syslog_plugin = {
.name = "SYSLOG",
.input = {
- .keys = printpkt_keys,
- .num_keys = ARRAY_SIZE(printpkt_keys),
+ .keys = syslog_inp,
+ .num_keys = ARRAY_SIZE(syslog_inp),
.type = ULOGD_DTYPE_PACKET,
},
.output = {