DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: iperf3 3.22-6

Package Information

DescriptionInternet 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.

MaintainerDaniel Baumann <daniel@debian.org>
Changed ByDaniel Baumann <daniel@debian.org>
Sponsormail@daniel-baumann.ch
Distributionsid
Architectureany all
VCSgit: https://forgejo.debian.net/linux/iperf3 (browse)
Popcon Installs19145
Binary NEWYes (new binary packages of a source already in sid)
Trackerhttps://tracker.debian.org/pkg/iperf3
Uploaded18 hours ago

New Package Report

.changes◂
DateFri, 13 Nov 2026 17:53:59 +0100
Sourceiperf3
Version3.22-6
Changed-ByDaniel Baumann <daniel@debian.org>
Architecturesource amd64 all
Distributionsid
Changelog◂
iperf3 (3.22-6) sid; urgency=medium
 .
   * Moving systemd integration to run an iperf3 server into new
     iperf3-server package to highly lower complexity and improve admin
     experience.
   * Adding additional sandboxing restrictions in systemd service.
.dsc◂
Sectionoldlibs
Priorityextra
Componentmain
Package-Listiperf3 deb oldlibs extra arch=all
iperf3-client deb net optional arch=any
iperf3-server deb net optional arch=all
libiperf-dev deb libdevel optional arch=any
libiperf0 deb libs optional arch=any
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:
 2014-2026 The Regents of the University of California, through Lawrence Berkeley National Laboratory
License: BSD-3-clause with enhancement-rant

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/ax_pthread.m4
Copyright:
 2008 Steven G. Johnson <stevenj@alum.mit.edu>
 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
 2019 Marc Stevens <marc.stevens@cwi.nl>
License: GPL-3+ with Autoconf-2.0~Archive exception

Files: config/install-sh
Copyright: 1994 X Consortium
License: X11

Files: config/ltmain.sh
Copyright:
 2004-2024 Bootstrap Authors
 1996-2026 Free Software Foundation, Inc.
License: GPL-2+ with Libtool exception

Files:
 config/compile
 config/depcomp
 config/missing
 config/test-driver
 config/missing
 config/test-driver
Copyright: 1996-2026 Free Software Foundation, Inc.
License: GPL-2+ with Autoconf-2.0~Archive exception

Files:
 config/config.guess
 config/config.sub
Copyright: 1992-2026 Free Software Foundation, Inc.
License: GPL-3+ with Autoconf-2.0~Archive exception

Files: config/mkinstalldirs
Copyright: Noah Friedman <friedman@prep.ai.mit.edu>
License: public-domain

Files:
 Makefile.in
 src/Makefile.in
 examples/Makefile.in
 INSTALL
Copyright: 1994-2026 Free Software Foundation, Inc.
License: FSFULLR

Files: configure
Copyright:
 1992-2026 Free Software Foundation, Inc.
 2009-2010 Zmanda Inc. <http://www.zmanda.com/>
 2009-2010 Dustin J. Mitchell <dustin@zmanda.com>
 2008 Steven G. Johnson <stevenj@alum.mit.edu>
 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
 2019 Marc Stevens <marc.stevens@cwi.nl>
License: FSFUL and FSFAP and GPL-3+ with Autoconf-2.0~Archive exception

Files: docs/_esnet
Copyright: 2014 ESnet
License: BSD-3-clause

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/iperf_locale.c
Copyright:
 1999-2003 The Board of Trustees of the University of Illinois
 2014-2022 The Regents of the University of California, through Lawrence Berkeley National Laboratory
License: NCSA

Files: src/iperf_util.c
Copyright:
 2011 The NetBSD Foundation, Inc.
 2014-2026 The Regents of the University of California, through Lawrence Berkeley National Laboratory
License: BSD-3-clause with enhancement-rant and BSD-2-clause

Files: src/net.*
Copyright:
 2001 Eric Jackson <ericj@monkey.org>
 2003 Lucent Technologies
 2005-2007 Russ Cox, Massachusetts Institute of Technology
 2014-2023 The Regents of the University of California, through Lawrence Berkeley National Laboratory
