git: 6a4027812c8b - 2026Q1 - audio/mumble-server: Fix "Failed to set TOS for UDP Socket" for IPv6
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 26 Feb 2026 18:48:22 UTC
The branch 2026Q1 has been updated by vvd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6a4027812c8bf3d4e4d7fbfb0105bfc94b7392bd
commit 6a4027812c8bf3d4e4d7fbfb0105bfc94b7392bd
Author: Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2026-02-26 18:31:32 +0000
Commit: Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-02-26 18:48:15 +0000
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
(cherry picked from commit 70bbcdc61d5678a4a5e9ef232ed6f2d4a3496c82)
---
audio/mumble-server/Makefile | 16 +++++++---------
audio/mumble-server/files/patch-src_murmur_Server.cpp | 18 ++++++++++++++++++
2 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/audio/mumble-server/Makefile b/audio/mumble-server/Makefile
index 24b8a35d2638..64d553b22231 100644
--- a/audio/mumble-server/Makefile
+++ b/audio/mumble-server/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mumble
DISTVERSION= 1.5.857
+PORTREVISION= 1
CATEGORIES= audio net
MASTER_SITES= https://github.com/${PORTNAME}-voip/${PORTNAME}/releases/download/v${DISTVERSION}/
PKGNAMESUFFIX= -server
@@ -53,23 +54,20 @@ MYSQL_USE= QT=sql-mysql:run
PGSQL_USE= QT=sql-pgsql:run
SQLITE_USE= QT=sql-sqlite3:run
-.include <bsd.port.pre.mk>
+do-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${MV} ${WRKSRC}/docs/additional-readmes/README.static.linux ${WRKSRC}
+ ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
post-install:
${REINPLACE_CMD} -e '\
s|database=.*|database=/var/db/mumble-server/mumble-server.sqlite| ; \
s|;pidfile=.*|pidfile=/var/run/mumble-server/mumble-server.pid| ; \
- s|;logfile=.*|logfile=/var/log/mumble-server/mumble-server.log| ; \
- s|;host=.*|host=0.0.0.0|' \
+ s|;logfile=.*|logfile=/var/log/mumble-server/mumble-server.log|' \
${STAGEDIR}${ETCDIR}/mumble-server.ini
${MV} ${STAGEDIR}${ETCDIR}/mumble-server.ini \
${STAGEDIR}${ETCDIR}/mumble-server.ini.sample
${RM} ${STAGEDIR}${PREFIX}/bin/mumble-server-user-wrapper \
${STAGEDIR}${PREFIX}/share/man/man1/mumble-server-user-wrapper.1
-do-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${MV} ${WRKSRC}/docs/additional-readmes/README.static.linux ${WRKSRC}
- ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/audio/mumble-server/files/patch-src_murmur_Server.cpp b/audio/mumble-server/files/patch-src_murmur_Server.cpp
new file mode 100644
index 000000000000..dafcfcf704cd
--- /dev/null
+++ b/audio/mumble-server/files/patch-src_murmur_Server.cpp
@@ -0,0 +1,18 @@
+--- 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)))