aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs26
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs1
2 files changed, 16 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index e6de0b6..50105a6 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -283,18 +283,22 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
283// s.RegionInfo.RegionName, destination.RegionHandle); 283// s.RegionInfo.RegionName, destination.RegionHandle);
284 uint size = m_scenes[destination.RegionID].RegionInfo.RegionSizeX; 284 uint size = m_scenes[destination.RegionID].RegionInfo.RegionSizeX;
285 285
286 float theirVersionNumber = 0f; 286 if (theirversion != null)
287 string[] versionComponents = theirversion.Split(new char[] { '/' });
288 if (versionComponents.Length >= 2)
289 float.TryParse(versionComponents[1], out theirVersionNumber);
290
291 // Var regions here, and the requesting simulator is in an older version.
292 // We will forbide this, because it crashes the viewers
293 if (theirVersionNumber < 0.3f && size > 256)
294 { 287 {
295 reason = "Destination is a variable-sized region, and source is an old simulator. Consider upgrading."; 288 float theirVersionNumber = 0f;
296 m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Request to access this variable-sized region from {0} simulator was denied", theirVersionNumber); 289 string[] versionComponents = theirversion.Split(new char[] { '/' });
297 return false; 290 if (versionComponents.Length >= 2)
291 float.TryParse(versionComponents[1], out theirVersionNumber);
292
293 // Var regions here, and the requesting simulator is in an older version.
294 // We will forbide this, because it crashes the viewers
295 if (theirVersionNumber < 0.3f && size > 256)
296 {
297 reason = "Destination is a variable-sized region, and source is an old simulator. Consider upgrading.";
298 m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Request to access this variable-sized region from {0} simulator was denied", theirVersionNumber);
299 return false;
300
301 }
298 } 302 }
299 303
300 return m_scenes[destination.RegionID].QueryAccess(agentID, agentHomeURI, viaTeleport, position, out reason); 304 return m_scenes[destination.RegionID].QueryAccess(agentID, agentHomeURI, viaTeleport, position, out reason);
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 27929c6..4bbe68b 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -5514,6 +5514,7 @@ namespace OpenSim.Region.Framework.Scenes
5514 5514
5515 int num = m_sceneGraph.GetRootAgentCount(); 5515 int num = m_sceneGraph.GetRootAgentCount();
5516 5516
5517 Console.WriteLine("{0} {1}", num, RegionInfo.RegionSettings.AgentLimit);
5517 if (num >= RegionInfo.RegionSettings.AgentLimit) 5518 if (num >= RegionInfo.RegionSettings.AgentLimit)
5518 { 5519 {
5519 if (!Permissions.IsAdministrator(agentID)) 5520 if (!Permissions.IsAdministrator(agentID))