DFSG NEW Queue

DFSG, Licensing & New Packages Team

thrift 0.25.0-1

Package Information

DescriptionThrift C++ library

Thrift is a software framework for the development of reliable and performant communication and data serialization. It combines a software stack with code generation to build services that operate seamlessly across a number of different development languages.

This package contains the runtime libraries needed for C++ applications using Thrift.

MaintainerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Changed ByLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sponsorgcs@debian.org
Distributionexperimental
Architectureany all
Closes#1150191
Popcon Installs3699
Binary NEWYes (new binary packages of a source already in sid)
Trackerhttps://tracker.debian.org/pkg/thrift
Uploaded1 hour ago

New Package Report

.changes◂
Architecturesource all amd64
Distributionexperimental
DateThu, 05 Nov 2026 18:54:02 +0100
Sourcethrift
Version0.25.0-1
Changed-ByLaszlo Boszormenyi (GCS) <gcs@debian.org>
Changelog◂
thrift (0.25.0-1) experimental; urgency=medium
 .
   * New major upstream release (closes: #1150191):
     - fixes CVE-2026-61373: allocation of resources without limits or
       throttling vulnerability in the Java TSaslNonblockingServer,
     - fixes CVE-2026-61374: allocation of resources without limits or
       throttling vulnerability in the Java bindings,
     - fixes CVE-2026-63772: allocation of resources without limits or
       throttling vulnerability in the Go bindings,
     - fixes CVE-2026-66054: allocation of resources without limits or
       throttling, improper handling of highly compressed data vulnerability
       in the C++ bindings,
     - fixes CVE-2026-66055: allocation of resources without limits or
       throttling in multiple language bindings,
     - fixes CVE-2026-66081: access of uninitialized pointer vulnerability
       in the c_glib bindings,
     - fixes CVE-2026-66837: stack-based buffer overflow, integer overflow
       or wraparound vulnerability in the PHP bindings,
     - fixes CVE-2026-66858: the protocol skip routine in several language
       bindings did not apply the binding's recursion limit,
     - fixes CVE-2026-66859: NULL pointer dereference and use of
       uninitialized variable vulnerability in the c_glib bindings,
     - fixes CVE-2026-82458: memory allocation with excessive size value,
       allocation of resources without limits or throttling vulnerability
       in several language bindings,
     - fixes CVE-2026-82459: integer underflow, out of bounds write
       vulnerability in the C++ 32 bit THeaderTransport,
     - fixes CVE-2026-83632: allocation of resources without limits or
       throttling, integer overflow or wraparound, heap based buffer
       overflow vulnerability,
     - fixes CVE-2026-83663: uncontrolled recursion vulnerability in the
       Go bindings,
     - fixes CVE-2026-85086: improper certificate validation, initialization
       of a resource with an insecure default vulnerability in the Perl
       bindings,
     - fixes CVE-2026-85087: improper certificate validation, return of
       wrong status code vulnerability in the Python bindings,
     - fixes CVE-2026-85088: improper validation of certificate with
       host mismatch in the C++ and D libraries,
     - fixes CVE-2026-85476: loop with unreachable exit condition, 'infinite
       loop' vulnerability in the c_glib bindings,
     - fixes CVE-2026-85483: use of uninitialized resource, return of
       wrong status code vulnerability in the c_glib bindings,
     - fixes CVE-2026-85494: improper handling of length parameter
       inconsistency in multiple language bindings,
     - fixes CVE-2026-91135: heap based buffer overflow vulnerability in
       the C++ THeaderTransport,
     - fixes CVE-2026-91137: improper validation of specified quantity in
       input, allocation of resources without limits or throttling in the
       PHP language bindings,
     - fixes CVE-2026-92834: use of uninitialized resource, return of wrong
       status code vulnerability in the C++ WebSocket server,
     - fixes CVE-2026-93925: stack based buffer overflow, incorrect bitwise
       shift of integer vulnerability in the C++ THeaderProtocol,
     - fixes CVE-2026-93926: missing release of memory after effective
       lifetime, missing release of resource after effective lifetime
       vulnerability in THeaderTransport,
     - fixes CVE-2026-94634: allocation of resources without limits or
       throttling, initialization of a resource with an insecure default
       vulnerability in the Python bindings,
     - fixes CVE-2026-94636: improper handling of highly compressed data in
       the Python bindings,
     - fixes CVE-2026-94637: improper handling of highly compressed data in
       the Go bindings,
     - fixes CVE-2026-94638: allocation of resources without limits or
       throttling vulnerability in the PHP bindings,
     - fixes CVE-2026-94639: improper handling of exceptional conditions,
       allocation of resources without limits or throttling, uncaught
       exception vulnerability in the Java bindings,
     - fixes CVE-2026-94642: uncaught exception vulnerability in the
       PHP bindings,
     - fixes CVE-2026-94644: allocation of resources without limits or
       throttling vulnerability in the PHP bindings,
     - fixes CVE-2026-94650: uncontrolled recursion vulnerability in the
       c_glib bindings,
     - fixes CVE-2026-94651: improper handling of exceptional conditions,
       missing release of resource after effective lifetime vulnerability
       in the java bindings,
     - fixes CVE-2026-94652: missing release of memory after effective
       lifetime vulnerability in the C++ bindings,
     - fixes CVE-2026-94653: inefficient algorithmic complexity
       vulnerability in the PHP bindings,
     - fixes CVE-2026-94654: loop with unreachable exit condition, 'infinite
       loop' vulnerability in the Python bindings,
     - fixes CVE-2026-96286: uncaught exception vulnerability in the
       Perl bindings,
     - fixes CVE-2026-96287:inefficient algorithmic complexity vulnerability
       in the Perl bindings,
     - fixes CVE-2026-96289: uncontrolled recursion vulnerability in the
       PHP bindings.
   * Update patches.
   * Rename related packages to -0.25.0 suffix.
   * Add autopkgtest for php-thrift.
   * Update copyright file.
.dsc◂
Priorityoptional
Componentmain
Package-Listgolang-thrift-dev deb devel optional arch=all
libthrift-0.25.0 deb libs optional arch=any
libthrift-c-glib-dev deb libdevel optional arch=any
libthrift-c-glib0t64 deb libs optional arch=any
libthrift-dev deb libdevel optional arch=any
libthrift-perl deb perl optional arch=all
php-thrift deb php optional arch=any
python3-thrift deb python optional arch=any
thrift-compiler deb devel optional arch=any
Sectiondevel
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: thrift
Source: https://www.apache.org/dist/thrift

Files: *
Copyright: Copyright 2006- Apache Software Foundation
License: Apache-2.0

Files: aclocal/ax_boost_base.m4 aclocal/ax_check_openssl.m4 aclocal/ax_compare_version.m4 aclocal/ax_cxx_compile_stdcxx_11.m4 aclocal/ax_cxx_compile_stdcxx.m4 aclocal/ax_dmd.m4 aclocal/ax_javac_and_java.m4 aclocal/ax_lib_event.m4 aclocal/ax_lib_zlib.m4 aclocal/ax_prog_dotnetcore_version.m4 aclocal/ax_prog_haxe_version.m4 aclocal/ax_prog_perl_modules.m4 aclocal/ax_signed_right_shift.m4 aclocal/ax_thrift_internal.m4 contrib/fb303/acinclude.m4 contrib/fb303/aclocal/ax_boost_base.m4 contrib/fb303/aclocal/ax_cxx_compile_stdcxx_11.m4 contrib/fb303/aclocal/ax_javac_and_java.m4 contrib/fb303/aclocal/ax_thrift_internal.m4
Copyright: 2008 Benjamin Kosnik <bkoz@redhat.com>,
 2008 Tim Toolan <toolan@ele.uri.edu>,
 2008 Thomas Porschberg <thomas@randspringer.de>,
 2009 David Reiss,
 2009 Dean Povey <povey@wedgetail.com>,
 2009 Facebook,
 2009 Peter Adolphs,
 2009,2010 Zmanda Inc. <http://www.zmanda.com/>,
 2009,2010 Dustin J. Mitchell <dustin@zmanda.com>,
 2009,2010 Zmanda Inc. <http://www.zmanda.com/>,
 2011 David Nadlinger,
 2012 Zack Weinberg <zackw@panix.com>,
 2013 Roy Stogner <roystgnr@ices.utexas.edu>,
 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>,
 2015 Jens Geyer <jensg@apache.org>,
 2015 Moritz Klammler <moritz@klammler.eu>,
 2015 Paul Norman <penorman@mac.com>,
 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
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.

Files: aclocal/ax_lua.m4
Copyright: 2014 Tim Perkins <tprk77@gmail.com>,
 2015 Reuben Thomas <rrt@sc3d.org>
License: GPL3+-with-Autoconf-Macros-exception
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 .
 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 General Public License for more details.
 .
 You should have received a copy of the GNU General Public License version 3
 along with this program; if not, see <https://www.gnu.org/licenses/>.
 .
 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 GNU Autoconf Macro 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.
 .
 On Debian systems, the full text of the GNU General Public License version 3
 can be found in the file `/usr/share/common-licenses/GPL-3'.

Files: aclocal/lt~obsolete.m4 aclocal/ltoptions.m4 aclocal/ltsugar.m4 aclocal/ltversion.m4 aclocal/tar.m4
Copyright: 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, Inc.
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.

Files: aclocal.m4 aclocal/libtool.m4
Copyright: 1996-2001, 2003-2015 Free Software Foundation, Inc.,
 2004 Scott James Remnant <scott@netsplit.com>,
 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
License: FSFULLR and/or GPL-2+ with Libtool exception
 GNU Libtool is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the Free
 Software Foundation; either version 2 of the License, or (at your option)
 any later version.
 .
 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.
 .
 GNU Libtool is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License version 2
 along with this program.  If not, see <http://www.gnu.org/licenses/>.

Files: configure
Copyright: 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, Inc.
License: FSFUL
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.

Files: install-sh
Copyright: 1994 X Consortium
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 CONNECTION
 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 dealings in
 this Software without prior written authorization from the X Consortium.

Files: ltmain.sh
Copyright: 1996-2015 Free Software Foundation, Inc.
License: GPL-2+ with Libtool exception
 GNU Libtool is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the Free
 Software Foundation; either version 2 of the License, or (at your option)
 any later version.
 .
 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.
 .
 GNU Libtool is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License version 2
 along with this program.  If not, see <http://www.gnu.org/licenses/>.

Files: compiler/cpp/tests/catch/catch.hpp
Copyright: 2012 Two Blue Cubes Ltd.
License: BSL-1.0
 Boost Software License - Version 1.0 - August 17th, 2003
 .
 Permission is hereby granted, free of charge, to any person or organization
 obtaining a copy of the software and accompanying documentation covered by
 this license (the "Software") to use, reproduce, display, distribute,
 execute, and transmit the Software, and to prepare derivative works of the
 Software, and to permit third-parties to whom the Software is furnished to
 do so, all subject to the following:
 .
 The copyright notices in the Software and this entire statement, including
 the above license grant, this restriction and the following disclaimer,
 must be included in all copies of the Software, in whole or in part, and
 all derivative works of the Software, unless such copies or derivative
 works are solely in the form of machine-executable object code generated by
 a source language processor.
 .
 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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 DEALINGS IN THE SOFTWARE.

Files: build/cmake/FindGLIB.cmake
Copyright: Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
License: BSD-2-Clause
 All rights reserved.
 .
 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 COPYRIGHT HOLDERS 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 COPYRIGHT
 OWNER 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.

Files: compiler/cpp/src/thrift/generate/t_cl_generator.cc
Copyright: 2006- Facebook,
 2006- Apache Software Foundation,
 2008- Patrick Collison <patrick@collison.ie>
License: Apache-2.0

Files: compiler/cpp/src/thrift/generate/t_html_generator.h
Copyright: 2012 Twitter, Inc.
License: Apache-2.0

Files: compiler/cpp/src/thrift/thrifty.cc compiler/cpp/src/thrift/thrifty.hh
Copyright: Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, Inc.
License: GPL-3+ with Bison-2.2 exception
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License version 3
 along with this program.  If not, see <https://www.gnu.org/licenses/>.
 .
 As a special exception, you may create a larger work that contains
 part or all of the Bison parser skeleton and distribute that work
 under terms of your choice, so long as that work isn't itself a
 parser generator using the skeleton or a modified version thereof
 as a parser skeleton.  Alternatively, if you modify or redistribute
 the parser skeleton itself, you may (at your option) remove this
 special exception, which will cause the skeleton and the resulting
 Bison output files to be licensed under the GNU General Public
 License without this special exception.

Files: lib/php/src/ext/thrift_protocol/config.m4
Copyright: 2009 Facebook
License: Apache-2.0 or FSFAP

Files: lib/py/compat/win32/stdint.h
Copyright: 2006-2008 Alexander Chemeris
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:
 .
 * Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
 .
 * 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.
 .
 * Neither the name of Kitware, Inc. nor the names of Contributors
   may be used to endorse or promote products derived from this
   software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT
 HOLDER 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.

Files: debian/*
Copyright: Copyright 2012-2014 Eric Evans <eevans@debian.org>,
           Copyright 2014-     Laszlo Boszormenyi (GCS) <gcs@debian.org>
License: GPL-2+

License: GPL-2+
 This program is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the Free
 Software Foundation; either version 2 of the License, or (at your option)
 any later version.
 .
 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 .
 You should have received a copy of the GNU General Public License version 2
 along with this program. If not, see <https://www.gnu.org/licenses/>.
 .
 On Debian systems, the full text of the GNU General Public License version 2
 can be found in the file `/usr/share/common-licenses/GPL-2'.

License: GPL-3+
 This program is free software: you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the Free
 Software Foundation, either version 3 of the License, or (at your option)
 any later version.
 .
 This package is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License version 3
 along with this program. If not, see <https://www.gnu.org/licenses/>.
 .
 On Debian systems, the full text of the GNU General Public License
 version 3 can be found in the file `/usr/share/common-licenses/GPL-3'.

License: Apache-2.0
 Licensed to the Apache Software Foundation (ASF) under one or more contributor
 license agreements. The ASF licenses this work to You under the Apache License,
 Version 2.0 (the "License"); you may not use this work except in compliance
 with the License.  You may obtain a copy of the License at
 .
 https://www.apache.org/licenses/LICENSE-2.0
 .
 On Debian systems, the complete text of the Apache License Version 2.0
 can be found in the file '/usr/share/common-licenses/Apache-2.0'.

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.

DFSG Assistant LLM REVIEW 2 blocker, 2 important, 4 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 0 hours ago.

Report◂

DFSG NEW review for thrift version 0.25.0-1

Summary

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

Licensing

Every file in the tree is under a DFSG-free licence (Apache-2.0, GPL-2+/GPL-3+ with Libtool, Autoconf or Bison exceptions, FSFAP/FSFUL/FSFULLR, X11, BSD-2/3-Clause, BSL-1.0, public domain, and Nathan Myers' permissive notice), and no non-free terms were found. debian/copyright is DEP-5 with the current Format and its stanzas for aclocal, libtool, configure, catch, FindGLIB, stdint, thrifty and debian/* are accurate, but it does not describe several third-party files: Myers' copyright and licence for lib/cpp/src/thrift/windows/SocketPair.cpp (also reproduced in LICENSE and lib/rs/LICENSE) is missing, and the catch-all Files: * stanza attributes the FSF's autotools scripts and the public-domain json_parse.js and sha256.h to the ASF under Apache-2.0 alone.

Packaging

The package is mature and mostly well made: debhelper compat 13, Multi-Arch library packages, a correct t64 transition for libthrift-c-glib0t64, DEP-3 patches, a current Standards-Version and one patched test-disabling set that is kept out of the binaries. But php-thrift installs its extension ini into /etc/php/8.1/mods-available while php-dev in the archive is 8.4/8.6, so the module cannot be enabled, and the two C/C++ -dev packages do not depend on the -dev packages whose headers their installed headers and pkg-config files require. There is also cruft: a no-op autopkgtest, install/doc files for three packages no longer built, an unused dh-golang Build-Depends and incomplete DEP-3 headers.

Issues

blocker licensing 1. debian/copyright omits Nathan C. Myers' copyright and licence notice for lib/cpp/src/thrift/windows/SocketPair.cpp ◂
  • Files: debian/copyright:5-7, lib/cpp/src/thrift/windows/SocketPair.cpp:1-9, LICENSE:233-243, lib/rs/LICENSE:233-243
  • Basis: checked, in the package or with a reference tool
  • Evidence: The file says Copyright 2007 by Nathan C. Myers <ncm@cantrip.org>; some rights reserved. and This code is Free Software. It may be copied freely, in original or modified form, subject only to the restrictions that (1) the author is relieved from all responsibilities for any use for any purpose, and (2) this copyright notice must be retained, unchanged, in its entirety. The only stanza matching the path is Files: * with Copyright: Copyright 2006- Apache Software Foundation and License: Apache-2.0; grep finds no Myers anywhere in debian/copyright. Upstream's LICENSE lists this file separately under For lib/cpp/src/thrift/windows/SocketPair.cpp, and lib/rs/LICENSE repeats it.
  • Problem: debian/copyright states that the file is ASF copyright under Apache-2.0, which contradicts the notice in the file and upstream's own LICENSE; the holder and the licence terms are not recorded. copyright-format 5.2 requires the copyright and licence of the files, and copyright-format 6.7 requires the licence text or a pointer to /usr/share/common-licenses: this licence is not in common-licenses, so its notice must be reproduced. prescan's author check flagged the holder.
  • Fix: Add a Files stanza for lib/cpp/src/thrift/windows/SocketPair.cpp (and cover LICENSE and lib/rs/LICENSE, which carry the same text) naming 2007 Nathan C. Myers <ncm@cantrip.org> with a stand-alone License stanza holding the full notice, keeping Apache-2.0 for the ASF-authored part of the file.
blocker licensing 2. Files: * gives the ASF and Apache-2.0 for the FSF's autotools scripts and the public-domain json_parse.js and sha256.h ◂
  • Files: debian/copyright:5-7, config.guess:3,7-23, config.sub:3,7-23, compile:6,9-24, depcomp:6,9-21, missing:6,9-20, ylwrap:6,9-22, lib/nodejs/lib/thrift/json_parse.js:1-11, compiler/cpp/src/thrift/generate/sha256.h:10-17
  • Basis: checked, in the package or with a reference tool
  • Evidence: config.guess and config.sub: # Copyright 1992-2022 Free Software Foundation, Inc. with either version 3 of the License, or (at your option) any later version and the Autoconf exception; compile, depcomp, missing and ylwrap: # Copyright (C) 1999-2021 Free Software Foundation, Inc. with either version 2, or (at your option) any later version and the Autoconf exception. json_parse.js: * Public Domain. (Douglas Crockford, named in LICENSE:230); sha256.h: Public domain — no copyright claimed by the author (Brad Conte, named in LICENSE:306). None of these paths is named in any Files stanza, so only Files: * matches, claiming ASF copyright and Apache-2.0; grep finds no Crockford or Conte in debian/copyright.
  • Problem: For these files debian/copyright misstates both the holder and the licence: the FSF holds the copyright in the six autotools scripts and licenses them GPL-2+/GPL-3+ with the Autoconf exception (that exception allows distribution under the project's terms, but the FSF copyright and the licence terms still have to be recorded), and the two source files are public domain. copyright-format 5.2 requires the copyright and licence per file. The same misdescription applies to the FSFULLR preamble of every automake-generated Makefile.in (# Copyright (C) 1994-2021 Free Software Foundation, Inc.).
  • Fix: Add Files stanzas: config.guess config.sub with 1992-2022 Free Software Foundation, Inc. and GPL-3+ with the Autoconf exception; compile depcomp missing ylwrap with 1999-2021 Free Software Foundation, Inc. and GPL-2+ with the Autoconf exception (include the exception text, and point to /usr/share/common-licenses/GPL-3 or GPL-2); and public-domain stanzas for lib/nodejs/lib/thrift/json_parse.js (2015 Douglas Crockford) and compiler/cpp/src/thrift/generate/sha256.h (Brad Conte). Consider covering *Makefile.in for the FSFULLR preamble.
important packaging 3. php-thrift installs its ini into /etc/php/8.1/mods-available, a PHP version absent from the archive ◂
  • Files: debian/php-thrift.install:1, debian/control:144-151
  • Basis: checked, in the package or with a reference tool
  • Evidence: etc/php.d/thrift_protocol.ini /etc/php/8.1/mods-available/. Build-Depends has php-dev, which is 2:8.4+101 in unstable and 2:8.6+102~ in experimental; apt-cache has no php8.1-dev. Conflicts: php7.0-thrift, php7.2-thrift and the matching Replaces are from the same era. No maintainer script in debian/ runs phpenmod.
  • Problem: The extension is compiled by phpize against the PHP pulled in by php-dev (8.4/8.6), but its ini is placed under /etc/php/8.1/mods-available, which no PHP version in unstable or experimental reads. Debian PHP only enables a module through a symlink in /etc/php//*/conf.d, and nothing here creates one, so php-thrift's extension is not available to the PHP it was built for. The php7.0/php7.2 Conflicts/Replaces are equally stale.
  • Fix: Let pkg-php-tools/dh_php handle the ini (a debian/php-thrift.php.ini entry plus the dh_php sequence creates the mods-available file and the phpenmod link for the built PHP), or at least install it under the version corresponding to php-dev rather than a hardcoded 8.1, and drop the php7.0/php7.2 Conflicts and Replaces.
important packaging 4. libthrift-c-glib-dev and libthrift-dev lack dependencies on the -dev packages their installed headers and pkg-config files require ◂
  • Files: debian/control:80, debian/control:49, lib/c_glib/thrift_c_glib.pc.in:28, lib/c_glib/src/thrift/c_glib/processor/thrift_processor.h:23, lib/cpp/src/thrift/transport/TSSLSocket.h:27, lib/cpp/src/thrift/server/TNonblockingServer.h:44, lib/cpp/src/thrift/transport/TZlibTransport.h:26
  • Basis: inferred from what was read, not seen directly
  • Evidence: libthrift-c-glib-dev: Depends: libthrift-c-glib0t64 (= ${binary:Version}), ${misc:Depends}, pkgconf; its installed pc file has Requires: glib-2.0 gobject-2.0, and every installed header does #include <glib-object.h>. libthrift-dev: Depends: libthrift-0.25.0 (= ${binary:Version}), ${misc:Depends}, pkgconf, while its installed headers include <openssl/ssl.h>, <event.h> and <zlib.h>.
  • Problem: Installing libthrift-c-glib-dev pulls in no glib development files, so pkg-config --cflags thrift_c_glib fails and any source including thrift/c_glib fails on glib-object.h; likewise a program including the installed TLS, async or zlib headers needs libssl-dev, libevent-dev and zlib1g-dev, and static linking against the shipped .a files needs those libraries. Policy 8.4 requires that installing the development package provide the files necessary to compile against the library.
  • Fix: Add libglib2.0-dev to libthrift-c-glib-dev, and libssl-dev, libevent-dev, zlib1g-dev to libthrift-dev (or split them consistently with the headers shipped).
minor packaging 5. The only autopkgtest only echoes that the package is installed ◂
  • Files: debian/tests/control:1-2, debian/tests/install-php-thrift:1-4
  • Basis: checked, in the package or with a reference tool
  • Evidence: Tests: install-php-thrift / Depends: php-thrift; the script is #!/bin/sh -e followed by echo php-thrift is installed.
  • Problem: No functional test runs: nothing loads the PHP extension or the Python, Perl or Go bindings, so the test cannot catch the stale php ini path above or a broken install. The changelog presents this as the package's autopkgtest.
  • Fix: Make it exercise the installed packages, for example enable the module and check php -m/a thrift_protocol call, import thrift in python3, and run thrift --version.
minor packaging 6. debian/ keeps install and doc files for binary packages that are no longer built (libthrift0, thrift-doc, libthrift-java-doc) ◂
  • Files: debian/libthrift0.install:1-5, debian/thrift-doc.install:1, debian/thrift-doc.docs:1, debian/libthrift-java-doc.install:1, debian/libthrift-java-doc.doc-base:1-7, debian/dirs:1-2
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/control defines no libthrift0, thrift-doc or libthrift-java-doc package. debian/thrift-doc.docs contains only #DOCS#, debian/libthrift-java-doc.install only debian/_jh_build.javadoc/api/*, debian/libthrift0.install old usr/lib/libthrift.so* patterns, and debian/dirs lists usr/bin and usr/sbin.
  • Problem: These are dead packaging files; the #DOCS# placeholder is an unexpanded template and the install lists describe paths no current build produces, which misleads anyone touching the packaging.
  • Fix: Delete the obsolete install/docs/doc-base files and debian/dirs, and the corresponding commented-out package stanzas if the bindings are not coming back.
minor packaging 7. Build-Depends dh-golang is never used ◂
  • Files: debian/control:6, debian/rules:145
  • Basis: checked, in the package or with a reference tool
  • Evidence: Build-Depends: ... dh-golang ..., but rules ends with dh $@ --with python3,ruby,phpcomposer and never calls dh_golang or loads the golang sequence; golang-thrift-dev is populated by debian/golang-thrift-dev.install copying lib/go/thrift.
  • Problem: The dependency is unnecessary and hides that the Go source is installed by a plain dh_install copy; it is the only addon package whose command is never used.
  • Fix: Drop dh-golang from Build-Depends, or add --with golang and use dh_golang if the maintainer wants its handling.
minor packaging 8. Seven patches have no Forwarded field and disable_perl_ssl_testing.patch has an invalid no|not-needed value ◂
  • Files: debian/patches/disable_perl_ssl_testing.patch:11, debian/patches/disable_failing_tests.patch:1-6, debian/patches/disable_php_testing.patch:1-5, debian/patches/go_test_fail_on_busy_machine.patch:1-5, debian/patches/no_bundler_use.patch:1-6, debian/patches/no_go_race.patch:1-5, debian/patches/no_shmem.patch:1-5, debian/patches/remove_overrides.patch:1-4
  • Basis: checked, in the package or with a reference tool
  • Evidence: Forwarded: no|not-needed; the other seven patches have Description/Author/Last-Update but no Forwarded line at all.
  • Problem: DEP-3 permits Forwarded: to be yes, no, not-needed or a URL; the combined value is not one of them, and without the field the upstream status of most patches is unknown.
  • Fix: Set a single value (Forwarded: no or not-needed, or the URL if forwarded) in each patch.
Verified ◂
  • Licence evidence was gathered by grepping the whole tree for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, Redistribution and use, GNU ... General Public, public domain and All rights reserved, and by reading every LICENSE/NOTICE (LICENSE, NOTICE, lib/rs/LICENSE, lib/rs/NOTICE, lib/dart/LICENSE, contrib/fb303/LICENSE); not all 3081 files were read line by line. .pc/ was ignored as instructed; debian/cargo-checksum.json is absent.
  • debian/copyright is DEP-5 with the current Format and accurate stanzas for aclocal/ax_* (FSFAP), aclocal/ax_lua.m4 (GPL-3+ Autoconf exception), aclocal.m4/libtool.m4 (FSFULLR and/or GPL-2+ Libtool exception), aclocal/lt*.m4 and tar.m4 (FSFULLR), configure (FSFUL), install-sh (X11), ltmain.sh (GPL-2+ Libtool exception), compiler/cpp/tests/catch/catch.hpp (BSL-1.0), build/cmake/FindGLIB.cmake (BSD-2-Clause), thrifty.cc/thrifty.hh (GPL-3+ Bison exception), lib/php/src/ext/thrift_protocol/config.m4 (Apache-2.0 or FSFAP), lib/py/compat/win32/stdint.h (BSD-3-Clause) and debian/* (GPL-2+); all listed paths exist.
  • All 20 aclocal/*.m4 copyright lines were compared with their stanzas: Thomas Porschberg, Peter Adolphs, Zmanda Inc., Dustin Mitchell, Tim Toolan, Benjamin Kosnik, Zack Weinberg, Roy Stogner, Google Inc./Alexey Sokolov, Paul Norman, Moritz Klammler, Krzesimir Nowak, David Reiss, David Nadlinger, Jens Geyer, Dean Povey, Tim Perkins and Reuben Thomas are all named.
  • No non-free terms: grep for non-commercial/NonCommercial/NoDerivatives/Commons Clause/'Good, not Evil'/field-of-use-restrictions found nothing. The only 'educational purposes' wording is in contrib/Rebus/README.md and contrib/zeromq/README.md, which describe deprecated code as left 'as is' for educational purposes - not licence terms.
  • AGENTS.md:14 mentions CC-BY-NC only in the project's rule for which third-party licences an AI contribution may use; it is not a licence of the file, which is Apache-2.0 under Files: *.
  • The two tutorial/delphi/*.dpr files flagged as 'possibly named' carry Copyright (C) 2012 The Apache Software Foundation'} (a stray quote in the source); the holder is the ASF and is covered by Files: *.
  • lib/d/src/base.o is a 260 KB ELF object shipped in the upstream tarball: no Debian patch or build rule references it, and the D runtime sources it belongs to are present in lib/d/src/thrift/ (including base.d). It is stale build debris, not source-less code.
  • The scan's binary files are test/build fixtures, not built code: lib/delphi/test/serializer/SerializerData.res, lib/java/src/crossTest/resources/.clientkeystore, .serverkeystore and .truststore, lib/netstd/Thrift/thrift.snk (a .NET strong-name key), lib/nodejs/test/test_header_payload, test/keys/client.p12 and server.p12, and tutorial/netstd/Client/ThriftTest.pfx and tutorial/netstd/Server/ThriftTest.pfx.
  • Generated code has its input in the package: compiler/cpp/src/thrift/thriftl.cc comes from thriftl.ll and thrifty.cc/thrifty.hh from thrifty.yy, both present; no PDFs, fonts, sounds or minified code were found, and doc/images/*.png are project diagrams.
  • lib/js/test/phantom-client.js, test.js, test-async.js and test-es6.js, overridden as source-is-missing in debian/source/lintian-overrides, are readable Apache-2.0 source (so the overrides are stale, not hiding minified code).
  • Packaging was checked against control, rules, changelog, source/format, the install/docs/manpages/examples/dirs files, tests/, patches/series and every patch, the shlibs file and the lintian overrides. Standards-Version 4.7.2 compared with Policy 4.7.4.1: the first two components agree, so it is not an issue.
  • The t64 transition of libthrift-c-glib0t64 (Provides ${t64:Provides}, Replaces libthrift-c-glib0, Breaks libthrift-c-glib0 << ${source:Version}) and the Multi-Arch fields of the library packages are consistent.
  • uscan found the packaged version as the newest upstream release (upstream 0.25.0, packaged 0.25.0).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (Apache-2.0, GPL-2, GPL-3).
Not confirmed ◂
  • Whether debian/libthrift-0.25.0.shlibs matches the soname libtool produces: the file writes libthrift 0.25.0 libthrift-0.25.0 (...), i.e. soname libthrift.so.0.25.0, while -release $(VERSION) in lib/cpp/Makefile.am:35 and the libthrift-*.so/libthrift.so install patterns suggest a soname of libthrift-0.25.0.so. A build log (dh_makeshlibs/dpkg-shlibdeps) would show whether consumers get a generated dependency; if the entries do not match, they do not.
Proposed changes ◂

None.

Uploader's response to the LLM review

Waiting for the uploader's response until , because the review found serious issues.

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
0.24.0-1 8a502788… 2026-08-08 16:30 2026-08-08 16:33 mechtilde accepted VIEW
0.23.0-1 148779b3… 2026-05-02 14:17 2026-05-02 14:26 mechtilde rejected VIEW
0.23.0-1 dd628534… 2026-05-03 11:43 2026-05-03 12:29 mechtilde accepted VIEW

Back to Dashboard | View all reviews for this package