NFLOG_KEY_OOB_FAMILY,
NFLOG_KEY_OOB_PROTOCOL,
NFLOG_KEY_OOB_UID,
+ NFLOG_KEY_OOB_GID,
};
static struct ulogd_key output_keys[] = {
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;
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;
[KEY_OOB_UID] = { .name = "oob.uid",
.flags = ULOGD_KEYF_OPTIONAL
},
+ [KEY_OOB_GID] = { .name = "oob.gid",
+ .flags = ULOGD_KEYF_OPTIONAL
+ },
+ [KEY_OOB_MARK] = { .name = "oob.mark", },
[KEY_RAW_MAC] = { .name = "raw.mac", },
[KEY_RAW_MACLEN] = { .name = "raw.mac_len", },
[KEY_IP_SADDR] = { .name = "ip.saddr.str", },
}
if (pp_is_valid(res, KEY_OOB_UID))
- buf_cur += sprintf(buf_cur, "UID=%d",
+ buf_cur += sprintf(buf_cur, "UID=%u ",
GET_VALUE(res, KEY_OOB_UID).ui32);
+ if (pp_is_valid(res, KEY_OOB_GID))
+ buf_cur += sprintf(buf_cur, "GID=%u ",
+ GET_VALUE(res, KEY_OOB_GID).ui32);
+ if (pp_is_valid(res, KEY_OOB_MARK))
+ buf_cur += sprintf(buf_cur, "MARK=%x ",
+ GET_VALUE(res, KEY_OOB_MARK).ui32);
strcat(buf_cur, "\n");