summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Leblond <eric@regit.org>2012-11-02 18:46:22 +0100
committerEric Leblond <eric@regit.org>2012-11-04 08:56:55 +0100
commitc69f537cef6f26b2bc0876508212781f6bb53fe7 (patch)
treeefc9ba9e08f5a853dbafd6b99396aef071ecd401
parent19b2d83ff631aaca3fe5e2be895cc7256f209a0b (diff)
configure: add flag to disable NFACCT build
It is now possible to pass the --disable-nfacct flag to disable compilation of NFACCT input plugin. Doing this the build of ulogd is possible on system where nfacct is not available.
-rw-r--r--configure.ac8
-rw-r--r--input/sum/Makefile.am4
-rw-r--r--output/ulogd_output_XML.c9
3 files changed, 17 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 0f21cf1..159cb0b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,9 +44,15 @@ AC_SUBST([regular_CFLAGS])
dnl Check for the right nfnetlink version
PKG_CHECK_MODULES([LIBNFNETLINK], [libnfnetlink >= 1.0.1])
PKG_CHECK_MODULES([LIBMNL], [libmnl >= 1.0.3])
-PKG_CHECK_MODULES([LIBNETFILTER_ACCT], [libnetfilter_acct >= 1.0.1])
PKG_CHECK_MODULES([LIBNETFILTER_CONNTRACK], [libnetfilter_conntrack >= 1.0.2])
PKG_CHECK_MODULES([LIBNETFILTER_LOG], [libnetfilter_log >= 1.0.0])
+AC_ARG_ENABLE(nfacct,
+ AS_HELP_STRING([--enable-nfacct], [Enable nfacct module [default=yes]]),,[enable_nfacct=yes])
+AS_IF([test "x$enable_nfacct" = "xyes"], [
+ PKG_CHECK_MODULES([LIBNETFILTER_ACCT], [libnetfilter_acct >= 1.0.1])
+ AC_DEFINE([BUILD_NFACCT], [1], [Building nfacct module])
+])
+AM_CONDITIONAL([BUILD_NFACCT], [test "x$enable_nfacct" = "xyes"])
CT_CHECK_POSTGRES_DB()
AM_CONDITIONAL(HAVE_PGSQL, test "x$PQLIBPATH" != "x")
diff --git a/input/sum/Makefile.am b/input/sum/Makefile.am
index 33fa849..b6ddb4d 100644
--- a/input/sum/Makefile.am
+++ b/input/sum/Makefile.am
@@ -1,8 +1,8 @@
AM_CPPFLAGS = -I$(top_srcdir)/include $(LIBNETFILTER_ACCT_CFLAGS) $(LIBMNL_CFLAGS)
AM_CFLAGS = ${regular_CFLAGS}
-
+if BUILD_NFACCT
pkglib_LTLIBRARIES = ulogd_inpflow_NFACCT.la
-
ulogd_inpflow_NFACCT_la_SOURCES = ulogd_inpflow_NFACCT.c
ulogd_inpflow_NFACCT_la_LDFLAGS = -avoid-version -module
ulogd_inpflow_NFACCT_la_LIBADD = $(LIBMNL_LIBS) $(LIBNETFILTER_ACCT_LIBS)
+endif
diff --git a/output/ulogd_output_XML.c b/output/ulogd_output_XML.c
index e9c3974..5892a5d 100644
--- a/output/ulogd_output_XML.c
+++ b/output/ulogd_output_XML.c
@@ -20,7 +20,10 @@
#include <libnetfilter_conntrack/libnetfilter_conntrack.h>
#include <libnetfilter_log/libnetfilter_log.h>
+#include "../config.h"
+#ifdef BUILD_NFACCT
#include <libnetfilter_acct/libnetfilter_acct.h>
+#endif
#include <ulogd/ulogd.h>
#include <sys/param.h>
#include <time.h>
@@ -118,6 +121,7 @@ xml_output_packet(struct ulogd_key *inp, char *buf, ssize_t size)
static int
xml_output_sum(struct ulogd_key *inp, char *buf, ssize_t size)
{
+#ifdef BUILD_NFACCT
struct nfacct *nfacct = ikey_get_ptr(&inp[KEY_SUM]);
int tmp;
@@ -125,10 +129,13 @@ xml_output_sum(struct ulogd_key *inp, char *buf, ssize_t size)
NFACCT_SNPRINTF_F_TIME);
if (tmp < 0 || tmp >= size)
return -1;
-
return 0;
+#else
+ return -1;
+#endif
}
+
static int xml_output(struct ulogd_pluginstance *upi)
{
struct ulogd_key *inp = upi->input.keys;