63 lines
2.3 KiB
Diff
63 lines
2.3 KiB
Diff
From 73de5d96804160e3e399bd81b135053f70b27e7b Mon Sep 17 00:00:00 2001
|
|
From: Andreas Henriksson <andreas@fatal.se>
|
|
Date: Mon, 4 Jul 2011 05:17:42 +0000
|
|
Subject: [PATCH] iproute2: Fix building xt module against xtables version 6
|
|
|
|
iptables/xtables apparently changed API again.... Now you need to pass
|
|
and extra parameter (orig_opts) which was not needed before.
|
|
|
|
Sprinkle some lovely pre-processor magic to be compatible with both older
|
|
and new versions. In the beginning of times XTABLES_VERSION_CODE didn't
|
|
exist. Then it was (0x10000 * major + 0x100 * minor + patch) when it was
|
|
first introduced (according to git), but now it's at 6...
|
|
Don't know what official iptables releases has defined it to over time.
|
|
Lets just hope none of the older versions with is has the define
|
|
higher then 6 is still around.... so only the "current" versioning
|
|
scheme is supported.... lets see how long this lasts now.
|
|
|
|
For the API change in xtables, see:
|
|
http://git.netfilter.org/cgi-bin/gitweb.cgi?p=iptables.git;a=commitdiff;h=600f38db82548a683775fd89b6e136673e924097
|
|
|
|
Signed-off-by: Andreas Henriksson <andreas@fatal.se>
|
|
---
|
|
tc/m_xt.c | 16 ++++++++++++----
|
|
1 files changed, 12 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/tc/m_xt.c b/tc/m_xt.c
|
|
index 651a59e..13bf19f 100644
|
|
--- a/tc/m_xt.c
|
|
+++ b/tc/m_xt.c
|
|
@@ -160,9 +160,13 @@ static int parse_ipt(struct action_util *a,int *argc_p,
|
|
return -1;
|
|
}
|
|
tcipt_globals.opts =
|
|
- xtables_merge_options(tcipt_globals.opts,
|
|
- m->extra_opts,
|
|
- &m->option_offset);
|
|
+ xtables_merge_options(
|
|
+#if (XTABLES_VERSION_CODE >= 6)
|
|
+ tcipt_globals.orig_opts,
|
|
+#endif
|
|
+ tcipt_globals.opts,
|
|
+ m->extra_opts,
|
|
+ &m->option_offset);
|
|
} else {
|
|
fprintf(stderr," failed to find target %s\n\n", optarg);
|
|
return -1;
|
|
@@ -305,7 +309,11 @@ print_ipt(struct action_util *au,FILE * f, struct rtattr *arg)
|
|
}
|
|
|
|
tcipt_globals.opts =
|
|
- xtables_merge_options(tcipt_globals.opts,
|
|
+ xtables_merge_options(
|
|
+#if (XTABLES_VERSION_CODE >= 6)
|
|
+ tcipt_globals.orig_opts,
|
|
+#endif
|
|
+ tcipt_globals.opts,
|
|
m->extra_opts,
|
|
&m->option_offset);
|
|
} else {
|
|
--
|
|
1.7.4.4
|
|
|