]> granicus.if.org Git - strace/commitdiff
tests: guard against missing linux/netfilter/nfnetlink.h
authorDmitry V. Levin <ldv@altlinux.org>
Mon, 5 Jun 2017 13:59:56 +0000 (13:59 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 5 Jun 2017 14:57:29 +0000 (14:57 +0000)
nfnetlink was introduced in linux by commit v2.6.14-rc1~1035^2~217,
add a guard for the case when system headers are not fresh enough.

* configure.ac (AC_CHECK_HEADERS): Add linux/netfilter/nfnetlink.h.
* tests/netlink_netfilter.c: Check for HAVE_LINUX_NETFILTER_NFNETLINK_H.

configure.ac
tests/netlink_netfilter.c

index 0d4679e15ef1d1a42cd1af64b752fb1f3eb29d41..dc49d3974f4a6223f624637b7e59501282981f22 100644 (file)
@@ -371,6 +371,7 @@ AC_CHECK_HEADERS(m4_normalize([
        linux/ipc.h
        linux/mmtimer.h
        linux/msg.h
+       linux/netfilter/nfnetlink.h
        linux/nsfs.h
        linux/perf_event.h
        linux/quota.h
index 811585a56c20affa8eea0b7958ddad1d9b21039a..103ae95f1ae56887fa96dbb8e19741b61c94e2c3 100644 (file)
  */
 
 #include "tests.h"
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/socket.h>
-#include <linux/netfilter/nfnetlink.h>
-#include <linux/netlink.h>
+
+#ifdef HAVE_LINUX_NETFILTER_NFNETLINK_H
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+# include <sys/socket.h>
+# include <linux/netfilter/nfnetlink.h>
+# include <linux/netlink.h>
 
 static void
 test_nlmsg_type(const int fd)
@@ -42,7 +45,7 @@ test_nlmsg_type(const int fd)
                .nlmsg_flags = NLM_F_REQUEST,
        };
 
-#ifdef NFNL_MSG_BATCH_BEGIN
+# ifdef NFNL_MSG_BATCH_BEGIN
        nlh.nlmsg_type = NFNL_MSG_BATCH_BEGIN;
        rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
        printf("sendto(%d, {{len=%u, type=NFNL_MSG_BATCH_BEGIN"
@@ -57,7 +60,7 @@ test_nlmsg_type(const int fd)
               ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
               fd, nlh.nlmsg_len, NFNL_MSG_BATCH_BEGIN,
               (unsigned) sizeof(nlh), sprintrc(rc));
-#endif
+# endif
 
        nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8);
        rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
@@ -79,3 +82,9 @@ int main(void)
 
        return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_NETFILTER_NFNETLINK_H")
+
+#endif