From: /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org Date: Sat, 9 Feb 2008 17:43:32 +0000 (+0000) Subject: From: Eric Leblond X-Git-Tag: ulogd-2.0.0beta2~108 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46f62d5c89f5850c4fcc87a16b324e3e6fbead24;p=thirdparty%2Fulogd2.git From: Eric Leblond Add support for UID dumping to NFLOG input plugin. --- 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;