From b3ebec184fdb0fec08eff451a14856f21f8c5b38 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Sun, 13 Apr 2014 12:58:37 +0300 Subject: [PATCH] In teleports, when sending the Source region, set its ServerURI to the Gatekeeper URI (which is used with Regions); not the Home URI (which is used with Users) --- .../Framework/EntityTransfer/EntityTransferModule.cs | 7 ++++++- .../Framework/EntityTransfer/HGEntityTransferModule.cs | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 53be68fa1f..d4b2f2d4a0 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -112,6 +112,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer private Stat m_interRegionTeleportFailures; protected string m_ThisHomeURI; + protected string m_GatekeeperURI; protected bool m_Enabled = false; @@ -215,6 +216,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer m_ThisHomeURI = hypergridConfig.GetString("HomeURI", string.Empty); if (m_ThisHomeURI != string.Empty && !m_ThisHomeURI.EndsWith("/")) m_ThisHomeURI += '/'; + + m_GatekeeperURI = hypergridConfig.GetString("GatekeeperURI", string.Empty); + if (m_GatekeeperURI != string.Empty && !m_GatekeeperURI.EndsWith("/")) + m_GatekeeperURI += '/'; } IConfig transferConfig = source.Configs["EntityTransfer"]; @@ -1307,7 +1312,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer protected virtual bool CreateAgent(ScenePresence sp, GridRegion reg, GridRegion finalDestination, AgentCircuitData agentCircuit, uint teleportFlags, out string reason, out bool logout) { GridRegion source = new GridRegion(Scene.RegionInfo); - source.RawServerURI = m_ThisHomeURI; + source.RawServerURI = m_GatekeeperURI; logout = false; bool success = Scene.SimulationService.CreateAgent(source, finalDestination, agentCircuit, teleportFlags, out reason); diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index 79bff06340..0becfb21b1 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs @@ -288,7 +288,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer connector = new UserAgentServiceConnector(userAgentDriver); GridRegion source = new GridRegion(Scene.RegionInfo); - source.RawServerURI = m_ThisHomeURI; + source.RawServerURI = m_GatekeeperURI; bool success = connector.LoginAgentToGrid(source, agentCircuit, reg, finalDestination, false, out reason); logout = success; // flag for later logout from this grid; this is an HG TP