thrift 0.25.0-1
Package Information
| Description | Thrift 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. |
|---|---|
| Maintainer | Laszlo Boszormenyi (GCS) <gcs@debian.org> |
| Changed By | Laszlo Boszormenyi (GCS) <gcs@debian.org> |
| Sponsor | gcs@debian.org |
| Distribution | experimental |
| Architecture | any all |
| Closes | #1150191 |
| Popcon Installs | 3699 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/thrift |
| Uploaded | 1 hour ago |
New Package Report
.changes
| Architecture | source all amd64 |
|---|---|
| Distribution | experimental |
| Date | Thu, 05 Nov 2026 18:54:02 +0100 |
| Source | thrift |
| Version | 0.25.0-1 |
| Changed-By | Laszlo 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
| Priority | optional |
|---|---|
| Component | main |
| Package-List | golang-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 |
| Section | devel |
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/copyrightis 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.andThis 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 isFiles: *withCopyright: Copyright 2006- Apache Software FoundationandLicense: Apache-2.0; grep finds noMyersanywhere in debian/copyright. Upstream's LICENSE lists this file separately underFor 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.witheither version 3 of the License, or (at your option) any later versionand the Autoconf exception; compile, depcomp, missing and ylwrap:# Copyright (C) 1999-2021 Free Software Foundation, Inc.witheither version 2, or (at your option) any later versionand 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 noCrockfordorContein 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.subwith1992-2022 Free Software Foundation, Inc.and GPL-3+ with the Autoconf exception;compile depcomp missing ylwrapwith1999-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 forlib/nodejs/lib/thrift/json_parse.js(2015 Douglas Crockford) andcompiler/cpp/src/thrift/generate/sha256.h(Brad Conte). Consider covering*Makefile.infor 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 hasphp-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-thriftand 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.inientry 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 hasRequires: 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_glibfails 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-devto libthrift-c-glib-dev, andlibssl-dev, libevent-dev, zlib1g-devto 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 -efollowed byecho 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, importthriftin python3, and runthrift --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.docscontains only#DOCS#,debian/libthrift-java-doc.installonlydebian/_jh_build.javadoc/api/*,debian/libthrift0.installoldusr/lib/libthrift.so*patterns, and debian/dirs listsusr/binandusr/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 withdh $@ --with python3,ruby,phpcomposerand never calls dh_golang or loads the golang sequence; golang-thrift-dev is populated bydebian/golang-thrift-dev.installcopying 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 golangand 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: noornot-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 domainandAll 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-NConly 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, packaged0.25.0). - Every pointer of
debian/copyrightto /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 thelibthrift-*.so/libthrift.soinstall 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
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 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 |