lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 31 May 2018 15:32:09 -0400
From:   Stephen Hemminger <stephen@...workplumber.org>
To:     netdev@...r.kernel.org
Cc:     Stephen Hemminger <stephen@...workplumber.org>
Subject: [PATCH iproute2] configure: require libmnl

Several users of BPF and other features are trying to build without
libmnl, then complaining that features don't work.  The time has
come to require libmnl to build iproute2.

Signed-off-by: Stephen Hemminger <stephen@...workplumber.org>
---
 configure        | 20 +++++++++++---------
 lib/libnetlink.c | 10 ----------
 2 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/configure b/configure
index 5ef5cd4cf9cd..209d78b6bf19 100755
--- a/configure
+++ b/configure
@@ -281,16 +281,18 @@ check_selinux()
 
 check_mnl()
 {
-	if ${PKG_CONFIG} libmnl --exists
-	then
-		echo "HAVE_MNL:=y" >>$CONFIG
-		echo "yes"
+    if ${PKG_CONFIG} libmnl --exists
+    then
+	echo "HAVE_MNL:=y" >>$CONFIG
+	echo "yes"
 
-		echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG
-		echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG
-	else
-		echo "no"
-	fi
+	echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG
+	echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG
+    else
+	echo "no"
+	echo "libmnl is required. please install libmnl-dev or libmnl-devel" 1>&2
+	exit 1
+    fi
 }
 
 check_berkeley_db()
diff --git a/lib/libnetlink.c b/lib/libnetlink.c
index 928de1dd16d8..ab8ea85d5dd9 100644
--- a/lib/libnetlink.c
+++ b/lib/libnetlink.c
@@ -35,7 +35,6 @@
 
 int rcvbuf = 1024 * 1024;
 
-#ifdef HAVE_LIBMNL
 #include <libmnl/libmnl.h>
 
 static const enum mnl_attr_data_type extack_policy[NLMSGERR_ATTR_MAX + 1] = {
@@ -116,15 +115,6 @@ int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn)
 
 	return 0;
 }
-#else
-#warning "libmnl required for error support"
-
-/* No extended error ack without libmnl */
-int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn)
-{
-	return 0;
-}
-#endif
 
 void rtnl_close(struct rtnl_handle *rth)
 {
-- 
2.17.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