Files
ports/audio/mumble-server/files/patch-src_murmur_Server.cpp
T
Vladimir Druzenko 70bbcdc61d audio/mumble-server: Fix "Failed to set TOS for UDP Socket" for IPv6
<W>2025-12-29 23:37:57.715 1 => Server listening on [::]:64738
<W>2025-12-29 23:37:57.721 1 => Server: Failed to set TOS for UDP Socket

This prevents proper QoS from being set for IPv6.

Upstream issue: https://github.com/mumble-voip/mumble/issues/7088

While here pet portclippy.

PR:	292034
MFH:	2026Q1
2026-02-26 21:46:32 +03:00

19 lines
711 B
C++

--- src/murmur/Server.cpp.orig 2025-10-11 18:24:04 UTC
+++ src/murmur/Server.cpp
@@ -181,6 +181,15 @@ Server::Server(int snum, QObject *p) : QThread(p) {
} else {
#ifdef Q_OS_UNIX
int val = 0xe0;
+#ifdef __FreeBSD__
+ if (addr.ss_family == AF_INET6) {
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_TCLASS, &val, sizeof(val))) {
+ val = 0x80;
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_TCLASS, &val, sizeof(val)))
+ log(QString("Server: Failed to set IPV6_TCLASS for UDP Socket, errno = ").arg(errno));
+ }
+ } else
+#endif
if (setsockopt(sock, IPPROTO_IP, IP_TOS, &val, sizeof(val))) {
val = 0x80;
if (setsockopt(sock, IPPROTO_IP, IP_TOS, &val, sizeof(val)))