From 5439b072bcd280e55633ead004438e3d0f675f83 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 18 Aug 2021 18:09:57 +0100 Subject: [PATCH] MapAddServerConnector: do abort on severe error --- OpenSim/Server/Handlers/Map/MapAddServerConnector.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs index 51f78e89dc..b0ec993d15 100644 --- a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs +++ b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs @@ -137,13 +137,14 @@ namespace OpenSim.Server.Handlers.MapImage if (m_GridService != null) { IPAddress ipAddr = httpRequest.RemoteIPEndPoint.Address; - GridRegion r = m_GridService.GetRegionByPosition(UUID.Zero, (int)Util.RegionToWorldLoc((uint)x), (int)Util.RegionToWorldLoc((uint)y)); + GridRegion r = m_GridService.GetRegionByPosition(scopeID, (int)Util.RegionToWorldLoc((uint)x), (int)Util.RegionToWorldLoc((uint)y)); if (r != null) { if (r.ExternalEndPoint.Address.ToString() != ipAddr.ToString()) { m_log.WarnFormat("[MAP IMAGE HANDLER]: IP address {0} may be trying to impersonate region in IP {1}", ipAddr, r.ExternalEndPoint.Address); httpResponse.RawBuffer = Util.ResultFailureMessage("IP address of caller does not match IP address of registered region"); + return; } } else @@ -151,6 +152,7 @@ namespace OpenSim.Server.Handlers.MapImage m_log.WarnFormat("[MAP IMAGE HANDLER]: IP address {0} may be rogue. Region not found at coordinates {1}-{2}", ipAddr, x, y); httpResponse.RawBuffer = Util.ResultFailureMessage("Region not found at given coordinates"); + return; } }