iptables compatiablity

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".

Signed-off-by: Denys Fedoryshchenko <nuclearcat@nuclearcat.com>
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
This commit is contained in:
Denys Fedoryshchenko 2007-12-24 11:51:11 -05:00 committed by Stephen Hemminger
parent eeee367d91
commit 53c017880b
1 changed files with 22 additions and 2 deletions

View File

@ -68,6 +68,13 @@ register_target(struct iptables_target *me)
} }
void
xtables_register_target(struct iptables_target *me)
{
me->next = t_list;
t_list = me;
}
void void
exit_tryhelp(int status) exit_tryhelp(int status)
{ {
@ -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); handle = dlopen(path, RTLD_LAZY);
if (!handle) { 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); 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) { if (!handle) {
fputs(dlerror(), stderr); fputs(dlerror(), stderr);
printf("\n"); printf("\n");