From 2faf9051676157295108576bbd93ced29dd4fb2a Mon Sep 17 00:00:00 2001 From: Felix Becker Date: Sun, 3 Nov 2019 23:37:35 +0100 Subject: [PATCH] Try to fix channel limit override by subchan delete Try to remove the ability to join a full channel by creating a temporary sub channel then joining it and removing it (discovered by @Natenom). Check isChannelFull in addition to existing hasPermissions ChanACL::Enter check. --- src/murmur/Server.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/murmur/Server.cpp b/src/murmur/Server.cpp index 15037c5c5..39f5bbe9c 100644 --- a/src/murmur/Server.cpp +++ b/src/murmur/Server.cpp @@ -1626,7 +1626,7 @@ void Server::removeChannel(Channel *chan, Channel *dest) { } Channel *target = dest; - while (target->cParent && ! hasPermission(static_cast(p), target, ChanACL::Enter)) + while (target->cParent && (! hasPermission(static_cast(p), target, ChanACL::Enter) || isChannelFull(target, static_cast(p)))) target = target->cParent; MumbleProto::UserState mpus;