From dfa90fc173d7cefe1166d5a59cf222c221b6023e Mon Sep 17 00:00:00 2001 From: Robert Adam Date: Sat, 4 Jan 2020 11:49:07 +0100 Subject: [PATCH] src/mumble/Messages.cpp: Include hint that adding access tokens might grant enter rights to the channel, in the permission denied message, if the denied permission is ENTER and the channel has (to the client's knowledge) enter restrictions --- src/mumble/Messages.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/mumble/Messages.cpp b/src/mumble/Messages.cpp index a132f8454..f6ff8ff0b 100644 --- a/src/mumble/Messages.cpp +++ b/src/mumble/Messages.cpp @@ -214,11 +214,17 @@ void MainWindow::msgPermissionDenied(const MumbleProto::PermissionDenied &msg) { Channel *c = Channel::get(msg.channel_id()); if (! c) return; - QString pname = ChanACL::permName(static_cast(msg.permission())); - if (pDst == pSelf) - g.l->log(Log::PermissionDenied, tr("You were denied %1 privileges in %2.").arg(Log::msgColor(pname, Log::Privilege)).arg(Log::formatChannel(c))); - else - g.l->log(Log::PermissionDenied, tr("%3 was denied %1 privileges in %2.").arg(Log::msgColor(pname, Log::Privilege)).arg(Log::formatChannel(c)).arg(Log::formatClientUser(pDst, Log::Target))); + ChanACL::Permissions permission = static_cast(msg.permission()); + QString pname = ChanACL::permName(permission); + + if ((permission == ChanACL::Perm::Enter) && c->hasEnterRestrictions.load()) { + g.l->log(Log::PermissionDenied, tr("Unable to %1 into %2 - Adding the respective access (password) token might grant you access.").arg(Log::msgColor(pname, Log::Privilege)).arg(Log::formatChannel(c))); + } else { + if (pDst == pSelf) + g.l->log(Log::PermissionDenied, tr("You were denied %1 privileges in %2.").arg(Log::msgColor(pname, Log::Privilege)).arg(Log::formatChannel(c))); + else + g.l->log(Log::PermissionDenied, tr("%3 was denied %1 privileges in %2.").arg(Log::msgColor(pname, Log::Privilege)).arg(Log::formatChannel(c)).arg(Log::formatClientUser(pDst, Log::Target))); + } } break; case MumbleProto::PermissionDenied_DenyType_SuperUser: {