diff options
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 |
commit | 62defdbdb365c325795b83845f266410cf7c1076 (patch) | |
tree | 30ec9bd4ba364b5058ad7b782140e908654a46a0 /output/ulogd_output_SYSLOG.c | |
parent | 5f738b5660fc5abf6e21b527bb6f946bbaaa31db (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.c | 19 |
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 = { |