From e183f8f67990c8083ba8593c8a0c620ad8ecf65b Mon Sep 17 00:00:00 2001 From: laforge Date: Sat, 5 Nov 2005 15:29:47 +0000 Subject: - fix endianness of ip address / port numbers - fix segfault due to missing priv_size --- input/flow/ulogd_inpflow_NFCT.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'input/flow/ulogd_inpflow_NFCT.c') 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); -- cgit v1.2.3