Skip to content

Commit

Permalink
Merge branch 'master' into issue-812-835-control-connection-keepalive
Browse files Browse the repository at this point in the history
  • Loading branch information
swlars authored Oct 5, 2023
2 parents 40345dc + 7e05ef2 commit 2d0532f
Show file tree
Hide file tree
Showing 27 changed files with 490 additions and 133 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: test
on: [push, pull_request]
jobs:
cppcheck-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install dependencies
run: |
sudo apt-get -y update && sudo apt-get install -y cppcheck && \
cppcheck . --force --inline-suppr
build-test-latest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install dependencies
run: |
sudo apt-get -y update && sudo apt-get install -y build-essential
- name: build
run: |
./configure && make && make check
timeout 300 src/iperf3 -s &
./test_commands.sh localhost
build-test-ubuntu-20_04:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: install dependencies
run: |
sudo apt-get -y update && sudo apt-get install -y build-essential
- name: build
run: |
./configure && make && make check
timeout 300 src/iperf3 -s &
./test_commands.sh localhost
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Source code and issue tracker: https://github.com/esnet/iperf

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

Reporting security vulnerabilities: [email protected]

Obtaining iperf3
----------------

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

Bug Reports
-----------
Bug and Security Reports
------------------------

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

If you suspect there is a potential security issue, please contact the
developers at:

[email protected]

Relation to iperf 2.x
---------------------

Expand Down
53 changes: 53 additions & 0 deletions RELNOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,59 @@
iperf3 Release Notes
====================

iperf-3.15 2023-09-14
---------------------

* Notable user-visible changes

* Several bugs that could allow the iperf3 server to hang waiting
for input on the control connection has been fixed. ESnet thanks
Jorge Sancho Larraz from Canonical for reporting this issue. For
more information, see:
https://downloads.es.net/pub/iperf/esnet-secadv-2023-0002.txt.asc

