summaryrefslogtreecommitdiffstats
path: root/expect.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-10-07 15:06:00 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-10-07 15:06:00 +0200
commit34a4c4da11dda9867ca6d11a184d9f17933f6b72 (patch)
tree63f8b677c72be2394d00b8f2fd828dcb275a4096 /expect.c
parent41dbf72cd7784eaa4525ed70c643d7f4a280a81c (diff)
expect: add cthelper_get_port_src and cthelper_get_port_port
Diffstat (limited to 'expect.c')
-rw-r--r--expect.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/expect.c b/expect.c
index 072e913..3d59f9e 100644
--- a/expect.c
+++ b/expect.c
@@ -241,6 +241,30 @@ int cthelper_cmp_addr_dst(struct nf_conntrack *ct, int dir,
return memcmp(addr, &tmp, sizeof(union nfct_attr_grp_addr)) == 0;
}
+void cthelper_get_port_src(struct nf_conntrack *ct, int dir, uint16_t *port)
+{
+ switch (dir) {
+ case MYCT_DIR_ORIG:
+ *port = nfct_get_attr_u16(ct, ATTR_PORT_SRC);
+ break;
+ case MYCT_DIR_REPL:
+ *port = nfct_get_attr_u16(ct, ATTR_REPL_PORT_SRC);
+ break;
+ }
+}
+
+void cthelper_get_port_dst(struct nf_conntrack *ct, int dir, uint16_t *port)
+{
+ switch (dir) {
+ case MYCT_DIR_ORIG:
+ *port = nfct_get_attr_u16(ct, ATTR_PORT_DST);
+ break;
+ case MYCT_DIR_REPL:
+ *port = nfct_get_attr_u16(ct, ATTR_REPL_PORT_DST);
+ break;
+ }
+}
+
int cthelper_cmp_exp_addr_dst(struct nf_expect *exp,
union nfct_attr_grp_addr *addr)
{