License: BSD-3-clause and MIT

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 with enhancement-rant

Files: src/units.*
Copyright: 1999-2003 The Board of Trustees of the University of Illinois
License: NCSA

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: BSD-3-clause with enhancement-rant
 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.
 .
 You are under no obligation whatsoever to provide any bug fixes, patches, or
 upgrades to the features, functionality or performance of the source code
 ("Enhancements") to anyone; however, if you choose to make your Enhancements
 available either publicly, or directly to Lawrence Berkeley National
 Laboratory, without imposing a separate written license agreement for such
 Enhancements, then you hereby grant the following license: a  non-exclusive,
 royalty-free perpetual license to install, use, modify, prepare derivative
 works, incorporate into other computer software, distribute, and sublicense
 such enhancements or derivative works thereof, in binary and source code form.

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 Autoconf-2.0~Archive 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, the respective Autoconf Macro's copyright owner
 gives unlimited permission to copy, distribute and modify the configure
 scripts that are the output of Autoconf when processing the Macro. You
 need not follow the terms of the GNU General Public License when using
 or distributing such scripts, even though portions of the text of the
 Macro appear in them. The GNU General Public License (GPL) does govern
 all other use of the material that constitutes the Autoconf Macro.
 .
 This special exception to the GPL applies to versions of the Autoconf
 Macro released by the Autoconf Archive. When you make and distribute a
 modified version of the Autoconf Macro, you may extend this special
 exception to the GPL to apply to your modified version as well.

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: GPL-3+ with Autoconf-2.0~Archive exception
 The full text of the GNU General Public License 3
 can be found in the file /usr/share/common-licenses/GPL-3
 .
 As a special exception, the respective Autoconf Macro's copyright owner
 gives unlimited permission to copy, distribute and modify the configure
 scripts that are the output of Autoconf when processing the Macro. You
 need not follow the terms of the GNU General Public License when using
 or distributing such scripts, even though portions of the text of the
 Macro appear in them. The GNU General Public License (GPL) does govern
 all other use of the material that constitutes the Autoconf Macro.
 .
 This special exception to the GPL applies to versions of the Autoconf
 Macro released by the Autoconf Archive. When you make and distribute a
 modified version of the Autoconf Macro, you may extend this special
 exception to the GPL to apply to your modified version as well.

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 name of the University of California, Lawrence Berkeley
   National Laboratory, U.S. Dept. of Energy 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
 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, 0 important, 7 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 17 hours ago.

Report◂

DFSG NEW review for iperf3 version 3.22-6

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: No
  • Packaging is of good quality: Yes
  • Issues: 3 blocker, 0 important, 7 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

