From 01fb28e9980a4de80f165fc498e1690da8f60c6c Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sun, 9 Jun 2024 09:54:04 +1000 Subject: [PATCH] Heartbeat should link to AuthService directly instead of having a copy of the salt --- MCGalaxy/Network/Heartbeat/ClassiCube.cs | 2 +- MCGalaxy/Network/Heartbeat/Heartbeat.cs | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/MCGalaxy/Network/Heartbeat/ClassiCube.cs b/MCGalaxy/Network/Heartbeat/ClassiCube.cs index 73432ea33..6f852a0b4 100644 --- a/MCGalaxy/Network/Heartbeat/ClassiCube.cs +++ b/MCGalaxy/Network/Heartbeat/ClassiCube.cs @@ -60,7 +60,7 @@ protected override string GetHeartbeatData() { "&name=" + Uri.EscapeDataString(name) + "&public=" + Server.Config.Public + "&version=7" + - "&salt=" + Salt + + "&salt=" + Auth.Salt + "&users=" + PlayerInfo.NonHiddenUniqueIPCount() + "&software=" + Uri.EscapeDataString(Server.SoftwareNameVersioned) + "&web=" + Server.Config.WebClient; diff --git a/MCGalaxy/Network/Heartbeat/Heartbeat.cs b/MCGalaxy/Network/Heartbeat/Heartbeat.cs index 7e2ade58f..b6a4f56f2 100644 --- a/MCGalaxy/Network/Heartbeat/Heartbeat.cs +++ b/MCGalaxy/Network/Heartbeat/Heartbeat.cs @@ -38,8 +38,9 @@ public abstract class Heartbeat /// The URL this heartbeat is sent to Salt used for verifying player names - public string Salt = ""; + /// Authentication service potentially associated with the heartbeat + /// ClassiCube beats use the Salt of the service for name authentication + public AuthService Auth; public string GetHost() { try { @@ -130,7 +131,7 @@ internal static void ReloadDefault() { AuthService service = AuthService.GetOrCreate(url); Heartbeat beat = new ClassiCubeBeat() { URL = url }; - beat.Salt = service.Salt; // TODO: Just reference Service instead of copying salt? + beat.Auth = service; Register(beat); } }