Skip to contentSkip to conversation

IPT action compatibility with iptables 1.4.0

PATCH In review jamal 3 participants 5 messages Dec 24, 2007 – Dec 31, 2007

Subsystems (2)
lore
Share & tools
lore

jamal

author
#0 lore raw

PATCH 1/1 IPT action compatibility with iptables 1.4.0

Stephen,

Please apply this patch from Denys Fedoryshchenko to make the ipt action work with latest iptables.

cheers,
jamal

New iptables 1.4.0 has some library names changed from libipt to libxt. It is prefferable also to open libxt_ first, as newer "style".

---
commit fe7b0dd9c19451019494d834c631c045e75e2b05
tree 452a75a6ec17d63832b03972ec9059b5cf9d8cfe
parent 235ac6a41d9d0439cce4eca8acdd31cac28605fc
author Denys Fedoryshchenko <[email protected]> Mon, 24 Dec 2007 11:51:11 -0500 committer Jamal Hadi Salim <[email protected]> Mon, 24 Dec 2007 11:51:11 -0500

 tc/m_ipt.c |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)
tc/m_ipt.c +22 -2
index acbb8d2..f2a9305 100644
@@ -69,6 +69,13 @@ register_target(struct iptables_target *me)
 }
 
 void
+xtables_register_target(struct iptables_target *me)
+{
+	me->next = t_list;
+	t_list = me;
+}
+
+void
 exit_tryhelp(int status)
 {
 	fprintf(stderr, "Try `%s -h' or '%s --help' for more information.\n",
@@ -248,11 +255,24 @@ get_target_name(const char *name)
 		}
 	}
 
-	sprintf(path,  "%s/libipt_%s.so",lib_dir, new_name);
+	/* try libxt_xx first */
+	sprintf(path, "%s/libxt_%s.so", lib_dir, new_name);
 	handle = dlopen(path, RTLD_LAZY);
 	if (!handle) {
-		sprintf(path, lib_dir, "/libipt_%s.so", lname);
+		/* try libipt_xx next */
+		sprintf(path, "%s/libipt_%s.so", lib_dir, new_name);
 		handle = dlopen(path, RTLD_LAZY);
+
+		if (!handle) {
+			sprintf(path, "%s/libxt_%s.so", lib_dir , lname);
+			handle = dlopen(path, RTLD_LAZY);
+		}
+
+		if (!handle) {
+			sprintf(path, "%s/libipt_%s.so", lib_dir , lname);
+			handle = dlopen(path, RTLD_LAZY);
+		}
+		/* ok, lets give up .. */
 		if (!handle) {
 			fputs(dlerror(), stderr);
 			printf("\n");
#1 lore raw
Quoted 9 lines · On Mon, 24 Dec 2007 11:55:05 -0500 jamal <[email protected]> wrote:

Stephen,

Please apply this patch from Denys Fedoryshchenko to make the ipt action work with latest iptables.

cheers,
jamal

Is this backwards compatible with older kernels?

Signature · 1 line
Stephen Hemminger <[email protected]>
author
#2 lore raw
Quoted 3 lines · Stephen Hemminger

On Mon, 24 Dec 2007 11:55:05 -0500

Is this backwards compatible with older kernels?

Yes.
Denys change adds forward compat (although iptables in 1.4 is not fully backward compatible).

cheers,
jamal

#3 lore raw

I will try to be more careful on patches formatting. I am newbie to this. And thanks for all responding on christmas :-) Usually all people N/A at this time.

It seems 2.6.24-rc6 + iptables 1.4.0 + iproute2-git working fine now.

On Mon, 24 Dec 2007 12:57:32 -0500, jamal wrote

Quoted 9 lines · Stephen Hemminger
Quoted 3 lines

On Mon, 24 Dec 2007 11:55:05 -0500

Is this backwards compatible with older kernels?

Yes.
Denys change adds forward compat (although iptables in 1.4 is not fully backward compatible).

Quoted 7 lines

cheers,
jamal

--
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Denys Fedoryshchenko
Technical Manager
Virtual ISP S.A.L.