From ce883e9b436a0d63cfe1d5c81f83477a266e727e Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Wed, 26 Aug 2015 05:29:08 +0100
Subject: add more of the v03 checks and homeURL. Sending side only for now
---
.../Connectors/Simulation/SimulationServiceConnector.cs | 8 ++++++--
OpenSim/Services/Interfaces/ISimulationService.cs | 14 +++++++++++++-
2 files changed, 19 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Services')
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
index 0e74073..75c5b35 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
@@ -275,7 +275,7 @@ namespace OpenSim.Services.Connectors.Simulation
///
///
- public bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason)
+ public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string myversion, out string version, out string reason)
{
reason = "Failed to contact destination";
version = "Unknown";
@@ -286,10 +286,14 @@ namespace OpenSim.Services.Connectors.Simulation
if (ext == null) return false;
// Eventually, we want to use a caps url instead of the agentID
- string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/";
+ string uri = destination.ServerURI + AgentPath() + agentID + "/" + destination.RegionID.ToString() + "/";
OSDMap request = new OSDMap();
+ request.Add("viaTeleport", OSD.FromBoolean(viaTeleport));
request.Add("position", OSD.FromString(position.ToString()));
+ request.Add("my_version", OSD.FromString(myversion));
+ if (agentHomeURI != null)
+ request.Add("agent_home_uri", OSD.FromString(agentHomeURI));
try
{
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs
index 1c82b3e..b629177 100644
--- a/OpenSim/Services/Interfaces/ISimulationService.cs
+++ b/OpenSim/Services/Interfaces/ISimulationService.cs
@@ -75,7 +75,19 @@ namespace OpenSim.Services.Interfaces
///
bool UpdateAgent(GridRegion destination, AgentPosition data);
- bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason);
+ ///
+ /// Returns whether a propspective user is allowed to visit the region.
+ ///
+ /// Desired destination
+ /// The visitor's User ID
+ /// The visitor's Home URI. Will be missing (null) in older OpenSims.
+ /// True: via teleport; False: via cross (walking)
+ /// Position in the region
+ /// version that the requesting simulator is runing
+ /// version that the target simulator is running
+ /// [out] Optional error message
+ /// True: ok; False: not allowed
+ bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason);
///
/// Message from receiving region to departing region, telling it got contacted by the client.
--
cgit v1.1