iperf3: add SSL variant for iperf_auth feature

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
This commit is contained in:
Philip Prindeville 2017-08-01 14:04:55 -06:00 committed by John Crispin
parent d55fff4ae7
commit fc48aebdc1
2 changed files with 74 additions and 3 deletions

View File

@ -21,21 +21,39 @@ PKG_LICENSE:=BSD-3-Clause
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
DISABLE_NLS:=
define Package/iperf3
define Package/iperf3/default
SECTION:=net
CATEGORY:=Network
TITLE:=Internet Protocol bandwidth measuring tool
URL:=https://github.com/esnet/iperf
endef
define Package/iperf3
$(call Package/iperf3/default)
VARIANT:=nossl
endef
define Package/iperf3-ssl
$(call Package/iperf3/default)
TITLE+= with iperf_auth support
VARIANT:=ssl
DEPENDS:= +libopenssl
endef
TARGET_CFLAGS += -D_GNU_SOURCE
CONFIGURE_ARGS += --disable-shared \
--with-openssl="$(STAGING_DIR)/usr"
CONFIGURE_ARGS += --disable-shared
ifeq ($(BUILD_VARIANT),ssl)
CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr"
else
CONFIGURE_ARGS += --without-openssl
endif
MAKE_FLAGS += noinst_PROGRAMS=
@ -45,9 +63,21 @@ define Package/iperf3/description
characteristics.
endef
# autoreconf fails if the README file isn't present
define Build/Prepare
$(call Build/Prepare/Default)
touch $(PKG_BUILD_DIR)/README
endef
define Package/iperf3/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/
endef
define Package/iperf3-ssl/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/
endef
$(eval $(call BuildPackage,iperf3))
$(eval $(call BuildPackage,iperf3-ssl))

View File

@ -0,0 +1,41 @@
commit 3fd1a2ae907bff2d7593c0bb9944aa05eca7b58d
Author: ralcini <roberto.alcini@gmail.com>
Date: Mon Aug 14 22:43:38 2017 +0200
fix for issue #624 - force build without openssl (#631)
* fix: now --without-openssl configure flags works
enh: if openssl support is required and no valid installation is found, now it raise an error
* enh: added warning if building without openssl (iperf_auth disabled)
diff --git a/configure.ac b/configure.ac
index 3c56cb3..79f3869 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,13 +101,18 @@ AC_CHECK_HEADERS([netinet/sctp.h],
#endif
])
-# Check for OPENSSL support
-AX_CHECK_OPENSSL(
- AC_DEFINE([HAVE_SSL], [1], [OpenSSL Is Available])
-)
-LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
-LIBS="$OPENSSL_LIBS $LIBS"
-CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS"
+if test "x$with_openssl" = "xno"; then
+ AC_MSG_WARN( [Building without OpenSSL; disabling iperf_auth functionality.] )
+else
+ # Check for OPENSSL support
+ AX_CHECK_OPENSSL(
+ [ AC_DEFINE([HAVE_SSL], [1], [OpenSSL Is Available]) ],
+ [ AC_MSG_FAILURE([--with-openssl was given, but test for openssl failed]) ]
+ )
+ LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
+ LIBS="$OPENSSL_LIBS $LIBS"
+ CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS"
+fi
# Check for TCP_CONGESTION sockopt (believed to be Linux and FreeBSD only)
AC_CACHE_CHECK([TCP_CONGESTION socket option],