Every file in the tree is under a free licence that the DFSG accepts: BSD-3-clause (with and without the LBNL enhancement paragraph), MIT, NCSA, BSD-2-clause, X11, FSF unlimited/FSFAP, GPL-2+/GPL-3+ with Autoconf or Libtool exceptions on generated build files, and public domain. No non-commercial, no-modification or field-of-use wording exists anywhere. debian/copyright is DEP-5 and largely right, but it misdescribes the licensing of three files that are compiled into libiperf0 (src/net.c's Lucent Technologies notice is missing entirely, src/iperf_locale.c is declared NCSA only although it also carries the LBNL BSD-3 grant, and src/units.h is attributed to the University of Illinois under NCSA instead of LBNL BSD-3), and four smaller stanzas are wrong.

Packaging

Modern and clean: debhelper compat 14, hardening=+all, libiperf0.symbols with Build-Depends-Package and without Debian revisions, Multi-Arch: same on both library packages, a properly split client/server/transitional packaging, a sandboxed systemd unit, ufw profile, manpages, debian/upstream/metadata, and Standards-Version 4.7.4 against Policy 4.7.4.1. Remaining points are minor: an embedded copy of cJSON that Debian packages already, the deprecated Priority: extra on the transitional package, and the stale systemd enable symlink left by renaming the unit.

Issues

blocker licensing 1. Files: src/net.* omits the Lucent Technologies permission notice that src/net.c is partly under ◂
  • Files: debian/copyright:102-108, src/net.c:128-129, LICENSE:95-110
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: Files: src/net.* / 2003 Lucent Technologies / License: BSD-3-clause and MIT. src/net.c: /* netdial and netannounce code comes from libtask: http://swtch.com/libtask/ / * Copyright: http://swtch.com/libtask/COPYRIGHT. LICENSE: The authors of this software are Rob Pike, Sape Mullender, and Russ Cox / Copyright (c) 2003 by Lucent Technologies. / Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software.
  • Problem: The stanza names Lucent Technologies in Copyright but states only BSD-3-clause and MIT, and neither of those texts is the Lucent notice. The notice is a third, distinct permission grant, and it requires that it be reproduced in all copies of the software and its documentation; the text exists only in the top-level LICENSE, which no binary package installs, so /usr/share/doc/iperf3-client/copyright (Policy 12.5) does not carry it. src/net.c is compiled into libiperf.so.0, shipped in libiperf0.
  • Fix: Give the notice its own short name (e.g. Lucent) in the Files: src/net.* License field and add a stand-alone License paragraph quoting it in full from LICENSE.
blocker licensing 2. Files: src/iperf_locale.c states NCSA only, omitting the BSD-3-clause with enhancement-rant terms of the LBNL code in the file ◂
  • Files: debian/copyright:90-94, src/iperf_locale.c:1-27
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: Files: src/iperf_locale.c / Copyright: (Illinois 1999-2003 and LBNL 2014-2022) / License: NCSA. src/iperf_locale.c: * iperf, Copyright (c) 2014-2022, The Regents of the University of California, through Lawrence Berkeley National Laboratory ... / * This code is distributed under a BSD style license, see the LICENSE file for complete information. / * Based on code that is: ... Copyright (c) 1999,2000,2001,2002,2003 The Board of Trustees of the University of Illinois.
  • Problem: The file as shipped is under both the LBNL BSD-3-clause-with-enhancement-rant grant (which covers the bulk of it) and the NCSA terms of the code it is based on; the Copyright field names both holders but the License field names only NCSA, so a redistributor reading debian/copyright is told the wrong terms for a file compiled into libiperf0 — the same mistake the maintainer avoided for src/iperf_util.c, which correctly says BSD-3-clause with enhancement-rant and BSD-2-clause.
  • Fix: Change the stanza to License: BSD-3-clause with enhancement-rant and NCSA.
blocker licensing 3. Files: src/units.* gives src/units.h the University of Illinois copyright and NCSA licence, but it is LBNL BSD-3-clause with enhancement-rant ◂
  • Files: debian/copyright:118-120, src/units.h:1-27, src/units.c:1-45
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: Files: src/units.* / Copyright: 1999-2003 The Board of Trustees of the University of Illinois / License: NCSA. src/units.h begins * iperf, Copyright (c) 2014, The Regents of the University of California, through Lawrence Berkeley National Laboratory ... * This code is distributed under a BSD style license, see the LICENSE file for complete information. and contains no Illinois or NCSA text; the Illinois/NCSA notice is only in src/units.c.
  • Problem: src/units.* matches both files (copyright-format 6.9: * matches / too), and the last matching stanza overrides Files: * for units.h as well, so the copyright file gives that compiled header the wrong holder and the wrong licence. This is also why upstream's own LICENSE mislabels src/units.{c.h}.
  • Fix: Restrict the stanza to Files: src/units.c so src/units.h keeps the Files: * (LBNL, BSD-3-clause with enhancement-rant) entry, or add a separate stanza for src/units.h with the LBNL copyright and that licence.
minor licensing 4. Files: docs/_esnet matches no file, so the ESnet documentation files are attributed to LBNL under Files: * ◂
  • Files: debian/copyright:76-78, docs/_esnet/LICENSE, docs/_esnet/templates/layout.html, docs/_esnet/static/esnet.css
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: Files: docs/_esnet / Copyright: 2014 ESnet / License: BSD-3-clause. docs/_esnet is a directory (containing LICENSE, README.rst, deploy.sh, static/, templates/). copyright-format 6.9: This syntax does not distinguish file names from directory names ... A whole directory tree may be selected with a pattern like "foo/*".
  • Problem: The pattern matches only a path named docs/_esnet, i.e. nothing, so every file below it falls through to Files: * and is documented as LBNL's under BSD-3-clause with enhancement-rant instead of ESnet's under BSD-3-clause. These are documentation sources, not part of any binary package, so the practical effect is small, but the stanza as written does not do what it says.
  • Fix: Use Files: docs/_esnet/* (the pattern is anchored at the top of the tree and needs no leading slash).
minor licensing 5. INSTALL is grouped with the Makefile.in files under FSFULLR, but it carries the FSF unlimited permission for documentation (FSFUL) ◂
  • Files: debian/copyright:58-64, INSTALL:1-7
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: Files: Makefile.in src/Makefile.in examples/Makefile.in INSTALL / Copyright: 1994-2026 Free Software Foundation, Inc. / License: FSFULLR. INSTALL: Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. / This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it.
  • Problem: The stance claims the licence-retention wording of FSFULLR (... as long as this notice is preserved plus the warranty disclaimer), which INSTALL does not contain, and its Copyright: years (to 2026) do not match the file (to 2005). The FSFULLR entries for the Makefile.in files are correct. Neither file is installed in a binary package.
  • Fix: Drop INSTALL from that stanza and give it a stanza of its own, e.g. Files: INSTALL / Copyright: 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. / License: FSFUL with a stand-alone paragraph quoting This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it.
minor licensing 6. src/queue.h is plain BSD-3-clause, but debian/copyright calls it 'BSD-3-clause with enhancement-rant' ◂
  • Files: debian/copyright:114-116, src/queue.h:4-29, debian/lrc.config:9-11
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: Files: src/queue.h / License: BSD-3-clause with enhancement-rant. src/queue.h has the three-clause notice ending SUCH DAMAGE. and no enhancement paragraph (no match for Enhancement in the file). debian/lrc.config asserts ('BSD-3-clause with enhancement-rant' is correct, not 'BSD-3-clause') for this file.
  • Problem: The file's terms are stated more broadly than they are; the enhancements paragraph is not in src/queue.h and the claim in debian/lrc.config is simply wrong. queue.h is compiled into libiperf0.
  • Fix: Use License: BSD-3-clause for Files: src/queue.h, and fix or, better, remove debian/lrc.config.
minor licensing 7. The exception quoted for the automake/autoconf helper scripts is the Autoconf Archive's, not the generic Autoconf exception those files carry ◂
  • Files: debian/copyright:38-46, debian/copyright:48-52, config/missing:21-24, config/compile:20-23, config/config.guess:22-28
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright applies License: GPL-2+ with Autoconf-2.0~Archive exception to config/compile, config/depcomp, config/missing, config/test-driver and GPL-3+ with Autoconf-2.0~Archive exception to config/config.guess, config/config.sub, whose stand-alone paragraph reads As a special exception, the respective Autoconf Macro's copyright owner gives unlimited permission to copy, distribute and modify the configure scripts that are the output of Autoconf when processing the Macro ... This special exception to the GPL applies to versions of the Autoconf Macro released by the Autoconf Archive. The files themselves say As a special exception to the GNU General Public License, if you distribute this file as part of a program that contains a configuration script generated by Autoconf, you may include it under the same distribution terms that you use for the rest of that program.
  • Problem: The exception text in debian/copyright is not the one in these six files; it is the one in config/ax_pthread.m4 (an Autoconf Archive macro). The licence names and quoted grant are therefore wrong for the helper scripts, though both exceptions are free and these files are used at build time only, not installed.
  • Fix: Add a short name quoting the generic Autoconf exception for those six files and keep the Archive exception for config/ax_pthread.m4 alone.
minor packaging 8. src/cjson.{c,h} embed a copy of cJSON, which Debian already packages ◂
  • Files: src/cjson.c, src/cjson.h, debian/copyright:79-83
  • Basis: checked, in the package or with a reference tool
  • Evidence: src/cjson.c: Copyright (c) 2009-2017 Dave Gamble and cJSON contributors; apt-cache show libcjson-dev gives Source: cjson (1.7.19-2), Source: cjson, section libdevel, and libcjson1.
  • Problem: Policy 4.13 says packages should not use a convenience copy of code that is already in the archive as a library, and that the packaging should ensure binary packages reference the library already in Debian. The copy is compiled into libiperf0 (its cJSON_* symbols are even exported in debian/libiperf0.symbols) and nothing in debian/ notes why the system library is not used.
  • Fix: Build against the packaged cJSON (Build-Depends: libcjson-dev) and drop src/cjson.{c,h}, or, if upstream's copy diverges too far, say why in debian/README.source and keep the debian/copyright stanza that names it.
minor packaging 9. The transitional iperf3 package sets Priority: extra, which Policy 2.5 deprecates ◂
  • Files: debian/control:24-25
  • Basis: checked, in the package or with a reference tool
  • Evidence: Package: iperf3 / Section: oldlibs / Priority: extra; Policy 2.5: extra — This priority is deprecated. Use the optional priority instead. This priority should be treated as equivalent to optional.
  • Problem: No other binary package in the source sets a priority, so it inherits optional (Policy 2.5, dpkg 1.22.13); only the transitional package carries a deprecated value.
  • Fix: Remove the Priority: extra line (the default is optional).
minor packaging 10. Renaming the service to iperf3-server.service leaves the old iperf3.service enable symlink dangling after upgrade ◂
  • Files: debian/iperf3-server.service:1, debian/changelog:1-6, debian/control:52-56
  • Basis: inferred from what was read, not seen directly
  • Evidence: debian/changelog 3.22-6: Moving systemd integration to run an iperf3 server into new iperf3-server package; 3.22-2: Removing sysvinit script in favour of systemd. The unit is now debian/iperf3-server.service, i.e. /lib/systemd/system/iperf3-server.service; the previous upload had the unit in the iperf3 package, so as /lib/systemd/system/iperf3.service.
  • Problem: dpkg removes /lib/systemd/system/iperf3.service on upgrade, but the enable symlink dh_installsystemd created for it lives in /etc/systemd/system/multi-user.target.wants/iperf3.service and belongs to no package; nothing removes it on an upgrade, so systemd reports a unit it cannot load at the next boot. The same physical service is now enabled again under a new name, so administrators who had disabled it also get it back. (I could not see 3.22-5's debian/ here; the changelog is the evidence that the unit was in the old iperf3 package.)
  • Fix: Keep the installed unit name iperf3.service and ship it from iperf3-server with Breaks: iperf3 (<< ${source:Version}) and Replaces: iperf3, so the unit's ownership moves without the enable symlink going stale; or add a postinst snippet to the transitional iperf3 package that runs deb-systemd-helper disable iperf3.service/removes the leftover symlink.
Verified ◂
  • The pre-scan listed no files: its holder check reported that every copyright holder it detected is already named in debian/copyright. I re-ran the holder search myself over the whole tree (Copyright, (C), ©, excluding .pc/ and debian/) and found no holder that debian/copyright does not name; the findings are about which stanza and which licence apply, not about unnamed holders.
  • Read debian/copyright in full (345 lines); it is DEP-5 with the correct Format: URL, Upstream-Name, Upstream-Contact, Source, no Files-Excluded, and stand-alone licence paragraphs for every short name it uses.
  • Licence keywords searched across the whole tree (SPDX, Licensed under, Permission is hereby, GNU General/Lesser, Apache, Mozilla, public domain, without fee, All rights reserved, adapted from, comes from, taken from): the only non-free-sounding wording is the BSD/DOE-style All rights reserved inside otherwise free notices (Upstream-Name, LICENSE, README.md, and each LBNL source header). No NC, ND, field-of-use or no-modification clause in the package.
  • Files under src/: cjson.{c,h} (MIT), dscp.c (BSD-2, OpenSSH), iperf_util.c (LBNL BSD-3 plus NetBSD getline under BSD-2), iperf_locale.c and units.c (University of Illinois NCSA), net.c (Russ Cox MIT, Lucent notice, Eric Jackson BSD-3), queue.h (Regents BSD-3), portable_endian.h (public domain), everything else LBNL BSD-3-clause with enhancement-rant; iperf_api.h is the only header installed (include_HEADERS).
  • Build-size/stic files: configure, aclocal.m4, Makefile.in, config/* are autotools output whose inputs (configure.ac, Makefile.am, config/*.m4) are all in the tree; src/version.h.in and src/iperf_config.h.in are templates. The generated files are covered by the configure, aclocal.m4, config/* and Makefile.in stanzas.
  • src/private.pem and src/public.pem are upstream's test key pair used by t_auth.c; nothing installs them and they carry no separate licensing notice, so they fall under Files: *.
  • Tests and examples: src/t_*.c, test_commands.sh, auth_test.sh are not installed; examples/mic.c and examples/mis.c (no licence header of their own, covered by Files: *) are installed as examples by debian/libiperf-dev.examples.
  • docs/_esnet/static/* contains ESnet and iperf3 logo PNGs, favicon.ico and GitHub_Invertocat_Black.png; images/iperf3-logos-0413_6.png is the same kind of graphic. All are Sphinx/documentation assets of the upstream project, none is installed in a binary package, and the ESnet ones are covered by docs/_esnet/LICENSE (BSD-3, ESnet 2014) — see the docs/_esnet pattern issue for that stanza not applying. I did not open the image files.
  • debian/lrc.config is a licensecheck configuration left in debian/ that the build does not use; its note on src/queue.h is wrong (see that issue).
  • Packaging read in full: control, rules, changelog head, source/format, all .install/.manpages/.examples files, iperf3-server.service, libiperf0.symbols head, patches/series and the one patch (DEP-3 Author:/Description:, changes \fC to \fB in the man pages), ufw/iperf3, upstream/metadata, TODO. debian/watch left to its own check.
  • Compat 14 means dh_gencontrol adds the relationship substvars, so the packages without Depends/Pre-Depends fields are fine, and dh_missing --fail-missing (default from compat 13) is satisfied: every file dh_auto_install puts in debian/tmp is taken by an .install file or is the .la file removed in rules.
  • debian/libiperf0.symbols uses upstream versions only (no Debian revisions remain) and carries * Build-Depends-Package: libiperf-dev; libiperf-dev depends on libiperf0 (= ${binary:Version}) and both are Multi-Arch: same.
  • Build-Depends exist in the archive: libsctp-dev (lksctp-tools 1.0.21+dfsg-2) and libssl-dev; libsctp-dev [linux-any] matches configure's optional SCTP detection, and the iperf_sctp_* symbols live in the always-built iperf_sctp.c.
  • Standards-Version 4.7.4 against Policy 4.7.4.1: first two components match, so not an issue. Vcs-Git/Vcs-Browser point at the maintainer's forgejo, Homepage at the upstream repository, debian/upstream/metadata present.
  • debian/rules: hardening=+all, dh $@, removal of .la files after dh_auto_install, dh_installchangelogs RELNOTES.md. No dh_auto_test override, so at compat 14 make check (the t_* programs) runs and is skipped under nocheck without further work.
  • uscan found the packaged version as the newest upstream release (upstream 3.22, packaged 3.22).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (GPL-2, GPL-3).
Not confirmed ◂
  • debian/changelog uses sid as the distribution (iperf3 (3.22-6) sid). I have no way to check here whether the archive accepts sid in the Distribution field; if it does not, the upload is rejected, and unstable is what is normally used.
  • No build was possible, so I could not compare debian/libiperf0.symbols against the built libiperf.so.0, confirm that the patched man pages pass groff, or that make check passes in a clean chroot.
  • The systemd upgrade finding rests on 3.22-5 having shipped debian/iperf3.service; that directory is not in this source and I could not inspect the earlier upload.
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.

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
3.22-7 6d937d01… 2026-11-14 09:53 2026-11-14 09:53 dfsg-uploader rejected VIEW
3.22-5 79c8ea15… 2026-11-13 16:41 2026-11-13 16:41 dfsg-uploader rejected VIEW
3.22-4 3fd2cb50… 2026-11-13 11:37 2026-11-13 11:37 dfsg-uploader rejected VIEW

Back to Dashboard | View all reviews for this package