summaryrefslogtreecommitdiffstats
path: root/src/expect
diff options
context:
space:
mode:
Diffstat (limited to 'src/expect')
-rw-r--r--src/expect/Makefile.am2
-rw-r--r--src/expect/api.c36
-rw-r--r--src/expect/callback.c55
3 files changed, 19 insertions, 74 deletions
diff --git a/src/expect/Makefile.am b/src/expect/Makefile.am
index b0404ba..380befa 100644
--- a/src/expect/Makefile.am
+++ b/src/expect/Makefile.am
@@ -4,7 +4,7 @@ AM_CFLAGS = -Wall ${LIBNFNETLINK_CFLAGS}
noinst_LTLIBRARIES = libnfexpect.la
-libnfexpect_la_SOURCES = api.c callback.c \
+libnfexpect_la_SOURCES = api.c \
getter.c setter.c \
parse.c build.c \
snprintf.c \
diff --git a/src/expect/api.c b/src/expect/api.c
index d560178..35c8672 100644
--- a/src/expect/api.c
+++ b/src/expect/api.c
@@ -139,17 +139,17 @@ int nfexp_callback_register(struct nfct_handle *h,
container->type = type;
container->data = data;
- h->nfnl_cb.call = __expect_callback;
- h->nfnl_cb.data = container;
- h->nfnl_cb.attr_count = CTA_EXPECT_MAX;
+ h->nfnl_cb_exp.call = __callback;
+ h->nfnl_cb_exp.data = container;
+ h->nfnl_cb_exp.attr_count = CTA_EXPECT_MAX;
nfnl_callback_register(h->nfnlssh_exp,
IPCTNL_MSG_EXP_NEW,
- &h->nfnl_cb);
+ &h->nfnl_cb_exp);
nfnl_callback_register(h->nfnlssh_exp,
IPCTNL_MSG_EXP_DELETE,
- &h->nfnl_cb);
+ &h->nfnl_cb_exp);
return 0;
}
@@ -166,11 +166,11 @@ void nfexp_callback_unregister(struct nfct_handle *h)
nfnl_callback_unregister(h->nfnlssh_exp, IPCTNL_MSG_EXP_DELETE);
h->expect_cb = NULL;
- free(h->nfnl_cb.data);
+ free(h->nfnl_cb_exp.data);
- h->nfnl_cb.call = NULL;
- h->nfnl_cb.data = NULL;
- h->nfnl_cb.attr_count = 0;
+ h->nfnl_cb_exp.call = NULL;
+ h->nfnl_cb_exp.data = NULL;
+ h->nfnl_cb_exp.attr_count = 0;
}
/**
@@ -214,17 +214,17 @@ int nfexp_callback_register2(struct nfct_handle *h,
container->type = type;
container->data = data;
- h->nfnl_cb.call = __expect_callback;
- h->nfnl_cb.data = container;
- h->nfnl_cb.attr_count = CTA_EXPECT_MAX;
+ h->nfnl_cb_exp.call = __callback;
+ h->nfnl_cb_exp.data = container;
+ h->nfnl_cb_exp.attr_count = CTA_EXPECT_MAX;
nfnl_callback_register(h->nfnlssh_exp,
IPCTNL_MSG_EXP_NEW,
- &h->nfnl_cb);
+ &h->nfnl_cb_exp);
nfnl_callback_register(h->nfnlssh_exp,
IPCTNL_MSG_EXP_DELETE,
- &h->nfnl_cb);
+ &h->nfnl_cb_exp);
return 0;
}
@@ -241,11 +241,11 @@ void nfexp_callback_unregister2(struct nfct_handle *h)
nfnl_callback_unregister(h->nfnlssh_exp, IPCTNL_MSG_EXP_DELETE);
h->expect_cb2 = NULL;
- free(h->nfnl_cb.data);
+ free(h->nfnl_cb_exp.data);
- h->nfnl_cb.call = NULL;
- h->nfnl_cb.data = NULL;
- h->nfnl_cb.attr_count = 0;
+ h->nfnl_cb_exp.call = NULL;
+ h->nfnl_cb_exp.data = NULL;
+ h->nfnl_cb_exp.attr_count = 0;
}
/**
diff --git a/src/expect/callback.c b/src/expect/callback.c
deleted file mode 100644
index d2cc26e..0000000
--- a/src/expect/callback.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * (C) 2006-2007 by Pablo Neira Ayuso <pablo@netfilter.org>
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- */
-
-#include "internal/internal.h"
-
-int __expect_callback(struct nlmsghdr *nlh, struct nfattr *nfa[], void *data)
-{
- int ret = NFNL_CB_STOP;
- unsigned int type;
- struct nf_expect *exp;
- int len = nlh->nlmsg_len;
- struct __data_container *container = data;
-
- len -= NLMSG_LENGTH(sizeof(struct nfgenmsg));
- if (len < 0)
- return NFNL_CB_CONTINUE;
-
- type = __parse_message_type(nlh);
- if (!(type & container->type))
- return NFNL_CB_CONTINUE;
-
- exp = nfexp_new();
- if (!exp)
- return NFNL_CB_CONTINUE;
-
- __parse_expect(nlh, nfa, exp);
-
- if (container->h->expect_cb)
- ret = container->h->expect_cb(type, exp, container->data);
- else if (container->h->expect_cb2)
- ret = container->h->expect_cb2(nlh, type, exp, container->data);
-
- switch(ret) {
- case NFCT_CB_FAILURE:
- free(exp);
- ret = NFNL_CB_FAILURE;
- break;
- case NFCT_CB_STOP:
- free(exp);
- ret = NFNL_CB_STOP;
- break;
- case NFCT_CB_CONTINUE:
- free(exp);
- ret = NFNL_CB_CONTINUE;
- break;
- case NFCT_CB_STOLEN:
- ret = NFNL_CB_CONTINUE;
- break;
- }
- return ret;
-}