- don't install test program
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>
Fri, 11 Nov 2005 17:14:55 +0000 (17:14 +0000)
committerr.kubiak <r.kubiak@samsung.com>
Mon, 16 Nov 2015 13:12:05 +0000 (14:12 +0100)
- use local copy of nfnetlink_queue header
- bump version number to 0.0.11

configure.in
include/libnetfilter_queue/Makefile.am
include/libnetfilter_queue/libnetfilter_queue.h
include/libnetfilter_queue/linux_nfnetlink_queue.h [new file with mode: 0644]
utils/Makefile.am

index 24c1c22..d22cf6d 100644 (file)
@@ -3,7 +3,7 @@ dnl Process this file with autoconf to create configure.
 AC_INIT
 AC_CANONICAL_SYSTEM
 
-AM_INIT_AUTOMAKE(libnetfilter_queue, 0.0.10)
+AM_INIT_AUTOMAKE(libnetfilter_queue, 0.0.11)
 
 AC_PROG_CC
 AC_EXEEXT
@@ -18,48 +18,7 @@ case $target in
 esac
 
 AC_CHECK_LIB([nfnetlink], [nfnl_listen])
-
-dnl--------------------------------
-
-AC_DEFUN([NF_KERNEL_SOURCE],[
-    
-  if test "$with_kernel" = ""; then
-    KERNEL="`uname -r`"
-  else
-    KERNEL="$with_kernel"
-  fi
-
-  THIS_PREFIX=""
-  for i in "/lib/modules/$KERNEL/build/include" "$KERNEL" "$KERNEL/include" "/usr/src/linux-$KERNEL" "/usr/src/kernel-$KERNEL" "/usr/src/linux-headers-$KERNEL" "/usr/src/kernel-headers-$KERNEL"
-  do  
-    AC_MSG_CHECKING([Looking for kernel source or headers in $i])
-    if test -r "$i/linux/config.h"
-    then
-      THIS_PREFIX="$i"
-      AC_MSG_RESULT([found])
-      break
-    fi
-    AC_MSG_RESULT([ ])    
-  done
-  if test -r "$THIS_PREFIX/linux/config.h" ; then
-    AC_SUBST(KERNELDIR,[$THIS_PREFIX])
-    AC_MSG_RESULT([found])
-  else
-    AC_MSG_ERROR([not found $THIS_PREFIX])  
-  fi
-
-  # somehow add this as an include path
-])
-
-AC_ARG_WITH(kernel,
-               AC_HELP_STRING([--with-kernel=DIR],
-                              [ Show location of kernel source. Default is to use uname -r and look in /lib/modules/KERNEL/build/include. ]),
-              NF_KERNEL_SOURCE($with_kernel),NF_KERNEL_SOURCE())
-
-dnl--------------------------------
-
-
-
+AC_CHECK_HEADER([libnfnetlink/linux_nfnetlink.h], [AC_MSG_RESULT([found])], [AC_MSG_ERROR([libnfnetlink 0.0.12 or later needed])])
 
 dnl Output the makefiles
 AC_OUTPUT(Makefile include/Makefile include/libnetfilter_queue/Makefile src/Makefile utils/Makefile)
index fc9a2f6..b0f214b 100644 (file)
@@ -1,3 +1,3 @@
 
-pkginclude_HEADERS = libnetfilter_queue.h libipq.h
+pkginclude_HEADERS = libnetfilter_queue.h libipq.h linux_nfnetlink_queue.h
 
index 3b2c374..d017e40 100644 (file)
@@ -14,9 +14,9 @@
 #define __LIBCTNETLINK_H
 
 #include <libnfnetlink/libnfnetlink.h>
+// #include <libnfnetlink/liunx_nfnetlink.h>
 
-#include <linux/netfilter/nfnetlink.h>
-#include <linux/netfilter/nfnetlink_queue.h>
+#include <libnetfilter_queue/linux_nfnetlink_queue.h>
 
 struct nfq_handle;
 struct nfq_q_handle;
