diff options
author | Diva Canto | 2014-06-06 11:04:53 -0700 |
---|---|---|
committer | Diva Canto | 2014-06-06 11:04:53 -0700 |
commit | fe779128b0c50f44cf479444444754298d829910 (patch) | |
tree | 5323ae27955f5bba00624e4d7c3e76b6374cb80f /OpenSim/Services | |
parent | Better comment regarding SizeX and SizeY (diff) | |
download | opensim-SC_OLD-fe779128b0c50f44cf479444444754298d829910.zip opensim-SC_OLD-fe779128b0c50f44cf479444444754298d829910.tar.gz opensim-SC_OLD-fe779128b0c50f44cf479444444754298d829910.tar.bz2 opensim-SC_OLD-fe779128b0c50f44cf479444444754298d829910.tar.xz |
Added simulation version compatibility check so that agents coming from 0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer.
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | 3 | ||||
-rw-r--r-- | OpenSim/Services/Interfaces/ISimulationService.cs | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index 099ba98..b6fde72 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -282,7 +282,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
282 | } | 282 | } |
283 | 283 | ||
284 | 284 | ||
285 | public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, out string version, out string reason) | 285 | public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string myversion, out string version, out string reason) |
286 | { | 286 | { |
287 | reason = "Failed to contact destination"; | 287 | reason = "Failed to contact destination"; |
288 | version = "Unknown"; | 288 | version = "Unknown"; |
@@ -298,6 +298,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
298 | OSDMap request = new OSDMap(); | 298 | OSDMap request = new OSDMap(); |
299 | request.Add("viaTeleport", OSD.FromBoolean(viaTeleport)); | 299 | request.Add("viaTeleport", OSD.FromBoolean(viaTeleport)); |
300 | request.Add("position", OSD.FromString(position.ToString())); | 300 | request.Add("position", OSD.FromString(position.ToString())); |
301 | request.Add("my_version", OSD.FromString(myversion)); | ||
301 | if (agentHomeURI != null) | 302 | if (agentHomeURI != null) |
302 | request.Add("agent_home_uri", OSD.FromString(agentHomeURI)); | 303 | request.Add("agent_home_uri", OSD.FromString(agentHomeURI)); |
303 | 304 | ||
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 8b87ac0..12ab478 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs | |||
@@ -85,10 +85,11 @@ namespace OpenSim.Services.Interfaces | |||
85 | /// <param name="agentHomeURI">The visitor's Home URI. Will be missing (null) in older OpenSims.</param> | 85 | /// <param name="agentHomeURI">The visitor's Home URI. Will be missing (null) in older OpenSims.</param> |
86 | /// <param name="viaTeleport">True: via teleport; False: via cross (walking)</param> | 86 | /// <param name="viaTeleport">True: via teleport; False: via cross (walking)</param> |
87 | /// <param name="position">Position in the region</param> | 87 | /// <param name="position">Position in the region</param> |
88 | /// <param name="version"></param> | 88 | /// <param name="sversion">version that the requesting simulator is runing</param> |
89 | /// <param name="version">version that the target simulator is running</param> | ||
89 | /// <param name="reason">[out] Optional error message</param> | 90 | /// <param name="reason">[out] Optional error message</param> |
90 | /// <returns>True: ok; False: not allowed</returns> | 91 | /// <returns>True: ok; False: not allowed</returns> |
91 | bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, out string version, out string reason); | 92 | bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason); |
92 | 93 | ||
93 | /// <summary> | 94 | /// <summary> |
94 | /// Message from receiving region to departing region, telling it got contacted by the client. | 95 | /// Message from receiving region to departing region, telling it got contacted by the client. |