[source] iperf3: add SSL variant for iperf_auth feature
LEDE Commits
lede-commits at lists.infradead.org
Wed Aug 23 11:35:41 PDT 2017
blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/fc48aebdc1d97c73ec8a8428d981bdaa850568d2
commit fc48aebdc1d97c73ec8a8428d981bdaa850568d2
Author: Philip Prindeville <philipp at redfish-solutions.com>
AuthorDate: Tue Aug 1 14:04:55 2017 -0600
iperf3: add SSL variant for iperf_auth feature
Signed-off-by: Philip Prindeville <philipp at redfish-solutions.com>
---
package/network/utils/iperf3/Makefile | 36 +++++++++++++++++--
.../iperf3/patches/010-fix-openssl-ac-macro.patch | 41 ++++++++++++++++++++++
2 files changed, 74 insertions(+), 3 deletions(-)
diff --git a/package/network/utils/iperf3/Makefile b/package/network/utils/iperf3/Makefile
index 8536364..1b94ce7 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 0000000..d49e421
--- /dev/null
+++ b/package/network/utils/iperf3/patches/010-fix-openssl-ac-macro.patch
@@ -0,0 +1,41 @@
+commit 3fd1a2ae907bff2d7593c0bb9944aa05eca7b58d
+Author: ralcini <roberto.alcini at 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],
More information about the lede-commits
mailing list