1
1
Граф коммитов

93 Коммитов

Автор SHA1 Сообщение Дата
Bruce A. Mah
d83ffa3370
Version number bump for post-3.10.1. 2021-07-09 06:54:29 -07:00
Bruce A. Mah
7f02c6f079
Releng 3.10.1 (#1156)
Version number bumps and release notes for iperf-3.10.1.
2021-06-02 15:27:44 -07:00
Bruce A. Mah
8a8c7edcc3
fix: Updates for autoconf-2.71 (fix #1154) (#1155)
* Reimplement a number of socket option tests for autoconf-2.71.

* Reimplement configure test for IP DF.

* Use AC_PREREQ. Configuration scripts must be rebuilt with autoconf-2.71 or newer.

* Removed obsolete/unneeded tests and in general improve compatibility with autoconf-2.71.
2021-06-02 08:18:37 -07:00
Bruce A. Mah
d8d827455d
Release engineering changes for iperf-3.10 (#1151)
* Draft release notes for iperf-3.10.

* iperf-3.10 version number bumps.

* Update using autoupdate-2.71 from Xcode 12 on macOS Big Sur.

* Regen.

* docs: Add release notes for recent changes.
2021-05-26 15:03:59 -07:00
Bruce A. Mah
318fbf2e62
chore: autoupdate 2021-05-21 15:18:01 -07:00
Shuo Chen
47985d7fc4 Add tcp_info.snd_wnd to JSON output.
tcp_info.snd_wnd is available on FreeBSD and NetBSD since TCP_INFO was
added.  It was added to Linux 5.4 in late 2019 and becomes available
in Ubuntu 20.04 and Debian 11.

Tested on:
* Debian 11 running on x86-64 with this field.
* Debian 10 armv7 running on Raspberry Pi 2 without this field.
* NetBSD 9.2 armv7 running on Raspberry Pi 3 with this field.
* FreeBSD 13 aarch64 running on Raspberry Pi 4 with this field.
2021-05-21 15:16:08 -07:00
David Bar-On
49a5771af1
IP don't fragment support (#1119)
Adds an --dont-fragment flag that sets the DF flag in the header for UDP/IPv4 tests.

Co-authored-by: root <root@DESKTOP-L81E90U.localdomain>
Co-authored-by: Bruce A. Mah <bmah@es.net>
2021-02-16 14:28:54 -08:00
Bruce A. Mah
21581a7216
enh: Support SO_BINDTODEVICE (#1097)
This lets iperf work better with multi-homed machines and
VRF.

Fixes #1089.

Based on a patch by Ben Greear <greearb@candelatech.com> via PR #817.

Co-authored-by: Ben Greear <greearb@candelatech.com>
2020-12-22 15:52:24 -08:00
Bruce A. Mah
c5a5992897
chore: Post 3.9 version bump. 2020-08-24 09:08:54 -07:00
Bruce A. Mah
1f8fb13297
chore: releng 3.9 (#1041)
Version number bump for 3.9, release notes.
2020-08-14 15:08:27 -07:00
Alexandru-Sever Horin
215acfe7aa
fix: Fix enable/disable-profiling flag (#1018)
The variable enable_profiling exists just because AC_ARG_ENABLE([profiling] is defined.
If it is redefined in the exist condition, the both enable and disable flags will enable the profiling,
just if the flag is missing it will be disabled.
Reference in Warning here: https://autotools.io/autoconf/arguments.html
2020-06-22 07:59:46 -07:00
Stefano Garzarella
0b0aa349fa
Fix warning: "HAVE_SCTP" redefined (#1010)
The netinet/sctp.h header file defines HAVE_SCTP, so we have this
warning while building:

    In file included from ../../src/iperf.h:30,
                     from ../../src/iperf_sctp.c:46:
    ./iperf_config.h:44: warning: "HAVE_SCTP" redefined
       44 | #define HAVE_SCTP 1
          |
    In file included from ../../src/iperf_sctp.c:43:
    /usr/include/netinet/sctp.h:56: note: this is the location of the previous definition
       56 | #define HAVE_SCTP
          |

This patch replaces our HAVE_SCTP definition with HAVE_SCTP_H to avoid
this warning.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2020-06-12 09:28:15 -07:00
Bruce A. Mah
3dfdffd9c4
Release notes and version number bump for iperf 3.8.1 (#1015) 2020-06-10 08:18:27 -07:00
Bruce A. Mah
f95924ddcf
chore: iperf-3.8 release engineering changes (#1012)
Updates version numbers, release notes, etc.
2020-06-08 13:12:36 -07:00
Bruce A. Mah
f72054ebaf
Allow disabling auto-detect of SCTP (#1008)
* feat: Add a mechanism to disable checks for SCTP (--without-sctp).

The use case for this is building a static iperf3 binary on CentOS 7,
on a system with SCTP installed (but it has no static SCTP libraries).
In that case we need to disable SCTP detection to prevent a linking
error at runtime.

While here, s/iperf /iperf3 / in a couple of help strings.
2020-05-28 10:10:21 -07:00
Ezra
9427ecdf3c
Add configure option to enable static linking of iperf binary. (#989) 2020-05-04 15:09:05 -07:00
ralcini
cf1cad407a
fix: Resolved name clashes between windows.h and openssl (cygwin under Win10) (#984)
Fixes #983.
2020-04-20 17:19:29 -07:00
Bruce A. Mah
4a3efb37da
build: Unbreak builds on macOS by not building profiled binaries by default (#950)
Fixes #933.
2020-01-06 13:43:29 -08:00
Bruce A. Mah
504ed7a2e3
chore: Post-release version number bump. 2019-08-19 14:39:14 -07:00
Bruce A. Mah
dfcea9f6a0
chore: iperf-3.7 release engineering tasks.
Bump version number, update release notes, rename release notes and tweak
markup.
2019-06-20 18:12:47 -07:00
hhb
f78171452b fix: Fix configure when openssl is absent. (#854)
openssl flags was appended to normal cpp/ld flags even if it is
absent. This change fixes configure.ac and regenerates configure.
2019-05-17 12:46:28 -07:00
Bruce A. Mah
d13fa7ce39
Merge branch 'iperf_time' of https://github.com/accelleran/iperf into accelleran-iperf_time 2018-09-28 10:35:23 -07:00
Hk
f64da9b9bc Move the automake "foreign" directive from bootstrap.sh to configure.ac (#765)
Fixes #764.
2018-07-02 10:06:42 -07:00
Hk
e6689a8cbb Provide a configure feature flag (--disable-profiling) to disable creation of iperf3_profile binary (#763)
Fixes #749.
2018-06-29 16:23:41 -07:00
Bruce A. Mah
01e6569d26
Version number bump for post 3.6 releases. 2018-06-25 16:04:29 -07:00
Bruce A. Mah
2c92e35a05
Update for iperf-3.6. 2018-06-22 14:20:28 -07:00
Bruce A. Mah
964f106a98
Change applicable http:// URLs to https://. Fix a bad URL in RPM spec. (#759) 2018-06-22 14:09:01 -07:00
Ben Fox-Moore
cde81d7640 Add initial portable time abstraction 2018-05-17 14:09:52 +02:00
Bruce A. Mah
52bd0f223a
Frob version number for post-3.5-release. 2018-03-02 15:16:30 -08:00
Bruce A. Mah
6731b2152a
Version number bumps for iperf-3.5. Also fix a typo in release notes.
Towards #707.
2018-02-28 13:21:59 -08:00
Bruce A. Mah
82f25ed125
Update version number on mainline. 2018-02-14 13:37:58 -08:00
Bruce A. Mah
e147de5387
Version number bumps for iperf-3.4. 2018-02-12 14:08:45 -08:00
Bruce A. Mah
fdc4633191
Update release notes for the next (as yet unscheduled) release.
The master codeline is once again 3-CURRENT, not 3.3.
2017-11-13 14:17:38 -08:00
Boris Okunev
5b27ea39a7 Implemented -A flag for Windows (#665)
TODO:  Need to update some documentation that reflects `-A` is applicable to Windows.  @bmah888 to do this.
2017-11-13 12:54:34 -08:00
Todd C. Miller
480824e3c1 Remove a few unnecessary headers and unused functions. (#667)
* EXIT_SUCCESS and EXIT_FAILURE are defined in stdlib.h, not sysexits.h
so no need to include the latter.

* No need to include pthread.h.

* Remove the no longer used delay() function.
This also removes the reliance on nanosleep().

* Remove get_tcp_windowsize() and set_tcp_windowsize() which are unused.
These days, iperf uses get/setsockopt() with SO_SNDBUF SO_RCVBUF directly.
2017-11-11 10:26:59 -08:00
Bruce A. Mah
73b02f9819
Implement daemon(3) for systems that don't have it.
Fixes (and based on a patch in) #369, with some reworking by @bmah888 and @pprindeville.
2017-11-11 10:12:55 -08:00
Bruce A. Mah
cb2dcd3f6d
Provide a getline(3) implementation for systems without it. (#663)
The getline(3) implementation comes from NetBSD's file(1) command.
This should make compiling work on macOS pre 10.7.  Fixes #607.
2017-11-08 10:18:30 -08:00
Philip Prindeville
d88f4cecf3 Fix 3.3 build warnings (#664)
* Fix warnings about _GNU_SOURCE being redefined.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

* Fix warnings of format-specified mismatching type

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

* Simplify endianness checks

Linux can be built with too many types of C run-time library and it's
not reasonable to have to enumerate all of them, especially since at
least one of them (MUSL) goes out of its way to not be easily
detectable.

Instead, leverage autoconf better for Linux/BSD to detect either
<endian.h> or <sys/endian.h> directly.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

* Sys headers should not be included directly

There's usually a top-level header which then includes the sys/
descendent.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2017-11-08 09:29:26 -08:00
Bruce A. Mah
c5fbafaf21
Bump version numbers for iperf-3.3. 2017-10-30 14:00:14 -07:00
Bruce A. Mah
4a45b32b47 Fix out-of-the-box builds with no OpenSSL (#633)
Don't make OpenSSL detection error out unless --with-openssl explicitly given.

This fixes the out-of-the-box build on macOS, which doesn't include
headers, etc. for OpenSSL by default.  The configure script still
errors out if the user specifies a --with-openssl flag but for some
reason the build host's OpenSSL is broken or can't be used.

* Regen.
2017-08-15 11:13:08 -07:00
ralcini
3fd1a2ae90 fix for issue #624 - force build without openssl (#631)
* fix: now --without-openssl configure flags works
enh: if openssl support is required and no valid installation is found, now it raise an error

* enh: added warning if building without openssl (iperf_auth disabled)
2017-08-14 13:43:38 -07:00
Bruce A. Mah
df912d25de
The master branch is now just development again, so update version string. 2017-06-26 14:35:18 -07:00
Bruce A. Mah
619b4e9456
Version bumps, etc. for iperf 3.2. 2017-06-26 10:37:57 -07:00
Bruce A. Mah
6cdbb01e95
Preparing for a release candidate build. 2017-06-19 14:35:22 -07:00
Bruce A. Mah
9d7d60aca1 Issue 216 (#581)
* Add configurable timeout for the setup of the control connection.
This is specified using the new --connect-timeout option, with an
integer parameter in ms.  The iperf3 client will wait for this
amount of time for the setup of the control connection to the
server.  If this option is not given, the OS default for TCP
connection setup is used.  Specifying a smaller connection timeout
allows faster detection of a down / unresponsive iperf3 server.

The implementation uses a variation on the timeout_connect()
function from OpenBSD's netcat utility.

Fixes #216.
2017-05-17 12:50:50 -07:00
Bruce A. Mah
a026b29b2f
Move an autoconfig file into config/, get rid of a no-longer-used file.
Follow-up for #517.
2017-04-20 12:37:09 -07:00
ralcini
a51045de19 Service Authentication (#517)
Add an optional mode that requires clients to authenticate with the server.

In this mode, clients need to provide a username and a password, which are checked against a password file on the server.  The authentication credentials are protected by an RSA public keypair...the encrypted credentials are sent along with the test parameters.

Operationally the use of this feature places the following additional requirements on the build and installation of iperf3:

o The presence of the OpenSSL headers and libraries to build iperf3, and the libraries available on the client and server at runtime.

o Generation of an RSA public keypair; the private part is used by the server and the public part must be distributed to the clients.

o Username/password pairs for all authorized users, to be stored in a file on the server.

o Loose time synchronization between the server and clients (to within approximately 30 seconds).

o Appropriate command-line flags given on the client and server.

Note that iperf3 can be built and run as before, without fulfilling any of these requirements.

Partial documentation for this feature is included in this commit.  It is anticipated that additional documentation text and editing will follow this merge.

Submitted by @ralcini.  First suggested by @codyhanson in pull request #242.
2017-04-20 10:01:08 -07:00
ShaunCurrier
9f28b247ba Remove unused hstrerror(), bad nanosleep() message in configure.ac (#503) (#523)
* Remove unused hstrerror(), bad nanosleep() message in configure.ac (#503)

* Remove dead code involving h_errno and hstrerror()

h_errno was formerly set as a side effect of a failed
gethostbyname(3) call, but this function has been
deprecated.
2017-03-13 09:36:45 -07:00
Bruce A. Mah
29183ec341 iperf's master branch isn't 3.1, so don't generate that version string.
Signed-off-by: Bruce A. Mah <bmah@es.net>
2016-12-12 15:40:31 -08:00
Bruce A. Mah
ed94082be2
Fix a buffer overflow / heap corruption issue that could occur if a
malformed JSON string was passed on the control channel.  This issue,
present in the cJSON library, was already fixed upstream, so was
addressed here in iperf3 by importing a newer version of cJSON (plus
local ESnet modifications).

Discovered and reported by Dave McDaniel, Cisco Talos.

Based on a patch by @dopheide-esnet, with input from @DaveGamble.

Cross-references:  TALOS-CAN-0164, ESNET-SECADV-2016-0001,
CVE-2016-4303
2016-06-03 09:23:59 -07:00