summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaforge <laforge>2005-11-05 15:29:47 +0000
committerlaforge <laforge>2005-11-05 15:29:47 +0000
commite183f8f67990c8083ba8593c8a0c620ad8ecf65b (patch)
tree40e5989bb9d42dc42cae758deea5aa74066b1cb7
parent25852813d74f462c56750de0f2e3bdc79520082e (diff)
- fix endianness of ip address / port numbers
- fix segfault due to missing priv_size
-rw-r--r--input/flow/ulogd_inpflow_NFCT.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/input/flow/ulogd_inpflow_NFCT.c b/input/flow/ulogd_inpflow_NFCT.c
index c6f639f..9ce4218 100644
--- a/input/flow/ulogd_inpflow_NFCT.c
+++ b/input/flow/ulogd_inpflow_NFCT.c
@@ -118,10 +118,10 @@ static int propagate_ct_flow(struct ulogd_pluginstance *upi,
{
struct ulogd_key *ret = upi->output;
- ret[0].u.value.ui32 = ct->tuple[dir].src.v4;
+ ret[0].u.value.ui32 = htonl(ct->tuple[dir].src.v4);
ret[0].flags |= ULOGD_RETF_VALID;
- ret[1].u.value.ui32 = ct->tuple[dir].dst.v4;
+ ret[1].u.value.ui32 = htonl(ct->tuple[dir].dst.v4);
ret[1].flags |= ULOGD_RETF_VALID;
ret[2].u.value.ui8 = ct->tuple[dir].protonum;
@@ -132,9 +132,9 @@ static int propagate_ct_flow(struct ulogd_pluginstance *upi,
case IPPROTO_UDP:
case IPPROTO_SCTP:
/* FIXME: DCCP */
- ret[3].u.value.ui16 = ct->tuple[dir].l4src.tcp.port;
+ ret[3].u.value.ui16 = htons(ct->tuple[dir].l4src.tcp.port);
ret[3].flags |= ULOGD_RETF_VALID;
- ret[4].u.value.ui16 = ct->tuple[dir].l4dst.tcp.port;
+ ret[4].u.value.ui16 = htons(ct->tuple[dir].l4dst.tcp.port);
ret[4].flags |= ULOGD_RETF_VALID;
break;
case IPPROTO_ICMP:
@@ -242,7 +242,7 @@ static int destructor_nfct(struct ulogd_pluginstance *pi)
}
static struct ulogd_plugin nfct_plugin = {
- .name = "CTNL",
+ .name = "NFCT",
.input = {
.type = ULOGD_DTYPE_SOURCE,
},
@@ -256,6 +256,7 @@ static struct ulogd_plugin nfct_plugin = {
.configure = NULL,
.start = &constructor_nfct,
.stop = &destructor_nfct,
+ .priv_size = sizeof(struct nfct_pluginstance),
};
void __attribute__ ((constructor)) init(void);