aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2017-10-31 14:19:51 -0600
committerJohn Crispin <john@phrozen.org>2017-10-31 14:19:51 -0600
commite03dcf494e42f85395d299769953b3c37618f0c4 (patch)
tree63afb669a7c65aaaa9923cf1e70af1f009b09880
parentbd60c9063d1cc80631101f65a905ba6d397029f8 (diff)
downloadupstream-e03dcf494e42f85395d299769953b3c37618f0c4.tar.gz
upstream-e03dcf494e42f85395d299769953b3c37618f0c4.tar.bz2
upstream-e03dcf494e42f85395d299769953b3c37618f0c4.zip
iperf3: update to 3.3 and refresh patches
Taking the same patchset I've submitted upstream for inclusion. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
-rw-r--r--package/network/utils/iperf3/Makefile4
-rw-r--r--package/network/utils/iperf3/patches/010-fix-openssl-ac-macro.patch41
-rw-r--r--package/network/utils/iperf3/patches/010-iperf-3.3-fix-build-warnings.patch300
-rw-r--r--package/network/utils/iperf3/patches/100-iperf_auth-rsa-header.patch17
4 files changed, 302 insertions, 60 deletions
diff --git a/package/network/utils/iperf3/Makefile b/package/network/utils/iperf3/Makefile
index 1b94ce70fa..a64d7396a2 100644
--- a/package/network/utils/iperf3/Makefile
+++ b/package/network/utils/iperf3/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=iperf
-PKG_VERSION:=3.2
+PKG_VERSION:=3.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.es.net/pub/iperf
-PKG_HASH:=f207b36f861485845dbdf09f909c62f3d2222a3cf3d2682095aede8213cd9c1d
+PKG_HASH:=6f596271251056bffc11bbb8f17d4244ad9a7d4a317c2459fdbb853ae51284d8
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=BSD-3-Clause
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
deleted file mode 100644
index d49e421ae2..0000000000
--- a/package/network/utils/iperf3/patches/010-fix-openssl-ac-macro.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-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],
diff --git a/package/network/utils/iperf3/patches/010-iperf-3.3-fix-build-warnings.patch b/package/network/utils/iperf3/patches/010-iperf-3.3-fix-build-warnings.patch
new file mode 100644
index 0000000000..d617ba9f40
--- /dev/null
+++ b/package/network/utils/iperf3/patches/010-iperf-3.3-fix-build-warnings.patch
@@ -0,0 +1,300 @@
+The following patches are taken directly from:
+
+https://github.com/esnet/iperf/pull/664
+
+as an upstream submission.
+
+commit b63d41b25f49a76d0be66edfb61bd4cb68921d55
+Author: Philip Prindeville <philipp@redfish-solutions.com>
+Date: Tue Oct 31 13:41:08 2017 -0600
+
+ Fix warnings about _GNU_SOURCE being redefined.
+
+ Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+
+diff --git a/src/iperf.h b/src/iperf.h
+index bb951dc..b656784 100755
+--- a/src/iperf.h
++++ b/src/iperf.h
+@@ -36,7 +36,9 @@
+ #endif
+ #include <sys/select.h>
+ #include <sys/socket.h>
+-#define _GNU_SOURCE
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE
++#endif
+ #include <netinet/tcp.h>
+
+ #if defined(HAVE_CPUSET_SETAFFINITY)
+diff --git a/src/iperf_api.c b/src/iperf_api.c
+index ab30b93..9e41238 100755
+--- a/src/iperf_api.c
++++ b/src/iperf_api.c
+@@ -24,7 +24,9 @@
+ * This code is distributed under a BSD style license, see the LICENSE file
+ * for complete information.
+ */
+-#define _GNU_SOURCE
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE
++#endif
+ #define __USE_GNU
+
+ #include "iperf_config.h"
+
+commit 315254cfc5f5682627f4a46ade3100bc3c64cfcc
+Author: Philip Prindeville <philipp@redfish-solutions.com>
+Date: Tue Oct 31 13:42:58 2017 -0600
+
+ Fix warnings of format-specified mismatching type
+
+ Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+
+diff --git a/src/iperf_tcp.c b/src/iperf_tcp.c
+index 91cf032..6f86d5d 100644
+--- a/src/iperf_tcp.c
++++ b/src/iperf_tcp.c
+@@ -24,8 +24,6 @@
+ * This code is distributed under a BSD style license, see the LICENSE
+ * file for complete information.
+ */
+-#include "iperf_config.h"
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -44,6 +42,12 @@
+ #include "net.h"
+ #include "cjson.h"
+
++#if defined(HAVE_INTTYPES_H)
++# include <inttypes.h>
++#else
++# define PRIu64 "llu"
++#endif
++
+ #if defined(HAVE_FLOWLABEL)
+ #include "flowlabel.h"
+ #endif /* HAVE_FLOWLABEL */
+@@ -90,7 +94,7 @@ iperf_tcp_send(struct iperf_stream *sp)
+ sp->result->bytes_sent_this_interval += r;
+
+ if (sp->test->debug)
+- printf("sent %d bytes of %d, total %llu\n", r, sp->settings->blksize, sp->result->bytes_sent);
++ printf("sent %d bytes of %d, total %" PRIu64 "\n", r, sp->settings->blksize, sp->result->bytes_sent);
+
+ return r;
+ }
+diff --git a/src/iperf_udp.c b/src/iperf_udp.c
+index a2ea6d0..d04ae44 100644
+--- a/src/iperf_udp.c
++++ b/src/iperf_udp.c
+@@ -48,6 +48,12 @@
+ #include "cjson.h"
+ #include "portable_endian.h"
+
++#if defined(HAVE_INTTYPES_H)
++# include <inttypes.h>
++#else
++# define PRIu64 "llu"
++#endif
++
+ /* iperf_udp_recv
+ *
+ * receives the data for UDP
+@@ -98,7 +104,7 @@ iperf_udp_recv(struct iperf_stream *sp)
+ }
+
+ if (sp->test->debug)
+- fprintf(stderr, "pcount %llu packet_count %d\n", pcount, sp->packet_count);
++ fprintf(stderr, "pcount %" PRIu64 " packet_count %d\n", pcount, sp->packet_count);
+
+ /*
+ * Try to handle out of order packets. The way we do this
+@@ -141,7 +147,7 @@ iperf_udp_recv(struct iperf_stream *sp)
+
+ /* Log the out-of-order packet */
+ if (sp->test->debug)
+- fprintf(stderr, "OUT OF ORDER - incoming packet sequence %llu but expected sequence %d on stream %d", pcount, sp->packet_count, sp->socket);
++ fprintf(stderr, "OUT OF ORDER - incoming packet sequence %" PRIu64 " but expected sequence %d on stream %d", pcount, sp->packet_count, sp->socket);
+ }
+
+ /*
+@@ -220,7 +226,7 @@ iperf_udp_send(struct iperf_stream *sp)
+ sp->result->bytes_sent_this_interval += r;
+
+ if (sp->test->debug)
+- printf("sent %d bytes of %d, total %llu\n", r, sp->settings->blksize, sp->result->bytes_sent);
++ printf("sent %d bytes of %d, total %" PRIu64 "\n", r, sp->settings->blksize, sp->result->bytes_sent);
+
+ return r;
+ }
+
+commit 9a66b3b0349e0a158bb4940b668a5cbc7c245762
+Author: Philip Prindeville <philipp@redfish-solutions.com>
+Date: Tue Oct 31 13:44:34 2017 -0600
+
+ Simplify endianness checks
+
+ Linux can be built with too many types of C run-time library and it's
+ not reasonable to have to enumerate all of them, especially since at
+ least one of them (MUSL) goes out of its way to not be easily
+ detectable.
+
+ Instead, leverage autoconf better for Linux/BSD to detect either
+ <endian.h> or <sys/endian.h> directly.
+
+ Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+
+diff --git a/configure.ac b/configure.ac
+index f57e83f..cfb42ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -101,6 +101,14 @@ AC_CHECK_HEADERS([netinet/sctp.h],
+ #endif
+ ])
+
++AC_CHECK_HEADER([endian.h],
++ AC_DEFINE([HAVE_ENDIAN_H], [1], [Define to 1 if you have the <endian.h> header file.]),
++ AC_CHECK_HEADER([sys/endian.h],
++ AC_DEFINE([HAVE_SYS_ENDIAN_H], [1], [Define to 1 if you have the <sys/endian.h> header file.]),
++ AC_MSG_WARN([Couldn't find endian.h or sys/endian.h files: doing compile-time tests.])
++ )
++ )
++
+ if test "x$with_openssl" = "xno"; then
+ AC_MSG_WARN( [Building without OpenSSL; disabling iperf_auth functionality.] )
+ else
+diff --git a/src/iperf_config.h.in b/src/iperf_config.h.in
+index bd03935..a9e51ec 100644
+--- a/src/iperf_config.h.in
++++ b/src/iperf_config.h.in
+@@ -9,6 +9,9 @@
+ /* Define to 1 if you have the <dlfcn.h> header file. */
+ #undef HAVE_DLFCN_H
+
++/* Define to 1 if you have the <endian.h> header file. */
++#undef HAVE_ENDIAN_H
++
+ /* Have IPv6 flowlabel support. */
+ #undef HAVE_FLOWLABEL
+
+@@ -54,6 +57,9 @@
+ /* Define to 1 if the system has the type `struct sctp_assoc_value'. */
+ #undef HAVE_STRUCT_SCTP_ASSOC_VALUE
+
++/* Define to 1 if you have the <sys/endian.h> header file. */
++#undef HAVE_SYS_ENDIAN_H
++
+ /* Define to 1 if you have the <sys/socket.h> header file. */
+ #undef HAVE_SYS_SOCKET_H
+
+diff --git a/src/portable_endian.h b/src/portable_endian.h
+index b86d37a..5dbc6e5 100644
+--- a/src/portable_endian.h
++++ b/src/portable_endian.h
+@@ -10,14 +10,33 @@
+
+ #endif
+
+-// GLIBC / Linux with endian(3) support, which was added in glibc 2.9.
+-// Intended to support CentOS 6 and newer.
+-#if defined(__linux__) && \
+- ((__GLIBC__ > 3) || \
+- (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9))
+-
++#if defined(HAVE_ENDIAN_H)
+ # include <endian.h>
+
++#elif defined(HAVE_SYS_ENDIAN_H)
++# include <sys/endian.h>
++
++# if defined(__OpenBSD__)
++
++# define be16toh(x) betoh16(x)
++# define le16toh(x) letoh16(x)
++
++# define be32toh(x) betoh32(x)
++# define le32toh(x) letoh32(x)
++
++# define be64toh(x) betoh64(x)
++# define le64toh(x) letoh64(x)
++
++# elif defined(__sgi)
++
++# include <netinet/in.h>
++# include <inttypes.h>
++
++# define be64toh(x) (x)
++# define htobe64(x) (x)
++
++# endif
++
+ #elif defined(__CYGWIN__)
+
+ # include <endian.h>
+@@ -46,32 +65,6 @@
+ # define __LITTLE_ENDIAN LITTLE_ENDIAN
+ # define __PDP_ENDIAN PDP_ENDIAN
+
+-#elif defined(__OpenBSD__)
+-
+-# include <sys/endian.h>
+-
+-# define be16toh(x) betoh16(x)
+-# define le16toh(x) letoh16(x)
+-
+-# define be32toh(x) betoh32(x)
+-# define le32toh(x) letoh32(x)
+-
+-# define be64toh(x) betoh64(x)
+-# define le64toh(x) letoh64(x)
+-
+-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+-
+-# include <sys/endian.h>
+-
+-#elif defined(__sgi)
+-
+-# include <sys/endian.h>
+-# include <netinet/in.h>
+-# include <inttypes.h>
+-
+-# define be64toh(x) (x)
+-# define htobe64(x) (x)
+-
+ #elif defined(__sun) && defined(__SVR4)
+
+ # include <sys/types.h>
+
+commit 7e7285d0daf92ef7beda8f78a6f63cc647a77f38
+Author: Philip Prindeville <philipp@redfish-solutions.com>
+Date: Tue Oct 31 13:48:06 2017 -0600
+
+ Sys headers should not be included directly
+
+ There's usually a top-level header which then includes the sys/
+ descendent.
+
+ Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+
+diff --git a/src/net.c b/src/net.c
+index af456cb..afd0022 100644
+--- a/src/net.c
++++ b/src/net.c
+@@ -31,13 +31,12 @@
+ #include <errno.h>
+ #include <sys/socket.h>
+ #include <sys/types.h>
+-#include <sys/errno.h>
+ #include <netinet/in.h>
+ #include <netinet/tcp.h>
+ #include <assert.h>
+ #include <netdb.h>
+ #include <string.h>
+-#include <sys/fcntl.h>
++#include <fcntl.h>
+
+ #ifdef HAVE_SENDFILE
+ #ifdef linux
diff --git a/package/network/utils/iperf3/patches/100-iperf_auth-rsa-header.patch b/package/network/utils/iperf3/patches/100-iperf_auth-rsa-header.patch
deleted file mode 100644
index fa78d91b17..0000000000
--- a/package/network/utils/iperf3/patches/100-iperf_auth-rsa-header.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-commit 31d5b6b580a356c5149dbc4f53118b7f83c60822
-Author: Philip Prindeville <philipp@redfish-solutions.com>
-Date: Sun Jul 30 18:54:46 2017 -0600
-Subject: Add required RSA header for OpenSSL
-
-Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
-
---- a/src/iperf_auth.c 2017-06-26 11:42:56.000000000 -0600
-+++ b/src/iperf_auth.c 2017-07-30 17:42:43.070447875 -0600
-@@ -40,6 +40,7 @@
- #include <openssl/pem.h>
- #include <openssl/sha.h>
- #include <openssl/buffer.h>
-+#include <openssl/rsa.h>
-
- void sha256(const char *string, char outputBuffer[65])
- {