Hopefully prevent interactions between admins without AHelp access and AHelps. (#11041)

This commit is contained in:
20kdc
2022-09-05 16:50:52 +01:00
committed by GitHub
parent 55e234e087
commit 44945b6da6

View File

@@ -167,7 +167,8 @@ namespace Content.Server.Administration.Systems
// Confirm that this person is actually allowed to send a message here.
var personalChannel = senderSession.UserId == message.ChannelId;
var senderAdmin = _adminManager.GetAdminData(senderSession);
var authorized = personalChannel || senderAdmin != null;
var senderAHelpAdmin = senderAdmin?.HasFlag(AdminFlags.Adminhelp) ?? false;
var authorized = personalChannel || senderAHelpAdmin;
if (!authorized)
{
// Unauthorized bwoink (log?)
@@ -189,8 +190,10 @@ namespace Content.Server.Administration.Systems
LogBwoink(msg);
// Admins
var targets = _adminManager.ActiveAdmins.Select(p => p.ConnectedClient).ToList();
// Admins w/ AHelp access
var targets = _adminManager.ActiveAdmins
.Where(p => _adminManager.GetAdminData(p)?.HasFlag(AdminFlags.Adminhelp) ?? false)
.Select(p => p.ConnectedClient).ToList();
// And involved player
if (_playerManager.TryGetSessionById(message.ChannelId, out var session))