- added patch to support statically linking of iptables
- iptables-save/-restore is no longer experimental
diff --git a/ip6tables.c b/ip6tables.c
index 2160950..2d13f3a 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -684,6 +684,7 @@
break;
}
+#ifndef NO_SHARED_LIBS
if (!ptr && tryload != DONT_LOAD) {
char path[sizeof(IP6T_LIB_DIR) + sizeof("/libip6t_.so")
+ strlen(name)];
@@ -701,6 +702,14 @@
exit_error(PARAMETER_PROBLEM,
"Couldn't load match `%s'\n", name);
}
+#else
+ if (ptr && !ptr->loaded) {
+ if (tryload != DONT_LOAD)
+ ptr->loaded = 1;
+ else
+ ptr = NULL;
+ }
+#endif
if (ptr)
ptr->used = 1;
@@ -881,6 +890,7 @@
break;
}
+#ifndef NO_SHARED_LIBS
if (!ptr && tryload != DONT_LOAD) {
char path[sizeof(IP6T_LIB_DIR) + sizeof("/libip6t_.so")
+ strlen(name)];
@@ -898,6 +908,14 @@
"Couldn't load target `%s'%s\n",
name, dlerror());
}
+#else
+ if (ptr && !ptr->loaded) {
+ if (tryload != DONT_LOAD)
+ ptr->loaded = 1;
+ else
+ ptr = NULL;
+ }
+#endif
if (ptr)
ptr->used = 1;