diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-03-09 18:18:11 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-03-09 18:21:35 +0100 |
commit | 9e14d4330655a6f58bf2674f0684d8252f688c16 (patch) | |
tree | f3520dce62fcf042c303d796ddf53aa6267c5b18 /extensions/libxt_NFQUEUE.c | |
parent | fcc183744956780cb88dca4d242b9a0f243434e4 (diff) |
iptables-translate: pass ipt_entry and ip6t_entry to ->xlate()
The multiport match needs it, this basically leaves ->xlate() indirection
with almost the same interface as ->print().
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'extensions/libxt_NFQUEUE.c')
-rw-r--r-- | extensions/libxt_NFQUEUE.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/extensions/libxt_NFQUEUE.c b/extensions/libxt_NFQUEUE.c index fe005cb2..81154574 100644 --- a/extensions/libxt_NFQUEUE.c +++ b/extensions/libxt_NFQUEUE.c @@ -205,7 +205,7 @@ static void NFQUEUE_init_v1(struct xt_entry_target *t) tinfo->queues_total = 1; } -static int NFQUEUE_xlate(const struct xt_entry_target *target, +static int NFQUEUE_xlate(const void *ip, const struct xt_entry_target *target, struct xt_xlate *xl, int numeric) { const struct xt_NFQ_info *tinfo = @@ -216,7 +216,8 @@ static int NFQUEUE_xlate(const struct xt_entry_target *target, return 1; } -static int NFQUEUE_xlate_v1(const struct xt_entry_target *target, +static int NFQUEUE_xlate_v1(const void *ip, + const struct xt_entry_target *target, struct xt_xlate *xl, int numeric) { const struct xt_NFQ_info_v1 *tinfo = (const void *)target->data; @@ -232,12 +233,13 @@ static int NFQUEUE_xlate_v1(const struct xt_entry_target *target, return 1; } -static int NFQUEUE_xlate_v2(const struct xt_entry_target *target, +static int NFQUEUE_xlate_v2(const void *ip, + const struct xt_entry_target *target, struct xt_xlate *xl, int numeric) { const struct xt_NFQ_info_v2 *info = (void *) target->data; - NFQUEUE_xlate_v1(target, xl, numeric); + NFQUEUE_xlate_v1(ip, target, xl, numeric); if (info->bypass & NFQ_FLAG_BYPASS) xt_xlate_add(xl, "bypass"); @@ -245,12 +247,13 @@ static int NFQUEUE_xlate_v2(const struct xt_entry_target *target, return 1; } -static int NFQUEUE_xlate_v3(const struct xt_entry_target *target, +static int NFQUEUE_xlate_v3(const void *ip, + const struct xt_entry_target *target, struct xt_xlate *xl, int numeric) { const struct xt_NFQ_info_v3 *info = (void *)target->data; - NFQUEUE_xlate_v2(target, xl, numeric); + NFQUEUE_xlate_v2(ip, target, xl, numeric); if (info->flags & NFQ_FLAG_CPU_FANOUT) xt_xlate_add(xl, "%sfanout ", info->flags & NFQ_FLAG_BYPASS ? "," : ""); |