diff options
author | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2008-02-10 02:07:42 +0000 |
---|---|---|
committer | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2008-02-10 02:07:42 +0000 |
commit | f2c0b30fcdca99a0a3db69e1118b406e1829541c (patch) | |
tree | 371f445e887899cd32b66483cfd3d69c94d4a671 /input | |
parent | ac46219f7e855b8405165616cb8845c8af6b2b3d (diff) |
revert r7348
Diffstat (limited to 'input')
-rw-r--r-- | input/packet/ulogd_inppkt_NFLOG.c | 15 | ||||
-rw-r--r-- | input/packet/ulogd_inppkt_ULOG.c | 9 |
2 files changed, 24 insertions, 0 deletions
diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c index 8b6811c..3f013cc 100644 --- a/input/packet/ulogd_inppkt_NFLOG.c +++ b/input/packet/ulogd_inppkt_NFLOG.c @@ -55,6 +55,12 @@ static struct config_keyset libulog_kset = { .u.value = NFLOG_RMEM_DEFAULT, }, { + .key = "addressfamily", + .type = CONFIG_TYPE_INT, + .options = CONFIG_OPT_NONE, + .u.value = AF_INET, + }, + { .key = "unbind", .type = CONFIG_TYPE_INT, .options = CONFIG_OPT_NONE, @@ -98,6 +104,7 @@ enum nflog_keys { NFLOG_KEY_RAW_MAC_LEN, NFLOG_KEY_OOB_SEQ_LOCAL, NFLOG_KEY_OOB_SEQ_GLOBAL, + NFLOG_KEY_OOB_FAMILY, NFLOG_KEY_OOB_PROTOCOL, NFLOG_KEY_OOB_UID, }; @@ -225,6 +232,11 @@ static struct ulogd_key output_keys[] = { }, }, { + .type = ULOGD_RET_UINT8, + .flags = ULOGD_RETF_NONE, + .name = "oob.family", + }, + { .type = ULOGD_RET_UINT16, .flags = ULOGD_RETF_NONE, .name = "oob.protocol", @@ -255,6 +267,9 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata) u_int32_t uid; + ret[NFLOG_KEY_OOB_FAMILY].u.value.ui8 = af_ce(upi->config_kset).u.value; + ret[NFLOG_KEY_OOB_FAMILY].flags |= ULOGD_RETF_VALID; + if (ph) { /* FIXME */ ret[NFLOG_KEY_OOB_HOOK].u.value.ui8 = ph->hook; diff --git a/input/packet/ulogd_inppkt_ULOG.c b/input/packet/ulogd_inppkt_ULOG.c index 77087a4..cf44474 100644 --- a/input/packet/ulogd_inppkt_ULOG.c +++ b/input/packet/ulogd_inppkt_ULOG.c @@ -68,6 +68,7 @@ enum ulog_keys { ULOG_KEY_OOB_IN, ULOG_KEY_OOB_OUT, ULOG_KEY_RAW_MAC_LEN, + ULOG_KEY_OOB_FAMILY, ULOG_KEY_OOB_PROTOCOL, }; @@ -147,6 +148,11 @@ static struct ulogd_key output_keys[] = { .name = "raw.mac_len", }, { + .type = ULOGD_RET_UINT8, + .flags = ULOGD_RETF_NONE, + .name = "oob.family", + }, + { .type = ULOGD_RET_UINT16, .flags = ULOGD_RETF_NONE, .name = "oob.protocol", @@ -195,6 +201,9 @@ static int interp_packet(struct ulogd_pluginstance *ip, ulog_packet_msg_t *pkt) ret[ULOG_KEY_OOB_OUT].u.value.ptr = pkt->outdev_name; ret[ULOG_KEY_OOB_OUT].flags |= ULOGD_RETF_VALID; + /* ULOG is IPv4 only */ + ret[ULOG_KEY_OOB_FAMILY].u.value.ui8 = AF_INET; + ret[ULOG_KEY_OOB_FAMILY].flags |= ULOGD_RETF_VALID; /* Undef in ULOG but necessary */ ret[ULOG_KEY_OOB_PROTOCOL].u.value.ui16 = 0; ret[ULOG_KEY_OOB_PROTOCOL].flags |= ULOGD_RETF_VALID; |