Update to 3.14

Security update for CVE-2023-38403
This commit is contained in:
Jonathan Wright 2023-07-18 08:26:53 -05:00
parent bfa7e8d367
commit c3575bf9d5
5 changed files with 31 additions and 36 deletions

1
.gitignore vendored
View File

@ -25,3 +25,4 @@
/3.11.tar.gz
/3.12.tar.gz
/iperf-3.13.tar.gz
/iperf-3.14.tar.gz

View File

@ -1,25 +1,25 @@
diff -uNr iperf-3.12.orig/src/iperf_api.c iperf-3.12/src/iperf_api.c
--- iperf-3.12.orig/src/iperf_api.c 2022-12-12 20:48:20.888140777 -0600
+++ iperf-3.12/src/iperf_api.c 2022-12-12 20:51:48.696650754 -0600
@@ -3233,6 +3233,8 @@
diff -uNr iperf-3.14.orig/src/iperf_api.c iperf-3.14/src/iperf_api.c
--- iperf-3.14.orig/src/iperf_api.c 2023-07-18 08:00:55.256155251 -0500
+++ iperf-3.14/src/iperf_api.c 2023-07-18 08:06:28.219133437 -0500
@@ -3308,6 +3308,8 @@
temp.rttvar = get_rttvar(&temp);
temp.pmtu = get_pmtu(&temp);
+ temp.reorder = get_reorder(&temp);
+ rp->stream_reorder = temp.reorder;
+ temp.reorder = get_reorder(&temp);
+ rp->stream_reorder = temp.reorder;
}
}
} else {
@@ -3671,7 +3673,7 @@
@@ -3753,7 +3755,7 @@
if (test->sender_has_retransmits) {
/* Sender summary, TCP and SCTP with retransmits. */
if (test->json_output)
- cJSON_AddItemToObject(json_summary_stream, "sender", iperf_json_printf("socket: %d start: %f end: %f seconds: %f bytes: %d bits_per_second: %f retransmits: %d max_snd_cwnd: %d max_snd_wnd: %d max_rtt: %d min_rtt: %d mean_rtt: %d sender: %b", (int64_t) sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent, bandwidth * 8, (int64_t) sp->result->stream_retrans, (int64_t) sp->result->stream_max_snd_cwnd, (int64_t) sp->result->stream_max_snd_wnd, (int64_t) sp->result->stream_max_rtt, (int64_t) sp->result->stream_min_rtt, (int64_t) ((sp->result->stream_count_rtt == 0) ? 0 : sp->result->stream_sum_rtt / sp->result->stream_count_rtt), stream_must_be_sender));
+ cJSON_AddItemToObject(json_summary_stream, "sender", iperf_json_printf("socket: %d start: %f end: %f seconds: %f bytes: %d bits_per_second: %f retransmits: %d reorder: %d max_snd_cwnd: %d max_snd_wnd: %d max_rtt: %d min_rtt: %d mean_rtt: %d sender: %b", (int64_t) sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent, bandwidth * 8, (int64_t) sp->result->stream_retrans, (int64_t) sp->result->stream_reorder, (int64_t) sp->result->stream_max_snd_cwnd, (int64_t) sp->result->stream_max_snd_wnd, (int64_t) sp->result->stream_max_rtt, (int64_t) sp->result->stream_min_rtt, (int64_t) ((sp->result->stream_count_rtt == 0) ? 0 : sp->result->stream_sum_rtt / sp->result->stream_count_rtt), stream_must_be_sender));
- cJSON_AddItemToObject(json_summary_stream, report_sender, iperf_json_printf("socket: %d start: %f end: %f seconds: %f bytes: %d bits_per_second: %f retransmits: %d max_snd_cwnd: %d max_snd_wnd: %d max_rtt: %d min_rtt: %d mean_rtt: %d sender: %b", (int64_t) sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent, bandwidth * 8, (int64_t) sp->result->stream_retrans, (int64_t) sp->result->stream_max_snd_cwnd, (int64_t) sp->result->stream_max_snd_wnd, (int64_t) sp->result->stream_max_rtt, (int64_t) sp->result->stream_min_rtt, (int64_t) ((sp->result->stream_count_rtt == 0) ? 0 : sp->result->stream_sum_rtt / sp->result->stream_count_rtt), stream_must_be_sender));
+ cJSON_AddItemToObject(json_summary_stream, report_sender, iperf_json_printf("socket: %d start: %f end: %f seconds: %f bytes: %d bits_per_second: %f retransmits: %d reorder: %d max_snd_cwnd: %d max_snd_wnd: %d max_rtt: %d min_rtt: %d mean_rtt: %d sender: %b", (int64_t) sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent, bandwidth * 8, (int64_t) sp->result->stream_retrans, (int64_t) sp->result->stream_reorder, (int64_t) sp->result->stream_max_snd_cwnd, (int64_t) sp->result->stream_max_snd_wnd, (int64_t) sp->result->stream_max_rtt, (int64_t) sp->result->stream_min_rtt, (int64_t) ((sp->result->stream_count_rtt == 0) ? 0 : sp->result->stream_sum_rtt / sp->result->stream_count_rtt), stream_must_be_sender));
else
if (test->role == 's' && !sp->sender) {
if (test->verbose)
@@ -4118,7 +4120,7 @@
@@ -4204,7 +4206,7 @@
if (test->sender_has_retransmits == 1 && sp->sender) {
/* Interval, TCP with retransmits. */
if (test->json_output)
@ -28,10 +28,10 @@ diff -uNr iperf-3.12.orig/src/iperf_api.c iperf-3.12/src/iperf_api.c
else {
unit_snprintf(cbuf, UNIT_LEN, irp->snd_cwnd, 'A');
iperf_printf(test, report_bw_retrans_cwnd_format, sp->socket, mbuf, st, et, ubuf, nbuf, irp->interval_retrans, cbuf, irp->omitted?report_omitted:"");
diff -uNr iperf-3.12.orig/src/iperf_api.h iperf-3.12/src/iperf_api.h
--- iperf-3.12.orig/src/iperf_api.h 2022-12-12 20:48:20.889140789 -0600
+++ iperf-3.12/src/iperf_api.h 2022-12-12 20:52:17.923001361 -0600
@@ -290,6 +290,7 @@
diff -uNr iperf-3.14.orig/src/iperf_api.h iperf-3.14/src/iperf_api.h
--- iperf-3.14.orig/src/iperf_api.h 2023-07-18 08:00:55.256155251 -0500
+++ iperf-3.14/src/iperf_api.h 2023-07-18 08:07:01.564615065 -0500
@@ -301,6 +301,7 @@
long get_rtt(struct iperf_interval_results *irp);
long get_rttvar(struct iperf_interval_results *irp);
long get_pmtu(struct iperf_interval_results *irp);
@ -39,9 +39,9 @@ diff -uNr iperf-3.12.orig/src/iperf_api.h iperf-3.12/src/iperf_api.h
void print_tcpinfo(struct iperf_test *test);
void build_tcpinfo_message(struct iperf_interval_results *r, char *message);
diff -uNr iperf-3.12.orig/src/iperf.h iperf-3.12/src/iperf.h
--- iperf-3.12.orig/src/iperf.h 2022-12-12 20:48:20.888140777 -0600
+++ iperf-3.12/src/iperf.h 2022-12-12 20:50:26.768684321 -0600
diff -uNr iperf-3.14.orig/src/iperf.h iperf-3.14/src/iperf.h
--- iperf-3.14.orig/src/iperf.h 2023-07-18 08:00:55.256155251 -0500
+++ iperf-3.14/src/iperf.h 2023-07-18 08:02:22.627851163 -0500
@@ -109,6 +109,7 @@
long rtt;
long rttvar;
@ -58,10 +58,10 @@ diff -uNr iperf-3.12.orig/src/iperf.h iperf-3.12/src/iperf.h
long stream_max_rtt;
long stream_min_rtt;
long stream_sum_rtt;
diff -uNr iperf-3.12.orig/src/tcp_info.c iperf-3.12/src/tcp_info.c
--- iperf-3.12.orig/src/tcp_info.c 2022-12-12 20:48:20.889140789 -0600
+++ iperf-3.12/src/tcp_info.c 2022-12-12 20:53:54.926188984 -0600
@@ -214,6 +214,20 @@
diff -uNr iperf-3.14.orig/src/tcp_info.c iperf-3.14/src/tcp_info.c
--- iperf-3.14.orig/src/tcp_info.c 2023-07-18 08:00:55.257155236 -0500
+++ iperf-3.14/src/tcp_info.c 2023-07-18 08:07:45.580936522 -0500
@@ -218,6 +218,20 @@
}
/*************************************************************/

View File

@ -1,11 +0,0 @@
--- iperf-3.0.3/src/iperf_api.c 2014-03-26 23:36:38.000000000 +0530
+++ iperf-3.0.3.patch/src/iperf_api.c 2014-06-09 23:31:46.183346802 +0530
@@ -2215,7 +2215,7 @@ iperf_new_stream(struct iperf_test *test
sp->rcv = test->protocol->recv;
if (test->diskfile_name != (char*) 0) {
- sp->diskfile_fd = open(test->diskfile_name, test->sender ? O_RDONLY : (O_WRONLY|O_CREAT|O_TRUNC));
+ sp->diskfile_fd = open(test->diskfile_name, test->sender ? O_RDONLY : (O_WRONLY|O_CREAT|O_TRUNC), S_IRUSR|S_IWUSR);
if (sp->diskfile_fd == -1) {
i_errno = IEFILE;
munmap(sp->buffer, sp->test->settings->blksize);

View File

@ -1,5 +1,5 @@
Name: iperf3
Version: 3.13
Version: 3.14
Release: 1%{?dist}
Summary: Measurement tool for TCP/UDP bandwidth performance
@ -7,12 +7,13 @@ License: BSD
URL: https://github.com/esnet/iperf
Source0: https://github.com/esnet/iperf/archive/iperf-%{version}.tar.gz
# PR#1278: Report number of reorder_seen (rhbz#2063959)
Patch0: https://github.com/esnet/iperf/pull/1278.patch
# rebased for 3.14 by Jonathan Wright <jonathan@almalinux.org>
Patch0: https://github.com/esnet/iperf/pull/1278-rebase.patch
BuildRequires: libuuid-devel
BuildRequires: gcc
BuildRequires: lksctp-tools-devel
BuildRequires: openssl-devel
BuildRequires: make
BuildRequires: make
%description
Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of
@ -54,6 +55,10 @@ rm -f %{buildroot}%{_libdir}/libiperf.la
%{_libdir}/*.so
%changelog
* Tue Jul 18 2023 Jonathan Wright <jonathan@almalinux.org> - 3.14-1
- update to 3.14 rhbz#2183634
- Security fix for CVE-2023-38403 rhbz#2222204 rhbz#2223495
* Mon Feb 20 2023 Jonathan Wright <jonathan@almalinux.org> - 3.13-1
- update to 3.13 rhbz#2170949

View File

@ -1 +1 @@
SHA512 (iperf-3.13.tar.gz) = 067147edffa1d7482a9fc5d54638091f8bc099b9c45d9a471f4e33730463548fb2350749620f2ca3ff509cd7a9c4f63bf01f84cab36718edd8784ce7a15ca368
SHA512 (iperf-3.14.tar.gz) = a90fbaddd73e5b721a84cee71cefb63391c13f64107f5785e954e7c44e9a8c5072e402b6fe45434966d3cc58ac97227c608ca9719161fc23459c5e5efcf8232b