[netfilter-cvslog] r4197 - in trunk/libnfnetlink_queue: . include/libnfnetlink_queue src utils

laforge at netfilter.org laforge at netfilter.org
Sat Jul 30 23:04:22 CEST 2005


Author: laforge at netfilter.org
Date: 2005-07-30 23:04:21 +0200 (Sat, 30 Jul 2005)
New Revision: 4197

Removed:
   trunk/libnfnetlink_queue/utils/ctnltest.c
Modified:
   trunk/libnfnetlink_queue/Makefile.am
   trunk/libnfnetlink_queue/configure.in
   trunk/libnfnetlink_queue/include/libnfnetlink_queue/libnfnetlink_queue.h
   trunk/libnfnetlink_queue/src/Makefile.am
   trunk/libnfnetlink_queue/src/libnfnetlink_queue.c
   trunk/libnfnetlink_queue/utils/Makefile.am
   trunk/libnfnetlink_queue/utils/nfqnl_test.c
Log:
build fixes following restructuring


Modified: trunk/libnfnetlink_queue/Makefile.am
===================================================================
--- trunk/libnfnetlink_queue/Makefile.am	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/Makefile.am	2005-07-30 21:04:21 UTC (rev 4197)
@@ -2,7 +2,7 @@
 
 EXTRA_DIST = $(man_MANS) acinclude.m4
 
-SUBDIRS = include include/libnfnetlink_queue src utils
+SUBDIRS = include src utils
 
 man_MANS = #nfnetlink_queue.3 nfnetlink_queue.7
 

Modified: trunk/libnfnetlink_queue/configure.in
===================================================================
--- trunk/libnfnetlink_queue/configure.in	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/configure.in	2005-07-30 21:04:21 UTC (rev 4197)
@@ -1,12 +1,65 @@
 dnl Process this file with autoconf to create configure.
 
-AC_INIT(libnfnetlink_queue.c)
+AC_INIT
+AC_CANONICAL_SYSTEM
+
 AM_INIT_AUTOMAKE(libnfnetlink_queue, 0.10)
 
 AC_PROG_CC
 AC_EXEEXT
 AM_PROG_LIBTOOL
+AC_PROG_INSTALL
+
 AC_SUBST(LIBTOOL_DEPS)
 
-dnl Output the makefile
-AC_OUTPUT(Makefile)
+case $target in 
+*-*-linux*) ;;
+*) AC_MSG_ERROR([Linux only, dude!]);;
+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--------------------------------
+
+
+
+
+dnl Output the makefiles
+AC_OUTPUT(Makefile include/Makefile include/libnfnetlink_queue/Makefile src/Makefile utils/Makefile)

Modified: trunk/libnfnetlink_queue/include/libnfnetlink_queue/libnfnetlink_queue.h
===================================================================
--- trunk/libnfnetlink_queue/include/libnfnetlink_queue/libnfnetlink_queue.h	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/include/libnfnetlink_queue/libnfnetlink_queue.h	2005-07-30 21:04:21 UTC (rev 4197)
@@ -11,7 +11,7 @@
 
 #include <linux/netfilter/nfnetlink.h>
 #include <linux/netfilter/nfnetlink_queue.h>
-#include <libnfnetlink.h>
+#include <libnfnetlink/libnfnetlink.h>
 
 
 #define NFQN

Modified: trunk/libnfnetlink_queue/src/Makefile.am
===================================================================
--- trunk/libnfnetlink_queue/src/Makefile.am	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/src/Makefile.am	2005-07-30 21:04:21 UTC (rev 4197)
@@ -14,6 +14,3 @@
 libnfnetlink_queue_libipq_la_LDFLAGS = -Wc,-nostartfiles
 libnfnetlink_queue_libipq_la_SOURCES = libipq_compat.c
 
-$(OBJECTS): libtool
-libtool: $(LIBTOOL_DEPS)
-	$(SHELL) ./config.status --recheck

Modified: trunk/libnfnetlink_queue/src/libnfnetlink_queue.c
===================================================================
--- trunk/libnfnetlink_queue/src/libnfnetlink_queue.c	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/src/libnfnetlink_queue.c	2005-07-30 21:04:21 UTC (rev 4197)
@@ -28,8 +28,10 @@
 #include <linux/netlink.h>
 #include <linux/netfilter/nfnetlink.h>
 #include <linux/netfilter/nfnetlink_queue.h>
