Skip to content

Commit 2d0532f

Browse files
authored
Merge branch 'master' into issue-812-835-control-connection-keepalive
2 parents 40345dc + 7e05ef2 commit 2d0532f

27 files changed

+490
-133
lines changed

.github/workflows/test.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: test
2+
on: [push, pull_request]
3+
jobs:
4+
cppcheck-test:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v3
8+
- name: install dependencies
9+
run: |
10+
sudo apt-get -y update && sudo apt-get install -y cppcheck && \
11+
cppcheck . --force --inline-suppr
12+
build-test-latest:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v3
16+
- name: install dependencies
17+
run: |
18+
sudo apt-get -y update && sudo apt-get install -y build-essential
19+
- name: build
20+
run: |
21+
./configure && make && make check
22+
timeout 300 src/iperf3 -s &
23+
./test_commands.sh localhost
24+
build-test-ubuntu-20_04:
25+
runs-on: ubuntu-20.04
26+
steps:
27+
- uses: actions/checkout@v3
28+
- name: install dependencies
29+
run: |
30+
sudo apt-get -y update && sudo apt-get install -y build-essential
31+
- name: build
32+
run: |
33+
./configure && make && make check
34+
timeout 300 src/iperf3 -s &
35+
./test_commands.sh localhost

README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ Source code and issue tracker: https://github.com/esnet/iperf
3232

3333
Discussion forums: https://github.com/esnet/iperf/discussions
3434

35+
Reporting security vulnerabilities: [email protected]
36+
3537
Obtaining iperf3
3638
----------------
3739

@@ -78,8 +80,8 @@ These flags include:
7880
-Z, --zerocopy use a 'zero copy' sendfile() method of sending data
7981
-A, --affinity n/n,m set CPU affinity
8082

81-
Bug Reports
82-
-----------
83+
Bug and Security Reports
84+
------------------------
8385

8486
Before submitting a bug report, please make sure you're running the
8587
latest version of the code, and confirm that your issue has not
@@ -99,6 +101,11 @@ sensitive information.
99101
If you have a question about usage or about the code, please do *not*
100102
submit an issue. Please use one of the mailing lists for that.
101103

104+
If you suspect there is a potential security issue, please contact the
105+
developers at:
106+
107+
108+
102109
Relation to iperf 2.x
103110
---------------------
104111

RELNOTES.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,59 @@
11
iperf3 Release Notes
22
====================
33

