From patchwork Sat Nov 3 11:32:58 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Leblond X-Patchwork-Id: 196831 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 360E72C00BE for ; Sat, 3 Nov 2012 23:03:25 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755553Ab2KCMDW (ORCPT ); Sat, 3 Nov 2012 08:03:22 -0400 Received: from ks28632.kimsufi.com ([91.121.96.152]:49003 "EHLO ks28632.kimsufi.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755634Ab2KCMDV (ORCPT ); Sat, 3 Nov 2012 08:03:21 -0400 Received: from ip-37-24-162-232.unitymediagroup.de ([37.24.162.232] helo=localhost.localdomain) by ks28632.kimsufi.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1TUbym-0008OX-Qv; Sat, 03 Nov 2012 12:33:32 +0100 From: Eric Leblond To: netfilter-devel@vger.kernel.org Cc: eric@regit.org Subject: [PATCH 1/4] Add configure flag to disable NFACCT build Date: Sat, 3 Nov 2012 12:32:58 +0100 Message-Id: <1351942382-24791-2-git-send-email-eric@regit.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1351942382-24791-1-git-send-email-eric@regit.org> References: <1351942382-24791-1-git-send-email-eric@regit.org> Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org 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. --- configure.ac | 8 +++++++- input/sum/Makefile.am | 4 ++-- output/ulogd_output_XML.c | 7 ++++++- 3 files changed, 15 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..616e6c0 100644 --- a/output/ulogd_output_XML.c +++ b/output/ulogd_output_XML.c @@ -20,7 +20,10 @@ #include #include +#include "../config.h" +#ifdef BUILD_NFACCT #include +#endif #include #include #include @@ -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,11 @@ xml_output_sum(struct ulogd_key *inp, char *buf, ssize_t size) NFACCT_SNPRINTF_F_TIME); if (tmp < 0 || tmp >= size) return -1; - +#endif return 0; } + static int xml_output(struct ulogd_pluginstance *upi) { struct ulogd_key *inp = upi->input.keys;