aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar/Lure
diff options
context:
space:
mode:
authorOren Hurvitz2014-04-06 16:18:40 +0300
committerOren Hurvitz2014-04-06 15:40:45 +0100
commitabe0f4a0882942e211b17408767eca664762e062 (patch)
treec58141c3b8aab60e40c69c4e9bf47d46caa959fa /OpenSim/Region/CoreModules/Avatar/Lure
parentPass the correct position to QueryAccess() instead of UUID.Zero (it was wrong... (diff)
downloadopensim-SC_OLD-abe0f4a0882942e211b17408767eca664762e062.zip
opensim-SC_OLD-abe0f4a0882942e211b17408767eca664762e062.tar.gz
opensim-SC_OLD-abe0f4a0882942e211b17408767eca664762e062.tar.bz2
opensim-SC_OLD-abe0f4a0882942e211b17408767eca664762e062.tar.xz
When preparing a Hypergrid teleport, tell the receiving grid which user is entering the grid.
This can affect which region to use. E.g., returning users may be allowed to enter any region, whereas users from other grids will have to enter a gateway region. Previously per-user decisions were only made later, but by then it's too late to change which region the user enters.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/Lure')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs
index 317f0e9..68fef29 100644
--- a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs
@@ -239,8 +239,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure
239 GatekeeperServiceConnector gConn = new GatekeeperServiceConnector(); 239 GatekeeperServiceConnector gConn = new GatekeeperServiceConnector();
240 GridRegion gatekeeper = new GridRegion(); 240 GridRegion gatekeeper = new GridRegion();
241 gatekeeper.ServerURI = url; 241 gatekeeper.ServerURI = url;
242
243 string homeURI = null;
244 AgentCircuitData acd = scene.AuthenticateHandler.GetAgentCircuitData(client.AgentId);
245 if (acd != null && acd.ServiceURLs != null && acd.ServiceURLs.ContainsKey("HomeURI"))
246 homeURI = (string)acd.ServiceURLs["HomeURI"];
247
242 string message; 248 string message;
243 GridRegion finalDestination = gConn.GetHyperlinkRegion(gatekeeper, new UUID(im.RegionID), out message); 249 GridRegion finalDestination = gConn.GetHyperlinkRegion(gatekeeper, new UUID(im.RegionID), client.AgentId, homeURI, out message);
244 if (finalDestination != null) 250 if (finalDestination != null)
245 { 251 {
246 ScenePresence sp = scene.GetScenePresence(client.AgentId); 252 ScenePresence sp = scene.GetScenePresence(client.AgentId);