diff --git a/include/libnetfilter_queue/linux_nfnetlink_queue.h b/include/libnetfilter_queue/linux_nfnetlink_queue.h
new file mode 100644 (file)
index 0000000..d38fa5c
--- /dev/null
@@ -0,0 +1,93 @@
+#ifndef _NFNETLINK_QUEUE_H
+#define _NFNETLINK_QUEUE_H
+
+#include <linux/types.h>
+#include <libnfnetlink/linux_nfnetlink.h>
+
+#ifndef aligned_u64
+#define aligned_u64 unsigned long long __attribute__((aligned(8)))
+#endif
+
+enum nfqnl_msg_types {
+       NFQNL_MSG_PACKET,               /* packet from kernel to userspace */
+       NFQNL_MSG_VERDICT,              /* verdict from userspace to kernel */
+       NFQNL_MSG_CONFIG,               /* connect to a particular queue */
+
+       NFQNL_MSG_MAX
+};
+
+struct nfqnl_msg_packet_hdr {
+       u_int32_t       packet_id;      /* unique ID of packet in queue */
+       u_int16_t       hw_protocol;    /* hw protocol (network order) */
+       u_int8_t        hook;           /* netfilter hook */
+} __attribute__ ((packed));
+
+struct nfqnl_msg_packet_hw {
+       u_int16_t       hw_addrlen;
+       u_int16_t       _pad;
+       u_int8_t        hw_addr[8];
+} __attribute__ ((packed));
+
+struct nfqnl_msg_packet_timestamp {
+       aligned_u64     sec;
+       aligned_u64     usec;
+} __attribute__ ((packed));
+
+enum nfqnl_attr_type {
+       NFQA_UNSPEC,
+       NFQA_PACKET_HDR,
+       NFQA_VERDICT_HDR,               /* nfqnl_msg_verdict_hrd */
+       NFQA_MARK,                      /* u_int32_t nfmark */
+       NFQA_TIMESTAMP,                 /* nfqnl_msg_packet_timestamp */
+       NFQA_IFINDEX_INDEV,             /* u_int32_t ifindex */
+       NFQA_IFINDEX_OUTDEV,            /* u_int32_t ifindex */
+       NFQA_IFINDEX_PHYSINDEV,         /* u_int32_t ifindex */
+       NFQA_IFINDEX_PHYSOUTDEV,        /* u_int32_t ifindex */
+       NFQA_HWADDR,                    /* nfqnl_msg_packet_hw */
+       NFQA_PAYLOAD,                   /* opaque data payload */
+
+       __NFQA_MAX
+};
+#define NFQA_MAX (__NFQA_MAX - 1)
+
+struct nfqnl_msg_verdict_hdr {
+       u_int32_t verdict;
+       u_int32_t id;
+} __attribute__ ((packed));
+
+
+enum nfqnl_msg_config_cmds {
+       NFQNL_CFG_CMD_NONE,
+       NFQNL_CFG_CMD_BIND,
+       NFQNL_CFG_CMD_UNBIND,
+       NFQNL_CFG_CMD_PF_BIND,
+       NFQNL_CFG_CMD_PF_UNBIND,
+};
+
+struct nfqnl_msg_config_cmd {
+       u_int8_t        command;        /* nfqnl_msg_config_cmds */
+       u_int8_t        _pad;
+       u_int16_t       pf;             /* AF_xxx for PF_[UN]BIND */
+} __attribute__ ((packed));
+
+enum nfqnl_config_mode {
+       NFQNL_COPY_NONE,
+       NFQNL_COPY_META,
+       NFQNL_COPY_PACKET,
+};
+
+struct nfqnl_msg_config_params {
+       u_int32_t       copy_range;
+       u_int8_t        copy_mode;      /* enum nfqnl_config_mode */
+} __attribute__ ((packed));
+
+
+enum nfqnl_attr_config {
+       NFQA_CFG_UNSPEC,
+       NFQA_CFG_CMD,                   /* nfqnl_msg_config_cmd */
+       NFQA_CFG_PARAMS,                /* nfqnl_msg_config_params */
+       __NFQA_CFG_MAX
+};
+#define NFQA_CFG_MAX (__NFQA_CFG_MAX-1)
+
+#endif /* _NFNETLINK_QUEUE_H */
index 4ccc1ad..ad1fb5a 100644 (file)
@@ -1,7 +1,7 @@
 
 INCLUDES = $(all_includes) -I$(top_srcdir)/include -I${KERNELDIR} 
 
-bin_PROGRAMS = nfqnl_test
+noinst_PROGRAMS = nfqnl_test
 
 nfqnl_test_SOURCES = nfqnl_test.c
 nfqnl_test_LDADD = ../src/libnetfilter_queue.la