aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2017-08-01 14:04:55 -0600
committerJohn Crispin <john@phrozen.org>2017-08-23 20:35:16 +0200
commitfc48aebdc1d97c73ec8a8428d981bdaa850568d2 (patch)
treeaa6de47a250de7d10b6b2021009ebf933c7e593b
parentd55fff4ae7c77cad820fe37cb3cad4ba6ced1eb8 (diff)
downloadupstream-fc48aebdc1d97c73ec8a8428d981bdaa850568d2.tar.gz
upstream-fc48aebdc1d97c73ec8a8428d981bdaa850568d2.tar.bz2
upstream-fc48aebdc1d97c73ec8a8428d981bdaa850568d2.zip
iperf3: add SSL variant for iperf_auth feature
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
-rw-r--r--package/network/utils/iperf3/Makefile36
-rw-r--r--package/network/utils/iperf3/patches/010-fix-openssl-ac-macro.patch41
2 files changed, 74 insertions, 3 deletions
diff --git a/package/network/utils/iperf3/Makefile b/package/network/utils/iperf3/Makefile
index 853636488c..1b94ce70fa 100644
--- a/package/network/utils/iperf3/Makefile
+++ b/package/network/utils/iperf3/Makefile
@@ -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))
diff --git a/package/network/utils/iperf3/patches/010-fix-openssl-ac-macro.patch b/package/network/utils/iperf3/patches/010-fix-openssl-ac-macro.patch
new file mode 100644
index 0000000000..d49e421ae2
--- /dev/null
+++ b/package/network/utils/iperf3/patches/010-fix-openssl-ac-macro.patch
@@ -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],