Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mumble for openSUSE:Factory checked in at 2026-10-18 19:26:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mumble (Old) and /work/SRC/openSUSE:Factory/.mumble.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mumble" Sun Oct 18 19:26:17 2026 rev:18 rq:1385971 version:1.5.939 Changes: -------- --- /work/SRC/openSUSE:Factory/mumble/mumble.changes 2026-09-21 12:21:05.100938903 +0200 +++ /work/SRC/openSUSE:Factory/.mumble.new.3698736/mumble.changes 2026-10-18 19:27:00.696014973 +0200 @@ -1,0 +2,26 @@ +Sun Oct 18 06:14:21 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 1.5.939: + * Server hardening: reject plugin data from unauthenticated + clients, limit receivers in plugin data transmissions, drop + messages from rejected connections, harden authentication + against repeated attempts, and fix a potential deadlock + * Fix overly permissive CIDR ban matching for prefix lengths + that are not a multiple of 8 + * Client: honor "Force TCP Mode" for UDP pings, so voice + traffic is not routed back over UDP + * Server: use the full password alphabet when generating the + initial SuperUser password + * Client: unload libraries after a failed load; QoS (qWAVE) + delay-load, IPv6 and loopback fixes + * Fix build failure with newer compilers (missing <climits> + include for CHAR_BIT) + * Protocol: handle and propagate protobuf serialization failures + * Updated translations + * Spec cleanup: drop obsolete Group: tags, use pkgconfig() + build requirements + * Rebase mumble-unbundle-tracy.patch for the new upstream + sources (msgPluginDataTransmission gained hardening + guards upstream) + +------------------------------------------------------------------- Old: ---- mumble-1.5.915.obscpio New: ---- mumble-1.5.939.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mumble.spec ++++++ --- /var/tmp/diff_new_pack.xaXxzB/_old 2026-10-18 19:27:02.554092822 +0200 +++ /var/tmp/diff_new_pack.xaXxzB/_new 2026-10-18 19:27:02.555092864 +0200 @@ -26,7 +26,7 @@ %endif %bcond_without server Name: mumble -Version: 1.5.915 +Version: 1.5.939 Release: 0 Summary: Voice Communication Client for Gamers # Most files are BSD-3-Clause @@ -34,7 +34,6 @@ # 3rdparty/SPSCQueue: MIT # 3rdparty/flag-icons: MIT License: BSD-2-Clause AND BSD-3-Clause AND MIT -Group: Productivity/Multimedia/Sound/Utilities URL: https://www.mumble.info/ Source: %{name}-%{version}.tar.xz Source6: baselibs.conf @@ -87,14 +86,16 @@ BuildRequires: pkgconfig(libcap) %endif %if 0%{?suse_version} <= 1550 -BuildRequires: protobuf-devel +BuildRequires: pkgconfig(protobuf) +BuildRequires: pkgconfig(protobuf-lite) +BuildRequires: pkgconfig(utf8_range) %else BuildRequires: cmake(protobuf) %endif %if 0%{?suse_version} > 1600 BuildRequires: cmake(SndFile) %else -BuildRequires: libsndfile-devel +BuildRequires: pkgconfig(sndfile) %endif %ifarch x86_64 BuildRequires: gcc-c++-32bit @@ -115,7 +116,6 @@ %if %{with server} %package server Summary: Voice Communication Server for Gamers -Group: Productivity/Multimedia/Sound/Utilities Requires: lsb-release Recommends: libQt5Sql5-mysql Recommends: libQt5Sql5-postgresql ++++++ _service ++++++ --- /var/tmp/diff_new_pack.xaXxzB/_old 2026-10-18 19:27:02.586094163 +0200 +++ /var/tmp/diff_new_pack.xaXxzB/_new 2026-10-18 19:27:02.589094289 +0200 @@ -5,7 +5,7 @@ <param name="changesgenerate">enable</param> <param name="filename">mumble</param> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">v1.5.915</param> + <param name="revision">v1.5.939</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-replacement">\1</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.xaXxzB/_old 2026-10-18 19:27:02.609095127 +0200 +++ /var/tmp/diff_new_pack.xaXxzB/_new 2026-10-18 19:27:02.612095253 +0200 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/mumble-voip/mumble.git</param> - <param name="changesrevision">5fe5ec6e61b0c1cc414a8a8db548ec484eec6b90</param> + <param name="changesrevision">dfbac8d3d9c967003e74b4ffc5610f7d45e8f666</param> </service> </servicedata> (No newline at EOF) ++++++ mumble-1.5.915.obscpio -> mumble-1.5.939.obscpio ++++++ ++++ 5205 lines of diff (skipped) ++++++ mumble-unbundle-tracy.patch ++++++ --- /var/tmp/diff_new_pack.xaXxzB/_old 2026-10-18 19:27:04.868189779 +0200 +++ /var/tmp/diff_new_pack.xaXxzB/_new 2026-10-18 19:27:04.874190030 +0200 @@ -357,7 +357,7 @@ #define RATELIMIT(user) \ if (user->leakyBucket.ratelimit(1)) { \ return; \ -@@ -163,8 +161,6 @@ bool isChannelEnterRestricted(Channel *c +@@ -163,8 +161,6 @@ } void Server::msgAuthenticate(ServerUser *uSource, MumbleProto::Authenticate &msg) { @@ -366,7 +366,7 @@ if (uSource->sState == ServerUser::Authenticated && (msg.tokens_size() > 0 || !uSource->qslAccessTokens.empty())) { // Process a change in access tokens for already authenticated users QStringList qsl; -@@ -651,8 +647,6 @@ void Server::msgAuthenticate(ServerUser +@@ -661,8 +657,6 @@ } void Server::msgBanList(ServerUser *uSource, MumbleProto::BanList &msg) { @@ -375,7 +375,7 @@ MSG_SETUP(ServerUser::Authenticated); QSet< Ban > previousBans, newBans; -@@ -733,8 +727,6 @@ void Server::msgUDPTunnel(ServerUser *, +@@ -743,8 +737,6 @@ } void Server::msgUserState(ServerUser *uSource, MumbleProto::UserState &msg) { @@ -384,7 +384,7 @@ MSG_SETUP(ServerUser::Authenticated); VICTIM_SETUP; -@@ -1193,8 +1185,6 @@ void Server::msgUserState(ServerUser *uS +@@ -1203,8 +1195,6 @@ } void Server::msgUserRemove(ServerUser *uSource, MumbleProto::UserRemove &msg) { @@ -393,7 +393,7 @@ MSG_SETUP(ServerUser::Authenticated); VICTIM_SETUP; -@@ -1232,8 +1222,6 @@ void Server::msgUserRemove(ServerUser *u +@@ -1242,8 +1232,6 @@ } void Server::msgChannelState(ServerUser *uSource, MumbleProto::ChannelState &msg) { @@ -402,7 +402,7 @@ MSG_SETUP(ServerUser::Authenticated); Channel *c = nullptr; -@@ -1518,8 +1506,6 @@ void Server::msgChannelState(ServerUser +@@ -1528,8 +1516,6 @@ } void Server::msgChannelRemove(ServerUser *uSource, MumbleProto::ChannelRemove &msg) { @@ -411,7 +411,7 @@ MSG_SETUP(ServerUser::Authenticated); Channel *c = qhChannels.value(msg.channel_id()); -@@ -1537,8 +1523,6 @@ void Server::msgChannelRemove(ServerUser +@@ -1547,8 +1533,6 @@ } void Server::msgTextMessage(ServerUser *uSource, MumbleProto::TextMessage &msg) { @@ -420,7 +420,7 @@ MSG_SETUP(ServerUser::Authenticated); QMutexLocker qml(&qmCache); -@@ -1748,8 +1732,6 @@ void logACLs(Server *server, const Chann +@@ -1758,8 +1742,6 @@ void Server::msgACL(ServerUser *uSource, MumbleProto::ACL &msg) { @@ -429,7 +429,7 @@ MSG_SETUP(ServerUser::Authenticated); Channel *c = qhChannels.value(msg.channel_id()); -@@ -1968,8 +1950,6 @@ void Server::msgACL(ServerUser *uSource, +@@ -1978,8 +1960,6 @@ } void Server::msgQueryUsers(ServerUser *uSource, MumbleProto::QueryUsers &msg) { @@ -438,7 +438,7 @@ MSG_SETUP(ServerUser::Authenticated); // User needs Write permission on at least one channel in the tree -@@ -2010,8 +1990,6 @@ void Server::msgQueryUsers(ServerUser *u +@@ -2020,8 +2000,6 @@ } void Server::msgPing(ServerUser *uSource, MumbleProto::Ping &msg) { @@ -447,7 +447,7 @@ MSG_SETUP_NO_UNIDLE(ServerUser::Authenticated); QMutexLocker l(&uSource->qmCrypt); -@@ -2041,8 +2019,6 @@ void Server::msgPing(ServerUser *uSource +@@ -2051,8 +2029,6 @@ } void Server::msgCryptSetup(ServerUser *uSource, MumbleProto::CryptSetup &msg) { @@ -456,7 +456,7 @@ MSG_SETUP_NO_UNIDLE(ServerUser::Authenticated); QMutexLocker l(&uSource->qmCrypt); -@@ -2064,8 +2040,6 @@ void Server::msgContextActionModify(Serv +@@ -2074,8 +2050,6 @@ } void Server::msgContextAction(ServerUser *uSource, MumbleProto::ContextAction &msg) { @@ -465,7 +465,7 @@ MSG_SETUP(ServerUser::Authenticated); unsigned int session = msg.has_session() ? msg.session() : 0; -@@ -2092,8 +2066,6 @@ QString convertWithSizeRestriction(const +@@ -2102,8 +2076,6 @@ } void Server::msgVersion(ServerUser *uSource, MumbleProto::Version &msg) { @@ -474,7 +474,7 @@ RATELIMIT(uSource); uSource->m_version = MumbleProto::getVersion(msg); -@@ -2116,8 +2088,6 @@ void Server::msgVersion(ServerUser *uSou +@@ -2126,8 +2098,6 @@ } void Server::msgUserList(ServerUser *uSource, MumbleProto::UserList &msg) { @@ -483,7 +483,7 @@ MSG_SETUP(ServerUser::Authenticated); // The register permission is required on the root channel to be allowed to -@@ -2193,8 +2163,6 @@ void Server::msgUserList(ServerUser *uSo +@@ -2203,8 +2173,6 @@ } void Server::msgVoiceTarget(ServerUser *uSource, MumbleProto::VoiceTarget &msg) { @@ -492,7 +492,7 @@ MSG_SETUP_NO_UNIDLE(ServerUser::Authenticated); int target = static_cast< int >(msg.id()); -@@ -2242,8 +2210,6 @@ void Server::msgVoiceTarget(ServerUser * +@@ -2252,8 +2220,6 @@ } void Server::msgPermissionQuery(ServerUser *uSource, MumbleProto::PermissionQuery &msg) { @@ -501,7 +501,7 @@ MSG_SETUP_NO_UNIDLE(ServerUser::Authenticated); Channel *c = qhChannels.value(msg.channel_id()); -@@ -2257,8 +2223,6 @@ void Server::msgCodecVersion(ServerUser +@@ -2267,8 +2233,6 @@ } void Server::msgUserStats(ServerUser *uSource, MumbleProto::UserStats &msg) { @@ -510,7 +510,7 @@ MSG_SETUP_NO_UNIDLE(ServerUser::Authenticated); VICTIM_SETUP; const BandwidthRecord &bwr = pDstServerUser->bwr; -@@ -2346,8 +2310,6 @@ void Server::msgUserStats(ServerUser *uS +@@ -2356,8 +2320,6 @@ } void Server::msgRequestBlob(ServerUser *uSource, MumbleProto::RequestBlob &msg) { @@ -519,13 +519,13 @@ MSG_SETUP_NO_UNIDLE(ServerUser::Authenticated); int ntextures = msg.session_texture_size(); -@@ -2398,8 +2360,6 @@ void Server::msgSuggestConfig(ServerUser +@@ -2408,8 +2370,6 @@ } - void Server::msgPluginDataTransmission(ServerUser *sender, MumbleProto::PluginDataTransmission &msg) { + void Server::msgPluginDataTransmission(ServerUser *uSource, MumbleProto::PluginDataTransmission &msg) { - ZoneScoped; - - // A client's plugin has sent us a message that we shall delegate to its receivers + MSG_SETUP_NO_UNIDLE(ServerUser::Authenticated); - if (sender->m_pluginMessageBucket.ratelimit(1)) { + // A client's plugin has sent us a message that we shall delegate to its receivers ++++++ mumble.obsinfo ++++++ --- /var/tmp/diff_new_pack.xaXxzB/_old 2026-10-18 19:27:04.900191120 +0200 +++ /var/tmp/diff_new_pack.xaXxzB/_new 2026-10-18 19:27:04.904191287 +0200 @@ -1,5 +1,5 @@ name: mumble -version: 1.5.915 -mtime: 1784368551 -commit: 5fe5ec6e61b0c1cc414a8a8db548ec484eec6b90 +version: 1.5.939 +mtime: 1790961468 +commit: dfbac8d3d9c967003e74b4ffc5610f7d45e8f666
