Move checking code for BlacklistedRange to the right place in sqlite (#29389)

This commit is contained in:
nikthechampiongr
2024-07-04 19:02:53 +00:00
committed by GitHub
parent bc7c121713
commit 8e05e1cfed

View File

@@ -131,6 +131,10 @@ namespace Content.Server.Database
if (exemptFlags is { } exempt) if (exemptFlags is { } exempt)
{ {
// Any flag to bypass BlacklistedRange bans.
if (exempt != ServerBanExemptFlags.None)
exempt |= ServerBanExemptFlags.BlacklistedRange;
query = query.Where(b => (b.ExemptFlags & exempt) == 0); query = query.Where(b => (b.ExemptFlags & exempt) == 0);
} }
@@ -144,15 +148,12 @@ namespace Content.Server.Database
ServerBanExemptFlags? exemptFlags, ServerBanExemptFlags? exemptFlags,
bool newPlayer) bool newPlayer)
{ {
// Any flag to bypass BlacklistedRange bans.
var exemptFromBlacklistedRange = exemptFlags != null && exemptFlags.Value != ServerBanExemptFlags.None;
if (!exemptFlags.GetValueOrDefault(ServerBanExemptFlags.None).HasFlag(ServerBanExemptFlags.IP) if (!exemptFlags.GetValueOrDefault(ServerBanExemptFlags.None).HasFlag(ServerBanExemptFlags.IP)
&& address != null && address != null
&& ban.Address is not null && ban.Address is not null
&& address.IsInSubnet(ban.Address.ToTuple().Value) && address.IsInSubnet(ban.Address.ToTuple().Value)
&& (!ban.ExemptFlags.HasFlag(ServerBanExemptFlags.BlacklistedRange) || && (!ban.ExemptFlags.HasFlag(ServerBanExemptFlags.BlacklistedRange) ||
newPlayer && !exemptFromBlacklistedRange)) newPlayer))
{ {
return true; return true;
} }