From 62defdbdb365c325795b83845f266410cf7c1076 Mon Sep 17 00:00:00 2001 From: "/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org" Date: Tue, 23 May 2006 08:57:18 +0000 Subject: 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) --- output/ulogd_output_SYSLOG.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'output/ulogd_output_SYSLOG.c') 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 #include #include -#include #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 = { -- cgit v1.2.3