* A bug that caused garbled output with UDP tests on 32-bit hosts
has been fixed (PR #1554, PR #1556). This bug was introduced in
iperf-3.14.

* A bug in counting UDP messages has been fixed (PR #1367, PR
#1380).

iperf-3.14 2023-07-07
---------------------

* Notable user-visible changes

* A memory allocation hazard was fixed (Issue #1542/PR #1543). For
more information see:
https://downloads.es.net/pub/iperf/esnet-secadv-2023-0001.txt.asc

* JSON output was improved, such as print JSON numbers as signed (PR
#1539, Issue #1435), the exit code when doing JSON output was
fixed (PR #1523), and client_api was fixed so that it still
returns an error code when JSON is enabled (Issue #1405). Also,
duplicate fields when using multiple streams was removed from the
JSON output (#1492).

* Prevent UDP packet count and operations overflow (PR #1536/Issue
#1534).

* Statistics are fixed when --omit is used (Issue #1489/PR #1498).

* Developer-visible changes

* CI builds and tests using GitHub actions have been added (PR
#1519).

* A fix for Android "unable to create a new stream error" was added
(PR #1506).

* Support for Voice Admit DSCP code point from RFC 5865 was added
(PR #1490).

* A fix for preventing a crash when RSA public key path doesn't
exist was fixed (PR #1488/Issue #1471).

iperf-3.13 2023-02-16
---------------------

Expand Down
20 changes: 10 additions & 10 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for iperf 3.13.
# Generated by GNU Autoconf 2.71 for iperf 3.15.
#
# Report bugs to <https://github.com/esnet/iperf>.
#
Expand Down Expand Up @@ -621,8 +621,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='iperf'
PACKAGE_TARNAME='iperf'
PACKAGE_VERSION='3.13'
PACKAGE_STRING='iperf 3.13'
PACKAGE_VERSION='3.15'
PACKAGE_STRING='iperf 3.15'
PACKAGE_BUGREPORT='https://github.com/esnet/iperf'
PACKAGE_URL='https://software.es.net/iperf/'

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

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of iperf 3.13:";;
short | recursive ) echo "Configuration of iperf 3.15:";;
esac
cat <<\_ACEOF
Expand Down Expand Up @@ -1555,7 +1555,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
iperf configure 3.13
iperf configure 3.15
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
Expand Down Expand Up @@ -1833,7 +1833,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by iperf $as_me 3.13, which was
It was created by iperf $as_me 3.15, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
Expand Down Expand Up @@ -3200,7 +3200,7 @@ fi

# Define the identity of the package.
PACKAGE='iperf'
VERSION='3.13'
VERSION='3.15'


printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
Expand Down Expand Up @@ -15579,7 +15579,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by iperf $as_me 3.13, which was
This file was extended by iperf $as_me 3.15, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -15648,7 +15648,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
iperf config.status 3.13
iperf config.status 3.15
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

# Initialize the autoconf system for the specified tool, version and mailing list
AC_PREREQ([2.71])
AC_INIT([iperf],[3.13],[https://github.com/esnet/iperf],[iperf],[https://software.es.net/iperf/])
AC_INIT([iperf],[3.15],[https://github.com/esnet/iperf],[iperf],[https://software.es.net/iperf/])
m4_include([config/ax_check_openssl.m4])
m4_include([config/iperf_config_static_bin.m4])
AC_LANG(C)
Expand Down
2 changes: 0 additions & 2 deletions docs/_esnet/templates/navbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
</button>
<a class="navbar-brand" href="{{ pathto(master_doc) }}">
{%- block sidebarlogo %}
<!-- LOGO: {{ logo }} {{ pathto('_static/' + logo, 1) }} -->

{%- if logo %}<img src="{{ pathto('_static/' + logo, 1) }}">{%- endif %}
{%- endblock %}
{% if theme_navbar_title -%}{{ theme_navbar_title|e }}{%- else -%}{{ project|e }}{%- endif -%}
Expand Down
7 changes: 4 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@
# built documents.
#
# The short X.Y version.
version = '3.13'
version = '3.15'
# The full version, including alpha/beta/rc tags.

release = '3.13'
release = '3.15'

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

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



# The name of an image file (within the static path) to use as favicon of the
Expand Down
15 changes: 10 additions & 5 deletions docs/dev.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ Then submit to the iperf3 issue tracker on GitHub:

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

For reporting potential security issues, please contact the developers at
[email protected].

**Note:** Issues submitted to the old iperf3 issue tracker on Google
Code (or comments to existing issues on the Google Code issue tracker)
will be ignored.
Expand Down Expand Up @@ -130,8 +133,8 @@ The developers increment the:
Release Engineering Checklist
-----------------------------

1. Update the ``README`` and ``RELEASE_NOTES`` files to be accurate. Make sure
that the "Known Issues" section of the ``README`` file and in this document
1. Update the ``README.md`` and ``RELNOTES.md`` files to be accurate. Make sure
that the "Known Issues" section of the ``README.md`` file and in this document
are up to date.

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

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

12. Update the iperf3 Project News section of the documentation site
12. Update GitHub Releases with the current release notes.

13. Update the iperf3 Project News section of the documentation site
to announce the new release (see ``docs/news.rst`` and
``docs/conf.py`` in the source tree) and deploy a new build of the
documentation to GitHub Pages.

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

Expand Down
37 changes: 33 additions & 4 deletions docs/news.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,35 @@
iperf3 Project News
===================

2023-09-14: iperf-3.15 released
--------------------------------
| URL: https://downloads.es.net/pub/iperf/iperf-3.15.tar.gz
| SHA256: ``bdb77c11f72bce90214883159577fa24412013e62b2083cf5f54391d79b1d8ff``
iperf 3.15 fixes that could cause an iperf3 server process to hang
waiting for input on the control connection. For more information,
please see:

https://downloads.es.net/pub/iperf/esnet-secadv-2023-0002.txt.asc

This version of iperf3 also includes several other minor bug fixes,
which are summarized in the release notes.

2023-07-07: iperf-3.14 released
--------------------------------
| URL: https://downloads.es.net/pub/iperf/iperf-3.14.tar.gz
| SHA256: ``723fcc430a027bc6952628fa2a3ac77584a1d0bd328275e573fc9b206c155004``
iperf 3.14 fixes a memory allocation hazard that allowed a remote user
to crash an iperf3 process (server or client).

More information on this specific fix can be found at:

https://downloads.es.net/pub/iperf/esnet-secadv-2023-0001.txt.asc

This version of iperf3 also includes a number of minor bug fixes,
which are summarized in the release notes.

2023-02-16: iperf-3.13 released
----------------------------------
| URL: https://downloads.es.net/pub/iperf/iperf-3.13.tar.gz
Expand Down Expand Up @@ -332,7 +361,7 @@ This maintenance release includes the following bug fixes:
* Some portability fixes for OpenBSD and Solaris have been merged from
the mainline.

As always, more details can be found in the ``RELEASE_NOTES`` file in
As always, more details can be found in the ``RELNOTES.md`` file in
the source distribution.

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

A more extensive list of changes can always be found in the
``RELEASE_NOTES`` file in the source distribution.
``RELNOTES.md`` file in the source distribution.

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

More information on changes can be found in the ``RELEASE_NOTES``
More information on changes can be found in the ``RELNOTES.md``
file in the source distribution.

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

More information on changes can be found in the ``RELEASE_NOTES``
More information on changes can be found in the ``RELNOTES.md``
file in the source distribution.

2014-02-28: iperf migrated to GitHub
Expand Down
6 changes: 4 additions & 2 deletions docs/obtaining.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ of binary packages for various operating systems and distributions:
* FreeBSD: via the FreeBSD Ports Collection with ``sudo pkg install
benchmarks/iperf3``.
* Fedora / RedHat Linux / CentOS / Rocky: `iperf3
<https://apps.fedoraproject.org/packages/iperf3/>`_ and
<https://packages.fedoraproject.org/pkgs/iperf3/iperf3/>`_ and
`iperf3-devel
<https://apps.fedoraproject.org/packages/iperf3-devel>`_ in Fedora
<https://packages.fedoraproject.org/pkgs/iperf3/iperf3-devel/>`_ in Fedora
19 and 20 and in Fedora EPEL 5, 6, and 7. iperf3 is included as a
part of RedHat Enterprise Linux 7.4 and later (as well as CentOS 7.4
and later, and all versions of Rocky Linux), and can generally be
Expand All @@ -31,6 +31,8 @@ of binary packages for various operating systems and distributions:
locations, including `<https://files.budman.pw/>`_
(`discussion thread
<https://www.neowin.net/forum/topic/1234695-iperf/>`_).
* Android: iperf3 binaries for Android can be found in several
locations, including `<https://github.com/davidBar-On/android-iperf3/>`_.

Source Distributions
--------------------
Expand Down
2 changes: 1 addition & 1 deletion iperf3.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%%doc README.md INSTALL LICENSE RELEASE_NOTES
%%doc README.md INSTALL LICENSE RELNOTES.md
%{_mandir}/man1/iperf3.1.gz
%{_mandir}/man3/libiperf.3.gz
%{_bindir}/iperf3
Expand Down
Loading

0 comments on commit 2d0532f

Please sign in to comment.