commit dbc78dfc89f2f31fb90922c796fb23c58a7d4cc5ea055290a887967e3481e28f
Author: Aeneas Jaißle <aj@ajaissle.de>
Date:   Sat Nov 16 23:32:06 2024 +0000

    Build with OpenSSL for key based authentication support
    
    OBS-URL: https://build.opensuse.org/package/show/network:utilities/iperf?expand=0&rev=73

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..9b03811
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,23 @@
+## Default LFS
+*.7z filter=lfs diff=lfs merge=lfs -text
+*.bsp filter=lfs diff=lfs merge=lfs -text
+*.bz2 filter=lfs diff=lfs merge=lfs -text
+*.gem filter=lfs diff=lfs merge=lfs -text
+*.gz filter=lfs diff=lfs merge=lfs -text
+*.jar filter=lfs diff=lfs merge=lfs -text
+*.lz filter=lfs diff=lfs merge=lfs -text
+*.lzma filter=lfs diff=lfs merge=lfs -text
+*.obscpio filter=lfs diff=lfs merge=lfs -text
+*.oxt filter=lfs diff=lfs merge=lfs -text
+*.pdf filter=lfs diff=lfs merge=lfs -text
+*.png filter=lfs diff=lfs merge=lfs -text
+*.rpm filter=lfs diff=lfs merge=lfs -text
+*.tbz filter=lfs diff=lfs merge=lfs -text
+*.tbz2 filter=lfs diff=lfs merge=lfs -text
+*.tgz filter=lfs diff=lfs merge=lfs -text
+*.ttf filter=lfs diff=lfs merge=lfs -text
+*.txz filter=lfs diff=lfs merge=lfs -text
+*.whl filter=lfs diff=lfs merge=lfs -text
+*.xz filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.zst filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..57affb6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.osc
diff --git a/iperf-3.17.1.tar.gz b/iperf-3.17.1.tar.gz
new file mode 100644
index 0000000..0bc6852
--- /dev/null
+++ b/iperf-3.17.1.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:84404ca8431b595e86c473d8f23d8bb102810001f15feaf610effd3b318788aa
+size 670547
diff --git a/iperf-3.17.1.tar.gz.sha256 b/iperf-3.17.1.tar.gz.sha256
new file mode 100644
index 0000000..22c5d6e
--- /dev/null
+++ b/iperf-3.17.1.tar.gz.sha256
@@ -0,0 +1 @@
+84404ca8431b595e86c473d8f23d8bb102810001f15feaf610effd3b318788aa  iperf-3.17.1.tar.gz
diff --git a/iperf.changes b/iperf.changes
new file mode 100644
index 0000000..1e9ea47
--- /dev/null
+++ b/iperf.changes
@@ -0,0 +1,515 @@
+-------------------------------------------------------------------
+Fri Nov 15 14:49:57 UTC 2024 - Georg Pfuetzenreuter <georg.pfuetzenreuter@suse.com>
+
+- Build with OpenSSL for key based authentication support
+
+-------------------------------------------------------------------
+Wed May 15 10:53:18 UTC 2024 - Dirk Müller <dmueller@suse.com>
+
+- update to 3.17.1 (bsc#1224262, CVE-2024-26306):
+  * BREAKING CHANGE: iperf3's authentication features, when used
+    with OpenSSL prior to 3.2.0, contain a vulnerability to a
+    side-channel timing attack. To address this flaw, a change
+    has been made to the padding applied to encrypted strings.
+    This change is not backwards compatible with older versions of
+    iperf3 (before 3.17). To restore
+    the older (vulnerable) behavior, and hence
+    backwards-compatibility, use the --use-pkcs1-padding flag. The
+    iperf3 team thanks Hubert Kario from RedHat for reporting this
+    issue and providing feedback on the fix. (CVE-2024-26306)(PR#1695)
+  * iperf3 no longer changes its current working directory in --daemon
+    mode. This results in more predictable behavior with relative
+    paths, in particular finding key and credential files for
+    authentication. (PR#1672)
+  * A new --json-stream option has been added to enable a streaming
+    output format, consisting of a series of JSON objects (for the
+    start of the test, each measurement interval, and the end of the
+    test) separated by newlines (#444, #923, #1098).
+  * UDP tests now work correctly between different endian hosts
+  * The --fq-rate parameter now works for --reverse tests
+  * The statistics reporting interval is now available in the --json
+    start test object (#1663).
+  * A negative time test duration is now properly flagged as an error
+    (IS#1662 / PR#1666).
+
+-------------------------------------------------------------------
+Wed Dec 27 11:25:27 UTC 2023 - Dirk Müller <dmueller@suse.com>
+
+- update to 3.16:
+  * Multiple test streams started with -P/--parallel will now be
+    serviced by different threads. This allows iperf3 to take
+    advantage of multiple CPU cores on modern processors, and will
+    generally result in significant throughput increases
+  * OpenSSL 3 is now detected at build time. If OpenSSL 3 is found,
+    various older, deprecated, APIs will not be used. iperf3 will
+    continue to work with OpenSSL 1.1.1. OpenSSL is used as a part
+    of the iperf3 authentication functionality
+  * The authorized users file used by the authentication
+    functionality is now checked for accessibility much earlier
+    during the program startup, as opposed to being checked near
+    the start of a test (Issue #1583, PR #1585).
+  * BREAKING CHANGE: iperf3 now requires pthreads and C atomic
+    variables to compile and run.
+
+-------------------------------------------------------------------
+Sat Sep 23 11:06:51 UTC 2023 - Dirk Müller <dmueller@suse.com>
+
+- update to 3.15 (bsc#1215662, ESNET-SECADV-2023-0002):
+  * Several bugs that could allow the iperf3 server to hang waiting
+    for input on the control connection has been fixed
+    (ESnet Software Security Advisory ESNET-SECADV-2023-0002)
+  * 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
+
+-------------------------------------------------------------------
+Thu Jul 20 12:01:09 UTC 2023 - Dirk Müller <dmueller@suse.com>
+
+- update to 3.14 (bsc#1213430, CVE-2023-38403):
+  * fixes a memory allocation hazard that allowed a remote user to
+    crash an iperf3 process
+  * see
+    https://downloads.es.net/pub/iperf/esnet-secadv-2023-0001.txt.asc
+  * obsoletes CVE-2023-38403.patch in older dists
+
+-------------------------------------------------------------------
+Tue Mar  7 07:26:47 UTC 2023 - Dirk Müller <dmueller@suse.com>
+
+- update to 3.13:
+  * Added missing bind_dev getter and setter.
+  * a fix for A resource leak bug in function iperf_create_pidfile (#1443)
+  * doc: Fix copy-and-paste error leading to wrong error message
+  * Fix crash on rcv-timeout with JSON logfile
+
+-------------------------------------------------------------------
+Sat Dec  3 13:24:09 UTC 2022 - Dirk Müller <dmueller@suse.com>
+
+- update to 3.12:
+  * cJSON has been updated to version 1.7.15 (#1383).
+  * The --bind <host>%<dev> option syntax now works properly (#1360 /
+  * A server-side file descriptor leak with the --logfile option has
+    been fixed (#1369 / #1360 / #1369 / #1389 / #1393).
+  * A bug that caused some large values from TCP_INFO to be misprinted
+    as negative numbers has been fixed (#1372).
+  * Using the -k or -n flags with --reverse no longer leak into future
+    tests (#1363 / #1364).
+  * There are now various debug level options available with the
+    --debug option. These can be used to adjust the amount of
+    debugging output (#1327).
+  * A new --snd-timeout option has been added to set a termination
+    timeout for idle TCP connections (#1215 / #1282).
+  * iperf3 is slightly more robust to out-of-order packets during UDP
+    connection setup in --reverse mode (#914 / #1123 / #1182 / #1212 /
+  * iperf3 will now use different ports for each direction when the
+    --cport and --bdir options are set (#1249 / #1259).
+  * The iperf3 server will now exit if it can't open its log file
+  * Various help message and output fixes have been made (#1299 /
+  * Various compiler warnings have been fixed (#1211 / #1316).
+  * Operation of bootstrap.sh has been fixed and simplified (#1335 /
+  * Flow label support / compatibility under Linux has been improved
+  * Various minor memory leaks have been fixed (#1332 / #1333).
+  * A getter/setter has been added for the bind_port parameter
+    (--cport option). (#1303, #1305)
+  * Various internal documentation improvements (#1265 / #1285 / #1304).
+
+-------------------------------------------------------------------
+Thu Mar  3 09:50:41 UTC 2022 - Michal Svec <msvec@suse.com>
+
+- update to 3.11:
+  * Update links to Discussions in documentation
+  * Fix DSCP so that TOS = DSCP * 4 (#1162)
+  * Fix --bind-dev for TCP streams (#1153)
+  * Fix interface specification so doesn't overlap with IPv6 link-local addresses for -c and -B (#1157, #1180)
+  * Add get/set test_unit_format function declaration to iperf_api.h
+  * Auto adjustment of test-end condition for file transfers (-F), if no end condition is set, it will automatically adjust it to file size in bytes
+  * Exit if idle time expires waiting for a connection in one-off mode (#1187, #1197)
+  * Support zerocopy by reverse mode (#1204)
+  * Update help and manpage text for #1157, support bind device
+  * Consistently print target_bandwidth in JSON start section (#1177)
+  * Test bitrate added to JSON output (#1168)
+  * Remove fsync call after every write to receiving --file (#1176, #1159)
+  * Update documentation for -w (#1175)
+  * Fix for #952, different JSON object names for bidir reverse channel
+
+-------------------------------------------------------------------
+Mon Jun  7 09:08:57 UTC 2021 - Michal Svec <msvec@suse.com>
+
+- update to 3.10.1:
+  * Fixed a problem with autoconf scripts that made builds fail in
+    some environments (#1154 / #1155).
+  * GNU autoconf 2.71 or newer is now required to regenerate iperf3's
+    configure scripts.
+
+-------------------------------------------------------------------
+Mon Jun  7 09:08:41 UTC 2021 - Michal Svec <msvec@suse.com>
+
+- update to 3.10:
+  * Fix a bug where some --reverse tests didn't terminate (#982 /
+    #1054).
+  * Responsiveness of control connections is slightly improved (#1045
+    / #1046 / #1063).
+  * The allowable clock skew when doing authentication between client
+    and server is now configurable with the new --time-skew-threshold
+    (#1065 / #1070).
+  * Bitrate throttling using the -b option now works when a burst size
+    is specified (#1090).
+  * A bug with calculating CPU utilization has been fixed (#1076 /
+    #1077).
+  * A --bind-dev option to support binding sockets to a given network
+    interface has been added to make iperf3 work better with
+    multi-homed machines and/or VRFs (#817 / #1089 / #1097).
+  * --pidfile now works with --client mode (#1110).
+  * The server is now less likely to get stuck due to network errors
+    (#1101, #1125), controlled by the new --rcv-timeout option.
+  * Fixed a few bugs in termination conditions for byte or
+    block-limited tests (#1113, #1114, #1115).
+  * Added tcp_info.snd_wnd to JSON output (#1148).
+  * Some bugs with garbled JSON output have been fixed (#1086, #1118,
+    #1143 / #1146).
+  * Support for setting the IPv4 don't-fragment (DF) bit has been
+    added with the new --dont-fragment option (#1119).
+  * A failure with not being able to read the congestion control
+    algorithm under WSL1 has been fixed (#1061 / #1126).
+  * Error handling and error messages now make more sense in cases
+    where sockets were not successfully opened (#1129 / #1132 /
+    #1136, #1135 / #1138, #1128 / #1139).
+  * Some buffer overflow hazards were fixed (#1134).
+  * It is now possible to use the API to set/get the congestion
+    control algorithm (#1036 / #1112).
+
+-------------------------------------------------------------------
+Mon Sep 14 10:48:05 UTC 2020 - Dirk Mueller <dmueller@suse.com>
+
+- update to 3.9:
+  * A --timestamps flag has been added, which prepends a timestamp to
+    each output line.  An optional argument to this flag, which is a
+    format specification to strftime(3), allows for custom timestamp
+    formats (#909, #1028).
+  * A --server-bitrate-limit flag has been added as a server-side
+    command-line argument.  It allows a server to enforce a maximum
+    throughput rate; client connections that specify a higher bitrate
+    or exceed this bitrate during a test will be terminated.  The
+    bitrate is expressed in bits per second, with an optional trailing
+    slash and integer count that specifies an averaging interval over
+    which to enforce the limit (#999).
+  * A bug that caused increased CPU usage with the --bidir option has
+    been fixed (#1011).
+  * Fixed various minor memory leaks (#1023).
+
+-------------------------------------------------------------------
+Sat Jul 11 09:45:53 UTC 2020 - Michal Svec <msvec@suse.com>
+
+- update to 3.8.1
+  * Minor bugfixes and enhancements
+- don't apply the profiling patch any more
+  (removed iperf-disable-profiling.patch)
+
+-------------------------------------------------------------------
+Thu Nov 14 21:32:57 UTC 2019 - Michal Svec <msvec@suse.com>
+
+- update to 3.7
+  * Support for simultaneous bidirectional tests with the --bidir flag
+  * Use POSIX standard clock_gettime(3) interface for timekeeping where
+    available
+  * Passwords for authentication can be provided via environment
+    variable
+  * Specifying --repeating-payload and --reverse now works
+  * Failed authentication doesn't count for --one-off
+  * Several memory leaks related to authenticated use were fixed
+  * The delay for tearing down the control connection for the default
+    timed tests has been increased, to more gracefully handle
+    high-delay paths
+  * Various improvements to the libiperf APIs
+  * Fixed build behavior when OpenSSL is absent
+  * Portability fixes
+- spec file cleanup
+
+-------------------------------------------------------------------
+Fri Jul  6 07:22:31 UTC 2018 - liedke@rz.uni-mannheim.de
+
+- update to 3.6
+  * A new --extra-data option can be used to fill in a user-defined
+    string field that appears in JSON output.
+  * A new --repeating-payload option makes iperf3 use a payload pattern
+    similar to that used by iperf2, which could help in recreating
+    results that might be affected by payload entropy (for example,
+    compression).
+  * -B now works properly with SCTP tests.
+  * A compile fix for Solaris 10 was added.
+  * Some minor bug fixes for JSON output.  In particular, warnings for
+    debug and/or verbose modes with --json output and a fix for
+    JSON output on CentOS 6
+
+-------------------------------------------------------------------
+Mon Mar 12 14:49:17 UTC 2018 - msvec@suse.com
+
+- update to 3.5
+  * Bug fixes mostly
+
+-------------------------------------------------------------------
+Tue Nov  7 09:53:45 UTC 2017 - msvec@suse.com
+
+- update to 3.3
+  * Bug fixes
+
+-------------------------------------------------------------------
+Fri Sep 22 08:35:05 UTC 2017 - msvec@suse.com
+
+- update to 3.2
+  * Authentication mechanism added
+  * New --dscp option allows specifying the DSCP value
+  * Details: https://github.com/esnet/iperf/blob/master/RELEASE_NOTES
+  * Bug fixes
+
+-------------------------------------------------------------------
+Thu Aug 11 14:07:45 UTC 2016 - aj@ajaissle.de
+
+- update to version 3.1.3
+  * fixes [boo#984453] [CVE-2016-4303] JSON parsing vulnerability
+
+  * also includes support for fair-queueing, per-socket based
+    pacing of tests on platforms that support it (currently recent
+    Linux distributions), as well as several other fixes.
+
+-------------------------------------------------------------------
+Mon Feb  8 16:30:00 UTC 2016 - msvec@suse.com
+
+- update to version 3.1.2
+  * Bug fixes
+
+-------------------------------------------------------------------
+Mon Feb  8 15:26:43 UTC 2016 - plinnell@opensuse.org
+
+- Fix url so OBS is happy.
+
+-------------------------------------------------------------------
+Mon Dec 14 10:10:42 UTC 2015 - msvec@suse.com
+
+- update to version 3.1.1
+  * Minor bugfixes
+
+-------------------------------------------------------------------
+Mon Nov 30 21:11:15 UTC 2015 - p.drouand@gmail.com
+
+- Update to version 3.1
+  * SCTP support has been added (with the --sctp flag), on Linux,
+    FreeBSD, and Solaris (issue #131).
+  * Setting CPU affinity now works on FreeBSD.
+  * Selection of TCP congestion now works on FreeBSD, and is now
+    called --congestion (the old --linux-congestion option works
+    but is now deprecated).
+  * A new -I option for the server causes it to write a PID file,
+    mostly useful for daemon mode (issue #120).
+  * A --logfile argument can now force all output to go to a file,
+    rather than to a file.  This is especially useful when running an
+    iperf3 server in daemon mode (issue #119).
+  * Various compatibility fixes for Android (issue #184, issue #185),
+    iOS (issue #288), NetBSD (issue #248), Solaris (issue #175, issue
+    #178, issue #180, issue #211), vxWorks (issue #268).
+  * A --udp-counters-64bit flag has been added to support very
+    long-running UDP tests, which could cause a counter to overflow
+    (issue #191).
+  * A --cport option to specify the client-side port has been added
+    (issue #207, issue #209, issue #239).
+  * Some calculation errors with the -O feature have been fixed (issue
+    #236).
+  * A potential crash in the iperf3 server has been fixed (issue #257,
+    issue #258).
+  * Many miscellaneous bug fixes.
+  * Consumers of libiperf can now get the JSON output for a
+    just-completed test (issue #147).
+  * Detection of various optional features has been improved to check
+    for the presence or absence of platform functionality, not the name
+    of platforms.
+  * Out-of-tree builds now work (issue #265).
+- Do not provide static library
+- Update iperf-3.0.5_disable-profiling.patch > iperf-disable-profiling.patch
+
+-------------------------------------------------------------------
+Sun Apr  5 21:17:52 UTC 2015 - aj@ajaissle.de
+
+- iperf 3.0.11
+  * This maintenance release adds a -1 flag to make the iperf3
+    execute a single test and exit, needed for an upcoming bwctl
+    release. A few other bugs are also fixed.
+
+-------------------------------------------------------------------
+Thu Jan  8 12:57:18 UTC 2015 - seife+obs@b1-systems.com
+
+- iperf 3.0.10, user-visible changes:
+  * UDP tests now honor the -w option for setting the socket buffer
+    sizes (issue #219).
+
+-------------------------------------------------------------------
+Fri Dec 26 16:14:38 UTC 2014 - schwab@linux-m68k.org
+
+- Apply profiling patch whenever %optflags includes -fomit-frame-pointer
+
+-------------------------------------------------------------------
+Thu Jul 17 20:12:49 UTC 2014 - msvec@suse.com
+
+- iperf 3.0.9
+  * Bug fixes
+
+-------------------------------------------------------------------
+Thu Jul 17 20:12:49 UTC 2014 - msvec@suse.com
+
+- iperf 3.0.5
+  * A timing issue which caused measurement intervals to be wrong
+    with TCP tests on lossy networks has been fixed
+  * It is now possible to get (most of) the server-side output at
+    the client by using the --get-server-output flag
+  * A number of bugs with --json output have been fixed
+- rebased iperf-3.0.2_disable-profiling.patch on 3.0.5 code
+  (now is iperf-3.0.5_disable-profiling.patch)
+
+-------------------------------------------------------------------
+Wed Mar 26 19:30:51 UTC 2014 - andreas.stieger@gmx.de
+
+- iperf 3.0.3
+  * Summary structures in the JSON output are now included, even if
+    there is only one stream.
+  * A possible buffer overflow in iperf_error.c has been fixed
+    (replaced iperf-3.0.2_strncat_bufferoverflow.patch)
+  * Example programs now build correctly
+- clean spec
+
+-------------------------------------------------------------------
+Tue Mar 25 11:24:38 UTC 2014 - aj@ajaissle.de
+
+- iperf project moved from SourceForge to Google Code and now to GitHub.
+  License changed from NCSA to BDS-3-Clause
+
+- Update to 3.0.2
+This version, sometimes referred to as iperf3, is a redesign of an original
+version developed at NLANR/DAST. iperf3 is a new implementation from scratch,
+with the goal of a smaller, simpler code base, and a library version of the
+functionality that can be used in other programs. iperf3 also a number of
+features found in other tools such as nuttcp and netperf, but were missing
+from the original iperf. These include, for example, a zero-copy mode and
+optional JSON output.
+
+Note that iperf3 is NOT backwards compatible with the original iperf.
+
+- Added iperf-3.0.2_strncat_bufferoverflow.patch:
+  * Prevent buffer overflow in strncat
+
+- Added iperf-3.0.2_disable-profiling.patch:
+  * Disable profiling on x86 (option '-pg' is incompatible with invoked
+    option '-fomit-frame-pointer')
+
+- Changes in 3.0.2
+  * 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).
+  * Some memory leaks have been fixed.
+  * A -d flag enables debugging output.
+  * 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.
+
+- Changes in 3.0.1
+  * 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
+
+- Changes in 3.0-RC5
+  * 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
+
+- Changes in 3.0b4
+  * 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
+
+- Changes in 3.0b3
+  * 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)
+
+- Changes in 3.0b2
+  * 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.
+
+- Changes in 3.0b1
+  * 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
+
+-------------------------------------------------------------------
+Fri Jun 22 13:59:52 UTC 2012 - coolo@suse.com
+
+- disable _service file for factory update
+- update license to be spdx.org conform
+
+-------------------------------------------------------------------
+Fri Aug 27 18:18:45 UTC 2010 - reddwarf@opensuse.org
+
+- Update to 2.0.5
+  * bumped default TCP send/recv buffer to 128K (this is not the
+    kernel buffer that controls the window, but rather the Iperf
+    internal buffer)
+  * honor -i flag when for a server (-s) when using TCP
+  * Exit rather than warn on connection failure
+  * Reduce CPU usage
+  * "neater" output for some units, eg Kbps, Mbps, Gbps
+  * addresses some typos
+  * prevent underflow when the amount of data to be
+    transmitted (-n) is not a multiple of the buffer size (-l)
+  * print report headers only once
+  * use appropriate report header for UDP tests
+- Cleaned with spec-cleaner
+
+-------------------------------------------------------------------
+Tue Mar 30 13:03:23 UTC 2010 - poletti.marco@gmail.com
+
+- Initial package, version 2.0.4
+
diff --git a/iperf.spec b/iperf.spec
new file mode 100644
index 0000000..032461a
--- /dev/null
+++ b/iperf.spec
@@ -0,0 +1,113 @@
+#
+# spec file for package iperf
+#
+# Copyright (c) 2024 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define soname  0
+Name:           iperf
+Version:        3.17.1
+Release:        0
+Summary:        A tool to measure network performance
+License:        BSD-3-Clause
+Group:          Productivity/Networking/Diagnostic
+URL:            https://software.es.net/iperf/
+Source:         https://downloads.es.net/pub/iperf/iperf-%{version}.tar.gz
+Source1:        https://downloads.es.net/pub/iperf/iperf-%{version}.tar.gz.sha256
+Requires:       lib%{name}%{soname} = %{version}-%{release}
+%if %{?sles_version} && %{?sles_version} <= 11
+BuildRequires:  libuuid-devel
+%else
+BuildRequires:  pkgconfig(uuid)
+%endif
+BuildRequires:  pkgconfig(openssl)
+
+%description
+Iperf is a tool for active measurements of the maximum achievable bandwidth
+on IP networks. It supports tuning of various parameters related to timing,
+protocols, and buffers. For each test it reports the bandwidth, loss, and
+other parameters.
+
+This version, sometimes referred to as iperf3, is a redesign of an original
+version developed at NLANR/DAST. iperf3 is a new implementation from scratch,
+with the goal of a smaller, simpler code base, and a library version of the
+functionality that can be used in other programs. iperf3 also a number of
+features found in other tools such as nuttcp and netperf, but were missing
+from the original iperf. These include, for example, a zero-copy mode and
+optional JSON output.
+
+Note that iperf3 is NOT backwards compatible with the original iperf.
+
+%package -n lib%{name}%{soname}
+Summary:        A library to measure network performance
+Group:          Development/Libraries/C and C++
+
+%description -n lib%{name}%{soname}
+lib%{name} gives you access to all the functionality of the iperf3
+network testing tool.
+You can build it directly into your own program, instead of having
+to run it as a shell command.
+
+%package devel
+Summary:        A tool to measure network performance
+Group:          Development/Libraries/C and C++
+Requires:       lib%{name}%{soname} = %{version}
+%if %{?sles_version} && %{?sles_version} <= 11
+Requires:       libuuid-devel
+%else
+Requires:       pkgconfig(uuid)
+%endif
+
+%description devel
+Iperf is a tool for active measurements of the maximum achievable bandwidth
+on IP networks. It supports tuning of various parameters related to timing,
+protocols, and buffers. For each test it reports the bandwidth, loss, and
+other parameters.
+
+This package contains development files.
+
+%prep
+%setup -q
+
+%build
+%configure --disable-static
+%make_build
+
+%install
+%make_install
+
+# cleanup empty libtool .la file
+rm %{buildroot}%{_libdir}/lib%{name}.la
+
+%post -n lib%{name}%{soname} -p /sbin/ldconfig
+%postun -n lib%{name}%{soname} -p /sbin/ldconfig
+
+%files
+%license LICENSE
+%doc README.md RELNOTES.md
+%{_bindir}/%{name}3
+%{_mandir}/man1/%{name}3.1%{?ext_man}
+
+%files -n lib%{name}%{soname}
+%license LICENSE
+%{_libdir}/lib%{name}.so.*
+
+%files devel
+%license LICENSE
+%{_includedir}/%{name}_api.h
+%{_libdir}/lib%{name}.so
+%{_mandir}/man3/lib%{name}.3%{?ext_man}
+
+%changelog