- added patch to support statically linking of iptables
- iptables-save/-restore is no longer experimental
diff --git a/iptables.c b/iptables.c
index 55420ab..7f4c892 100644
--- a/iptables.c
+++ b/iptables.c
@@ -649,6 +649,7 @@
 			break;
 	}
 
+#ifndef NO_SHARED_LIBS
 	if (!ptr && tryload != DONT_LOAD) {
 		char path[sizeof(IPT_LIB_DIR) + sizeof("/libipt_.so")
 			 + strlen(name)];
@@ -667,6 +668,14 @@
 				   "Couldn't load match `%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;
@@ -904,6 +913,7 @@
 			break;
 	}
 
+#ifndef NO_SHARED_LIBS
 	if (!ptr && tryload != DONT_LOAD) {
 		char path[sizeof(IPT_LIB_DIR) + sizeof("/libipt_.so")
 			 + strlen(name)];
@@ -921,6 +931,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;