aircrack-ng: fix wrong inclusion of libbsd if detected
Currently aircrack-ng try to link with libbsd if it does detect the library in staging_dir. This is the case with buildbot where every package is selected and compiled. Fix this by adding a pending patch that permits to disable libbsd inclusion even if detected and set the related config flag. aircrack-ng use 2 function of libbsd and it's not worth to include the entire library for 2 simple function for string manipulation. Also add an additional patch that permits to use musl or glibc version of these string functions. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
parent
9a40592543
commit
bd21652b79
3 changed files with 89 additions and 0 deletions
|
@ -83,6 +83,7 @@ CONFIGURE_ARGS += \
|
||||||
--with-libpcap-include=$(STAGING_DIR)/usr/include \
|
--with-libpcap-include=$(STAGING_DIR)/usr/include \
|
||||||
--with-libpcap-lib=$(STAGING_DIR)/usr/lib \
|
--with-libpcap-lib=$(STAGING_DIR)/usr/lib \
|
||||||
--without-opt \
|
--without-opt \
|
||||||
|
--with-libbsd=no \
|
||||||
\
|
\
|
||||||
PYTHON=$(PYTHON) \
|
PYTHON=$(PYTHON) \
|
||||||
\
|
\
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
From 0265e79f3c9a27a3ffd186e7d3bcd2f744052605 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
Date: Sat, 28 Oct 2023 17:30:09 +0200
|
||||||
|
Subject: [PATCH] build: add option to disable bsd library inclusion
|
||||||
|
|
||||||
|
It might be needed to disable bsd inclusion and fallback to the compat
|
||||||
|
functions even if bsd headers are detected.
|
||||||
|
|
||||||
|
This is the case when multiple library are cross-compiled and someone
|
||||||
|
wants to explicitly compile aircrack-ng without linking to bsd library.
|
||||||
|
|
||||||
|
With the current implementation, if a bsd header is detected, the bsd
|
||||||
|
library is always linked even if unwanted. Add option to configure this
|
||||||
|
with the combo --with-libbsd=yes|no|auto with auto set by default.
|
||||||
|
|
||||||
|
Also add an extra featurw with introducing the possibility of requiring
|
||||||
|
the bsd library and fail the configure phase.
|
||||||
|
|
||||||
|
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
---
|
||||||
|
build/m4/aircrack_ng_compat.m4 | 24 +++++++++++++++++++++---
|
||||||
|
1 file changed, 21 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
--- a/build/m4/aircrack_ng_compat.m4
|
||||||
|
+++ b/build/m4/aircrack_ng_compat.m4
|
||||||
|
@@ -38,11 +38,29 @@ dnl If you delete this exception stateme
|
||||||
|
dnl program, then also delete it here.
|
||||||
|
|
||||||
|
AC_DEFUN([AIRCRACK_NG_COMPAT], [
|
||||||
|
+AC_ARG_WITH(libbsd,
|
||||||
|
+ [AS_HELP_STRING([--with-libbsd[[=auto|yes|no]]], [use BSD library, [default=auto]])])
|
||||||
|
+
|
||||||
|
+case $with_libbsd in
|
||||||
|
+ yes | "" | auto)
|
||||||
|
+ AC_CHECK_HEADERS([bsd/string.h], [HAVE_BSD_STRING_H=yes])
|
||||||
|
+ AC_CHECK_LIB([bsd], [strlcpy], [:])
|
||||||
|
+ AC_CHECK_FUNCS([strlcpy strlcat], [:])
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
|
||||||
|
-AC_CHECK_HEADERS([bsd/string.h], [HAVE_BSD_STRING_H=yes], [HAVE_BSD_STRING_H=no])
|
||||||
|
AM_CONDITIONAL([HAVE_BSD_STRING_H], [test "$HAVE_BSD_STRING_H" = yes])
|
||||||
|
-AC_CHECK_LIB([bsd], [strlcpy], [ LIBS="$LIBS -lbsd" ], [:])
|
||||||
|
-AC_CHECK_FUNCS([strlcpy strlcat], [:])
|
||||||
|
+
|
||||||
|
+if test $with_libbsd != no
|
||||||
|
+then
|
||||||
|
+ if test $ac_cv_lib_bsd_strlcpy = yes
|
||||||
|
+ then
|
||||||
|
+ LIBS="$LIBS -lbsd"
|
||||||
|
+ elif test $with_libbsd = yes
|
||||||
|
+ then
|
||||||
|
+ AC_MSG_ERROR([cannot configure required bsd library])
|
||||||
|
+ fi
|
||||||
|
+fi
|
||||||
|
|
||||||
|
have_bsd=no
|
||||||
|
if test "$cross_compiling" != yes
|
|
@ -0,0 +1,30 @@
|
||||||
|
From 6317063da827732dbc5cc0dd1650ed016bd2927c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
Date: Sun, 29 Oct 2023 14:41:18 +0100
|
||||||
|
Subject: [PATCH] build: support strlcat/strlcpy from musl or recent glibc
|
||||||
|
|
||||||
|
Musl or recent glibc added support for these additional string function,
|
||||||
|
strlcat and strlcpy hence the compat function are not needed and the
|
||||||
|
builtin version can be used instead.
|
||||||
|
|
||||||
|
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
---
|
||||||
|
build/m4/aircrack_ng_compat.m4 | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/build/m4/aircrack_ng_compat.m4
|
||||||
|
+++ b/build/m4/aircrack_ng_compat.m4
|
||||||
|
@@ -41,11 +41,12 @@ AC_DEFUN([AIRCRACK_NG_COMPAT], [
|
||||||
|
AC_ARG_WITH(libbsd,
|
||||||
|
[AS_HELP_STRING([--with-libbsd[[=auto|yes|no]]], [use BSD library, [default=auto]])])
|
||||||
|
|
||||||
|
+AC_CHECK_FUNCS([strlcpy strlcat], [:])
|
||||||
|
+
|
||||||
|
case $with_libbsd in
|
||||||
|
yes | "" | auto)
|
||||||
|
AC_CHECK_HEADERS([bsd/string.h], [HAVE_BSD_STRING_H=yes])
|
||||||
|
AC_CHECK_LIB([bsd], [strlcpy], [:])
|
||||||
|
- AC_CHECK_FUNCS([strlcpy strlcat], [:])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
Loading…
Reference in a new issue