diff options
author | Justin Clark-Casey (justincc) | 2014-07-21 23:53:33 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-07-21 23:53:33 +0100 |
commit | 3c6becd52495360b24b3760a30fb0e007f5a16a3 (patch) | |
tree | 51362e21c3ea699e948e19ee3ce4a37058d1c337 /OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation | |
parent | minor: Limit processor related stats to 3 decimal places instead of all the p... (diff) | |
download | opensim-SC_OLD-3c6becd52495360b24b3760a30fb0e007f5a16a3.zip opensim-SC_OLD-3c6becd52495360b24b3760a30fb0e007f5a16a3.tar.gz opensim-SC_OLD-3c6becd52495360b24b3760a30fb0e007f5a16a3.tar.bz2 opensim-SC_OLD-3c6becd52495360b24b3760a30fb0e007f5a16a3.tar.xz |
On login and first HG entrance to a foreign grid, perform query access checks before proceeding.
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | 26 |
1 files changed, 15 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); |