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

1127 Коммитов

Автор SHA1 Сообщение Дата
ralcini
bd1437791a
Configurable value for time drift between client/server for authentication request issue1065 (#1070)
* Issue 1065

* feat: Allow to configure a custom value for time drift between client/server for authentication

The use case is to support scenarios where it's not possible to enforce sync between client and server times.

* enh: drift redefined with skew

Co-authored-by: Francesco Marino <francesco.marino@cybaze.it>
2020-11-11 17:27:47 -08:00
Bruce A. Mah
97a1d11abd
enh: Set TCP_NODELAY on control connections. Reimplementation of #1046. (#1063)
The goal is to improve the responsiveness and/or reliability of
messages on the control connection, particularly in cases where the
test traffic fills up the path between client and server.

Originally suggested and implemented by @andrepuschmann, this version
adds some error-checking and a version for the client side as well as
the server.

Fixes #1045.
2020-10-26 12:37:41 -07:00
Bruce A. Mah
98d87bd7e8
fix: Fix regression in #997 where JSON output was free-ed too early. (#1059)
It didn't make anything crash, but API clients wouldn't be able to
access the JSON output.

Bug pointed out, and fix suggested by, @scottmsilver.  Fixes #1058.
2020-10-01 13:28:12 -07:00
Bruce A. Mah
46047be9c2
Issue 1055 (#1057)
* docs:  Clarify the optional argument to the --timestamps option.

Fixes #1055.
2020-09-30 14:30:45 -07:00
A. Wilcox
2a1309faf8
fix[auth]: Ensure 64-bit time_t works on 32-bit systems (#1056)
On a 32-bit PowerPC Linux system using musl libc (with 64-bit time_t),
the t_auth test fails because `long` is not the same type as `time_t`.

This patch uses an int64_t temporary value, which can be truncated to
32-bit if necessary.
2020-09-30 10:29:33 -07:00
Bruce A. Mah
b818ef511a
Issue 982 (#1054)
* fix: Make --reverse tests with --blockcount or --bytes actually terminate.

Note that these options still don't really give intuitive results, because
the ending conditions are evaluated on the client, which then needs to
convey to the server via the control channel to stop sending.  This
will almost never result in the desired outcome of "a test of exactly
N sends (or bytes) sent from the server to the client".

Also add test cases for --blockcount / --bytes with --reverse.

Towards #982.
2020-09-18 10:16:21 -07:00
Bruce A. Mah
52d0de3bfc
chore: Regen 2020-08-24 09:09:34 -07:00
Bruce A. Mah
c5a5992897
chore: Post 3.9 version bump. 2020-08-24 09:08:54 -07:00
Bruce A. Mah
3fa1764eb1
Update for iperf-3.9. 2020-08-17 12:21:01 -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
Bruce A. Mah
70c85f62df
fix: Unbreak build on CentOS 6. (#1040)
The fix eliminates a duplicate definition of the iperf_size_t datatype
when both iperf.h and iperf_api.h are included.

Fixes #1039.
2020-08-14 13:25:51 -07:00
Bruce A. Mah
e551fbcfc2
fix: Remove debugging code that shouldn't have been committed.
Thanks to @rantala for finding this.

Follow-on to #1023 / #1033.
2020-08-12 15:06:58 -07:00
Bruce A. Mah
80b7c7b271
fix: Plug various minor memory leaks (#1033)
* fix: Fix memory leaks related to --logfile.
* fix: Fix memory leaks related to loading RSA keys.
* fix: Fix some memory leaks in failure cases in the iperf3 client.

Fixes #1023.
2020-08-03 17:49:27 -07:00
Bruce A. Mah
eeaecf3534
docs: Add some text about the use of --without-sctp on static builds. 2020-07-30 13:50:05 -07:00
Bruce A. Mah
428d767d38
docs: Add an FAQ entry for troubleshooting issues with TSO enabled.
Contributed by @davidBar-On.

Fixes #1029.
2020-07-30 13:23:13 -07:00
Bruce A. Mah
de289c9500
docs: Update FAQ item on profiled executables to match reality.
(Specifically as on iperf-3.8 these aren't built by default anymore.)
2020-07-30 11:34:43 -07:00
Bruce A. Mah
a9c28038c0
fix: Emit error message for an unknown i_error, rather than an empty string. (#1030)
Suggested by @david-BarOn.

Towards #1022.
2020-07-24 17:32:00 -07:00
Bruce A. Mah
1a908ce13e
feat: Add a --timestamps flag to prepend a timestamp per output line. (#1028)
This flag takes an optional argument, which is a format specification to strftime(3)...this allows for custom timestamp formats.  Based on a suggested implementation by @davidBar-On.  Towards #909.
2020-07-23 07:52:46 -07:00
Bruce A. Mah
d5d2e2473f
fix: Correctly emit an error message when unable to get a password. (#1026)
This occurs when iperf3 is being run with authentication and it
tries to get a password interactively, but there's no tty available.

Fixes #1024.
2020-07-10 16:31:41 -07:00
Bruce A. Mah
223da98090
Issue 999 follow up (#1025)
* doc: Add manpage text for --server-bitrate-limit.

While here, normalize the manpage text for all command-line options
that take [KMGT] scaling suffixes (there were about three different
strings in use).

* doc: Bump manpage date.

* fix: Fix printf format string warnings on macOS.

* fix: Fix compatibility definition of PRIu64 in iperf_udp.c to match iperf.h.
2020-07-10 15:29:47 -07:00
David Bar-On
a0c6f0eca9
feat: Issue #937 - Add a server option to limit total allowed throughput (#999) 2020-07-10 08:36:40 -07:00
Yun Jiang
5e7ea0bd1e
fix: Prevent 100% CPU usage when --bidir option is enabled. (#1011) 2020-07-07 08:01:35 -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
Bruce A. Mah
e8ba3caae8
Merge branch 'master' of github.com:/esnet/iperf 2020-06-15 08:49:43 -07:00
Bruce A. Mah
c9edcb6713
doc: Fix silly typo in a version number.
Pointed out by:	@FuzzyStatic
2020-06-15 08:47:31 -07:00
David Bar-On
3888e044c3
chore: Change applicable function arguments from 'char *' to 'const char *' (#1006)
Fixes #946.  Should not present any functional changes.
2020-06-12 10:03:30 -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
8c8ef21f67
doc: Update project news for iperf-3.8.1. 2020-06-10 10:18:23 -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
51a4c631a4
fix: Make installing of shared libraries work again. (#1014)
Addresses a regression in #989.

Fixes #1013.
2020-06-10 07:34:14 -07:00
Bruce A. Mah
37aba7944d
Update for iperf 3.8. 2020-06-08 16:55:51 -07:00
Bruce A. Mah
26a6e72eae chore: Add some more tests for SCTP, --fq-rate, and --bidir. 2020-06-08 13:57:26 -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
7457ef810f
Add recently-created t_auth to .gitignore. 2020-05-28 10:13:48 -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
Bruce A. Mah
99b79f2102
fix: Fix stupid memory leak. (#1005)
Pointed out by @oleh-yudin-ring.  Follow-up to #996.
2020-05-22 12:09:26 -07:00
Bruce A. Mah
33d3b199e6
Regen. 2020-05-20 14:36:48 -07:00
Bruce A. Mah
5b7b99ed81
Add tests for iperf_api functions. 2020-05-20 14:35:52 -07:00
Bruce A. Mah
06e3f08d98
fix(auth): Fix a potential buffer overflow in iperf3 client.
This condition was only possible when configuration authentication
via the libiperf API.

While here, also fix a few other sundry issues:

* Remove arbitrary length limits on username and password.

* Improved error handling.

* Updated error messages for readability.

* Fixed minor typo in some identifiers.

Fixes #996.
2020-05-20 14:34:11 -07:00
Bruce A. Mah
79630e8734
fix: Fix memory management issues around calls to cJSON_Print() (#997)
Related to #883.
2020-05-19 07:44:09 -07:00
Bruce A. Mah
de848cffad
feat(api): Provide API access to --commit-timeout. (#1001)
Fixes #1000.  Part of #595.
2020-05-19 07:37:18 -07:00
Bruce A. Mah
2609dd7123
fix(udp): Properly initialize for the first UDP packet received. (#990)
This fixes a problem where UDP tests between systems with significant
clock skew would register large amounts of jitter at the start of the
test.

Fixes #842.  Analysis done by (and solution inspired by) @davidBar-On.
2020-05-12 16:26:55 -07:00
Bruce A. Mah
1521d9b522
bug(udp): Fix minor problem in a debug message. (#995)
Fixes #993.  Submitted by @davidBar-On.
2020-05-11 12:21:26 -07:00
Bruce A. Mah
06280a6d01
Regen. 2020-05-04 15:11:05 -07:00
Ezra
9427ecdf3c
Add configure option to enable static linking of iperf binary. (#989) 2020-05-04 15:09:05 -07:00
Michal Ruprich
e39e44fdfd
Fix for possible leaks or double frees (#968) 2020-05-04 15:05:18 -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
624c01d444
chore: Fix whitespace glitch that caused a compiler warning on Ubuntu 18.04.
Whitespace-only change, no functional difference.
2020-04-14 17:03:04 -07:00
Bruce A. Mah
6c10d8a0f3
enh: Update cJSON to 1.7.13 (#978)
This is a modified version of cJSON with support for 64-bit integers.  This change pulls in some bug fixes and security fixes.  It also fixes some compiler warnings on ILP32, caused by the way that we imported the previous cJSON (fixes inspired by #855).
2020-04-14 16:59:56 -07:00
Stefano Garzarella
23cd3ddc86
fix (iperf_api): fix compiler warning while printing an uint64_t (#969)
Fix the following warning:
../../src/iperf_api.c: In function ‘iperf_on_connect’:
../../src/iperf_api.c:791:58: warning: format ‘%llu’ expects argument
of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t’
{aka ‘long unsigned int’} [-Wformat=]

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2020-03-27 15:03:56 -07:00