-#include "libnfnetlink_queue.h"
 
+#include <libnfnetlink/libnfnetlink.h>
+#include <libnfnetlink_queue/libnfnetlink_queue.h>
+
 /***********************************************************************
  * low level stuff 
  ***********************************************************************/

Modified: trunk/libnfnetlink_queue/utils/Makefile.am
===================================================================
--- trunk/libnfnetlink_queue/utils/Makefile.am	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/utils/Makefile.am	2005-07-30 21:04:21 UTC (rev 4197)
@@ -6,6 +6,3 @@
 
 nfqnl_test_LDFLAGS = $(all_libraries) -lnfnetlink_queue -lnfnetlink
 
-$(OBJECTS): libtool
-libtool: $(LIBTOOL_DEPS)
-	$(SHELL) ./config.status --recheck

Deleted: trunk/libnfnetlink_queue/utils/ctnltest.c
===================================================================
--- trunk/libnfnetlink_queue/utils/ctnltest.c	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/utils/ctnltest.c	2005-07-30 21:04:21 UTC (rev 4197)
@@ -1,188 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-
-       #include <sys/socket.h>
-       #include <netinet/in.h>
-       #include <arpa/inet.h>
-
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-#include <linux/netfilter/nfnetlink.h>
-
-#include "libctnetlink.h"
-
-static struct ctnl_handle *cth;
-
-char *display_tuple_flat(struct ip_conntrack_tuple *tuple)
-{
-        static char buff[250];
-        char psb[20];
-        int len = 0;
-
-        memset(buff, '\0', sizeof(buff));
-	len += sprintf(buff + len, "%s:", inet_ntoa((struct in_addr){tuple->src.ip}));
-        switch(tuple->dst.protonum) {
-                case (IPPROTO_ICMP):
-                        len += sprintf(buff + len, "Icmp (id %d)",
-                                ntohs(tuple->src.u.icmp.id));
-                        break;
-                case (IPPROTO_TCP):
-                        sprintf(psb, "%d", ntohs(tuple->src.u.tcp.port));
-                        len += sprintf(buff + len, "%s", psb);
-                        break;
-                case (IPPROTO_UDP):
-                        sprintf(psb, "%d", ntohs(tuple->src.u.udp.port));
-                        len += sprintf(buff + len, "%s", psb);
-                        break;
-                default:
-                        len += sprintf(buff + len, "Unknown");
-                        break;
-        }
-
-	len += sprintf(buff + len, "->");
-        len += sprintf(buff + len, "%s:", inet_ntoa((struct in_addr){tuple->dst.ip}));
-        switch(tuple->dst.protonum) {
-                case (IPPROTO_ICMP):
-                        len += sprintf(buff + len, "Icmp (%d, code %d)",
-                                tuple->dst.u.icmp.type,
-                                tuple->dst.u.icmp.code);
-                        break;
-                case (IPPROTO_TCP):
-                        sprintf(psb, "%d", ntohs(tuple->dst.u.tcp.port));
-                        len += sprintf(buff + len, "%s", psb);
-                        break;
-                case (IPPROTO_UDP):
-                        sprintf(psb, "%d", ntohs(tuple->dst.u.udp.port));
-                        len += sprintf(buff + len, "%s", psb);
-                        break;
-                default:
-                        len += sprintf(buff + len, "Unknown");
-                        break;
-        }
-
-        return (buff);
-}
-
-int ctnl_parse_attr(struct nfattr *tb[], int max, struct nfattr *cta, int len)
-{
-        while(NFA_OK(cta, len)) {
-                if(cta->nfa_type <= max)
-                        tb[cta->nfa_type] = cta;
-                cta = NFA_NEXT(cta,len);
-        }
-        if (len)
-		printf("ctnl_parse_attr: deficit (%d) len (%d).\n",
-			len, cta->nfa_len);
-        return 0;
-}
-
-#if 0
-int dump()
-{
-	struct {
-		struct nlmsghdr nlh;
-		struct nfgenmsg nfmsg;
-	} req;
-	struct sockaddr_nl nladdr;
-
-	memset(&nladdr, 0, sizeof(nladdr));
-	nladdr.nl_family = AF_NETLINK;
-
-	req.nlh.nlmsg_len = sizeof(req);
-	req.nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8)|CTNL_MSG_CT_GET;
-	req.nlh.nlmsg_flags = NLM_F_ROOT|NLM_F_DUMP|NLM_F_REQUEST;
-	req.nlh.nlmsg_pid = 0;
-	req.nlh.nlmsg_seq = 1;
-	req.nfmsg.nfgen_family = AF_INET;
-
-	return (sendto(ctnlfd, &req, sizeof(req), 0,
-			(struct sockaddr *) &nladdr, sizeof(nladdr)));
-
-}
-#endif
-
-int print_msg(struct nfgenmsg *cm, size_t len)
-{
-	struct nfattr *cb[CTA_MAX + 1];
-
-	printf("ctm_family=0x%x\n", cm->nfgen_family);
-
-	ctnl_parse_attr(cb, CTA_MAX, NFM_NFA(cm), len);
-
-	if (cb[CTA_ORIG]) {
-		printf("orig: %s\n", 
-				display_tuple_flat(NFA_DATA(cb[CTA_ORIG])));
-		ctnl_del_conntrack(cth, NFA_DATA(cb[CTA_ORIG]), CTA_ORIG);
-	}
-	if (cb[CTA_RPLY])
-		printf("rply: %s\n", 
-				display_tuple_flat(NFA_DATA(cb[CTA_RPLY])));
-
-
-	return 0;
-}
-
-struct nlmsghdr *ctnl_get_packet(struct nlmsghdr **last_nlhdr, 
-			      char *buf, size_t len)
-{
-	struct nlmsghdr *nlh;
-	size_t remain_len;
-
-	if ((char *)(*last_nlhdr) > (buf + len) ||
-	    (char *)(*last_nlhdr) < buf)
-		*last_nlhdr = NULL;
-
-	if (!*last_nlhdr) {
-		nlh = (struct nlmsghdr *) buf;
-		if (!NLMSG_OK(nlh, len)) {
-			printf("error parsing nlmsg\n");
-			return NULL;
-		}
-	} else {
-		/* we are n-th part of multipart mesasge */
-		if ((*last_nlhdr)->nlmsg_type == NLMSG_DONE ||
-		    !((*last_nlhdr)->nlmsg_flags & NLM_F_MULTI)) {
-			*last_nlhdr = NULL;
-			return NULL;
-		}
-
-		remain_len = (len - ((char *)(*last_nlhdr) - buf));
-		nlh = NLMSG_NEXT(*last_nlhdr, remain_len);
-	}
-
-	*last_nlhdr = nlh;
-	return nlh;
-}
-
-int main(int argc, char **argv)
-{
-	char buf[20480];
-	struct nfgenmsg *last_cm = NULL, *cm;
-	struct nlmsghdr *nlh;
-	int len;
-
-	cth = malloc(sizeof(*cth));
-	if (ctnl_open(cth, 0) < 0) {
-		exit(2);
-	}
-
-	ctnl_wilddump_request(cth, AF_INET, IPCTNL_MSG_CT_GET);
-
-	while (len = recv(cth->nfnlh.fd, &buf, sizeof(buf), 0)) {
-		printf("pkt received\n");
-		while (nlh = ctnl_get_packet(&last_cm, (char *)&buf, len)) {
-			printf("  decoding msg type 0x%04x\n", nlh->nlmsg_type);
-			if (NFNL_SUBSYS_ID(nlh->nlmsg_type) == 
-					NFNL_SUBSYS_CTNETLINK) {
-				cm = NLMSG_DATA(nlh);
-				print_msg(cm, nlh->nlmsg_len);
-			}
-		}
-	}
-
-	return 0;
-}
-

Modified: trunk/libnfnetlink_queue/utils/nfqnl_test.c
===================================================================
--- trunk/libnfnetlink_queue/utils/nfqnl_test.c	2005-07-30 20:59:25 UTC (rev 4196)
+++ trunk/libnfnetlink_queue/utils/nfqnl_test.c	2005-07-30 21:04:21 UTC (rev 4197)
@@ -4,7 +4,7 @@
 #include <unistd.h>
 #include <netinet/in.h>
 
-#include "libnfnetlink_queue.h"
+#include <libnfnetlink_queue/libnfnetlink_queue.h>
 
 int main(int argc, char **argv)
 {




More information about the netfilter-cvslog mailing list