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:
parent
eeee367d91
commit
53c017880b
24
tc/m_ipt.c
24
tc/m_ipt.c
|
|
@ -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
|
||||
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);
|
||||
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");
|
||||
|
|
|
|||
Loading…
Reference in New Issue