| == iperf 3.0.12 2016-06-08 == |
| |
| The release notes for iperf 3.0.12 describe changes, including bug |
| fixes and new functionality, made since iperf 3.0.11. |
| |
| * Security |
| |
| * Fix a buffer overflow / heap corruption issue that could occur if |
| a malformed JSON string was passed on the control channel. In |
| theory, this vulnerability could be leveraged to create a heap |
| exploit. This issue, present in the cJSON library, was already |
| fixed upstream, so was addressed in iperf3 by importing a newer |
| version of cJSON (plus local ESnet modifications). Discovered and |
| reported by Dave McDaniel, Cisco Talos. Cross-references: |
| TALOS-CAN-0164, ESNET-SECADV-2016-0001, CVE-2016-4303. |
| |
| * User-visible changes |
| |
| * Error handling has been made slightly more robust. Also, the |
| iperf3 server will no longer exit after five consecutive errors, |
| but will only exit for certain types of errors that prevent it |
| from participating in any tests at all. |
| |
| == iperf 3.0.11 2015-01-09 == |
| |
| * User-visible changes |
| |
| * Added -1 / --one-off flag, which causes the iperf3 server to |
| process one client connection and then exit. Intended primarily |
| for bwctl integration (issue #230). |
| |
| * Added various minor bug fixes (issues #231, #232, #233). |
| |
| * Added 30-second timeout for UDP tests if unable to establish UDP |
| connectivity between sender and receiver (issue #222). |
| |
| == iperf 3.0.10 2014-12-16 == |
| |
| * User-visible changes |
| |
| * Fixed the build on MacOS X Yosemite (issue #213). |
| |
| * UDP tests now honor the -w option for setting the socket buffer |
| sizes (issue #219). |
| |
| * Developer-visible changes |
| |
| * Added an RPM spec file plus functionality to fill in the version |
| number. |
| |
| * Fixed potential filename collision with a system header (issue |
| #203). |
| |
| == iperf 3.0.9 2014-10-14 == |
| |
| * User-visible changes |
| |
| * Fixed a series of problems that came from attempting a UDP test |
| with a pathologically large block size. This put the server into |
| an odd state where it could not accept new client connections. |
| This in turn caused subsequent client connections to crash when |
| interrupted (issue #212). |
| |
| * Developer-visible changes |
| |
| * None. |
| |
| == iperf 3.0.8 2014-09-30 == |
| |
| * User-visible changes |
| |
| * Updated license and copyright verbage to confirm to LBNL Tech |
| Transfer requirements. No substantive changes; license remains |
| the 3-clause BSD license. |
| |
| * Developer-visible changes |
| |
| * None. |
| |
| == iperf 3.0.7 2014-08-28 == |
| |
| * User-visible changes |
| |
| * A server bug where new connections from clients could disrupt |
| running tests has been fixed (issue #202). |
| |
| * Rates now consistently use 1000-based prefixes (K, M, G), where |
| sizes of objects now consistently use 1024-based prefixes (issue #173). |
| |
| * UDP tests with unlimited bandwidth are now supported (issue #170). |
| |
| * An interaction between the -w and -B options, which kept them from |
| working when used together, has been fixed (issue #193). |
| |
| * Developer-visible changes |
| |
| == iperf 3.0.6 2014-07-28 == |
| |
| * User-visible changes |
| |
| * Several bugs that kept the -B option from working in various |
| circumstances have been fixed (issue #193). |
| |
| * Various compatibility fixes for OpenBSD (issue #196) and |
| Solaris (issue #177). |
| |
| * Developer-visible changes |
| |
| * The {get,set}_test_bind_address API calls have been added to |
| expose the -B functionality to API consumers (issue #197). |
| |
| == iperf 3.0.5 2014-06-16 == |
| |
| * User-visible changes |
| |
| * Erroneous output when doing --json output has been fixed (this |
| problem was caused by an attempt to fix issue #158). |
| |
| * The maximum test running time has been increased from one hour to |
| one day (issue #166). |
| |
| * Project documentation has been moved to GitHub Pages at this URL: |
| http://software.es.net/iperf/. |
| |
| * A bug that caused CPU time to be computed incorrectly on FreeBSD |
| has been fixed. |
| |
| * A timing issue which caused measurement intervals to be wrong |
| with TCP tests on lossy networks has been fixed (issue #125). |
| |
| * Newer versions of autoconf / automake / libtool are now used by |
| default (issue #161). |
| |
| * JSON output now indicates whether the test was run in --reverse |
| mode (issue #167). |
| |
| * It is now possible to get (most of) the server-side output at |
| the client by using the --get-server-output flag (issue #160). |
| |
| * Developer-visible changes |
| |
| * automake/autoconf/libtool have been updated to more recent |
| versions. AM_MAINTAINER_MODE is now used to avoid requiring these |
| tools at build-time. |
| |
| == iperf 3.0.4 was not released == |
| |
| == iperf 3.0.3 2014-03-26 == |
| |
| * User-visible changes |
| |
| * Due to several oversights, the source code archive for iperf 3.0.2 |
| was distributed as an uncompressed tarball, despite having an |
| extension (".tar.gz") that indicated it was compressed. The |
| release generation procedure has been changed to avoid this |
| problem going forward. |
| |
| * Summary structures in the JSON output are now included, even if |
| there is only one stream. This change makes consuming the JSON |
| output easier and more consistent (issue #151). |
| |
| * A possible buffer overflow in iperf_error.c has been fixed (issue |
| #155). |
| |
| * Developer-visible changes |
| |
| * Example programs now build correctly, after having been broken in |
| the 3.0.2 release (issue #152). |
| |
| == iperf 3.0.2 2014-03-10 == |
| |
| * User-visible changes |
| |
| * The iperf3 project has been moved to GitHub, and various URLs in |
| documentation files have been changed to point there. |
| |
| * iperf3 now builds on Linux systems that do not support |
| TCP_CONGESTION. Most notably this allows iperf3 to work on CentOS |
| 5. |
| |
| * An abort on MacOS 10.9 has been fixed (issue #135). |
| |
| * Added -I flag for the server to write a PID file, mostly useful for |
| daemon mode (issue #120). |
| |
| * A bug that could break some TCP tests on FreeBSD has been fixed. |
| |
| * TCP snd_cwnd output is now printed by default on Linux (issue #99). |
| |
| * In JSON output, the --title string no longer has a colon and two |
| spaces appended (issue #139). |
| |
| * A buffer for holding formatted numeric values is now |
| properly-sized so that output is not truncated (issue #142). |
| |
| * Developer-visible changes |
| |
| * Some memory leaks have been fixed. |
| |
| * A -d flag enables debugging output. |
| |
| * A .gitignore file has been added. |
| |
| * libtoolize is now invoked correctly from the bootstrap.sh script. |
| |
| * The test unit format can now be set from the API (issue #144). |
| |
| * libiperf is now built as both shared and static libraries. |
| |
| * In the JSON output, the "connection" structures are now stored as |
| an array in the "start" block, instead of overwriting each other. |
| While technically an incompatible API change, the former behavior |
| generated unusable JSON. |
| |
| == iperf 3.0.1 2014-01-10 == |
| * Added the following new flags |
| -D, --daemon run server as a daemon |
| -L, --flowlabel set IPv6 flow label (Linux only) |
| -C, --linux-congestion set congestion control algorithm (Linux only) |
| -k, --blockcount #[KMG] number of blocks (packets) to transmit |
| (instead of -t or -n) |
| * Bug fixes |
| |
| == iperf 3.0-RC5 2013-11-15 == |
| * Added the following new flags |
| -F, --file name xmit/recv the specified file |
| -A, --affinity n/n,m set CPU affinity (Linux only) |
| -J, --json output in JSON format |
| -Z, --zerocopy use a 'zero copy' method of sending data |
| -O, --omit N omit the first n seconds |
| -T, --title str prefix every output line with this string |
| * more useful information in 'verbose' mode |
| * Many bug fixes |
| |
| |
| == iperf 3.0b4 2010-08-02 == |
| |
| * Added support for binding to a specific interface (-B) |
| * Added support for IPv6 mode (-6) |
| * Setting TCP window size (-w) is now supported |
| * Updates to iperf_error |
| * Added new errors |
| * Should generate more relavent messages |
| * Stream list now managed by queue.h macros |
| * Test structures are now kept intact after a test is run (for API users) |
| * Improved interval timer granularity |
| * Support for decimal values |
| * Many bug fixes |
| |
| == iperf 3.0b3 2010-07-23 == |
| |
| * Better error handling |
| * All errors now handled with iperf_error() |
| * All functions that can return errors return NULL or -1 on error and set i_errno appropriately |
| * Iperf API intruduced |
| * Support for adding new protocols |
| * Added support for callback functions |
| * on_connect - executes after a connection is made to the server |
| * on_new_stream - executes after a new stream is created |
| * on_test_start - executes right before the test begins |
| * on_test_finish - executes after the test is finished |
| * Added early support for verbose mode (-V) |
| |
| == iperf 3.0b2 2010-07-15 == |
| |
| * UDP mode now supported |
| * Support for setting bandwidth (-b) |
| * Parallel UDP stream support |
| * Reverse mode UDP support |
| * Support for setting TCP_NODELAY (-N), disabling Nagle's Algorithm |
| * Support for setting TCP MSS (-M) |
| * Note: This feature is still in development. It is still very buggy. |
| |
| == iperf 3.0b1 2010-07-08 == |
| |
| * TCP control socket now manages messages between client and server |
| * Dynamic server (gets test parameters from client) |
| * Server can now set test options dynamically without having to restart. |
| * Currently supported options: -l, -t, -n, -P, -R |
| * Future options: -u, -b, -w, -M, -N, -I, -T, -Z, -6 |
| * Results exchange |
| * Client can now see server results (and vice versa) |
| * Reverse mode (-R) |
| * Server sends, client receives |