summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2011-06-24 20:16:48 +0200
committerJan Engelhardt <jengelh@medozas.de>2011-06-24 20:16:48 +0200
commit3c871010888e1479ef8fca2048485b979ec2661a (patch)
tree3fdeb43f3321ff04d2a2ca201326bb2fde0c6f62
parent447ddfbfb3ed16ad0059f4559334670e9b9806ec (diff)
build: attempt to fix building under Linux 2.4
iptables no longer compiles for Linux 2.4 because it uses linux/magic.h. This header and the PROC_SUPER_MAGIC macro are only for Linux 2.6. xtables.c:35:52: error: linux/magic.h: No such file or directory xtables.c: In function 'proc_file_exists': xtables.c:389: error: 'PROC_SUPER_MAGIC' undeclared (first use in this function) xtables.c:389: error: (Each undeclared identifier is reported only once for each function it appears in.) References: http://bugzilla.netfilter.org/show_bug.cgi?id=720 Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
-rw-r--r--configure.ac4
-rw-r--r--iptables/xtables.c7
2 files changed, 7 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index b57f542d..6c90caaf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,12 +59,10 @@ AC_SUBST([libiptc_LDFLAGS2])
blacklist_modules="";
-AC_CHECK_HEADER([linux/dccp.h])
+AC_CHECK_HEADERS([linux/dccp.h linux/ip_vs.h linux/magic.h linux/proc_fs.h])
if test "$ac_cv_header_linux_dccp_h" != "yes"; then
blacklist_modules="$blacklist_modules dccp";
fi;
-
-AC_CHECK_HEADER([linux/ip_vs.h])
if test "$ac_cv_header_linux_ip_vs_h" != "yes"; then
blacklist_modules="$blacklist_modules ipvs";
fi;
diff --git a/iptables/xtables.c b/iptables/xtables.c
index 00c7c066..c4b1c2a8 100644
--- a/iptables/xtables.c
+++ b/iptables/xtables.c
@@ -15,6 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include "config.h"
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
@@ -32,7 +33,11 @@
#include <sys/types.h>
#include <sys/wait.h>
#include <arpa/inet.h>
-#include <linux/magic.h> /* for PROC_SUPER_MAGIC */
+#if defined(HAVE_LINUX_MAGIC_H)
+# include <linux/magic.h> /* for PROC_SUPER_MAGIC */
+#elif defined(HAVE_LINUX_PROC_FS_H)
+# include <linux/proc_fs.h> /* Linux 2.4 */
+#endif
#include <xtables.h>
#include <limits.h> /* INT_MAX in ip_tables.h/ip6_tables.h */