iperf/iperf.spec
Dirk Mueller 97c5381fc0 - update to 3.18 (bsc#1234705, CVE-2024-53580):
* SECURITY NOTE: Thanks to Leonid Krolle Bi.Zone for
    discovering a JSON type security vulnerability that caused a
    segmentation fault in the server. (CVE-2024-53580)
    This has now been fixed. (PR#1810)
  * UDP packets per second now reports the correct number of
    packets, by reporting NET_SOFTERROR if there's a EAGAIN/EINTR
    errno if no data was sent (#1367/PR#1379).
  * Several segmentation faults related to threading were fixed.
    One where `pthread_cancel` was called on an improperly
    initialized thread (#1801), another where threads were being
    recycled (#1760/PR#1761), and another where threads were
    improperly handling signals (#1750/PR#1752).
  * A segmentation fault from calling `freeaddrinfo` with `NULL`
    was fixed (PR#1755).
  * Some JSON options were fixed, including checking the size for
    `json_read` (PR#1709), but the size limit was removed for
    received server output (PR#1779).
  * A rcv-timeout error has been fixed. The Nread timeout was
    hardcoded and timed out before the `--rcv-timeout` option
  * There is no longer a limit on the omit time period
  * Fixed an output crash under 32-bit big-endian systems
  * An issue was fixed where CPU utilization was unexpectedly
    high during limited baud rate tests. The `--pacing-timer`
    option was removed, but it is still available in the library
  * Add SCTP information to `--json` output and fixed compile
    error when SCTP is not supported (#1731).
  * `--fq-rate` was changed from a uint to a uint64 to allow
    pacing above 32G.  Not yet tested on big-endian systems

OBS-URL: https://build.opensuse.org/package/show/network:utilities/iperf?expand=0&rev=75
2025-01-27 17:58:32 +00:00

114 lines
3.6 KiB
RPMSpec

#
# spec file for package iperf
#
# Copyright (c) 2025 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.18
Release: 0
Summary: A tool to measure network performance
License: BSD-3-Clause
Group: Productivity/Networking/Diagnostic
URL: https://github.com/esnet/iperf
Source: https://github.com/esnet/iperf/releases/download/%{version}/iperf-%{version}.tar.gz
Source1: https://github.com/esnet/iperf/releases/download/%{version}/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