summaryrefslogtreecommitdiffstats
path: root/package/iptables
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-24 01:59:32 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-24 01:59:32 +0000
commit0d1136ea2c6a5a9c2758449c945cbbb0ff37b34b (patch)
tree1a229aaf2e4fb7472d875d3d1521611d71c5e779 /package/iptables
parent9def867b975eece6e6df05c22cc907da5d1d965d (diff)
[package] iptables: fix a segfault when iptables tries to use modprobe, force it to use insmod
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19827 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/iptables')
-rw-r--r--package/iptables/Makefile4
-rw-r--r--package/iptables/patches/020-iptables-force-modprobe-util.patch20
2 files changed, 24 insertions, 0 deletions
diff --git a/package/iptables/Makefile b/package/iptables/Makefile
index 20e4b315c..68ccc7628 100644
--- a/package/iptables/Makefile
+++ b/package/iptables/Makefile
@@ -254,6 +254,10 @@ TARGET_CPPFLAGS := \
-I$(LINUX_DIR)/arch/$(LINUX_KARCH)/include \
$(TARGET_CPPFLAGS)
+TARGET_CFLAGS := \
+ $(TARGET_CFLAGS) \
+ -DFORCE_MODPROBE_PROGRAM="\\\"/sbin/insmod\\\""
+
CONFIGURE_ARGS += \
--enable-shared \
--enable-devel \
diff --git a/package/iptables/patches/020-iptables-force-modprobe-util.patch b/package/iptables/patches/020-iptables-force-modprobe-util.patch
new file mode 100644
index 000000000..32c9fcd51
--- /dev/null
+++ b/package/iptables/patches/020-iptables-force-modprobe-util.patch
@@ -0,0 +1,20 @@
+--- a/xtables.c
++++ b/xtables.c
+@@ -285,6 +285,7 @@ void *xtables_realloc(void *ptr, size_t
+
+ static char *get_modprobe(void)
+ {
++#ifndef FORCE_MODPROBE_PROGRAM
+ int procfile;
+ char *ret;
+
+@@ -309,6 +310,9 @@ static char *get_modprobe(void)
+ free(ret);
+ close(procfile);
+ return NULL;
++#else
++ return strdup(FORCE_MODPROBE_PROGRAM);
++#endif
+ }
+
+ int xtables_insmod(const char *modname, const char *modprobe, bool quiet)