1
1

18 Коммитов

Автор SHA1 Сообщение Дата
a1346054
e919e8c21b trim excess whitespace 2021-09-03 14:11:16 +00:00
a1346054
50d6cce65c fix spelling 2021-09-03 14:11:16 +00:00
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
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
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
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
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
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
Oleh Yudin
bb115306f8 Fix memory leaks for RSA key setters (#949)
Originally discussed in #940.
2020-01-06 16:33:06 -08:00
Allen Flickinger
22da02dcfb enh: Add server authentication API functions (#911) 2019-10-01 13:28:38 -07:00
Bruce A. Mah
c4bd56f373
fix: Fix off-by-one memory overwrite crash and memory leaks (#887)
The base64 decode will crash on musl c-library builds for OpenWRT
due to the write of the '\0' past the end of the allocated buffer.
Fix other various memory leaks on the authentication code paths.
Fix some memory-free library calls into OpenSSL.

Based heavily on PR #881 originally submitted by @acmay, 
with comments from @ralcini.
2019-06-18 15:11:32 -07:00
ralcini
e28f12c788 Add authentication functions to libiperf (#713)
Fixes #712.  A subsequent commit will add some information to the libiperf manual page.
2018-04-27 13:39:28 -07:00
Bruce A. Mah
8740c8cf8e
Close credentials file when we're done reading it. (#704)
Fixes #701.
2018-02-22 17:25:25 -08:00
Bruce A. Mah
1e93fdcf88
Fix comparison when checking for time skew when using authentication. (#674)
Fixes #673.

Submitted by @FuzzyStatic, reviewed by @ralcini.
2018-01-02 14:55:01 -08:00
Bruce A. Mah
c0225583af
Fix a compiler warning on FreeBSD related to getline(3). 2017-11-16 14:22:55 -08:00
Philip Prindeville
517ad2248f Add required RSA header for OpenSSL (#622)
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2017-08-01 11:16:07 -07:00
Gabriel Ganne
d1c64c8a36 fix invalid sizeof on pointer instead of type (#556)
This is only a coherency fix since sizeof(char*) >> sizeof(char)
There should be no functional nor stability impact whatsoever
2017-04-26 10:08:53 -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