From 46f62d5c89f5850c4fcc87a16b324e3e6fbead24 Mon Sep 17 00:00:00 2001 From: "/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org" Date: Sat, 9 Feb 2008 17:43:32 +0000 Subject: From: Eric Leblond Add support for UID dumping to NFLOG input plugin. --- input/packet/ulogd_inppkt_NFLOG.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'input') diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c index 8d0bd1a..8b6811c 100644 --- a/input/packet/ulogd_inppkt_NFLOG.c +++ b/input/packet/ulogd_inppkt_NFLOG.c @@ -99,6 +99,7 @@ enum nflog_keys { NFLOG_KEY_OOB_SEQ_LOCAL, NFLOG_KEY_OOB_SEQ_GLOBAL, NFLOG_KEY_OOB_PROTOCOL, + NFLOG_KEY_OOB_UID, }; static struct ulogd_key output_keys[] = { @@ -228,6 +229,12 @@ static struct ulogd_key output_keys[] = { .flags = ULOGD_RETF_NONE, .name = "oob.protocol", }, + { + .type = ULOGD_RET_UINT32, + .flags = ULOGD_RETF_NONE, + .name = "oob.uid", + }, + }; static inline int @@ -245,6 +252,8 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata) u_int32_t indev = nflog_get_indev(ldata); u_int32_t outdev = nflog_get_outdev(ldata); u_int32_t seq; + u_int32_t uid; + if (ph) { /* FIXME */ @@ -302,6 +311,11 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata) ret[NFLOG_KEY_OOB_IFINDEX_OUT].flags |= ULOGD_RETF_VALID; } + if (nflog_get_uid(ldata, &uid) == 0) { + ret[NFLOG_KEY_OOB_UID].u.value.ui32 = uid; + ret[NFLOG_KEY_OOB_UID].flags |= ULOGD_RETF_VALID; + } + if (nflog_get_seq(ldata, &seq) == 0) { ret[NFLOG_KEY_OOB_SEQ_LOCAL].u.value.ui32 = seq; ret[NFLOG_KEY_OOB_SEQ_LOCAL].flags |= ULOGD_RETF_VALID; -- cgit v1.2.3