Review: iperf3 3.22-4
Package Information
| Description | Internet Protocol bandwidth measuring tool (transitional package) Package to ease upgrading from older iperf3 package to the new iperf3-client package. This package can be purged at anytime once the iperf3-client package has been installed. |
|---|---|
| Maintainer | Daniel Baumann <daniel@debian.org> |
| Changed By | Daniel Baumann <daniel@debian.org> |
| Sponsor | mail@daniel-baumann.ch |
| Distribution | sid |
| Architecture | any all |
| VCS | git: https://forgejo.debian.net/linux/iperf3 (browse) |
| Popcon Installs | 19145 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/iperf3 |
| Uploaded | 5 hours ago |
New Package Report
.changes
| Version | 3.22-4 |
|---|---|
| Changed-By | Daniel Baumann <daniel@debian.org> |
| Architecture | source amd64 all |
| Distribution | sid |
| Date | Fri, 13 Nov 2026 11:20:12 +0100 |
| Source | iperf3 |
Changelog
iperf3 (3.22-4) sid; urgency=medium
.
* Moving systemd integration to run an iperf3 server into new
iperf3-server package to highly lower complexity and improve admin
experience.
* Runing iperf3 server using a dynamic user rather than a static system
user.
* Removing shipping of README as it doesn't contain anything useful when
already installed iperf3..dsc
| Package-List | iperf3 deb oldlibs extra arch=all iperf3-client deb net optional arch=any iperf3-server deb net optional arch=any libiperf-dev deb libdevel optional arch=any libiperf0 deb libs optional arch=any |
|---|---|
| Section | oldlibs |
| Priority | extra |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: iperf
Upstream-Contact: https://github.com/esnet/iperf/issues
Source: https://github.com/esnet/iperf/tags
Files: *
Copyright:
1999-2007 The Board of Trustees of the University of Illinois
2014-2022 The Regents of the University of California
License: NCSA
Files: aclocal.m4
Copyright: 1996-2026 Free Software Foundation, Inc.
License: FSFULLR
Files: config/ax_check_openssl.m4
Copyright:
2009-2010 Zmanda Inc. <http://www.zmanda.com>
2009-2010 Dustin J. Mitchell <dustin@zmanda.com>
License: FSFAP
Files: config/install-sh
Copyright: 1994 X Consortium
License: X11
Files: config/ltmain.sh
Copyright: 1996-2026 Free Software Foundation, Inc.
License: GPL-2+ with Libtool exception
Files: configure
Copyright: 1992-2026 Free Software Foundation, Inc.
License: FSFUL
Files: src/cjson.*
Copyright: 2009-2017 Dave Gamble and cJSON contributors
License: MIT
Files: src/dscp.c
Copyright:
2000 Markus Friedl
2005-2006 Damien Miller
License: BSD-2-clause
Files: src/portable_endian.h
Copyright: Mathias Panzenböck
License: public-domain
Files: src/queue.h
Copyright: 1991-1993 The Regents of the University of California
License: BSD-3-clause
Files: debian/*
Copyright:
2014-2016 Raoul Gunnar Borenius <borenius@dfn.de>
2018-2022 Roberto Lumbreras <rover@debian.org>
2026 Daniel Baumann <daniel@debian.org>
License: GPL-2
License: BSD-2-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
License: GPL-2
The full text of the GNU General Public License 2
can be found in the file /usr/share/common-licenses/GPL-2
License: GPL-2+ with Libtool exception
The full text of the GNU General Public License 2
can be found in the file /usr/share/common-licenses/GPL-2
.
As a special exception to the GNU General Public License,
if you distribute this file as part of a program or library that
is built using GNU Libtool, you may include this file under the
same distribution terms that you use for the rest of that program.
License: FSFAP
Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved. This file is offered as-is, without any
warranty.
License: FSFUL
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
License: FSFULLR
This file is free software; the Free Software Foundation
gives unlimited permission to copy and/or distribute it,
with or without modifications, as long as this notice is preserved.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY, to the extent permitted by law; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
License: NCSA
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal with
the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to
do so, subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimers in the documentation
and/or other materials provided with the distribution.
* Neither the names of the University of Illinois, NCSA,
Broadcom Corporation, Robert J. McMahon,
nor the names of its contributors may be used to endorse or promote products
derived from this Software without specific prior written permission.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
SOFTWARE.
License: public-domain
I, Mathias Panzenböck, place this file hereby into the public domain.
Use it at your own risk for whatever you like.
License: X11
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.
Except as contained in this notice, the name of the X Consortium shall not
be used in advertising or otherwise to promote the sale, use or other deal-
ings in this Software without prior written authorization from the X Consor-
tium.
DFSG Assistant LLM REVIEW 3 blocker, 1 important, 5 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 4 hours ago.
Report
DFSG NEW review for iperf3 version 3.22-4
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: No
- Issues: 3 blocker, 1 important, 5 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
Every licence in the tree is free and compatible, but debian/copyright is wrong in three ways. The catch-all stanza reproduces the iPerf2/NCSA text (naming Broadcom and Robert J. McMahon, who appear in no file) instead of the BSD-3-clause-style licence of LICENSE that nearly all of src/ is under, so the notice the licence requires for the shipped binaries is missing. It also names no holder for the third-party code compiled into libiperf0 and /usr/bin/iperf3: Eric Jackson, Russ Cox (MIT) and Lucent Technologies in src/net.c, and The NetBSD Foundation in src/iperf_util.c.
Packaging
The packaging is close to good - compat 14, correct rules, a proper library split, symbols file and DEP-3 patch - but the new iperf3-client/iperf3-server split lacks the Breaks/Replaces that Policy 7.6.1 requires, so upgrading any installed iperf3 fails on a file conflict. Smaller faults: a deprecated Priority value, an unneeded sysusers build-dependency, a server unit that drops upstream's sandboxing, and no autopkgtest.
Issues
blocker licensing 1. Files: * reproduces the NCSA/iPerf2 licence text instead of the BSD-3-clause licence in LICENSE, so the main licence notice is missing ◂
- Files:
debian/copyright:6-10,debian/copyright:157-176,LICENSE,src/iperf_api.c:27,docs/index.rst:34 - Basis: checked, in the package or with a reference tool
- Evidence: LICENSE:1
iperf, Copyright (c) 2014-2026, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.and its clause (3)Neither the name of the University of California, Lawrence Berkeley National Laboratory, U.S. Dept. of Energy nor the names of its contributors .... debian/copyright's NCSA clause (3):Neither the names of the University of Illinois, NCSA, Broadcom Corporation, Robert J. McMahon, nor the names of its contributors .... Every src file header:This code is distributed under a BSD style license, see the LICENSE file for complete information; docs/index.rst:34is released under a three-clause BSD license. - Problem: Nearly every file under src/ is under the licence in LICENSE, and the binary packages ship no LICENSE file (no install, docs or manpages file lists it), so debian/copyright is the only place where that licence and its notices are reproduced. It does not: the text filed under
License: NCSAis the iPerf2 text, with a different third clause, and it names Broadcom Corporation and Robert J. McMahon, which occur nowhere in the tree (grep for either name finds only that paragraph and unrelated prose). The LBNL grant over contributed enhancements and the U.S. Government NOTICE are missing as well. The source package and every binary are therefore accompanied by a copyright file that misstates the licence of the bulk of the code (Policy 2.3 requires the licence and notices of shipped files there). - Fix: Give
Files: *the text of LICENSE (BSD-3-clause-style, naming the University of California, Lawrence Berkeley National Laboratory and the U.S. Department of Energy, plus the enhancement-grant paragraph) and theCopyright: ... through Lawrence Berkeley National Laboratoryline, and restrict the NCSA paragraph, verbatim as in the files, to the only files that carry it: src/units.c and src/iperf_locale.c.
blocker licensing 2. src/net.c's Eric Jackson (BSD-3), Russ Cox (MIT) and Lucent Technologies notices and holders are absent, and the file is called NCSA ◂
- Files:
src/net.c:85-88,src/net.c:128-130,LICENSE:65-110,debian/copyright:6-10 - Basis: checked, in the package or with a reference tool
- Evidence: src/net.c:87
* Copyright (c) 2001 Eric Jackson <ericj@monkey.org>followed by the three-clause BSD conditions; src/net.c:128netdial and netannounce code comes from libtask: http://swtch.com/libtask/* Copyright: http://swtch.com/libtask/COPYRIGHT; LICENSE:71Copyright (c) 2005-2007 Russ Cox, Massachusetts Institute of Technology(MIT); LICENSE:99Copyright (c) 2003 by Lucent Technologieswithprovided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software. - Problem: src/net.c is compiled into libiperf.so.0, hence into iperf3-client and iperf3-server, and these licences require their notices to be kept in binary distributions (Policy 2.3).
Files: *names none of the three holders and declares NCSA, a licence these parts are not under. The Lucent notice in particular demands that its entire text, including the holder's name, be reproduced in copies. - Fix: Add a stanza for src/net.c and src/net.h naming Eric Jackson, Russ Cox (Massachusetts Institute of Technology) and Lucent Technologies, reproducing their three notices (all of them are already in LICENSE), and state BSD-3-clause plus MIT for these files instead of NCSA.
blocker licensing 3. The NetBSD Foundation's BSD-2 getline code in src/iperf_util.c is recorded as NCSA and its holder is not named ◂
- Files:
src/iperf_util.c:566-583,debian/copyright:6-10 - Basis: checked, in the package or with a reference tool
- Evidence:
/* The following code adopted from NetBSD's getline.c, which is: */ ... * Copyright (c) 2011 The NetBSD Foundation, Inc. * All rights reserved. ... * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.inside the#ifndef HAVE_GETLINEblock. - Problem: The notice is a BSD-2-clause notice held by The NetBSD Foundation, Inc., which debian/copyright neither names nor states:
Files: *puts the whole file under NCSA. The block is also compiled into libiperf0 wherever getline(3) is absent. A file described under the wrong licence is as serious as a missing holder, since the source package is distributed with that description. - Fix: Add a stanza for src/iperf_util.c (or for the getline part) with
Copyright: 2011 The NetBSD Foundation, Inc.and the BSD-2-clause text, or list both licences for the file.
important packaging 4. iperf3-client lacks Breaks/Replaces on iperf3 (<< 3.22-4), so upgrading an installed iperf3 stops with a file conflict ◂
- Files:
debian/control:28-31,debian/iperf3-client.install:1-2,debian/iperf3-client.manpages:1 - Basis: inferred from what was read, not seen directly
- Evidence:
Package: iperf3-clienthasArchitecture: anyandDescription:and nothing else; the files it now ships -usr/bin/*,usr/share/man/man1/*and theetc/ufw/applications.dprofile - were files of the single iperf3 binary package up to 3.22-3. Policy 7.6.1:if a package foo is split into foo and foo-data starting at version 1.2-3, foo-data would have the fields Replaces: foo (<< 1.2-3)andBreaks: foo (<< 1.2-3). - Problem: On a system with iperf3 3.22-3 installed, /usr/bin/iperf3 and the other files are still owned by iperf3; apt unpacks iperf3-client (a dependency, so before iperf3) and dpkg refuses with
trying to overwrite '/usr/bin/iperf3', which is also in package iperf3, aborting the upgrade. The file list of 3.22-3 is not in the tree (its packaging is not shipped), but the takeover follows from the changelog's split and from iperf3-server depending on iperf3-client for the binary. - Fix: Add
Breaks: iperf3 (<< 3.22-4)andReplaces: iperf3 (<< 3.22-4)to iperf3-client.
minor licensing 5. debian/copyright names no holder for config/ltmain.sh (Bootstrap Authors), config/ax_pthread.m4 and configure, or docs/_esnet (ESnet) ◂
- Files:
config/ltmain.sh:75,config/ltmain.sh:1539,config/ax_pthread.m4:60-62,configure:2816-2817,configure:2908-2910,docs/_esnet/LICENSE:1 - Basis: checked, in the package or with a reference tool
- Evidence:
# Copyright (C) 2004-2019, 2021, 2023-2024 Bootstrap Authors;# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>,2011 Daniel Richard G. <skunk@iSKUNK.ORG>,2019 Marc Stevens <marc.stevens@cwi.nl>;Copyright (c) 2014, ESnet. - Problem: None of these holders is named, and
Files: *describes all of them as NCSA, while ltmain.sh is GPL-2+ or MIT with the Libtool exception, ax_pthread.m4 is GPL-3+ with the Autoconf exception, and docs/_esnet/LICENSE is BSD-3-clause with ESnet as holder. These are autotools helpers and documentation that no binary package installs, so Policy 2.3 does not require their notices in debian/copyright; a complete DEP-5 file should still carry them and must not state their licences wrongly. - Fix: Add stanzas for config/ltmain.sh (Free Software Foundation, Inc. and Bootstrap Authors, GPL-2+ with Libtool exception / MIT), config/ax_pthread.m4 (GPL-3+ with Autoconf exception, three holders), configure's embedded ax_check_openssl.m4 and ax_pthread.m4 text (Zmanda Inc., Dustin J. Mitchell, and the three ax_pthread holders) and docs/* (ESnet, BSD-3-clause), and remove these files from the NCSA claim.
minor packaging 6. The transitional iperf3 package sets Priority: extra, which Policy deprecates in favour of optional ◂
- Files:
debian/control:17 - Basis: checked, in the package or with a reference tool
- Evidence:
Package: iperf3/Section: oldlibs/Priority: extra; Policy 2.5:This priority is deprecated. Use the "optional" priority instead. - Problem: extra has been deprecated since Policy 4.0.1 and is equivalent to optional, since dpkg 1.22.13 the field may be omitted altogether and the source stanza already sets optional; this stanza overrides it with the deprecated value for no benefit.
- Fix: Drop the Priority field from the iperf3 stanza, or set it to optional.
minor packaging 7. Build-Depends on dh-sequence-installsysusers serves nothing: no sysusers file is shipped ◂
- Files:
debian/control:7 - Basis: checked, in the package or with a reference tool
- Evidence:
dh-sequence-installsysusers,in Build-Depends, with no debian/*.sysusers file; debian/iperf3-server.service:14 usesDynamicUser=yes, so no user needs creating. - Problem: At compat 14 dh_installsysusers is part of dh's default sequence (debhelper 14 upgrade checklist, 'The tool dh_installsysusers is now included in the default sequence'), and it has no file to process here, so the add-on dependency is dead weight.
- Fix: Remove dh-sequence-installsysusers from Build-Depends.
minor packaging 8. iperf3-server.service keeps none of the sandboxing that upstream's own unit sets ◂
- Files:
debian/iperf3-server.service:14,contrib/iperf3.service:9-21 - Basis: checked, in the package or with a reference tool
- Evidence: Debian unit: only
DynamicUser=yes. Upstream contrib/iperf3.service addsNoNewPrivileges=yes,PrivateTmp=yes,PrivateDevices=yes,ProtectSystem=strict,ProtectHome=read-only,RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK,RestrictNamespaces=yes,MemoryDenyWriteExecute=yes, among others. - Problem: The unit runs a network-facing daemon (port 5201, Restart=always) with no filesystem, namespace or syscall restrictions at all, although upstream ships a hardened unit for the same program; DynamicUser alone only removes the persistent uid. Nothing in the daemon needs the dropped protections.
- Fix: Copy the hardening options from contrib/iperf3.service into debian/iperf3-server.service.
minor packaging 9. No autopkgtest although upstream ships a test suite ◂
- Files:
debian/tests,src/Makefile.am:96-102 - Basis: checked, in the package or with a reference tool
- Evidence: No debian/tests directory or debian/tests/control exists; src/Makefile.am:97
TESTS = t_timer t_units t_uuid t_api t_auth. - Problem: Nothing checks the installed package after the build, although upstream provides five test programs and test_commands.sh; for a network daemon the regressions that matter (start-up of the server unit, option parsing, JSON output) are exactly what a trivial loopback test would catch, and ci.debian.net runs nothing for the package.
- Fix: Add debian/tests/control with a test that runs
make checkand a smoke test startingiperf3 -son 127.0.0.1 and running a one-second client test against it.
Verified ◂
- debian/copyright is DEP-5 with the correct Format URL, so no replacement file is proposed; each Files stanza was matched against the tree and the last-match rule applied (
Files: src/cjson.*anddebian/*reach what they should). - The prescan's 'possibly named' holder is real: LICENSE, README.md, bootstrap.sh, configure.ac and every src/ header say
The Regents of the University of California, through Lawrence Berkeley National Laboratory;Files: *namesThe Regents of the University of California, which represents the holder (only the LBNL/DOE qualifier and the 2023-2026 years are dropped; year drift is not an issue). - Stanzas that do match their files: src/queue.h (BSD-3-clause, Regents 1991,1993), src/dscp.c (BSD-2-clause, Friedl 2000 and Miller 2005-2006), src/portable_endian.h (public domain, Panzenböck), src/cjson.c and src/cjson.h (MIT, Dave Gamble and cJSON contributors), config/install-sh (X11, 1994 X Consortium), config/ax_check_openssl.m4 (FSFAP, Zmanda Inc. and Dustin J. Mitchell), aclocal.m4 (FSFULLR, FSF 1996-2026).
- No non-free wording anywhere: grep for non-commercial, no-modification, field-of-use, 'Good, not Evil', CC, Apache and MPL wording found nothing; the LBNL paragraph in LICENSE grants rights in contributed enhancements instead of restricting use, and all licences present (BSD-2/3, MIT, NCSA, FSFAP, FSFUL, FSFULLR, GPL-2+ with Libtool exception, GPL-3+ with Autoconf exception, public domain) are free and mutually compatible in combination.
- No built artifact without its source: configure comes from configure.ac plus aclocal.m4 and config/*.m4, Makefile.in from Makefile.am, all present; no minified code and no PDFs in the tree.
- Binary files recorded and not opened, and none of them installed: images/iperf3-logos-0413_6.png and docs/_esnet/static/{ESnet_2025_001_2025_LogoShortName_RGB_Color.png, ESnet_2025_XX1B_2025_TILE_Orb_RGB_Color.png, GitHub_Invertocat_Black.png, favicon.ico, iperf3-logos-0410_6.png}; these are ESnet's documentation logos and favicon, covered by docs/_esnet/LICENSE (BSD-3-clause, ESnet).
- src/private.pem and src/public.pem are the keypair used by src/t_auth.c (upstream test data); they are not installed and carry no third-party notice.
- src/cjson.* is an embedded copy of cJSON, but libiperf exports cJSON_* symbols which debian/libiperf0.symbols records, so replacing it with libcjson1 would break the ABI; its MIT stanza is present.
- All debian files were read: control, rules, changelog, copyright, every .install/.manpages/.examples file, iperf3-server.service, ufw/iperf3, source/format, patches/series and the patch, upstream/metadata and libiperf0.symbols; there are no maintainer scripts, no debian/po, no .maintscript, no .sysusers and no .tmpfiles file.
- The patch debian/patches/debian/0001-manpage-bold-font.patch touches only src/iperf3.1 and src/libiperf.3, carries a DEP-3 Author and Description, and is applied (the series entry
debian/0001-manpage-bold-font.patchfiles it in a subdirectory of patches/, which dpkg-source applies). - Hardening is effective: src/Makefile.in compiles with
$(iperf3_CFLAGS) $(CFLAGS)and links with$(iperf3_LDFLAGS) $(LDFLAGS), so upstream's own-gflags do not displace dpkg-buildflags andhardening=+allfrom debian/rules. - The library split is otherwise correct: only iperf_api.h is in include_HEADERS and it includes no OpenSSL header, so libiperf-dev needs no libssl-dev;
Multi-Arch: sameandlibiperf0 (= ${binary:Version})are right, and at compat 14 dh_gencontrol adds ${shlibs:Depends}/${misc:Depends} itself, so their absence from the stanzas is not a fault. - Standards-Version 4.7.4 against Policy 4.7.4.1: equal in the first two components, so not an issue. The explicit
Priority: optionalin the source stanza is allowed, only no longer recommended (A10.3), and the changelog gives reprepro (#1110733) as the reason. - debian/changelog: version 3.22-4, distribution sid, a maintainer change of the package, no unclosed bug references expected for a new upstream release.
- uscan found the packaged version as the newest upstream release (upstream
3.22, packaged3.22). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (GPL-2).
Not confirmed ◂
- What happens on upgrade to an installation that had the old iperf3.service enabled: the unit is now iperf3-server.service in iperf3-server, which the transitional iperf3 does not depend on, and 3.22-3's packaging and file list are not in the tree, so I could not confirm that such a machine loses the running daemon, that a stale enablement symlink is left behind, or that the old /etc/default/iperf3 conffile and log directory are cleaned up.
- Whether debian/libiperf0.symbols matches the 3.22 ABI: it was read only, and a mismatch would show only in a build.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader rejected this upload in response to the review.
Review Information
rejected — allocated to dfsg-uploader 4 hours ago, started 4 hours ago, completed 4 hours ago.
Final Comment
The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.