aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services
diff options
context:
space:
mode:
authorDiva Canto2014-06-06 11:04:53 -0700
committerDiva Canto2014-06-06 11:04:53 -0700
commitfe779128b0c50f44cf479444444754298d829910 (patch)
tree5323ae27955f5bba00624e4d7c3e76b6374cb80f /OpenSim/Services
parentBetter comment regarding SizeX and SizeY (diff)
downloadopensim-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.cs3
-rw-r--r--OpenSim/Services/Interfaces/ISimulationService.cs5
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.