]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
Print GID/MARK in printpkt.c
author/C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net </C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net>
Mon, 21 Apr 2008 12:40:06 +0000 (12:40 +0000)
committer/C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net </C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net>
Mon, 21 Apr 2008 12:40:06 +0000 (12:40 +0000)
include/ulogd/printpkt.h
input/packet/ulogd_inppkt_NFLOG.c
util/printpkt.c

index 2cfb5aefbf27a28066d96efb2d57a0930bd638d5..6207d5b6cb703e7a1607fdf1b79c0a6dd0191012 100644 (file)
@@ -8,6 +8,8 @@ enum pkt_keys {
        KEY_OOB_IN,
        KEY_OOB_OUT,
        KEY_OOB_UID,
+       KEY_OOB_GID,
+       KEY_OOB_MARK,
        KEY_RAW_MAC,
        KEY_RAW_MACLEN,
        KEY_IP_SADDR,
index 195f6cce00e1b36efe65e9f59fb93796f417924f..54b4ac8c10068dbd81ad09466ee347a7dd8c326d 100644 (file)
@@ -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;
index cc027b1a1da1f410fc20848f3be7f1c7590b24c0..90fec0ed75c20b0bf9897543f96fc161b509a9eb 100644 (file)
@@ -48,6 +48,10 @@ struct ulogd_key printpkt_keys[] = {
        [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", },
@@ -450,8 +454,14 @@ int printpkt_print(struct ulogd_key *res, char *buf)
        }
 
        if (pp_is_valid(res, KEY_OOB_UID))
-               buf_cur += sprintf(buf_cur, "UID=%d",
+               buf_cur += sprintf(buf_cur, "UID=%",
                                   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");