Skip to content

Commit

Permalink
Merge branch 'master' into issue-1144-UDP-connect-retry-mechanisms
Browse files Browse the repository at this point in the history
  • Loading branch information
swlars authored Oct 5, 2023
2 parents f3efa85 + 7e05ef2 commit 9a5fad8
Show file tree
Hide file tree
Showing 31 changed files with 813 additions and 360 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
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,4 @@ examples/.libs
examples/Makefile
examples/mic
examples/mis

.vscode/
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"iperf, Copyright (c) 2014-2022, The Regents of the University of California,
"iperf, Copyright (c) 2014-2023, The Regents of the University of California,
through Lawrence Berkeley National Laboratory (subject to receipt of any
required approvals from the U.S. Dept. of Energy). All rights reserved."

Expand Down
13 changes: 10 additions & 3 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 Expand Up @@ -150,7 +157,7 @@ responsibility for the content of these pages.
Copyright
---------

iperf, Copyright (c) 2014-2022, The Regents of the University of
iperf, Copyright (c) 2014-2023, The Regents of the University of
California, through Lawrence Berkeley National Laboratory (subject
to receipt of any required approvals from the U.S. Dept. of
Energy). All rights reserved.
Expand Down
92 changes: 92 additions & 0 deletions RELNOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,98 @@
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
---------------------

* Notable user-visible changes

* fq-rate (PR #1461, Issue #1366), and bidirectional flag (Issue #1428,
PR #1429) were added to the JSON output.

* Added support for OpenBSD including cleaning up endian handling (PR #1396)
and support for TCP_INFO on systems where it was implemented (PR #1397).

* Fixed bug in how TOS is set in mapped v4 (PR #1427).

* Corrected documentation, such as updating binary download links and text
(Issue #1459), updating version on iperf3 websites, and fixing an
incorrect error message (Issue #1441).

* Fixed crash on rcv-timeout with JSON logfile (#1463, #1460, issue #1360,
PR #1369).

* Fixed a bug that prevented TOS/DSCP from getting set correctly for reverse
tests (PR #1427, Issue #638).

* Developer-visible changes

* Getter and setter are now available for bind_dev (PR #1419).

* Added missing getter for bidirectional tests (PR #1453).

* Added minor changes to clean up .gitignore and error messages (#1408).

* Made sure configure scripts are runnable with /bin/sh (PR #1398).

* Cleaned up RPM spec, such as adding missing RPM build dependencies, dropping
EL5 and removing outdated %changelog (PR #1401) to make.

* Added a fix for a resource leak bug in function iperf_create_pidfile(#1443).


iperf-3.12 2022-09-30
---------------------

Expand Down
21 changes: 11 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.12.
# 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.12'
PACKAGE_STRING='iperf 3.12'
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.12 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.12:";;
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.12
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.12, 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.12'
VERSION='3.15'


printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
Expand Down Expand Up @@ -14950,6 +14950,7 @@ fi
ac_fn_c_check_member "$LINENO" "struct tcp_info" "tcpi_snd_wnd" "ac_cv_member_struct_tcp_info_tcpi_snd_wnd" "#ifdef HAVE_LINUX_TCP_H
#include <linux/tcp.h>
#else
#include <sys/types.h>
#include <netinet/tcp.h>
#endif
Expand Down Expand Up @@ -15578,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.12, 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 @@ -15647,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.12
iperf config.status 3.15
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
Expand Down
3 changes: 2 additions & 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.12],[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 Expand Up @@ -305,6 +305,7 @@ AC_CHECK_MEMBER([struct tcp_info.tcpi_snd_wnd],
[#ifdef HAVE_LINUX_TCP_H
#include <linux/tcp.h>
#else
#include <sys/types.h>
#include <netinet/tcp.h>
#endif
])
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
9 changes: 5 additions & 4 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,17 @@

# General information about the project.
project = u'iperf3'
copyright = u'2014-2022, ESnet'
copyright = u'2014-2023, ESnet'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '3.10.1'
version = '3.15'
# The full version, including alpha/beta/rc tags.

release = '3.10.1'
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
Loading

0 comments on commit 9a5fad8

Please sign in to comment.