4+
iperf-3.15 2023-09-14
5+
---------------------
6+
7+
* Notable user-visible changes
8+
9+
* Several bugs that could allow the iperf3 server to hang waiting
10+
for input on the control connection has been fixed. ESnet thanks
11+
Jorge Sancho Larraz from Canonical for reporting this issue. For
12+
more information, see:
13+
https://downloads.es.net/pub/iperf/esnet-secadv-2023-0002.txt.asc
14+
15+
* A bug that caused garbled output with UDP tests on 32-bit hosts
16+
has been fixed (PR #1554, PR #1556). This bug was introduced in
17+
iperf-3.14.
18+
19+
* A bug in counting UDP messages has been fixed (PR #1367, PR
20+
#1380).
21+
22+
iperf-3.14 2023-07-07
23+
---------------------
24+
25+
* Notable user-visible changes
26+
27+
* A memory allocation hazard was fixed (Issue #1542/PR #1543). For
28+
more information see:
29+
https://downloads.es.net/pub/iperf/esnet-secadv-2023-0001.txt.asc
30+
31+
* JSON output was improved, such as print JSON numbers as signed (PR
32+
#1539, Issue #1435), the exit code when doing JSON output was
33+
fixed (PR #1523), and client_api was fixed so that it still
34+
returns an error code when JSON is enabled (Issue #1405). Also,
35+
duplicate fields when using multiple streams was removed from the
36+
JSON output (#1492).
37+
38+
* Prevent UDP packet count and operations overflow (PR #1536/Issue
39+
#1534).
40+
41+
* Statistics are fixed when --omit is used (Issue #1489/PR #1498).
42+
43+
* Developer-visible changes
44+
45+
* CI builds and tests using GitHub actions have been added (PR
46+
#1519).
47+
48+
* A fix for Android "unable to create a new stream error" was added
49+
(PR #1506).
50+
51+
* Support for Voice Admit DSCP code point from RFC 5865 was added
52+
(PR #1490).
53+
54+
* A fix for preventing a crash when RSA public key path doesn't
55+
exist was fixed (PR #1488/Issue #1471).
56+
457
iperf-3.13 2023-02-16
558
---------------------
659

configure

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.71 for iperf 3.13.
3+
# Generated by GNU Autoconf 2.71 for iperf 3.15.
44
#
55
# Report bugs to <https://github.com/esnet/iperf>.
66
#
@@ -621,8 +621,8 @@ MAKEFLAGS=
621621
# Identity of this package.
622622
PACKAGE_NAME='iperf'
623623
PACKAGE_TARNAME='iperf'
624-
PACKAGE_VERSION='3.13'
625-
PACKAGE_STRING='iperf 3.13'
624+
PACKAGE_VERSION='3.15'
625+
PACKAGE_STRING='iperf 3.15'
626626
PACKAGE_BUGREPORT='https://github.com/esnet/iperf'
627627
PACKAGE_URL='https://software.es.net/iperf/'
628628

@@ -1366,7 +1366,7 @@ if test "$ac_init_help" = "long"; then
13661366
# Omit some internal or obsolete options to make the list less imposing.
13671367
# This message is too long to be a string in the A/UX 3.1 sh.
13681368
cat <<_ACEOF
1369-
\`configure' configures iperf 3.13 to adapt to many kinds of systems.
1369+
\`configure' configures iperf 3.15 to adapt to many kinds of systems.
13701370
13711371
Usage: $0 [OPTION]... [VAR=VALUE]...
13721372
@@ -1437,7 +1437,7 @@ fi
14371437

14381438
if test -n "$ac_init_help"; then
14391439
case $ac_init_help in
1440-
short | recursive ) echo "Configuration of iperf 3.13:";;
1440+
short | recursive ) echo "Configuration of iperf 3.15:";;
14411441
esac
14421442
cat <<\_ACEOF
14431443
@@ -1555,7 +1555,7 @@ fi
15551555
test -n "$ac_init_help" && exit $ac_status
15561556
if $ac_init_version; then
15571557
cat <<\_ACEOF
1558-
iperf configure 3.13
1558+
iperf configure 3.15
15591559
generated by GNU Autoconf 2.71
15601560
15611561
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1833,7 +1833,7 @@ cat >config.log <<_ACEOF
18331833
This file contains any messages produced by compilers while
18341834
running configure, to aid debugging if configure makes a mistake.
18351835
1836-
It was created by iperf $as_me 3.13, which was
1836+
It was created by iperf $as_me 3.15, which was
18371837
generated by GNU Autoconf 2.71. Invocation command line was
18381838
18391839
$ $0$ac_configure_args_raw
@@ -3200,7 +3200,7 @@ fi
32003200

32013201
# Define the identity of the package.
32023202
PACKAGE='iperf'
3203-
VERSION='3.13'
3203+
VERSION='3.15'
32043204

32053205

32063206
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -15579,7 +15579,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1557915579
# report actual input values of CONFIG_FILES etc. instead of their
1558015580
# values after options handling.
1558115581
ac_log="
15582-
This file was extended by iperf $as_me 3.13, which was
15582+
This file was extended by iperf $as_me 3.15, which was
1558315583
generated by GNU Autoconf 2.71. Invocation command line was
1558415584
1558515585
CONFIG_FILES = $CONFIG_FILES
@@ -15648,7 +15648,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
1564815648
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1564915649
ac_cs_config='$ac_cs_config_escaped'
1565015650
ac_cs_version="\\
15651-
iperf config.status 3.13
15651+
iperf config.status 3.15
1565215652
configured by $0, generated by GNU Autoconf 2.71,
1565315653
with options \\"\$ac_cs_config\\"
1565415654

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
# Initialize the autoconf system for the specified tool, version and mailing list
2727
AC_PREREQ([2.71])
28-
AC_INIT([iperf],[3.13],[https://github.com/esnet/iperf],[iperf],[https://software.es.net/iperf/])
28+
AC_INIT([iperf],[3.15],[https://github.com/esnet/iperf],[iperf],[https://software.es.net/iperf/])
2929
m4_include([config/ax_check_openssl.m4])
3030
m4_include([config/iperf_config_static_bin.m4])
3131
AC_LANG(C)

docs/_esnet/templates/navbar.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
</button>
1010
<a class="navbar-brand" href="{{ pathto(master_doc) }}">
1111
{%- block sidebarlogo %}
12-
<!-- LOGO: {{ logo }} {{ pathto('_static/' + logo, 1) }} -->
13-
1412
{%- if logo %}<img src="{{ pathto('_static/' + logo, 1) }}">{%- endif %}
1513
{%- endblock %}
1614
{% if theme_navbar_title -%}{{ theme_navbar_title|e }}{%- else -%}{{ project|e }}{%- endif -%}

docs/conf.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@
5252
# built documents.
5353
#
5454
# The short X.Y version.
55-
version = '3.13'
55+
version = '3.15'
5656
# The full version, including alpha/beta/rc tags.
5757

58-
release = '3.13'
58+
release = '3.15'
5959

6060
# The language for content autogenerated by Sphinx. Refer to documentation
6161
# for a list of supported languages.
@@ -128,7 +128,8 @@
128128

129129
# The name of an image file (relative to this directory) to place at the top
130130
# of the sidebar.
131-
html_logo = "_esnet/static/ESnet_Final_Logos_All_Blue_Circle_Stamp_RGB.png"
131+
html_logo = "_static/esnet/ESnet_Final_Logos_All_Blue_Circle_Stamp_RGB.png"
132+
132133

133134

134135
# The name of an image file (within the static path) to use as favicon of the

docs/dev.rst

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ Then submit to the iperf3 issue tracker on GitHub:
3030

3131
https://github.com/esnet/iperf/issues
3232

33+
For reporting potential security issues, please contact the developers at
34+
35+
3336
**Note:** Issues submitted to the old iperf3 issue tracker on Google
3437
Code (or comments to existing issues on the Google Code issue tracker)
3538
will be ignored.
@@ -130,8 +133,8 @@ The developers increment the:
130133
Release Engineering Checklist
131134
-----------------------------
132135

133-
1. Update the ``README`` and ``RELEASE_NOTES`` files to be accurate. Make sure
134-
that the "Known Issues" section of the ``README`` file and in this document
136+
1. Update the ``README.md`` and ``RELNOTES.md`` files to be accurate. Make sure
137+
that the "Known Issues" section of the ``README.md`` file and in this document
135138
are up to date.
136139

137140
2. Compose a release announcement. Most of the release announcement
@@ -142,7 +145,7 @@ Release Engineering Checklist
142145
status`` emits no output), make the changes necessary to produce
143146
the new version, such as bumping version numbers::
144147

145-
vi RELEASE_NOTES # update version number and release date
148+
vi RELNOTES.md # update version number and release date
146149
vi configure.ac # update version parameter in AC_INIT
147150
vi src/iperf3.1 # update manpage revision date if needed
148151
vi src/libiperf.3 # update manpage revision date if needed
@@ -214,12 +217,14 @@ Release Engineering Checklist
214217
sending process by sending a copy to oneself first and attempting
215218
to verify the signature is highly encouraged.
216219

217-
12. Update the iperf3 Project News section of the documentation site
220+
12. Update GitHub Releases with the current release notes.
221+
222+
13. Update the iperf3 Project News section of the documentation site
218223
to announce the new release (see ``docs/news.rst`` and
219224
``docs/conf.py`` in the source tree) and deploy a new build of the
220225
documentation to GitHub Pages.
221226

222-
13. If an update to the on-line manual page is needed, it can be
227+
14. If an update to the on-line manual page is needed, it can be
223228
generated with this sequence of commands (tested on CentOS 7) and
224229
import the result into ``invoking.rst``::
225230

docs/news.rst

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,35 @@
11
iperf3 Project News
22
===================
33

4+
2023-09-14: iperf-3.15 released
5+
--------------------------------
6+
| URL: https://downloads.es.net/pub/iperf/iperf-3.15.tar.gz
7+
| SHA256: ``bdb77c11f72bce90214883159577fa24412013e62b2083cf5f54391d79b1d8ff``
8+
9+
iperf 3.15 fixes that could cause an iperf3 server process to hang
10+
waiting for input on the control connection. For more information,
11+
please see:
12+
13+
https://downloads.es.net/pub/iperf/esnet-secadv-2023-0002.txt.asc
14+
15+
This version of iperf3 also includes several other minor bug fixes,
16+
which are summarized in the release notes.
17+
18+
2023-07-07: iperf-3.14 released
19+
--------------------------------
20+
| URL: https://downloads.es.net/pub/iperf/iperf-3.14.tar.gz
21+
| SHA256: ``723fcc430a027bc6952628fa2a3ac77584a1d0bd328275e573fc9b206c155004``
22+
23+
iperf 3.14 fixes a memory allocation hazard that allowed a remote user
24+
to crash an iperf3 process (server or client).
25+
26+
More information on this specific fix can be found at:
27+
28+
https://downloads.es.net/pub/iperf/esnet-secadv-2023-0001.txt.asc
29+
30+
This version of iperf3 also includes a number of minor bug fixes,
31+
which are summarized in the release notes.
32+
433
2023-02-16: iperf-3.13 released
534
----------------------------------
635
| URL: https://downloads.es.net/pub/iperf/iperf-3.13.tar.gz
@@ -332,7 +361,7 @@ This maintenance release includes the following bug fixes:
332361
* Some portability fixes for OpenBSD and Solaris have been merged from
333362
the mainline.
334363

335-
As always, more details can be found in the ``RELEASE_NOTES`` file in
364+
As always, more details can be found in the ``RELNOTES.md`` file in
336365
the source distribution.
337366

338367
2014-06-16: Project documentation on GitHub Pages
@@ -363,7 +392,7 @@ enhancements and bug fixes. Highlights:
363392
* A number of bugs with ``--json`` output have been fixed.
364393

365394
A more extensive list of changes can always be found in the
366-
``RELEASE_NOTES`` file in the source distribution.
395+
``RELNOTES.md`` file in the source distribution.
367396

368397
Note: An iperf-3.0.4 release was planned and tagged, but not
369398
officially released.
@@ -395,7 +424,7 @@ This is the second maintenance release of iperf 3.0, containing a few bug fixes
395424
* A possible buffer overflow related to error output has been fixed.
396425
(This is not believed to be exploitable.)
397426

398-
More information on changes can be found in the ``RELEASE_NOTES``
427+
More information on changes can be found in the ``RELNOTES.md``
399428
file in the source distribution.
400429

401430
2014-03-10: iperf-3.0.2 released
@@ -418,7 +447,7 @@ GitHub. Of particular interest:
418447
* libiperf is now built as both a shared and static library; by
419448
default, the iperf3 binary links to the shared library.
420449

421-
More information on changes can be found in the ``RELEASE_NOTES``
450+
More information on changes can be found in the ``RELNOTES.md``
422451
file in the source distribution.
423452

424453
2014-02-28: iperf migrated to GitHub

docs/obtaining.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ of binary packages for various operating systems and distributions:
1414
* FreeBSD: via the FreeBSD Ports Collection with ``sudo pkg install
1515
benchmarks/iperf3``.
1616
* Fedora / RedHat Linux / CentOS / Rocky: `iperf3
17-
<https://apps.fedoraproject.org/packages/iperf3/>`_ and
17+
<https://packages.fedoraproject.org/pkgs/iperf3/iperf3/>`_ and
1818
`iperf3-devel
19-
<https://apps.fedoraproject.org/packages/iperf3-devel>`_ in Fedora
19+
<https://packages.fedoraproject.org/pkgs/iperf3/iperf3-devel/>`_ in Fedora
2020
19 and 20 and in Fedora EPEL 5, 6, and 7. iperf3 is included as a
2121
part of RedHat Enterprise Linux 7.4 and later (as well as CentOS 7.4
2222
and later, and all versions of Rocky Linux), and can generally be
@@ -31,6 +31,8 @@ of binary packages for various operating systems and distributions:
3131
locations, including `<https://files.budman.pw/>`_
3232
(`discussion thread
3333
<https://www.neowin.net/forum/topic/1234695-iperf/>`_).
34+
* Android: iperf3 binaries for Android can be found in several
35+
locations, including `<https://github.com/davidBar-On/android-iperf3/>`_.
3436

3537
Source Distributions
3638
--------------------

0 commit comments

Comments
 (0)