From d2209f10aeaf3e1a8577593675f50e5e12efbee2 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 28 Jul 2020 09:48:08 -0400 Subject: [PATCH] import iperf3-3.5-6.el8 --- SOURCES/0001-remove-sctp-from-manpage.patch | 43 ------------- SOURCES/0002-udp-counters-manpage.patch | 18 ++++++ SOURCES/0003-covscan-sctp.patch | 69 +++++++++++++++++++++ SPECS/iperf3.spec | 18 +++++- 4 files changed, 103 insertions(+), 45 deletions(-) delete mode 100644 SOURCES/0001-remove-sctp-from-manpage.patch create mode 100644 SOURCES/0002-udp-counters-manpage.patch create mode 100644 SOURCES/0003-covscan-sctp.patch diff --git a/SOURCES/0001-remove-sctp-from-manpage.patch b/SOURCES/0001-remove-sctp-from-manpage.patch deleted file mode 100644 index 8f695c9..0000000 --- a/SOURCES/0001-remove-sctp-from-manpage.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/src/iperf3.1 b/src/iperf3.1 -index 639d5a4..8751afa 100644 ---- a/src/iperf3.1 -+++ b/src/iperf3.1 -@@ -197,9 +197,6 @@ run in client mode, connecting to the specified server. - By default, a test consists of sending data from the client to the - server, unless the \-R flag is specified. - .TP --.BR --sctp --use SCTP rather than TCP (FreeBSD and Linux) --.TP - .BR -u ", " --udp - use UDP rather than TCP - .TP -diff --git a/src/iperf3.1 b/src/iperf3.1 -index 8751afa..05483a9 100644 ---- a/src/iperf3.1 -+++ b/src/iperf3.1 -@@ -303,24 +303,6 @@ values can be specified in decimal, octal and hex (see --tos above). - .BR -L ", " --flowlabel " \fIn\fR" - set the IPv6 flow label (currently only supported on Linux) - .TP --.BR -X ", " --xbind " \fIname\fR" --Bind SCTP associations to a specific subset of links using sctp_bindx(3). --The \fB--B\fR flag will be ignored if this flag is specified. --Normally SCTP will include the protocol addresses of all active links --on the local host when setting up an association. Specifying at least --one \fB--X\fR name will disable this behaviour. --This flag must be specified for each link to be included in the --association, and is supported for both iperf servers and clients --(the latter are supported by passing the first \fB--X\fR argument to bind(2)). --Hostnames are accepted as arguments and are resolved using --getaddrinfo(3). --If the \fB--4\fR or \fB--6\fR flags are specified, names --which do not resolve to addresses within the --specified protocol family will be ignored. --.TP --.BR --nstreams " \fIn\fR" --Set number of SCTP streams. --.TP - .BR -Z ", " --zerocopy " " - Use a "zero copy" method of sending data, such as sendfile(2), - instead of the usual write(2). diff --git a/SOURCES/0002-udp-counters-manpage.patch b/SOURCES/0002-udp-counters-manpage.patch new file mode 100644 index 0000000..f78b403 --- /dev/null +++ b/SOURCES/0002-udp-counters-manpage.patch @@ -0,0 +1,18 @@ +diff --git a/src/iperf3.1 b/src/iperf3.1 +index 05483a9..35a0873 100644 +--- a/src/iperf3.1 ++++ b/src/iperf3.1 +@@ -329,6 +329,13 @@ If the client is run with \fB--json\fR, the server output is included + in a JSON object; otherwise it is appended at the bottom of the + human-readable output. + .TP ++.BR --udp-counters-64bit ++Use 64-bit counters in UDP test packets. ++The use of this option can help prevent counter overflows during long ++or high-bitrate UDP tests. Both client and server need to be running ++at least version 3.1 for this option to work. It may become the ++default behavior at some point in the future. ++.TP + .BR --username " \fIusername\fR" + username to use for authentication to the iperf server (if built with + OpenSSL support). diff --git a/SOURCES/0003-covscan-sctp.patch b/SOURCES/0003-covscan-sctp.patch new file mode 100644 index 0000000..3d18870 --- /dev/null +++ b/SOURCES/0003-covscan-sctp.patch @@ -0,0 +1,69 @@ +diff --git a/src/iperf_sctp.c b/src/iperf_sctp.c +index a0869a3..13f5cdf 100644 +--- a/src/iperf_sctp.c ++++ b/src/iperf_sctp.c +@@ -130,12 +130,14 @@ iperf_sctp_accept(struct iperf_test * test) + + if (Nread(s, cookie, COOKIE_SIZE, Psctp) < 0) { + i_errno = IERECVCOOKIE; ++ close(s); + return -1; + } + +- if (strcmp(test->cookie, cookie) != 0) { ++ if (strncmp(test->cookie, cookie, COOKIE_SIZE) != 0) { + if (Nwrite(s, (char*) &rbuf, sizeof(rbuf), Psctp) < 0) { + i_errno = IESENDMESSAGE; ++ close(s); + return -1; + } + close(s); +@@ -209,9 +211,11 @@ iperf_sctp_listen(struct iperf_test *test) + + /* servers must call sctp_bindx() _instead_ of bind() */ + if (!TAILQ_EMPTY(&test->xbind_addrs)) { +- freeaddrinfo(res); +- if (iperf_sctp_bindx(test, s, IPERF_SCTP_SERVER)) ++ if (iperf_sctp_bindx(test, s, IPERF_SCTP_SERVER)) { ++ close(s); ++ freeaddrinfo(res); + return -1; ++ } + } else + if (bind(s, (struct sockaddr *) res->ai_addr, res->ai_addrlen) < 0) { + saved_errno = errno; +@@ -422,8 +426,11 @@ iperf_sctp_connect(struct iperf_test *test) + + /* clients must call bind() followed by sctp_bindx() before connect() */ + if (!TAILQ_EMPTY(&test->xbind_addrs)) { +- if (iperf_sctp_bindx(test, s, IPERF_SCTP_CLIENT)) ++ if (iperf_sctp_bindx(test, s, IPERF_SCTP_CLIENT)) { ++ freeaddrinfo(server_res); ++ close(s); + return -1; ++ } + } + + /* TODO support sctp_connectx() to avoid heartbeating. */ +@@ -435,12 +442,12 @@ iperf_sctp_connect(struct iperf_test *test) + i_errno = IESTREAMCONNECT; + return -1; + } +- freeaddrinfo(server_res); + + /* Send cookie for verification */ + if (Nwrite(s, test->cookie, COOKIE_SIZE, Psctp) < 0) { + saved_errno = errno; + close(s); ++ freeaddrinfo(server_res); + errno = saved_errno; + i_errno = IESENDCOOKIE; + return -1; +@@ -464,6 +471,7 @@ iperf_sctp_connect(struct iperf_test *test) + return -1; + } + ++ freeaddrinfo(server_res); + return s; + #else + i_errno = IENOSCTP; diff --git a/SPECS/iperf3.spec b/SPECS/iperf3.spec index 0c7006f..9d3453f 100644 --- a/SPECS/iperf3.spec +++ b/SPECS/iperf3.spec @@ -1,6 +1,6 @@ Name: iperf3 Version: 3.5 -Release: 3%{?dist} +Release: 6%{?dist} Summary: Measurement tool for TCP/UDP bandwidth performance Group: Applications/Internet @@ -8,8 +8,11 @@ License: BSD URL: http://github.com/esnet/iperf Source0: http://downloads.es.net/pub/iperf/iperf-%{version}.tar.gz BuildRequires: libuuid-devel git-core gcc make +BuildRequires: lksctp-tools-devel +BuildRequires: openssl-devel -Patch0001: 0001-remove-sctp-from-manpage.patch +Patch0002: 0002-udp-counters-manpage.patch +Patch0003: 0003-covscan-sctp.patch %description Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of @@ -57,6 +60,17 @@ rm -f %{buildroot}%{_libdir}/libiperf.la %{_libdir}/*.so %changelog +* Tue May 05 2020 Michal Ruprich - 3.5-6 +- Related: #1665142 - Fixing a couple of covscan issues + +* Fri Mar 13 2020 Michal Ruprich - 3.5-5 +- Related: #1665142 - Removing patch that deletes sctp from manpage + +* Mon Mar 09 2020 Michal Ruprich - 3.5-4 +- Resolves: #1665142 - [RFE] enable SCTP support in iperf3 +- Resolves: #1656429 - option --udp-counters-64bit shown in --help output but not in man page +- Resolves: #1700497 - [RFE] enable SSL support in iperf3 + * Sun Dec 16 2018 Michal Ruprich - 3.5-3 - Related: #1647413 - Removing nstreams and xbind from man since these are SCTP-related options