summaryrefslogtreecommitdiffstats
path: root/input/packet
diff options
context:
space:
mode:
Diffstat (limited to 'input/packet')
-rw-r--r--input/packet/ulogd_inppkt_NFLOG.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c
index 195f6cc..54b4ac8 100644
--- a/input/packet/ulogd_inppkt_NFLOG.c
+++ b/input/packet/ulogd_inppkt_NFLOG.c
@@ -107,6 +107,7 @@ enum nflog_keys {
NFLOG_KEY_OOB_FAMILY,
NFLOG_KEY_OOB_PROTOCOL,
NFLOG_KEY_OOB_UID,
+ NFLOG_KEY_OOB_GID,
};
static struct ulogd_key output_keys[] = {
@@ -265,7 +266,7 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata)
u_int32_t outdev = nflog_get_outdev(ldata);
u_int32_t seq;
u_int32_t uid;
-
+ u_int32_t gid;
ret[NFLOG_KEY_OOB_FAMILY].u.value.ui8 = af_ce(upi->config_kset).u.value;
ret[NFLOG_KEY_OOB_FAMILY].flags |= ULOGD_RETF_VALID;
@@ -330,6 +331,10 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata)
ret[NFLOG_KEY_OOB_UID].u.value.ui32 = uid;
ret[NFLOG_KEY_OOB_UID].flags |= ULOGD_RETF_VALID;
}
+ if (nflog_get_gid(ldata, &gid) == 0) {
+ ret[NFLOG_KEY_OOB_GID].u.value.ui32 = gid;
+ ret[NFLOG_KEY_OOB_GID].flags |= ULOGD_RETF_VALID;
+ }
if (nflog_get_seq(ldata, &seq) == 0) {
ret[NFLOG_KEY_OOB_SEQ_LOCAL].u.value.ui32 = seq;