Skip to content

Commit

Permalink
Move checking code for BlacklistedRange to the right place in sqlite (s…
Browse files Browse the repository at this point in the history
  • Loading branch information
nikthechampiongr committed Jul 4, 2024
1 parent bc7c121 commit 8e05e1c
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions Content.Server/Database/ServerDbSqlite.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@ private static async Task<List<ServerBan>> GetAllBans(

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);
}

Expand All @@ -144,15 +148,12 @@ private static bool BanMatches(ServerBan ban,
ServerBanExemptFlags? exemptFlags,
bool newPlayer)
{
// Any flag to bypass BlacklistedRange bans.
var exemptFromBlacklistedRange = exemptFlags != null && exemptFlags.Value != ServerBanExemptFlags.None;

if (!exemptFlags.GetValueOrDefault(ServerBanExemptFlags.None).HasFlag(ServerBanExemptFlags.IP)
&& address != null
&& ban.Address is not null
&& address.IsInSubnet(ban.Address.ToTuple().Value)
&& (!ban.ExemptFlags.HasFlag(ServerBanExemptFlags.BlacklistedRange) ||
newPlayer && !exemptFromBlacklistedRange))
newPlayer))
{
return true;
}
Expand Down

0 comments on commit 8e05e1c

Please sign in to comment.